1#ifndef YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
2#define YAZE_APP_ZELDA3_DUNGEON_ROOM_OBJECT_H
60 RoomObject(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer = 0)
74 for (
int i = 0; i < nbr; i++) {
81 std::vector<uint8_t>& current_gfx16,
82 std::vector<uint8_t>& tiles_bg1_buffer,
83 std::vector<uint8_t>& tiles_bg2_buffer,
84 uint16_t tile_under = 0xFFFF);
125 Subtype1(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer,
128 auto rom_data =
rom()->data();
130 static_cast<int16_t
>(
137 void Draw(std::vector<uint8_t>& current_gfx16,
138 std::vector<uint8_t>& tiles_bg1_buffer,
139 std::vector<uint8_t>& tiles_bg2_buffer) {
143 tiles_bg1_buffer, tiles_bg2_buffer);
155 Subtype2(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
157 auto rom_data =
rom()->data();
159 static_cast<int16_t
>(
166 void Draw(std::vector<uint8_t>& current_gfx16,
167 std::vector<uint8_t>& tiles_bg1_buffer,
168 std::vector<uint8_t>& tiles_bg2_buffer) {
169 for (
int i = 0; i < 8; i++) {
182 Subtype3(int16_t
id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer)
184 auto rom_data =
rom()->data();
186 static_cast<int16_t
>(
193 void Draw(std::vector<uint8_t>& current_gfx16,
194 std::vector<uint8_t>& tiles_bg1_buffer,
195 std::vector<uint8_t>& tiles_bg2_buffer) {
196 for (
int i = 0; i < 8; i++) {
Tile composition of four 8x8 tiles.
std::vector< uint8_t > preview_object_data_
void AddTiles(int nbr, int pos)
std::vector< gfx::Tile16 > tiles_
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, uint16_t tile_under=0xFFFF)
RoomObject(int16_t id, uint8_t x, uint8_t y, uint8_t size, uint8_t layer=0)
void set_options(ObjectOption options)
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)
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)
#define ASSIGN_OR_LOG_ERROR(type_variable_name, expression)
Zelda 3 specific classes and functions.
constexpr int kRoomObjectSubtype3
ObjectOption operator|(ObjectOption lhs, ObjectOption rhs)
ObjectOption operator^(ObjectOption lhs, ObjectOption rhs)
constexpr int kRoomObjectSubtype1
constexpr int kRoomObjectSubtype2
constexpr int kRoomObjectTileAddress
ObjectOption operator~(ObjectOption option)
SubtypeInfo FetchSubtypeInfo(uint16_t object_id)
ObjectOption operator&(ObjectOption lhs, ObjectOption rhs)
constexpr int kRoomObjectTileAddressFloor
Main namespace for the application.