Move GraphicsSheetManager to snes.h

This commit is contained in:
scawful
2025-04-30 17:49:09 -04:00
parent 3bd05f6beb
commit e202d65780
2 changed files with 20 additions and 17 deletions

View File

@@ -1,10 +1,30 @@
#ifndef YAZE_SNES_H_
#define YAZE_SNES_H_
#include <array>
#include <cstdint>
#include "app/gfx/bitmap.h"
namespace yaze {
class GraphicsSheetManager {
public:
static GraphicsSheetManager& GetInstance() {
static GraphicsSheetManager instance;
return instance;
}
GraphicsSheetManager() = default;
virtual ~GraphicsSheetManager() = default;
std::array<gfx::Bitmap, 223>& gfx_sheets() { return gfx_sheets_; }
auto gfx_sheet(int i) { return gfx_sheets_[i]; }
auto mutable_gfx_sheet(int i) { return &gfx_sheets_[i]; }
auto mutable_gfx_sheets() { return &gfx_sheets_; }
private:
std::array<gfx::Bitmap, 223> gfx_sheets_;
};
inline uint32_t SnesToPc(uint32_t addr) noexcept {
constexpr uint32_t kFastRomRegion = 0x808000;
if (addr >= kFastRomRegion) {