yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::zelda3::Room Class Reference

#include <room.h>

Classes

struct  DirtyState
 
struct  Door
 Represents a door in a dungeon room. More...
 

Public Member Functions

 Room ()
 
 Room (int room_id, Rom *rom, GameData *game_data=nullptr)
 
 ~Room ()
 
 Room (Room &&)
 
Roomoperator= (Room &&)
 
 Room (const Room &)=delete
 
Roomoperator= (const Room &)=delete
 
void LoadRoomGraphics (uint8_t entrance_blockset=0xFF)
 
void CopyRoomGraphicsToBuffer ()
 
void RenderRoomGraphics ()
 
void RenderObjectsToBackground ()
 
void LoadAnimatedGraphics ()
 
void LoadObjects ()
 
void LoadSprites ()
 
void LoadChests ()
 
void LoadPotItems ()
 
void LoadDoors ()
 
void LoadTorches ()
 
void LoadBlocks ()
 
void LoadPits ()
 
void LoadLayoutTilesToBuffer ()
 
void ReloadGraphics (uint8_t entrance_blockset=0xFF)
 
const std::vector< zelda3::Sprite > & GetSprites () const
 
std::vector< zelda3::Sprite > & GetSprites ()
 
const std::vector< chest_data > & GetChests () const
 
std::vector< chest_data > & GetChests ()
 
const std::vector< staircase > & GetStairs () const
 
std::vector< staircase > & GetStairs ()
 
const std::vector< Door > & GetDoors () const
 
std::vector< Door > & GetDoors ()
 
void AddDoor (const Door &door)
 
void RemoveDoor (size_t index)
 
const std::vector< PotItem > & GetPotItems () const
 
std::vector< PotItem > & GetPotItems ()
 
const RoomLayoutGetLayout () const
 
const std::vector< RoomObject > & GetTileObjects () const
 
std::vector< RoomObject > & GetTileObjects ()
 
void ClearTileObjects ()
 
void AddTileObject (const RoomObject &object)
 
absl::Status AddObject (const RoomObject &object)
 
absl::Status RemoveObject (size_t index)
 
absl::Status UpdateObject (size_t index, const RoomObject &object)
 
absl::StatusOr< size_t > FindObjectAt (int x, int y, int layer) const
 
bool ValidateObject (const RoomObject &object) const
 
void MarkObjectsDirty ()
 
void MarkGraphicsDirty ()
 
void MarkLayoutDirty ()
 
void RemoveTileObject (size_t index)
 
size_t GetTileObjectCount () const
 
RoomObjectGetTileObject (size_t index)
 
const RoomObjectGetTileObject (size_t index) const
 
std::map< DungeonLimit, int > GetLimitedObjectCounts () const
 Count limited objects in this room.
 
bool HasExceededLimits () const
 Check if any object limits are exceeded.
 
std::vector< DungeonLimitInfoGetExceededLimitDetails () const
 Get list of exceeded limits with details.
 
const CustomCollisionMapcustom_collision () const
 
CustomCollisionMapcustom_collision ()
 
bool has_custom_collision () const
 
void set_has_custom_collision (bool has)
 
uint8_t GetCollisionTile (int x, int y) const
 
void SetCollisionTile (int x, int y, uint8_t tile)
 
bool custom_collision_dirty () const
 
void ClearCustomCollisionDirty ()
 
void MarkCustomCollisionDirty ()
 
const WaterFillZoneMapwater_fill_zone () const
 
WaterFillZoneMapwater_fill_zone ()
 
bool has_water_fill_zone () const
 
bool GetWaterFillTile (int x, int y) const
 
void SetWaterFillTile (int x, int y, bool filled)
 
void ClearWaterFillZone ()
 
int WaterFillTileCount () const
 
uint8_t water_fill_sram_bit_mask () const
 
void set_water_fill_sram_bit_mask (uint8_t mask)
 
bool water_fill_dirty () const
 
void ClearWaterFillDirty ()
 
void MarkWaterFillDirty ()
 
void SetTileObjects (const std::vector< RoomObject > &objects)
 
void SetBg2 (background2 bg2)
 
void SetCollision (CollisionKey collision)
 
void SetIsLight (bool is_light)
 
void SetPalette (uint8_t pal)
 
void SetBlockset (uint8_t bs)
 
void SetSpriteset (uint8_t ss)
 
void SetEffect (EffectKey effect)
 
void SetTag1 (TagKey tag1)
 
void SetTag2 (TagKey tag2)
 
void SetStaircasePlane (int index, uint8_t plane)
 
void SetHolewarp (uint8_t hw)
 
void SetStaircaseRoom (int index, uint8_t room)
 
void SetMessageId (uint16_t mid)
 
bool IsLight () const
 
void SetMessageIdDirect (uint16_t mid)
 
void SetLayer2Mode (uint8_t mode)
 
void SetLayerMerging (LayerMergeType merging)
 
void SetIsDark (bool is_dark)
 
void SetBackgroundTileset (uint8_t tileset)
 
void SetSpriteTileset (uint8_t tileset)
 
void SetLayer2Behavior (uint8_t behavior)
 
void SetTag1Direct (TagKey tag1)
 
void SetTag2Direct (TagKey tag2)
 
void SetPitsTargetLayer (uint8_t layer)
 
void SetStair1TargetLayer (uint8_t layer)
 
void SetStair2TargetLayer (uint8_t layer)
 
void SetStair3TargetLayer (uint8_t layer)
 
void SetStair4TargetLayer (uint8_t layer)
 
void SetPitsTarget (uint8_t target)
 
void SetStair1Target (uint8_t target)
 
void SetStair2Target (uint8_t target)
 
void SetStair3Target (uint8_t target)
 
void SetStair4Target (uint8_t target)
 
bool IsLoaded () const
 
void SetLoaded (bool loaded)
 
background2 bg2 () const
 
EffectKey effect () const
 
TagKey tag1 () const
 
TagKey tag2 () const
 
CollisionKey collision () const
 
const LayerMergeTypelayer_merging () const
 
uint8_t staircase_plane (int index) const
 
uint8_t staircase_room (int index) const
 
int id () const
 
uint8_t blockset () const
 
uint8_t spriteset () const
 
uint8_t palette () const
 
uint8_t layout_id () const
 
uint8_t holewarp () const
 
uint16_t message_id () const
 
void SetLayoutId (uint8_t id)
 
uint8_t floor1 () const
 
uint8_t floor2 () const
 
void set_floor1 (uint8_t value)
 
void set_floor2 (uint8_t value)
 
void ParseObjectsFromLocation (int objects_location)
 
void HandleSpecialObjects (short oid, uint8_t posX, uint8_t posY, int &nbr_of_staircase)
 
absl::Status SaveObjects ()
 
std::vector< uint8_t > EncodeObjects () const
 
absl::Status SaveSprites ()
 
std::vector< uint8_t > EncodeSprites () const
 
absl::Status SaveRoomHeader ()
 
auto blocks () const
 
auto & mutable_blocks ()
 
auto rom () const
 
auto rom ()
 
auto mutable_rom ()
 
void SetRom (Rom *rom)
 
auto game_data ()
 
void SetGameData (GameData *data)
 
zelda3_version_pointers version_constants () const
 
const std::array< uint8_t, 0x10000 > & get_gfx_buffer () const
 
auto & bg1_buffer ()
 
auto & bg2_buffer ()
 
const auto & bg1_buffer () const
 
const auto & bg2_buffer () const
 
auto & object_bg1_buffer ()
 
const auto & object_bg1_buffer () const
 
auto & object_bg2_buffer ()
 
const auto & object_bg2_buffer () const
 
gfx::BitmapGetCompositeBitmap (RoomLayerManager &layer_mgr)
 Get a composite bitmap of all layers merged.
 
const gfx::Bitmapcomposite_bitmap () const
 
void MarkCompositeDirty ()
 Mark composite bitmap as needing regeneration.
 
bool IsCompositeDirty () const
 
DungeonStateGetDungeonState ()
 

Private Attributes

Romrom_
 
GameDatagame_data_ = nullptr
 
std::array< uint8_t, 0x10000 > current_gfx16_
 
gfx::BackgroundBuffer bg1_buffer_ {512, 512}
 
gfx::BackgroundBuffer bg2_buffer_ {512, 512}
 
gfx::BackgroundBuffer object_bg1_buffer_ {512, 512}
 
gfx::BackgroundBuffer object_bg2_buffer_ {512, 512}
 
gfx::Bitmap composite_bitmap_
 
DirtyState dirty_state_
 
bool is_light_
 
bool is_loaded_ = false
 
bool is_dark_
 
bool is_floor_ = true
 
uint8_t cached_blockset_ = 0xFF
 
uint8_t cached_spriteset_ = 0xFF
 
uint8_t cached_palette_ = 0xFF
 
uint8_t cached_layout_ = 0xFF
 
uint8_t cached_floor1_graphics_ = 0xFF
 
uint8_t cached_floor2_graphics_ = 0xFF
 
uint8_t cached_effect_ = 0xFF
 
TagKey cached_tag1_ = TagKey::Nothing
 
TagKey cached_tag2_ = TagKey::Nothing
 
int room_id_ = 0
 
int animated_frame_ = 0
 
uint8_t staircase_plane_ [4]
 
uint8_t staircase_rooms_ [4]
 
uint8_t blockset_ = 0
 
uint8_t spriteset_ = 0
 
uint8_t palette_ = 0
 
uint8_t layout_id_ = 0
 
uint8_t holewarp_ = 0
 
uint16_t message_id_ = 0
 
uint8_t background_tileset_
 
uint8_t sprite_tileset_
 
uint8_t layer2_behavior_
 
uint8_t floor1_graphics_
 
uint8_t floor2_graphics_
 
uint8_t layer2_mode_
 
std::array< uint8_t, 16 > blocks_
 
std::array< chest, 16 > chest_list_
 
std::vector< RoomObjecttile_objects_
 
std::vector< zelda3::Spritesprites_
 
std::vector< staircasez3_staircases_
 
std::vector< chest_datachests_in_room_
 
std::vector< Doordoors_
 
std::vector< PotItempot_items_
 
RoomLayout layout_
 
LayerMergeType layer_merging_
 
CollisionKey collision_
 
EffectKey effect_
 
TagKey tag1_
 
TagKey tag2_
 
background2 bg2_
 
destination pits_
 
destination stair1_
 
destination stair2_
 
destination stair3_
 
destination stair4_
 
CustomCollisionMap custom_collision_
 
bool custom_collision_dirty_ = false
 
WaterFillZoneMap water_fill_zone_
 
bool water_fill_dirty_ = false
 
int water_fill_tile_count_ = 0
 
std::unique_ptr< DungeonStatedungeon_state_
 

Detailed Description

Definition at line 184 of file room.h.

Constructor & Destructor Documentation

◆ Room() [1/4]

yaze::zelda3::Room::Room ( )
default

◆ Room() [2/4]

yaze::zelda3::Room::Room ( int room_id,
Rom * rom,
GameData * game_data = nullptr )

Definition at line 442 of file room.cc.

◆ ~Room()

yaze::zelda3::Room::~Room ( )
default

◆ Room() [3/4]

yaze::zelda3::Room::Room ( Room && )
default

◆ Room() [4/4]

yaze::zelda3::Room::Room ( const Room & )
delete

Member Function Documentation

◆ operator=() [1/2]

Room & yaze::zelda3::Room::operator= ( Room && )
default

◆ operator=() [2/2]

Room & yaze::zelda3::Room::operator= ( const Room & )
delete

◆ LoadRoomGraphics()

◆ CopyRoomGraphicsToBuffer()

◆ RenderRoomGraphics()

void yaze::zelda3::Room::RenderRoomGraphics ( )

Definition at line 598 of file room.cc.

References bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), blocks_, blockset_, cached_blockset_, cached_effect_, cached_floor1_graphics_, cached_floor2_graphics_, cached_layout_, cached_palette_, cached_spriteset_, cached_tag1_, cached_tag2_, yaze::zelda3::Room::DirtyState::composite, CopyRoomGraphicsToBuffer(), yaze::gfx::Arena::CREATE, current_gfx16_, dirty_state_, yaze::gfx::BackgroundBuffer::DrawBackground(), yaze::gfx::BackgroundBuffer::DrawFloor(), yaze::gfx::PaletteGroupMap::dungeon_main, effect_, floor1_graphics_, floor2_graphics_, game_data_, yaze::gfx::Arena::Get(), yaze::zelda3::PaletteDebugger::Get(), yaze::platform::GetSurfacePalette(), yaze::zelda3::Room::DirtyState::graphics, yaze::zelda3::LayerMergeType::ID, yaze::zelda3::kDungeonPalettePointerTable, yaze::zelda3::kTileAddress, yaze::zelda3::kTileAddressFloor, yaze::zelda3::LayerMergeType::Layer2Translucent, layer_merging_, yaze::zelda3::Room::DirtyState::layout, layout_id_, LoadLayoutTilesToBuffer(), LoadRoomGraphics(), LOG_DEBUG, yaze::zelda3::PaletteDebugger::LogPaletteApplication(), yaze::zelda3::PaletteDebugger::LogPaletteLoad(), yaze::zelda3::PaletteDebugger::LogSurfaceState(), yaze::zelda3::name, object_bg1_buffer_, object_bg2_buffer_, yaze::zelda3::Room::DirtyState::objects, palette(), palette_, yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, yaze::gfx::Arena::QueueTextureCommand(), RenderObjectsToBackground(), rom(), room_id_, yaze::zelda3::PaletteDebugger::SetCurrentBitmap(), yaze::zelda3::PaletteDebugger::SetCurrentPalette(), yaze::gfx::Bitmap::SetPalette(), yaze::gfx::PaletteGroup::size(), spriteset_, yaze::gfx::Bitmap::surface(), tag1_, tag2_, yaze::gfx::Bitmap::texture(), yaze::zelda3::Room::DirtyState::textures, and yaze::gfx::Arena::UPDATE.

Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), yaze::editor::DungeonRoomPanel::OnResourceModified(), and yaze::app::service::RenderService::RenderDungeonRoom().

◆ RenderObjectsToBackground()

◆ LoadAnimatedGraphics()

void yaze::zelda3::Room::LoadAnimatedGraphics ( )

◆ LoadObjects()

◆ LoadSprites()

◆ LoadChests()

void yaze::zelda3::Room::LoadChests ( )

◆ LoadPotItems()

void yaze::zelda3::Room::LoadPotItems ( )

◆ LoadDoors()

void yaze::zelda3::Room::LoadDoors ( )

Definition at line 2060 of file room.cc.

References LOG_DEBUG, rom(), and room_id_.

Here is the call graph for this function:

◆ LoadTorches()

◆ LoadBlocks()

◆ LoadPits()

void yaze::zelda3::Room::LoadPits ( )

Definition at line 2759 of file room.cc.

References yaze::zelda3::kPitCount, yaze::zelda3::kPitPointer, LOG_DEBUG, pits_, rom(), room_id_, yaze::SnesToPc(), destination::target, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomFromRom().

Here is the call graph for this function:

◆ LoadLayoutTilesToBuffer()

◆ ReloadGraphics()

void yaze::zelda3::Room::ReloadGraphics ( uint8_t entrance_blockset = 0xFF)

◆ GetSprites() [1/2]

◆ GetSprites() [2/2]

std::vector< zelda3::Sprite > & yaze::zelda3::Room::GetSprites ( )
inline

Definition at line 215 of file room.h.

References sprites_.

◆ GetChests() [1/2]

◆ GetChests() [2/2]

std::vector< chest_data > & yaze::zelda3::Room::GetChests ( )
inline

Definition at line 219 of file room.h.

References chests_in_room_.

◆ GetStairs() [1/2]

const std::vector< staircase > & yaze::zelda3::Room::GetStairs ( ) const
inline

◆ GetStairs() [2/2]

std::vector< staircase > & yaze::zelda3::Room::GetStairs ( )
inline

Definition at line 223 of file room.h.

References z3_staircases_.

◆ GetDoors() [1/2]

◆ GetDoors() [2/2]

std::vector< Door > & yaze::zelda3::Room::GetDoors ( )
inline

Definition at line 295 of file room.h.

References doors_.

◆ AddDoor()

void yaze::zelda3::Room::AddDoor ( const Door & door)
inline

Definition at line 296 of file room.h.

References doors_, and MarkObjectsDirty().

Here is the call graph for this function:

◆ RemoveDoor()

void yaze::zelda3::Room::RemoveDoor ( size_t index)
inline

Definition at line 300 of file room.h.

References doors_, and MarkObjectsDirty().

Here is the call graph for this function:

◆ GetPotItems() [1/2]

◆ GetPotItems() [2/2]

std::vector< PotItem > & yaze::zelda3::Room::GetPotItems ( )
inline

Definition at line 309 of file room.h.

References pot_items_.

◆ GetLayout()

const RoomLayout & yaze::zelda3::Room::GetLayout ( ) const
inline

Definition at line 311 of file room.h.

References layout_.

◆ GetTileObjects() [1/2]

const std::vector< RoomObject > & yaze::zelda3::Room::GetTileObjects ( ) const
inline

Definition at line 314 of file room.h.

References tile_objects_.

Referenced by yaze::app::service::RenderService::ApplyOverlays(), yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::cli::handlers::anonymous_namespace{minecart_commands.cc}::AuditRoom(), yaze::cli::agent::anonymous_namespace{conversational_agent_service.cc}::BuildAutoOracleStateHook(), yaze::zelda3::DungeonObjectEditor::CreateUndoPoint(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::TileObjectHandler::DrawGhostPreview(), yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), yaze::editor::DungeonCanvasViewer::DrawObjectPositionOutlines(), yaze::editor::DungeonRenderingHelpers::DrawTrackGapOverlay(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::cli::handlers::DungeonMapCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::zelda3::GenerateTrackCollision(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::TileObjectHandler::GetEntityAtPosition(), yaze::zelda3::DungeonObjectEditor::GetObjectCount(), yaze::zelda3::DungeonObjectEditor::GetObjects(), yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), yaze::zelda3::DungeonObjectEditor::InsertObject(), yaze::zelda3::DungeonObjectEditor::InsertTemplate(), yaze::zelda3::DungeonObjectEditor::MoveObject(), yaze::zelda3::DungeonObjectEditor::Redo(), yaze::zelda3::DungeonObjectEditor::RenderLayerControls(), yaze::zelda3::DungeonObjectEditor::RenderLayerVisualization(), yaze::zelda3::DungeonObjectEditor::Undo(), yaze::zelda3::DungeonObjectEditor::ValidateRoom(), and yaze::zelda3::DungeonValidator::ValidateRoom().

◆ GetTileObjects() [2/2]

std::vector< RoomObject > & yaze::zelda3::Room::GetTileObjects ( )
inline

Definition at line 317 of file room.h.

References tile_objects_.

◆ ClearTileObjects()

void yaze::zelda3::Room::ClearTileObjects ( )
inline

◆ AddTileObject()

void yaze::zelda3::Room::AddTileObject ( const RoomObject & object)
inline

Definition at line 321 of file room.h.

References MarkObjectsDirty(), and tile_objects_.

Here is the call graph for this function:

◆ AddObject()

◆ RemoveObject()

absl::Status yaze::zelda3::Room::RemoveObject ( size_t index)

Definition at line 1885 of file room.cc.

References MarkObjectsDirty(), and tile_objects_.

Referenced by yaze::zelda3::DungeonObjectEditor::DeleteObject().

Here is the call graph for this function:

◆ UpdateObject()

absl::Status yaze::zelda3::Room::UpdateObject ( size_t index,
const RoomObject & object )

Definition at line 1896 of file room.cc.

References MarkObjectsDirty(), tile_objects_, and ValidateObject().

Here is the call graph for this function:

◆ FindObjectAt()

absl::StatusOr< size_t > yaze::zelda3::Room::FindObjectAt ( int x,
int y,
int layer ) const

Definition at line 1911 of file room.cc.

References tile_objects_.

◆ ValidateObject()

bool yaze::zelda3::Room::ValidateObject ( const RoomObject & object) const

Definition at line 1921 of file room.cc.

Referenced by AddObject(), and UpdateObject().

◆ MarkObjectsDirty()

◆ MarkGraphicsDirty()

◆ MarkLayoutDirty()

◆ RemoveTileObject()

void yaze::zelda3::Room::RemoveTileObject ( size_t index)
inline

Definition at line 349 of file room.h.

References MarkObjectsDirty(), and tile_objects_.

Referenced by yaze::zelda3::DungeonObjectEditor::DeleteSelectedObjects().

Here is the call graph for this function:

◆ GetTileObjectCount()

◆ GetTileObject() [1/2]

◆ GetTileObject() [2/2]

const RoomObject & yaze::zelda3::Room::GetTileObject ( size_t index) const
inline

Definition at line 357 of file room.h.

References tile_objects_.

◆ GetLimitedObjectCounts()

◆ HasExceededLimits()

bool yaze::zelda3::Room::HasExceededLimits ( ) const

Check if any object limits are exceeded.

Definition at line 2885 of file room.cc.

References GetLimitedObjectCounts(), and yaze::zelda3::HasExceededLimits().

Here is the call graph for this function:

◆ GetExceededLimitDetails()

std::vector< DungeonLimitInfo > yaze::zelda3::Room::GetExceededLimitDetails ( ) const

Get list of exceeded limits with details.

Definition at line 2890 of file room.cc.

References yaze::zelda3::GetExceededLimits(), and GetLimitedObjectCounts().

Here is the call graph for this function:

◆ custom_collision() [1/2]

◆ custom_collision() [2/2]

CustomCollisionMap & yaze::zelda3::Room::custom_collision ( )
inline

Definition at line 385 of file room.h.

References custom_collision_.

◆ has_custom_collision()

bool yaze::zelda3::Room::has_custom_collision ( ) const
inline

◆ set_has_custom_collision()

void yaze::zelda3::Room::set_has_custom_collision ( bool has)
inline

◆ GetCollisionTile()

uint8_t yaze::zelda3::Room::GetCollisionTile ( int x,
int y ) const
inline

◆ SetCollisionTile()

void yaze::zelda3::Room::SetCollisionTile ( int x,
int y,
uint8_t tile )
inline

◆ custom_collision_dirty()

bool yaze::zelda3::Room::custom_collision_dirty ( ) const
inline

Definition at line 406 of file room.h.

References custom_collision_dirty_.

◆ ClearCustomCollisionDirty()

void yaze::zelda3::Room::ClearCustomCollisionDirty ( )
inline

Definition at line 407 of file room.h.

References custom_collision_dirty_.

◆ MarkCustomCollisionDirty()

void yaze::zelda3::Room::MarkCustomCollisionDirty ( )
inline

Definition at line 408 of file room.h.

References custom_collision_dirty_.

Referenced by yaze::editor::CustomCollisionPanel::ApplyRoomEntry().

◆ water_fill_zone() [1/2]

const WaterFillZoneMap & yaze::zelda3::Room::water_fill_zone ( ) const
inline

◆ water_fill_zone() [2/2]

WaterFillZoneMap & yaze::zelda3::Room::water_fill_zone ( )
inline

Definition at line 412 of file room.h.

References water_fill_zone_.

◆ has_water_fill_zone()

bool yaze::zelda3::Room::has_water_fill_zone ( ) const
inline

Definition at line 413 of file room.h.

References yaze::zelda3::WaterFillZoneMap::has_data, and water_fill_zone_.

◆ GetWaterFillTile()

bool yaze::zelda3::Room::GetWaterFillTile ( int x,
int y ) const
inline

Definition at line 415 of file room.h.

References yaze::zelda3::WaterFillZoneMap::tiles, and water_fill_zone_.

◆ SetWaterFillTile()

void yaze::zelda3::Room::SetWaterFillTile ( int x,
int y,
bool filled )
inline

◆ ClearWaterFillZone()

◆ WaterFillTileCount()

int yaze::zelda3::Room::WaterFillTileCount ( ) const
inline

Definition at line 449 of file room.h.

References water_fill_tile_count_.

◆ water_fill_sram_bit_mask()

uint8_t yaze::zelda3::Room::water_fill_sram_bit_mask ( ) const
inline

◆ set_water_fill_sram_bit_mask()

void yaze::zelda3::Room::set_water_fill_sram_bit_mask ( uint8_t mask)
inline

◆ water_fill_dirty()

bool yaze::zelda3::Room::water_fill_dirty ( ) const
inline

Definition at line 461 of file room.h.

References water_fill_dirty_.

◆ ClearWaterFillDirty()

void yaze::zelda3::Room::ClearWaterFillDirty ( )
inline

Definition at line 462 of file room.h.

References water_fill_dirty_.

◆ MarkWaterFillDirty()

void yaze::zelda3::Room::MarkWaterFillDirty ( )
inline

Definition at line 463 of file room.h.

References water_fill_dirty_.

◆ SetTileObjects()

void yaze::zelda3::Room::SetTileObjects ( const std::vector< RoomObject > & objects)
inline

Definition at line 466 of file room.h.

References MarkObjectsDirty(), and tile_objects_.

Referenced by yaze::zelda3::DungeonObjectEditor::ApplyUndoPoint().

Here is the call graph for this function:

◆ SetBg2()

void yaze::zelda3::Room::SetBg2 ( background2 bg2)
inline

Definition at line 472 of file room.h.

References bg2(), and bg2_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetCollision()

void yaze::zelda3::Room::SetCollision ( CollisionKey collision)
inline

Definition at line 473 of file room.h.

References collision(), and collision_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetIsLight()

void yaze::zelda3::Room::SetIsLight ( bool is_light)
inline

Definition at line 474 of file room.h.

References is_light_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetPalette()

void yaze::zelda3::Room::SetPalette ( uint8_t pal)
inline

Definition at line 475 of file room.h.

References MarkGraphicsDirty(), and palette_.

Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetBlockset()

void yaze::zelda3::Room::SetBlockset ( uint8_t bs)
inline

Definition at line 481 of file room.h.

References blockset_, and MarkGraphicsDirty().

Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetSpriteset()

void yaze::zelda3::Room::SetSpriteset ( uint8_t ss)
inline

Definition at line 487 of file room.h.

References MarkGraphicsDirty(), and spriteset_.

Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetEffect()

void yaze::zelda3::Room::SetEffect ( EffectKey effect)
inline

Definition at line 493 of file room.h.

References effect(), effect_, and MarkObjectsDirty().

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetTag1()

void yaze::zelda3::Room::SetTag1 ( TagKey tag1)
inline

Definition at line 499 of file room.h.

References MarkObjectsDirty(), tag1(), and tag1_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetTag2()

void yaze::zelda3::Room::SetTag2 ( TagKey tag2)
inline

Definition at line 505 of file room.h.

References MarkObjectsDirty(), tag2(), and tag2_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetStaircasePlane()

void yaze::zelda3::Room::SetStaircasePlane ( int index,
uint8_t plane )
inline

Definition at line 511 of file room.h.

References staircase_plane_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetHolewarp()

void yaze::zelda3::Room::SetHolewarp ( uint8_t hw)
inline

Definition at line 515 of file room.h.

References holewarp_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStaircaseRoom()

void yaze::zelda3::Room::SetStaircaseRoom ( int index,
uint8_t room )
inline

Definition at line 516 of file room.h.

References staircase_rooms_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetMessageId()

void yaze::zelda3::Room::SetMessageId ( uint16_t mid)
inline

Definition at line 522 of file room.h.

References message_id_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ IsLight()

bool yaze::zelda3::Room::IsLight ( ) const
inline

Definition at line 525 of file room.h.

References is_light_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom(), and SaveRoomHeader().

◆ SetMessageIdDirect()

void yaze::zelda3::Room::SetMessageIdDirect ( uint16_t mid)
inline

Definition at line 528 of file room.h.

References message_id_.

◆ SetLayer2Mode()

void yaze::zelda3::Room::SetLayer2Mode ( uint8_t mode)
inline

Definition at line 529 of file room.h.

References layer2_mode_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetLayerMerging()

void yaze::zelda3::Room::SetLayerMerging ( LayerMergeType merging)
inline

Definition at line 530 of file room.h.

References layer_merging_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetIsDark()

void yaze::zelda3::Room::SetIsDark ( bool is_dark)
inline

Definition at line 531 of file room.h.

References is_dark_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetBackgroundTileset()

void yaze::zelda3::Room::SetBackgroundTileset ( uint8_t tileset)
inline

Definition at line 532 of file room.h.

References background_tileset_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetSpriteTileset()

void yaze::zelda3::Room::SetSpriteTileset ( uint8_t tileset)
inline

Definition at line 533 of file room.h.

References sprite_tileset_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetLayer2Behavior()

void yaze::zelda3::Room::SetLayer2Behavior ( uint8_t behavior)
inline

Definition at line 534 of file room.h.

References layer2_behavior_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetTag1Direct()

void yaze::zelda3::Room::SetTag1Direct ( TagKey tag1)
inline

Definition at line 535 of file room.h.

References tag1(), and tag1_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetTag2Direct()

void yaze::zelda3::Room::SetTag2Direct ( TagKey tag2)
inline

Definition at line 536 of file room.h.

References tag2(), and tag2_.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

Here is the call graph for this function:

◆ SetPitsTargetLayer()

void yaze::zelda3::Room::SetPitsTargetLayer ( uint8_t layer)
inline

Definition at line 537 of file room.h.

References pits_, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair1TargetLayer()

void yaze::zelda3::Room::SetStair1TargetLayer ( uint8_t layer)
inline

Definition at line 538 of file room.h.

References stair1_, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair2TargetLayer()

void yaze::zelda3::Room::SetStair2TargetLayer ( uint8_t layer)
inline

Definition at line 539 of file room.h.

References stair2_, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair3TargetLayer()

void yaze::zelda3::Room::SetStair3TargetLayer ( uint8_t layer)
inline

Definition at line 540 of file room.h.

References stair3_, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair4TargetLayer()

void yaze::zelda3::Room::SetStair4TargetLayer ( uint8_t layer)
inline

Definition at line 541 of file room.h.

References stair4_, and destination::target_layer.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetPitsTarget()

void yaze::zelda3::Room::SetPitsTarget ( uint8_t target)
inline

Definition at line 542 of file room.h.

References pits_, and destination::target.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair1Target()

void yaze::zelda3::Room::SetStair1Target ( uint8_t target)
inline

Definition at line 543 of file room.h.

References stair1_, and destination::target.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair2Target()

void yaze::zelda3::Room::SetStair2Target ( uint8_t target)
inline

Definition at line 544 of file room.h.

References stair2_, and destination::target.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair3Target()

void yaze::zelda3::Room::SetStair3Target ( uint8_t target)
inline

Definition at line 545 of file room.h.

References stair3_, and destination::target.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ SetStair4Target()

void yaze::zelda3::Room::SetStair4Target ( uint8_t target)
inline

Definition at line 546 of file room.h.

References stair4_, and destination::target.

Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

◆ IsLoaded()

bool yaze::zelda3::Room::IsLoaded ( ) const
inline

◆ SetLoaded()

void yaze::zelda3::Room::SetLoaded ( bool loaded)
inline

Definition at line 550 of file room.h.

References is_loaded_.

Referenced by yaze::zelda3::LoadRoomFromRom().

◆ bg2()

background2 yaze::zelda3::Room::bg2 ( ) const
inline

Definition at line 553 of file room.h.

References bg2_.

Referenced by SaveRoomHeader(), and SetBg2().

◆ effect()

◆ tag1()

◆ tag2()

◆ collision()

CollisionKey yaze::zelda3::Room::collision ( ) const
inline

◆ layer_merging()

const LayerMergeType & yaze::zelda3::Room::layer_merging ( ) const
inline

Definition at line 558 of file room.h.

References layer_merging_.

◆ staircase_plane()

uint8_t yaze::zelda3::Room::staircase_plane ( int index) const
inline

Definition at line 559 of file room.h.

References staircase_plane_.

Referenced by SaveRoomHeader().

◆ staircase_room()

◆ id()

◆ blockset()

◆ spriteset()

◆ palette()

◆ layout_id()

◆ holewarp()

◆ message_id()

uint16_t yaze::zelda3::Room::message_id ( ) const
inline

Definition at line 574 of file room.h.

References message_id_.

Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata().

◆ SetLayoutId()

void yaze::zelda3::Room::SetLayoutId ( uint8_t id)
inline

Definition at line 577 of file room.h.

References id(), layout_id_, and MarkLayoutDirty().

Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), and yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable().

Here is the call graph for this function:

◆ floor1()

◆ floor2()

uint8_t yaze::zelda3::Room::floor2 ( ) const
inline

◆ set_floor1()

void yaze::zelda3::Room::set_floor1 ( uint8_t value)
inline

Definition at line 587 of file room.h.

References floor1_graphics_, and MarkGraphicsDirty().

Referenced by yaze::editor::DungeonRoomPanel::Draw().

Here is the call graph for this function:

◆ set_floor2()

void yaze::zelda3::Room::set_floor2 ( uint8_t value)
inline

Definition at line 593 of file room.h.

References floor2_graphics_, and MarkGraphicsDirty().

Referenced by yaze::editor::DungeonRoomPanel::Draw().

Here is the call graph for this function:

◆ ParseObjectsFromLocation()

◆ HandleSpecialObjects()

void yaze::zelda3::Room::HandleSpecialObjects ( short oid,
uint8_t posX,
uint8_t posY,
int & nbr_of_staircase )

◆ SaveObjects()

◆ EncodeObjects()

std::vector< uint8_t > yaze::zelda3::Room::EncodeObjects ( ) const

Definition at line 1457 of file room.cc.

References yaze::zelda3::Block, doors_, yaze::zelda3::Nothing, tile_objects_, and yaze::zelda3::Torch.

Referenced by SaveObjects().

◆ SaveSprites()

◆ EncodeSprites()

std::vector< uint8_t > yaze::zelda3::Room::EncodeSprites ( ) const

Definition at line 1544 of file room.cc.

References sprites_.

Referenced by SaveSprites().

◆ SaveRoomHeader()

◆ blocks()

auto yaze::zelda3::Room::blocks ( ) const
inline

Definition at line 611 of file room.h.

References blocks_.

Referenced by yaze::editor::DungeonRoomPanel::Draw().

◆ mutable_blocks()

auto & yaze::zelda3::Room::mutable_blocks ( )
inline

Definition at line 612 of file room.h.

References blocks_.

◆ rom() [1/2]

◆ rom() [2/2]

auto yaze::zelda3::Room::rom ( )
inline

Definition at line 614 of file room.h.

References rom_.

◆ mutable_rom()

auto yaze::zelda3::Room::mutable_rom ( )
inline

Definition at line 615 of file room.h.

References rom_.

◆ SetRom()

void yaze::zelda3::Room::SetRom ( Rom * rom)
inline

Definition at line 616 of file room.h.

References rom(), and rom_.

Referenced by yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().

Here is the call graph for this function:

◆ game_data()

auto yaze::zelda3::Room::game_data ( )
inline

Definition at line 617 of file room.h.

References game_data_.

◆ SetGameData()

◆ version_constants()

zelda3_version_pointers yaze::zelda3::Room::version_constants ( ) const
inline

Definition at line 621 of file room.h.

References game_data_, and yaze::zelda3::GameData::version.

Referenced by LoadAnimatedGraphics().

◆ get_gfx_buffer()

◆ bg1_buffer() [1/2]

◆ bg2_buffer() [1/2]

auto & yaze::zelda3::Room::bg2_buffer ( )
inline

◆ bg1_buffer() [2/2]

const auto & yaze::zelda3::Room::bg1_buffer ( ) const
inline

Definition at line 632 of file room.h.

References bg1_buffer_.

◆ bg2_buffer() [2/2]

const auto & yaze::zelda3::Room::bg2_buffer ( ) const
inline

Definition at line 633 of file room.h.

References bg2_buffer_.

◆ object_bg1_buffer() [1/2]

auto & yaze::zelda3::Room::object_bg1_buffer ( )
inline

◆ object_bg1_buffer() [2/2]

const auto & yaze::zelda3::Room::object_bg1_buffer ( ) const
inline

Definition at line 635 of file room.h.

References object_bg1_buffer_.

◆ object_bg2_buffer() [1/2]

auto & yaze::zelda3::Room::object_bg2_buffer ( )
inline

◆ object_bg2_buffer() [2/2]

const auto & yaze::zelda3::Room::object_bg2_buffer ( ) const
inline

Definition at line 637 of file room.h.

References object_bg2_buffer_.

◆ GetCompositeBitmap()

gfx::Bitmap & yaze::zelda3::Room::GetCompositeBitmap ( RoomLayerManager & layer_mgr)

Get a composite bitmap of all layers merged.

Definition at line 590 of file room.cc.

References yaze::zelda3::Room::DirtyState::composite, composite_bitmap_, yaze::zelda3::RoomLayerManager::CompositeToOutput(), and dirty_state_.

Referenced by yaze::app::service::RenderService::RenderDungeonRoom().

Here is the call graph for this function:

◆ composite_bitmap()

const gfx::Bitmap & yaze::zelda3::Room::composite_bitmap ( ) const
inline

Definition at line 641 of file room.h.

References composite_bitmap_.

◆ MarkCompositeDirty()

void yaze::zelda3::Room::MarkCompositeDirty ( )
inline

Mark composite bitmap as needing regeneration.

Definition at line 644 of file room.h.

References yaze::zelda3::Room::DirtyState::composite, and dirty_state_.

◆ IsCompositeDirty()

bool yaze::zelda3::Room::IsCompositeDirty ( ) const
inline

Definition at line 645 of file room.h.

References yaze::zelda3::Room::DirtyState::composite, and dirty_state_.

◆ GetDungeonState()

DungeonState * yaze::zelda3::Room::GetDungeonState ( )
inline

Definition at line 647 of file room.h.

References dungeon_state_.

Member Data Documentation

◆ rom_

◆ game_data_

◆ current_gfx16_

std::array<uint8_t, 0x10000> yaze::zelda3::Room::current_gfx16_
private

◆ bg1_buffer_

gfx::BackgroundBuffer yaze::zelda3::Room::bg1_buffer_ {512, 512}
private

◆ bg2_buffer_

gfx::BackgroundBuffer yaze::zelda3::Room::bg2_buffer_ {512, 512}
private

◆ object_bg1_buffer_

gfx::BackgroundBuffer yaze::zelda3::Room::object_bg1_buffer_ {512, 512}
private

◆ object_bg2_buffer_

gfx::BackgroundBuffer yaze::zelda3::Room::object_bg2_buffer_ {512, 512}
private

◆ composite_bitmap_

gfx::Bitmap yaze::zelda3::Room::composite_bitmap_
mutableprivate

Definition at line 671 of file room.h.

Referenced by composite_bitmap(), and GetCompositeBitmap().

◆ dirty_state_

◆ is_light_

bool yaze::zelda3::Room::is_light_
private

Definition at line 674 of file room.h.

Referenced by IsLight(), and SetIsLight().

◆ is_loaded_

bool yaze::zelda3::Room::is_loaded_ = false
private

Definition at line 675 of file room.h.

Referenced by IsLoaded(), and SetLoaded().

◆ is_dark_

bool yaze::zelda3::Room::is_dark_
private

Definition at line 676 of file room.h.

Referenced by SetIsDark().

◆ is_floor_

bool yaze::zelda3::Room::is_floor_ = true
private

Definition at line 677 of file room.h.

Referenced by LoadObjects().

◆ cached_blockset_

uint8_t yaze::zelda3::Room::cached_blockset_ = 0xFF
private

Definition at line 681 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_spriteset_

uint8_t yaze::zelda3::Room::cached_spriteset_ = 0xFF
private

Definition at line 682 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_palette_

uint8_t yaze::zelda3::Room::cached_palette_ = 0xFF
private

Definition at line 683 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_layout_

uint8_t yaze::zelda3::Room::cached_layout_ = 0xFF
private

Definition at line 684 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_floor1_graphics_

uint8_t yaze::zelda3::Room::cached_floor1_graphics_ = 0xFF
private

Definition at line 685 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_floor2_graphics_

uint8_t yaze::zelda3::Room::cached_floor2_graphics_ = 0xFF
private

Definition at line 686 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_effect_

uint8_t yaze::zelda3::Room::cached_effect_ = 0xFF
private

Definition at line 687 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_tag1_

TagKey yaze::zelda3::Room::cached_tag1_ = TagKey::Nothing
private

Definition at line 688 of file room.h.

Referenced by RenderRoomGraphics().

◆ cached_tag2_

TagKey yaze::zelda3::Room::cached_tag2_ = TagKey::Nothing
private

Definition at line 689 of file room.h.

Referenced by RenderRoomGraphics().

◆ room_id_

◆ animated_frame_

int yaze::zelda3::Room::animated_frame_ = 0
private

Definition at line 692 of file room.h.

Referenced by LoadAnimatedGraphics().

◆ staircase_plane_

uint8_t yaze::zelda3::Room::staircase_plane_[4]
private

Definition at line 694 of file room.h.

Referenced by SetStaircasePlane(), and staircase_plane().

◆ staircase_rooms_

uint8_t yaze::zelda3::Room::staircase_rooms_[4]
private

Definition at line 695 of file room.h.

Referenced by HandleSpecialObjects(), SetStaircaseRoom(), and staircase_room().

◆ blockset_

uint8_t yaze::zelda3::Room::blockset_ = 0
private

◆ spriteset_

uint8_t yaze::zelda3::Room::spriteset_ = 0
private

Definition at line 699 of file room.h.

Referenced by LoadRoomGraphics(), RenderRoomGraphics(), SaveRoomHeader(), SetSpriteset(), and spriteset().

◆ palette_

uint8_t yaze::zelda3::Room::palette_ = 0
private

◆ layout_id_

uint8_t yaze::zelda3::Room::layout_id_ = 0
private

◆ holewarp_

uint8_t yaze::zelda3::Room::holewarp_ = 0
private

Definition at line 702 of file room.h.

Referenced by holewarp(), SaveRoomHeader(), and SetHolewarp().

◆ message_id_

uint16_t yaze::zelda3::Room::message_id_ = 0
private

Definition at line 703 of file room.h.

Referenced by message_id(), SaveRoomHeader(), SetMessageId(), and SetMessageIdDirect().

◆ background_tileset_

uint8_t yaze::zelda3::Room::background_tileset_
private

Definition at line 705 of file room.h.

Referenced by LoadAnimatedGraphics(), and SetBackgroundTileset().

◆ sprite_tileset_

uint8_t yaze::zelda3::Room::sprite_tileset_
private

Definition at line 706 of file room.h.

Referenced by SetSpriteTileset().

◆ layer2_behavior_

uint8_t yaze::zelda3::Room::layer2_behavior_
private

Definition at line 707 of file room.h.

Referenced by SetLayer2Behavior().

◆ floor1_graphics_

uint8_t yaze::zelda3::Room::floor1_graphics_
private

Definition at line 708 of file room.h.

Referenced by floor1(), LoadObjects(), RenderRoomGraphics(), and set_floor1().

◆ floor2_graphics_

uint8_t yaze::zelda3::Room::floor2_graphics_
private

Definition at line 709 of file room.h.

Referenced by floor2(), LoadObjects(), RenderRoomGraphics(), and set_floor2().

◆ layer2_mode_

uint8_t yaze::zelda3::Room::layer2_mode_
private

Definition at line 710 of file room.h.

Referenced by SetLayer2Mode().

◆ blocks_

std::array<uint8_t, 16> yaze::zelda3::Room::blocks_
private

◆ chest_list_

std::array<chest, 16> yaze::zelda3::Room::chest_list_
private

Definition at line 713 of file room.h.

◆ tile_objects_

◆ sprites_

std::vector<zelda3::Sprite> yaze::zelda3::Room::sprites_
private
Todo
add separate door objects list when door section (F0 FF) is parsed

Definition at line 717 of file room.h.

Referenced by EncodeSprites(), GetLimitedObjectCounts(), GetSprites(), GetSprites(), LoadSprites(), and RenderObjectsToBackground().

◆ z3_staircases_

std::vector<staircase> yaze::zelda3::Room::z3_staircases_
private

◆ chests_in_room_

std::vector<chest_data> yaze::zelda3::Room::chests_in_room_
private

◆ doors_

std::vector<Door> yaze::zelda3::Room::doors_
private

◆ pot_items_

std::vector<PotItem> yaze::zelda3::Room::pot_items_
private

Definition at line 721 of file room.h.

Referenced by GetPotItems(), GetPotItems(), LoadPotItems(), and RenderObjectsToBackground().

◆ layout_

RoomLayout yaze::zelda3::Room::layout_
private

Definition at line 722 of file room.h.

Referenced by GetLayout(), and LoadLayoutTilesToBuffer().

◆ layer_merging_

LayerMergeType yaze::zelda3::Room::layer_merging_
private

Definition at line 724 of file room.h.

Referenced by layer_merging(), RenderRoomGraphics(), and SetLayerMerging().

◆ collision_

CollisionKey yaze::zelda3::Room::collision_
private

Definition at line 725 of file room.h.

Referenced by collision(), and SetCollision().

◆ effect_

EffectKey yaze::zelda3::Room::effect_
private

Definition at line 726 of file room.h.

Referenced by effect(), RenderRoomGraphics(), and SetEffect().

◆ tag1_

TagKey yaze::zelda3::Room::tag1_
private

Definition at line 727 of file room.h.

Referenced by RenderRoomGraphics(), SetTag1(), SetTag1Direct(), and tag1().

◆ tag2_

TagKey yaze::zelda3::Room::tag2_
private

Definition at line 728 of file room.h.

Referenced by RenderRoomGraphics(), SetTag2(), SetTag2Direct(), and tag2().

◆ bg2_

background2 yaze::zelda3::Room::bg2_
private

Definition at line 730 of file room.h.

Referenced by bg2(), and SetBg2().

◆ pits_

destination yaze::zelda3::Room::pits_
private

Definition at line 731 of file room.h.

Referenced by LoadPits(), SetPitsTarget(), and SetPitsTargetLayer().

◆ stair1_

destination yaze::zelda3::Room::stair1_
private

Definition at line 732 of file room.h.

Referenced by SetStair1Target(), and SetStair1TargetLayer().

◆ stair2_

destination yaze::zelda3::Room::stair2_
private

Definition at line 733 of file room.h.

Referenced by SetStair2Target(), and SetStair2TargetLayer().

◆ stair3_

destination yaze::zelda3::Room::stair3_
private

Definition at line 734 of file room.h.

Referenced by SetStair3Target(), and SetStair3TargetLayer().

◆ stair4_

destination yaze::zelda3::Room::stair4_
private

Definition at line 735 of file room.h.

Referenced by SetStair4Target(), and SetStair4TargetLayer().

◆ custom_collision_

CustomCollisionMap yaze::zelda3::Room::custom_collision_
private

◆ custom_collision_dirty_

bool yaze::zelda3::Room::custom_collision_dirty_ = false
private

◆ water_fill_zone_

◆ water_fill_dirty_

bool yaze::zelda3::Room::water_fill_dirty_ = false
private

◆ water_fill_tile_count_

int yaze::zelda3::Room::water_fill_tile_count_ = 0
private

Definition at line 742 of file room.h.

Referenced by ClearWaterFillZone(), SetWaterFillTile(), and WaterFillTileCount().

◆ dungeon_state_

std::unique_ptr<DungeonState> yaze::zelda3::Room::dungeon_state_
private

Definition at line 743 of file room.h.

Referenced by GetDungeonState(), LoadLayoutTilesToBuffer(), and RenderObjectsToBackground().


The documentation for this class was generated from the following files: