1#ifndef YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
2#define YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
81 RoomObject(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer = 0)
122 for (
int i = 0; i < nbr; i++) {
129 std::vector<uint8_t>& current_gfx16,
130 std::vector<uint8_t>& tiles_bg1_buffer,
131 std::vector<uint8_t>& tiles_bg2_buffer,
132 ushort tile_under = 0xFFFF);
184 Subtype1(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer,
187 auto rom_data =
rom()->data();
189 static_cast<int16_t
>(
196 void Draw(std::vector<uint8_t>& current_gfx16,
197 std::vector<uint8_t>& tiles_bg1_buffer,
198 std::vector<uint8_t>& tiles_bg2_buffer) {
202 tiles_bg1_buffer, tiles_bg2_buffer);
214 Subtype2(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
216 auto rom_data =
rom()->data();
218 static_cast<int16_t
>(
225 void Draw(std::vector<uint8_t>& current_gfx16,
226 std::vector<uint8_t>& tiles_bg1_buffer,
227 std::vector<uint8_t>& tiles_bg2_buffer) {
228 for (
int i = 0; i < 8; i++) {
241 Subtype3(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
243 auto rom_data =
rom()->data();
245 static_cast<int16_t
>(
252 void Draw(std::vector<uint8_t>& current_gfx16,
253 std::vector<uint8_t>& tiles_bg1_buffer,
254 std::vector<uint8_t>& tiles_bg2_buffer) {
255 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_
void Draw(std::vector< uint8_t > ¤t_gfx16, std::vector< uint8_t > &tiles_bg1_buffer, std::vector< uint8_t > &tiles_bg2_buffer)
Subtype1(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer, int tileCount)
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)