1#ifndef YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
2#define YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
67 RoomObject(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer = 0)
81 for (
int i = 0; i < nbr; i++) {
88 std::vector<uint8_t>& current_gfx16,
89 std::vector<uint8_t>& tiles_bg1_buffer,
90 std::vector<uint8_t>& tiles_bg2_buffer,
91 ushort tile_under = 0xFFFF);
132 Subtype1(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer,
135 auto rom_data =
rom()->data();
137 static_cast<int16_t
>(
144 void Draw(std::vector<uint8_t>& current_gfx16,
145 std::vector<uint8_t>& tiles_bg1_buffer,
146 std::vector<uint8_t>& tiles_bg2_buffer) {
150 tiles_bg1_buffer, tiles_bg2_buffer);
162 Subtype2(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
164 auto rom_data =
rom()->data();
166 static_cast<int16_t
>(
173 void Draw(std::vector<uint8_t>& current_gfx16,
174 std::vector<uint8_t>& tiles_bg1_buffer,
175 std::vector<uint8_t>& tiles_bg2_buffer) {
176 for (
int i = 0; i < 8; i++) {
189 Subtype3(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
191 auto rom_data =
rom()->data();
193 static_cast<int16_t
>(
200 void Draw(std::vector<uint8_t>& current_gfx16,
201 std::vector<uint8_t>& tiles_bg1_buffer,
202 std::vector<uint8_t>& tiles_bg2_buffer) {
203 for (
int i = 0; i < 8; i++) {
A class to hold a shared pointer to a Rom object.
Tile composition of four 8x8 tiles.
void set_options(ObjectOption options)
void DrawTile(gfx::Tile16 t, int xx, int yy, std::vector< uint8_t > ¤t_gfx16, std::vector< uint8_t > &tiles_bg1_buffer, std::vector< uint8_t > &tiles_bg2_buffer, ushort tile_under=0xFFFF)
RoomObject(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer=0)
std::vector< gfx::Tile16 > tiles_
void AddTiles(int nbr, int pos)
std::vector< uint8_t > preview_object_data_
Subtype1(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer, int tile_count)
void Draw(std::vector< uint8_t > ¤t_gfx16, std::vector< uint8_t > &tiles_bg1_buffer, std::vector< uint8_t > &tiles_bg2_buffer)
Subtype2(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
void Draw(std::vector< uint8_t > ¤t_gfx16, std::vector< uint8_t > &tiles_bg1_buffer, std::vector< uint8_t > &tiles_bg2_buffer)
Subtype3(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
void Draw(std::vector< uint8_t > ¤t_gfx16, std::vector< uint8_t > &tiles_bg1_buffer, std::vector< uint8_t > &tiles_bg2_buffer)
#define ASSIGN_OR_LOG_ERROR(type_variable_name, expression)
ObjectOption operator&(ObjectOption lhs, ObjectOption rhs)
constexpr int kRoomObjectTileAddressFloor
constexpr int kRoomObjectSubtype1
ObjectOption operator|(ObjectOption lhs, ObjectOption rhs)
constexpr int kRoomObjectSubtype3
ObjectOption operator~(ObjectOption option)
constexpr int kRoomObjectSubtype2
ObjectOption operator^(ObjectOption lhs, ObjectOption rhs)
constexpr int kRoomObjectTileAddress
SubtypeInfo FetchSubtypeInfo(uint16_t object_id)