New ROM method and decompression

Added reversal of address for command 4 of decompression for overworld
tile extraction
This commit is contained in:
Justin Scofield
2022-07-12 19:51:35 -04:00
parent bb056ee4d3
commit 6decbfa047
2 changed files with 40 additions and 12 deletions

View File

@@ -27,16 +27,16 @@ class ROM {
public:
void Close();
void SetupRenderer(std::shared_ptr<SDL_Renderer> renderer);
void LoadFromFile(const std::string& path);
uchar* Decompress(int pos, int size = 0x800, bool reversed = false);
uchar* SNES3bppTo8bppSheet(uchar* buffer_in, int sheet_id = 0,
int size = 0x1000);
uint GetGraphicsAddress(uint8_t id) const;
SDL_Texture* DrawGraphicsSheet(int offset);
gfx::SNESPalette ExtractPalette(uint addr, int bpp);
void DrawAllGraphicsData();
char* CreateAllGfxDataRaw();
gfx::SNESPalette ExtractPalette(uint addr, int bpp);
uchar* data() { return current_rom_; }
auto Renderer() { return sdl_renderer_; }
@@ -52,7 +52,7 @@ class ROM {
uint compressed_size_;
uchar* current_rom_;
uchar title[21] = "ROM Not Loaded";
enum rom_type type_ = LoROM;
enum rom_type type_ = LoROM;
bool isbpp3[core::constants::NumberOfSheets];
std::shared_ptr<uchar> rom_ptr_;