yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
object_renderer.h
Go to the documentation of this file.
1#include <cstdint>
2#include <iostream>
3#include <stdexcept>
4#include <string>
5#include <vector>
6
7#include "app/emu/cpu/cpu.h"
9#include "app/emu/video/ppu.h"
10#include "app/gfx/bitmap.h"
12#include "app/gfx/snes_tile.h"
13#include "app/rom.h"
15
16namespace yaze {
17namespace app {
18namespace zelda3 {
19namespace dungeon {
20
21struct PseudoVram {
22 std::array<uint8_t, 16> sheets;
23 std::vector<gfx::SnesPalette> palettes;
24};
25
27 public:
29
30 void LoadObject(uint32_t routine_ptr, std::array<uint8_t, 16>& sheet_ids);
31 void ConfigureObject();
32 void RenderObject(uint32_t routine_ptr);
33 void UpdateObjectBitmap();
34
35 gfx::Bitmap* bitmap() { return &bitmap_; }
36 auto memory() { return memory_; }
37 auto mutable_memory() { return &memory_; }
38
39 private:
40 std::vector<uint8_t> tilemap_;
41 std::vector<uint8_t> rom_data_;
42
44
50
52};
53
54} // namespace dungeon
55} // namespace zelda3
56} // namespace app
57} // namespace yaze
A class to hold a shared pointer to a Rom object.
Definition rom.h:576
Implementation of the Memory interface for emulating memory in a SNES system.
Definition memory.h:102
Represents a bitmap image.
Definition bitmap.h:67
void LoadObject(uint32_t routine_ptr, std::array< uint8_t, 16 > &sheet_ids)
Definition common.cc:22
std::vector< gfx::SnesPalette > palettes