#include <room.h>
Classes | |
| struct | DirtyState |
| struct | Door |
| Represents a door in a dungeon room. More... | |
| struct | SaveDirtySnapshot |
| struct | SaveDirtyState |
Public Member Functions | |
| Room () | |
| Room (int room_id, Rom *rom, GameData *game_data=nullptr) | |
| ~Room () | |
| Room (Room &&) | |
| Room & | operator= (Room &&) |
| Room (const Room &)=delete | |
| Room & | operator= (const Room &)=delete |
| void | LoadRoomGraphics (std::optional< uint8_t > entrance_blockset=std::nullopt) |
| void | CopyRoomGraphicsToBuffer () |
| void | RenderRoomGraphics () |
| void | RenderObjectsToBackground () |
| void | LoadAnimatedGraphics () |
| void | LoadObjects () |
| void | EnsureObjectsLoaded () |
| void | LoadSprites () |
| void | EnsureSpritesLoaded () |
| void | LoadChests () |
| void | LoadPotItems () |
| void | EnsurePotItemsLoaded () |
| void | LoadDoors () |
| void | LoadTorches () |
| void | LoadBlocks () |
| void | LoadPits () |
| void | LoadLayoutTilesToBuffer () |
| void | ReloadGraphics (std::optional< uint8_t > entrance_blockset=std::nullopt) |
| void | PrepareForRender (std::optional< uint8_t > entrance_blockset=std::nullopt) |
| const std::vector< zelda3::Sprite > & | GetSprites () const |
| std::vector< zelda3::Sprite > & | GetSprites () |
| bool | sprites_dirty () const |
| void | MarkSpritesDirty () |
| void | ClearSpritesDirty () |
| const std::vector< chest_data > & | GetChests () const |
| std::vector< chest_data > & | GetChests () |
| bool | chests_dirty () const |
| void | MarkChestsDirty () |
| void | ClearChestsDirty () |
| 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 () |
| bool | pot_items_dirty () const |
| void | MarkPotItemsDirty () |
| void | ClearPotItemsDirty () |
| bool | torches_dirty () const |
| void | MarkTorchesDirty () |
| void | ClearTorchesDirty () |
| bool | blocks_dirty () const |
| void | MarkBlocksDirty () |
| void | ClearBlocksDirty () |
| const RoomLayout & | GetLayout () 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 | MarkObjectStreamDirty () |
| void | MarkSaveDirtyForTileObject (const RoomObject &object) |
| void | MarkTileObjectDomainsDirtyForSnapshot (const std::vector< RoomObject > &objects) |
| void | MarkTileObjectCollectionDirty () |
| bool | object_stream_dirty () const |
| void | ClearObjectStreamDirty () |
| bool | object_stream_header_dirty () const |
| void | ClearObjectStreamHeaderDirty () |
| void | MarkGraphicsDirty () |
| void | MarkLayoutDirty () |
| void | RemoveTileObject (size_t index) |
| size_t | GetTileObjectCount () const |
| RoomObject & | GetTileObject (size_t index) |
| const RoomObject & | GetTileObject (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< DungeonLimitInfo > | GetExceededLimitDetails () const |
| Get list of exceeded limits with details. | |
| const CustomCollisionMap & | custom_collision () const |
| CustomCollisionMap & | custom_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 WaterFillZoneMap & | water_fill_zone () const |
| WaterFillZoneMap & | water_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 () |
| bool | header_dirty () const |
| void | MarkHeaderDirty () |
| void | ClearHeaderDirty () |
| bool | HasUnsavedChanges () const |
| void | ClearSaveDirtyState () |
| SaveDirtySnapshot | CaptureSaveDirtySnapshot () const |
| void | RestoreSaveDirtySnapshot (const SaveDirtySnapshot &snapshot) |
| 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 | SetRenderEntranceBlockset (uint8_t entrance_blockset) |
| 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) |
| bool | AreObjectsLoaded () const |
| bool | AreSpritesLoaded () const |
| bool | AreChestsLoaded () const |
| bool | ArePotItemsLoaded () const |
| bool | AreTorchesLoaded () const |
| bool | AreBlocksLoaded () const |
| background2 | bg2 () const |
| EffectKey | effect () const |
| TagKey | tag1 () const |
| TagKey | tag2 () const |
| CollisionKey | collision () const |
| const LayerMergeType & | layer_merging () const |
| uint8_t | layer2_mode () const |
| uint8_t | staircase_plane (int index) const |
| uint8_t | staircase_room (int index) const |
| int | id () const |
| uint8_t | blockset () const |
| uint8_t | render_entrance_blockset () const |
| uint8_t | spriteset () const |
| uint8_t | palette () const |
| int | ResolveDungeonPaletteId () 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 (const DungeonStreamLayout *layout=nullptr) |
| absl::Status | SaveObjectStreamHeader (const DungeonStreamLayout *layout=nullptr) |
| std::vector< uint8_t > | EncodeObjects () const |
| absl::Status | SaveSprites (const DungeonStreamLayout *layout=nullptr) |
| 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 |
| uint64_t | graphics_revision () const |
| uint64_t | composite_source_revision () const |
| const gfx::SnesPalette & | rendered_dungeon_palette () const |
| const std::vector< SDL_Color > & | rendered_palette () 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::Bitmap & | GetCompositeBitmap (RoomLayerManager &layer_mgr) |
| Get a composite bitmap of all layers merged. | |
| void | RenderComposite (const RoomLayerManager &layer_mgr, gfx::Bitmap &output) |
| const gfx::Bitmap & | composite_bitmap () const |
| void | MarkCompositeDirty () |
| Mark composite bitmap as needing regeneration. | |
| bool | IsCompositeDirty () const |
| DungeonState * | GetDungeonState () |
| const DungeonState * | GetDungeonState () const |
Static Private Attributes | |
| static constexpr uint8_t | kObjectHeaderFloor1Dirty = 1u << 0 |
| static constexpr uint8_t | kObjectHeaderFloor2Dirty = 1u << 1 |
| static constexpr uint8_t | kObjectHeaderLayoutDirty = 1u << 2 |
|
default |
|
default |
|
default |
|
delete |
| void yaze::zelda3::Room::LoadRoomGraphics | ( | std::optional< uint8_t > | entrance_blockset = std::nullopt | ) |
Definition at line 876 of file room.cc.
References blocks_, blockset_, game_data_, LOG_DEBUG, LOG_WARN, yaze::zelda3::GameData::main_blockset_ids, palette_, render_entrance_blockset_, resolved_main_blockset_, yaze::zelda3::GameData::room_blockset_ids, room_id_, spriteset_, and yaze::zelda3::GameData::spriteset_ids.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::app::service::RenderService::RenderDungeonRoom(), RenderRoomGraphics(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
| void yaze::zelda3::Room::CopyRoomGraphicsToBuffer | ( | ) |
Definition at line 995 of file room.cc.
References blocks_, blockset_, current_gfx16_, game_data_, yaze::zelda3::GameData::graphics_buffer, graphics_revision_, yaze::Rom::is_loaded(), LoadAnimatedGraphics(), LOG_DEBUG, LOG_ERROR, LOG_WARN, render_entrance_blockset_, resolved_main_blockset_, rom_, and room_id_.
Referenced by yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), RenderRoomGraphics(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().

| void yaze::zelda3::Room::RenderRoomGraphics | ( | ) |
Definition at line 1122 of file room.cc.
References bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), blocks_, blockset_, yaze::zelda3::BuildDungeonRenderPalette(), cached_blockset_, cached_effect_, cached_floor1_graphics_, cached_floor2_graphics_, cached_layout_, cached_palette_, cached_spriteset_, cached_tag1_, cached_tag2_, CopyRoomGraphicsToBuffer(), current_gfx16_, yaze::gfx::Arena::DESTROY, dirty_state_, yaze::gfx::BackgroundBuffer::DrawBackground(), yaze::gfx::BackgroundBuffer::DrawFloor(), yaze::gfx::PaletteGroupMap::dungeon_main, effect_, yaze::gfx::PaletteGroup::empty(), yaze::gfx::BackgroundBuffer::EnsureBitmapInitialized(), floor1_graphics_, floor2_graphics_, game_data_, yaze::gfx::Arena::Get(), yaze::zelda3::PaletteDebugger::Get(), yaze::platform::GetSurfacePalette(), yaze::zelda3::Room::DirtyState::graphics, yaze::gfx::PaletteGroupMap::hud, yaze::zelda3::LayerMergeType::ID, 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(), MarkCompositeDirty(), object_bg1_buffer_, object_bg2_buffer_, yaze::zelda3::Room::DirtyState::objects, palette(), palette_, yaze::zelda3::GameData::palette_groups, yaze::gfx::PaletteGroup::palette_ref(), yaze::gfx::Arena::QueueTextureCommand(), rendered_dungeon_palette_, rendered_palette_, RenderObjectsToBackground(), ResolveDungeonPaletteId(), rom(), room_id_, spriteset_, tag1_, tag2_, and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::editor::DungeonRoomPanel::OnResourceModified(), PrepareForRender(), ReloadGraphics(), and yaze::app::service::RenderService::RenderDungeonRoom().
| void yaze::zelda3::Room::RenderObjectsToBackground | ( | ) |
Definition at line 1456 of file room.cc.
References yaze::gfx::PaletteGroup::AddPalette(), bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), yaze::zelda3::Block, yaze::gfx::BackgroundBuffer::ClearBG1RevealMask(), yaze::gfx::BackgroundBuffer::ClearCoverageBuffer(), yaze::gfx::BackgroundBuffer::ClearPriorityBuffer(), yaze::gfx::BackgroundBuffer::ClearTileBuffer(), current_gfx16_, yaze::Rom::data(), yaze::zelda3::ObjectDrawer::DoorDef::direction, dirty_state_, doors_, yaze::zelda3::ObjectDrawer::DrawDoor(), yaze::zelda3::ObjectDrawer::DrawObjectList(), yaze::zelda3::ObjectDrawer::DrawPotItem(), yaze::zelda3::ObjectDrawer::DrawRoomDrawObjectData2x2(), yaze::gfx::PaletteGroupMap::dungeon_main, dungeon_state_, yaze::gfx::BackgroundBuffer::EnsureBitmapInitialized(), floor1_graphics_, floor2_graphics_, game_data_, yaze::zelda3::Room::DirtyState::graphics, yaze::Rom::is_loaded(), yaze::gfx::kBG2Objects, yaze::zelda3::RoomObject::layer_, LOG_DEBUG, LOG_WARN, yaze::zelda3::MapRoomObjectListIndexToDrawLayer(), yaze::zelda3::Nothing, object_bg1_buffer_, object_bg2_buffer_, yaze::zelda3::Room::DirtyState::objects, yaze::zelda3::GameData::palette_groups, yaze::zelda3::ObjectDrawer::DoorDef::position, pot_items_, ResolveDungeonPaletteId(), rom_, room_id_, yaze::zelda3::ObjectDrawer::SetBG1RevealMaskSource(), yaze::zelda3::ObjectDrawer::SetRoomFloorGraphics(), sprites_, tile_objects_, yaze::zelda3::Torch, and yaze::zelda3::ObjectDrawer::DoorDef::type.
Referenced by RenderRoomGraphics().
| void yaze::zelda3::Room::LoadAnimatedGraphics | ( | ) |
Definition at line 1703 of file room.cc.
References animated_frame_, blockset_, current_gfx16_, game_data_, yaze::zelda3::GameData::graphics_buffer, graphics_revision_, yaze::Rom::is_loaded(), yaze::Rom::ReadByte(), yaze::Rom::ReadLong(), render_entrance_blockset_, resolved_main_blockset_, rom_, yaze::SnesToPc(), and version_constants().
Referenced by CopyRoomGraphicsToBuffer().
| void yaze::zelda3::Room::LoadObjects | ( | ) |
Definition at line 1755 of file room.cc.
References custom_collision_, custom_collision_dirty_, floor1_graphics_, floor2_graphics_, is_floor_, yaze::zelda3::kRoomObjectPointer, layout_id_, LoadChests(), yaze::zelda3::LoadCustomCollisionMap(), LOG_DEBUG, MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), objects_loaded_, ParseObjectsFromLocation(), rom(), rom_, room_id_, yaze::Rom::size(), and yaze::SnesToPc().
Referenced by yaze::cli::handlers::anonymous_namespace{minecart_commands.cc}::AuditRoom(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), EnsureObjectsLoaded(), yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::zelda3::LoadRoomFromRom(), and yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas().
| void yaze::zelda3::Room::EnsureObjectsLoaded | ( | ) |
Definition at line 948 of file room.cc.
References LoadObjects(), and objects_loaded_.
Referenced by yaze::zelda3::GenerateTrackCollision(), PrepareForRender(), and ReloadGraphics().

| void yaze::zelda3::Room::LoadSprites | ( | ) |
Definition at line 2629 of file room.cc.
References yaze::zelda3::Sprite::id(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::Sprite::layer(), rom(), room_id_, yaze::zelda3::Sprite::set_key_drop(), sprites_, sprites_loaded_, yaze::zelda3::Sprite::subtype(), yaze::zelda3::Sprite::x(), and yaze::zelda3::Sprite::y().
Referenced by yaze::cli::handlers::anonymous_namespace{minecart_commands.cc}::AuditRoom(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), EnsureSpritesLoaded(), yaze::cli::handlers::DungeonListSpritesCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas(), and yaze::app::service::RenderService::RenderDungeonRoom().
| void yaze::zelda3::Room::EnsureSpritesLoaded | ( | ) |
Definition at line 955 of file room.cc.
References LoadSprites(), and sprites_loaded_.

| void yaze::zelda3::Room::LoadChests | ( | ) |
Definition at line 2689 of file room.cc.
References chests_in_room_, chests_loaded_, yaze::Rom::is_loaded(), yaze::zelda3::kChestsDataPointer1, yaze::zelda3::kChestsLengthPointer, yaze::zelda3::kChestTableCapacityRecords, yaze::zelda3::kChestTableRecordSize, rom(), rom_, room_id_, and yaze::SnesToPc().
Referenced by yaze::cli::handlers::DungeonListChestsCommandHandler::Execute(), LoadObjects(), and yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadPotItems | ( | ) |
Definition at line 4235 of file room.cc.
References yaze::Rom::is_loaded(), yaze::zelda3::PotItem::item, yaze::zelda3::kRoomItemsPointers, yaze::zelda3::PotItem::position, pot_items_, pot_items_loaded_, rom(), rom_, room_id_, and yaze::SnesToPc().
Referenced by EnsurePotItemsLoaded(), yaze::zelda3::LoadRoomFromRom(), yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas(), and yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveRuntimePotItemStream().

| void yaze::zelda3::Room::EnsurePotItemsLoaded | ( | ) |
Definition at line 962 of file room.cc.
References LoadPotItems(), and pot_items_loaded_.

| void yaze::zelda3::Room::LoadDoors | ( | ) |
| void yaze::zelda3::Room::LoadTorches | ( | ) |
Definition at line 2749 of file room.cc.
References yaze::zelda3::DecodeLightableTorchEntry(), yaze::zelda3::LightableTorchEntry::draw_layer, yaze::zelda3::kTorchData, yaze::zelda3::kTorchesLengthPointer, yaze::zelda3::LightableTorchEntry::lit, LOG_DEBUG, yaze::zelda3::LightableTorchEntry::px, yaze::zelda3::LightableTorchEntry::py, yaze::zelda3::LightableTorchEntry::reserved, rom(), rom_, room_id_, tile_objects_, yaze::zelda3::Torch, and torches_loaded_.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadBlocks | ( | ) |
Definition at line 4139 of file room.cc.
References yaze::zelda3::PushableBlockEntry::behavior_layer, yaze::zelda3::Block, blocks_loaded_, yaze::zelda3::DecodePushableBlockEntry(), yaze::zelda3::PushableBlockEntry::draw_layer, yaze::zelda3::kBlocksLength, yaze::zelda3::kBlocksPointer1, yaze::zelda3::kBlocksPointer2, yaze::zelda3::kBlocksPointer3, yaze::zelda3::kBlocksPointer4, LOG_DEBUG, LOG_WARN, yaze::zelda3::PushableBlockEntry::px, yaze::zelda3::PushableBlockEntry::py, rom(), rom_, yaze::zelda3::PushableBlockEntry::room_id, room_id_, yaze::zelda3::RoomObject::set_block_behavior_layer(), yaze::zelda3::RoomObject::set_block_load_order(), yaze::zelda3::RoomObject::set_options(), yaze::zelda3::RoomObject::SetRom(), yaze::SnesToPc(), and tile_objects_.
Referenced by yaze::zelda3::LoadRoomFromRom().
| void yaze::zelda3::Room::LoadPits | ( | ) |
Definition at line 4286 of file room.cc.
References yaze::zelda3::kPitCount, yaze::zelda3::kPitPointer, LOG_DEBUG, pits_, rom(), room_id_, destination::target, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadLayoutTilesToBuffer | ( | ) |
Definition at line 1390 of file room.cc.
References yaze::gfx::PaletteGroup::AddPalette(), bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::ClearBG1RevealMask(), current_gfx16_, yaze::zelda3::RoomLayout::Draw(), yaze::gfx::PaletteGroupMap::dungeon_main, dungeon_state_, floor1_graphics_, floor2_graphics_, game_data_, yaze::zelda3::RoomLayout::GetObjects(), yaze::Rom::is_loaded(), yaze::gfx::kBG2Layout, layout_, layout_id_, yaze::zelda3::RoomLayout::LoadLayout(), LOG_DEBUG, yaze::zelda3::GameData::palette_groups, ResolveDungeonPaletteId(), rom_, room_id_, and yaze::zelda3::RoomLayout::SetRom().
Referenced by RenderRoomGraphics().
| void yaze::zelda3::Room::ReloadGraphics | ( | std::optional< uint8_t > | entrance_blockset = std::nullopt | ) |
Definition at line 969 of file room.cc.
References EnsureObjectsLoaded(), MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), RenderRoomGraphics(), and SetRenderEntranceBlockset().
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), and yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState().
| void yaze::zelda3::Room::PrepareForRender | ( | std::optional< uint8_t > | entrance_blockset = std::nullopt | ) |
Definition at line 980 of file room.cc.
References bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), dirty_state_, EnsureObjectsLoaded(), yaze::zelda3::Room::DirtyState::graphics, yaze::zelda3::Room::DirtyState::layout, yaze::zelda3::Room::DirtyState::objects, RenderRoomGraphics(), SetRenderEntranceBlockset(), and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::RoomMatrixContent::GetRoomColor(), yaze::editor::RoomCompositeOutput::Prepare(), and yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas().

|
inline |
Definition at line 276 of file room.h.
References sprites_.
Referenced by yaze::app::service::RenderService::ApplyOverlays(), yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::cli::handlers::anonymous_namespace{minecart_commands.cc}::AuditRoom(), yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::DungeonCanvasViewer::BuildSelectionIssueReport(), yaze::editor::InteractionCoordinator::DescribeEntity(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonCanvasViewer::DrawChangePingOverlay(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomCanvasContent(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::cli::handlers::DungeonListSpritesCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::SpriteInteractionHandler::GetEntityAtPosition(), yaze::editor::anonymous_namespace{interaction_coordinator.cc}::GetEntityBounds(), yaze::editor::DungeonCanvasViewer::HandleRoomCanvasDropTargets(), yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), yaze::editor::DungeonRoomSelector::PassesEntityTypeFilter(), yaze::editor::DungeonCanvasViewer::RenderSprites(), and yaze::zelda3::DungeonValidator::ValidateRoom().
|
inline |
|
inline |
Definition at line 278 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::sprites.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), and SaveSprites().
|
inline |
Definition at line 279 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::sprites.
Referenced by yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute(), and yaze::editor::DungeonCanvasViewer::HandleRoomCanvasDropTargets().
|
inline |
Definition at line 280 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::sprites.
Referenced by SaveSprites().
|
inline |
Definition at line 283 of file room.h.
References chests_in_room_.
Referenced by yaze::zelda3::anonymous_namespace{room.cc}::BuildChestSavePlanImpl(), yaze::zelda3::anonymous_namespace{room.cc}::EncodeChestRoomState(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonListChestsCommandHandler::Execute(), and yaze::cli::handlers::DungeonMapCommandHandler::Execute().
|
inline |
Definition at line 284 of file room.h.
References chests_in_room_.
|
inline |
Definition at line 285 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::chests, and save_dirty_state_.
Referenced by yaze::zelda3::ApplyChestSavePlan(), and yaze::zelda3::anonymous_namespace{room.cc}::BuildChestSavePlanImpl().
|
inline |
Definition at line 286 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::chests, and save_dirty_state_.
|
inline |
Definition at line 287 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::chests, and save_dirty_state_.
|
inline |
Definition at line 290 of file room.h.
References z3_staircases_.
Referenced by yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), and yaze::cli::handlers::DungeonMapCommandHandler::Execute().
|
inline |
Definition at line 291 of file room.h.
References z3_staircases_.
|
inline |
Definition at line 373 of file room.h.
References doors_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::DungeonCanvasViewer::BuildSelectionIssueReport(), yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::editor::InteractionCoordinator::DescribeEntity(), yaze::editor::DungeonCanvasViewer::DrawChangePingOverlay(), yaze::editor::DungeonCanvasViewer::DungeonCanvasViewer(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonMapCommandHandler::Execute(), yaze::editor::DoorInteractionHandler::GetEntityAtPosition(), yaze::editor::anonymous_namespace{interaction_coordinator.cc}::GetEntityBounds(), yaze::editor::DoorInteractionHandler::HandleClick(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveDoorTypeTarget(), yaze::cli::handlers::anonymous_namespace{dungeon_graph_commands.cc}::RoomHasDoorIn(), and yaze::editor::DungeonCanvasViewer::RoomHasNonExitDoorInDirection().
|
inline |
|
inline |
Definition at line 375 of file room.h.
References doors_, MarkObjectStreamDirty(), and objects_loaded_.

|
inline |
Definition at line 380 of file room.h.
References doors_, MarkObjectStreamDirty(), and objects_loaded_.

|
inline |
Definition at line 389 of file room.h.
References pot_items_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::DungeonCanvasViewer::BuildSelectionIssueReport(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyPotItemWriteRanges(), yaze::editor::InteractionCoordinator::DescribeEntity(), yaze::editor::DungeonCanvasViewer::DrawChangePingOverlay(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::editor::ItemInteractionHandler::GetEntityAtPosition(), yaze::editor::anonymous_namespace{interaction_coordinator.cc}::GetEntityBounds(), yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), yaze::editor::DungeonCanvasViewer::RenderPotItems(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveRuntimePotItemStream(), and yaze::zelda3::SaveAllPotItemsImpl().
|
inline |
Definition at line 390 of file room.h.
References pot_items_.
|
inline |
Definition at line 391 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::pot_items, and save_dirty_state_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyPotItemWriteRanges(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveAllPotItemsForProject(), and yaze::zelda3::SaveAllPotItemsImpl().
|
inline |
Definition at line 392 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::pot_items, and save_dirty_state_.
|
inline |
Definition at line 393 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::pot_items, and save_dirty_state_.
|
inline |
Definition at line 395 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::torches.
Referenced by yaze::zelda3::SaveAllTorchesImpl().
|
inline |
Definition at line 396 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::torches.
|
inline |
Definition at line 397 of file room.h.
References save_dirty_state_, and yaze::zelda3::Room::SaveDirtyState::torches.
|
inline |
Definition at line 398 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::blocks, and save_dirty_state_.
Referenced by yaze::zelda3::SaveAllBlocks().
|
inline |
Definition at line 399 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::blocks, and save_dirty_state_.
|
inline |
Definition at line 400 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::blocks, and save_dirty_state_.
|
inline |
|
inline |
Definition at line 405 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::zelda3::DungeonObjectEditor::BatchChangeObjectLayer(), yaze::cli::agent::anonymous_namespace{conversational_agent_service.cc}::BuildAutoOracleStateHook(), yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::editor::DungeonCanvasViewer::BuildSelectionIssueReport(), yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::zelda3::DungeonObjectEditor::CreateUndoPoint(), yaze::editor::InteractionCoordinator::DescribeEntity(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawChangePingOverlay(), yaze::editor::TileObjectHandler::DrawGhostPreview(), yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), yaze::editor::DungeonCanvasViewer::DrawObjectPositionOutlines(), yaze::editor::DungeonCanvasViewer::DrawRoomCanvasContent(), yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonRenderingHelpers::DrawTrackGapOverlay(), yaze::zelda3::anonymous_namespace{room.cc}::EncodeTorchSegmentForRoom(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveObjectCommandHandler::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::TileObjectHandler::GetPlacementGhostCapacityState(), yaze::editor::DungeonCanvasViewer::HandleRoomCanvasDropTargets(), 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::SaveAllBlocks(), yaze::zelda3::SaveAllTorchesImpl(), yaze::zelda3::DungeonObjectEditor::Undo(), yaze::zelda3::DungeonObjectEditor::ValidateRoom(), and yaze::zelda3::DungeonValidator::ValidateRoom().
|
inline |
Definition at line 408 of file room.h.
References tile_objects_.
|
inline |
Definition at line 411 of file room.h.
References MarkObjectsDirty(), MarkTileObjectDomainsDirtyForSnapshot(), objects_loaded_, and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ClearRoom(), and yaze::editor::DungeonRoomPanel::Draw().

|
inline |
Definition at line 417 of file room.h.
References MarkSaveDirtyForTileObject(), objects_loaded_, and tile_objects_.

| absl::Status yaze::zelda3::Room::AddObject | ( | const RoomObject & | object | ) |
Definition at line 2516 of file room.cc.
References MarkSaveDirtyForTileObject(), objects_loaded_, tile_objects_, and ValidateObject().
Referenced by yaze::zelda3::DungeonObjectEditor::DuplicateObject(), yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::zelda3::DungeonObjectEditor::InsertObject(), yaze::zelda3::DungeonObjectEditor::InsertTemplate(), yaze::zelda3::DungeonObjectEditor::PasteObjects(), and yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::PreflightObjectSave().

| absl::Status yaze::zelda3::Room::RemoveObject | ( | size_t | index | ) |
Definition at line 2530 of file room.cc.
References MarkObjectsDirty(), MarkSaveDirtyForTileObject(), objects_loaded_, and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::DeleteObject(), yaze::cli::handlers::DungeonRemoveObjectCommandHandler::Execute(), and yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::PreflightObjectRemoval().

| absl::Status yaze::zelda3::Room::UpdateObject | ( | size_t | index, |
| const RoomObject & | object ) |
Definition at line 2543 of file room.cc.
References MarkSaveDirtyForTileObject(), objects_loaded_, tile_objects_, and ValidateObject().

| absl::StatusOr< size_t > yaze::zelda3::Room::FindObjectAt | ( | int | x, |
| int | y, | ||
| int | layer ) const |
Definition at line 2560 of file room.cc.
References tile_objects_.
| bool yaze::zelda3::Room::ValidateObject | ( | const RoomObject & | object | ) | const |
Definition at line 2570 of file room.cc.
Referenced by AddObject(), and UpdateObject().
|
inline |
Definition at line 431 of file room.h.
References dirty_state_, MarkCompositeDirty(), yaze::zelda3::Room::DirtyState::objects, and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::ObjectTileEditorPanel::ApplyChanges(), ClearTileObjects(), LoadObjects(), MarkObjectStreamDirty(), MarkSaveDirtyForTileObject(), ReloadGraphics(), RemoveObject(), RemoveTileObject(), SetEffect(), SetTag1(), SetTag2(), SetTileObjects(), yaze::editor::DungeonEditorV2::SynchronizeCustomObjectAssets(), and yaze::editor::DungeonObjectSelector::SynchronizeCustomObjectGeneration().

|
inline |
Definition at line 436 of file room.h.
References MarkObjectsDirty(), yaze::zelda3::Room::SaveDirtyState::object_stream, and save_dirty_state_.
Referenced by AddDoor(), and RemoveDoor().

|
inline |
Definition at line 440 of file room.h.
References yaze::zelda3::Block, yaze::zelda3::Room::SaveDirtyState::blocks, MarkObjectsDirty(), yaze::zelda3::Nothing, yaze::zelda3::Room::SaveDirtyState::object_stream, save_dirty_state_, yaze::zelda3::Torch, and yaze::zelda3::Room::SaveDirtyState::torches.
Referenced by AddObject(), AddTileObject(), yaze::zelda3::DungeonObjectEditor::AlignSelectedObjects(), yaze::zelda3::DungeonObjectEditor::BatchChangeObjectLayer(), yaze::zelda3::DungeonObjectEditor::BatchMoveObjects(), yaze::zelda3::DungeonObjectEditor::BatchResizeObjects(), yaze::zelda3::DungeonObjectEditor::ChangeObjectType(), yaze::zelda3::DungeonObjectEditor::DrawPropertyUI(), yaze::zelda3::DungeonObjectEditor::HandleDragOperation(), MarkTileObjectDomainsDirtyForSnapshot(), yaze::zelda3::DungeonObjectEditor::MoveObject(), RemoveObject(), RemoveTileObject(), yaze::zelda3::DungeonObjectEditor::ResizeObject(), and UpdateObject().

|
inline |
Definition at line 455 of file room.h.
References MarkSaveDirtyForTileObject().
Referenced by ClearTileObjects(), MarkTileObjectCollectionDirty(), and SetTileObjects().

|
inline |
Definition at line 461 of file room.h.
References MarkTileObjectDomainsDirtyForSnapshot(), and tile_objects_.
Referenced by yaze::editor::TileObjectHandler::NotifyChange().

|
inline |
Definition at line 464 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::object_stream, and save_dirty_state_.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), and SaveObjects().
|
inline |
Definition at line 465 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::object_stream, and save_dirty_state_.
Referenced by SaveObjects().
|
inline |
Definition at line 466 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::object_stream_header, and save_dirty_state_.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), and SaveObjectStreamHeader().
|
inline |
Definition at line 469 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::object_stream_header, and save_dirty_state_.
Referenced by SaveObjectStreamHeader().
|
inline |
Definition at line 472 of file room.h.
References dirty_state_, yaze::zelda3::Room::DirtyState::graphics, MarkCompositeDirty(), and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::DungeonEditorV2::InvalidateDungeonPaletteUsers(), LoadObjects(), ReloadGraphics(), set_floor1(), set_floor2(), SetBg2(), SetBlockset(), SetLayer2Mode(), SetLayerMerging(), SetPalette(), SetRenderEntranceBlockset(), and SetSpriteset().

|
inline |
Definition at line 477 of file room.h.
References dirty_state_, yaze::zelda3::Room::DirtyState::layout, MarkCompositeDirty(), and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), LoadObjects(), ReloadGraphics(), and SetLayoutId().

|
inline |
Definition at line 482 of file room.h.
References MarkObjectsDirty(), MarkSaveDirtyForTileObject(), objects_loaded_, and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::DeleteSelectedObjects().

|
inline |
Definition at line 490 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::AddToSelection(), yaze::zelda3::DungeonObjectEditor::AlignSelectedObjects(), yaze::zelda3::DungeonObjectEditor::BatchMoveObjects(), yaze::zelda3::DungeonObjectEditor::BatchResizeObjects(), yaze::zelda3::DungeonObjectEditor::ChangeObjectLayer(), yaze::zelda3::DungeonObjectEditor::ChangeObjectType(), yaze::zelda3::DungeonObjectEditor::DeleteObject(), yaze::zelda3::DungeonObjectEditor::DrawPropertyUI(), yaze::zelda3::DungeonObjectEditor::DuplicateObject(), yaze::zelda3::DungeonObjectEditor::FindObjectAt(), yaze::zelda3::DungeonObjectEditor::HandleDragOperation(), yaze::zelda3::DungeonObjectEditor::InsertObject(), yaze::zelda3::DungeonObjectEditor::InsertTemplate(), yaze::zelda3::DungeonObjectEditor::MoveObject(), yaze::zelda3::DungeonObjectEditor::PasteObjects(), yaze::zelda3::DungeonObjectEditor::RenderSelectionHighlight(), and yaze::zelda3::DungeonObjectEditor::ResizeObject().
|
inline |
Definition at line 491 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::AlignSelectedObjects(), yaze::zelda3::DungeonObjectEditor::BatchMoveObjects(), yaze::zelda3::DungeonObjectEditor::BatchResizeObjects(), yaze::zelda3::DungeonObjectEditor::ChangeObjectType(), yaze::zelda3::DungeonObjectEditor::CopySelectedObjects(), yaze::zelda3::DungeonObjectEditor::CreateTemplateFromSelection(), yaze::zelda3::DungeonObjectEditor::DrawPropertyUI(), yaze::zelda3::DungeonObjectEditor::DuplicateObject(), yaze::zelda3::DungeonObjectEditor::FindObjectAt(), yaze::zelda3::DungeonObjectEditor::HandleDragOperation(), yaze::zelda3::DungeonObjectEditor::HandleSizeEdit(), yaze::zelda3::DungeonObjectEditor::MoveObject(), yaze::zelda3::DungeonObjectEditor::RenderSelectionHighlight(), and yaze::zelda3::DungeonObjectEditor::ResizeObject().
|
inline |
Definition at line 492 of file room.h.
References tile_objects_.
| std::map< DungeonLimit, int > yaze::zelda3::Room::GetLimitedObjectCounts | ( | ) | const |
Count limited objects in this room.
Returns a map of DungeonLimit types to their current counts. Use with GetDungeonLimitMax() to check for limit violations.
Definition at line 4323 of file room.cc.
References yaze::zelda3::BigKeyDoor, yaze::zelda3::Block, yaze::zelda3::Blocks, yaze::zelda3::BottomShutterLower, yaze::zelda3::BottomSidedShutter, yaze::zelda3::Chest, chests_in_room_, yaze::zelda3::CreateLimitCounter(), yaze::zelda3::CurtainDoor, doors_, yaze::zelda3::DoubleSidedShutter, yaze::zelda3::DoubleSidedShutterLower, yaze::zelda3::EyeWatchDoor, yaze::zelda3::GeneralManipulable, yaze::zelda3::kChests, yaze::zelda3::kDoors, yaze::zelda3::kSprites, yaze::zelda3::NormalDoorOneSidedShutter, yaze::zelda3::Nothing, yaze::zelda3::Overlords, yaze::zelda3::SmallKeyDoor, yaze::zelda3::SomariaLine, yaze::zelda3::SpecialDoors, sprites_, yaze::zelda3::Stairs, yaze::zelda3::StairsNorth, yaze::zelda3::StairsSouth, yaze::zelda3::StairsTransition, yaze::zelda3::StarTiles, tile_objects_, yaze::zelda3::TopShutterLower, yaze::zelda3::TopSidedShutter, yaze::zelda3::Torch, yaze::zelda3::Torches, yaze::zelda3::UnopenableBigKeyDoor, yaze::zelda3::UnusableBottomShutter, yaze::zelda3::UnusedDoubleSidedShutter, and z3_staircases_.
Referenced by GetExceededLimitDetails(), and HasExceededLimits().

| bool yaze::zelda3::Room::HasExceededLimits | ( | ) | const |
Check if any object limits are exceeded.
Definition at line 4421 of file room.cc.
References GetLimitedObjectCounts(), and yaze::zelda3::HasExceededLimits().

| std::vector< DungeonLimitInfo > yaze::zelda3::Room::GetExceededLimitDetails | ( | ) | const |
Get list of exceeded limits with details.
Definition at line 4426 of file room.cc.
References yaze::zelda3::GetExceededLimits(), and GetLimitedObjectCounts().

|
inline |
Definition at line 519 of file room.h.
References custom_collision_.
Referenced by yaze::editor::DungeonEditorV2::ApplyMinecartCollisionBatch(), yaze::app::service::RenderService::ApplyOverlays(), yaze::editor::CustomCollisionPanel::ApplyRoomEntry(), yaze::editor::DungeonRenderingHelpers::DrawCustomCollisionOverlay(), yaze::editor::DungeonEditorV2::RestoreRoomCustomCollisionBatch(), and yaze::zelda3::SaveAllCollisionImpl().
|
inline |
Definition at line 522 of file room.h.
References custom_collision_.
|
inline |
Definition at line 523 of file room.h.
References custom_collision_, and yaze::zelda3::CustomCollisionMap::has_data.
Referenced by yaze::cli::handlers::DungeonSetCollisionTileCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), and yaze::zelda3::SaveAllCollisionImpl().
|
inline |
Definition at line 524 of file room.h.
References custom_collision_, custom_collision_dirty_, and yaze::zelda3::CustomCollisionMap::has_data.
|
inline |
Definition at line 531 of file room.h.
References custom_collision_, and yaze::zelda3::CustomCollisionMap::tiles.
Referenced by yaze::cli::handlers::DungeonSetCollisionTileCommandHandler::Execute().
|
inline |
Definition at line 537 of file room.h.
References custom_collision_, custom_collision_dirty_, yaze::zelda3::CustomCollisionMap::has_data, and yaze::zelda3::CustomCollisionMap::tiles.
Referenced by yaze::cli::handlers::DungeonSetCollisionTileCommandHandler::Execute().
|
inline |
Definition at line 545 of file room.h.
References custom_collision_dirty_.
Referenced by yaze::editor::DungeonEditorV2::ApplyMinecartCollisionBatch(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyCustomCollisionWriteRanges(), and yaze::zelda3::SaveAllCollisionImpl().
|
inline |
Definition at line 546 of file room.h.
References custom_collision_dirty_.
Referenced by yaze::zelda3::LoadRoomFromRom(), and yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 547 of file room.h.
References custom_collision_dirty_.
Referenced by yaze::editor::CustomCollisionPanel::ApplyRoomEntry().
|
inline |
Definition at line 550 of file room.h.
References water_fill_zone_.
Referenced by yaze::editor::DungeonRenderingHelpers::DrawWaterFillOverlay(), yaze::editor::anonymous_namespace{dungeon_editor_v2_undo.cc}::MakeWaterFillSnapshot(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 551 of file room.h.
References water_fill_zone_.
|
inline |
Definition at line 552 of file room.h.
References yaze::zelda3::WaterFillZoneMap::has_data, and water_fill_zone_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 554 of file room.h.
References yaze::zelda3::WaterFillZoneMap::tiles, and water_fill_zone_.
|
inline |
Definition at line 560 of file room.h.
References yaze::zelda3::WaterFillZoneMap::has_data, yaze::zelda3::WaterFillZoneMap::tiles, water_fill_dirty_, water_fill_tile_count_, and water_fill_zone_.
Referenced by yaze::editor::WaterFillPanel::ApplyZoneToRoom(), and yaze::editor::DungeonEditorV2::ReloadWaterFillZones().
|
inline |
Definition at line 583 of file room.h.
References yaze::zelda3::WaterFillZoneMap::has_data, yaze::zelda3::WaterFillZoneMap::sram_bit_mask, yaze::zelda3::WaterFillZoneMap::tiles, water_fill_dirty_, water_fill_tile_count_, and water_fill_zone_.
Referenced by yaze::editor::WaterFillPanel::ApplyZoneToRoom(), and yaze::editor::DungeonEditorV2::ReloadWaterFillZones().
|
inline |
Definition at line 591 of file room.h.
References water_fill_tile_count_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 593 of file room.h.
References yaze::zelda3::WaterFillZoneMap::sram_bit_mask, and water_fill_zone_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_undo.cc}::MakeWaterFillSnapshot(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 596 of file room.h.
References yaze::zelda3::WaterFillZoneMap::sram_bit_mask, water_fill_dirty_, and water_fill_zone_.
Referenced by yaze::editor::WaterFillPanel::ApplyZoneToRoom(), yaze::editor::DungeonEditorV2::ReloadWaterFillZones(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 603 of file room.h.
References water_fill_dirty_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyWaterFillWriteRanges(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 604 of file room.h.
References water_fill_dirty_.
Referenced by yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::LoadRoomHeaderFromRom(), yaze::editor::DungeonEditorV2::ReloadWaterFillZones(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveWaterFillZones().
|
inline |
Definition at line 605 of file room.h.
References water_fill_dirty_.
|
inline |
Definition at line 607 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::header, and save_dirty_state_.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges().
|
inline |
Definition at line 608 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::header, and save_dirty_state_.
Referenced by SetBackgroundTileset(), SetBg2(), SetBlockset(), SetCollision(), SetEffect(), SetHolewarp(), SetIsDark(), SetIsLight(), SetLayer2Behavior(), SetLayer2Mode(), SetLayerMerging(), SetMessageId(), SetMessageIdDirect(), SetPalette(), SetPitsTarget(), SetPitsTargetLayer(), SetSpriteset(), SetSpriteTileset(), SetStair1Target(), SetStair1TargetLayer(), SetStair2Target(), SetStair2TargetLayer(), SetStair3Target(), SetStair3TargetLayer(), SetStair4Target(), SetStair4TargetLayer(), SetStaircasePlane(), SetStaircaseRoom(), SetTag1(), SetTag1Direct(), SetTag2(), and SetTag2Direct().
|
inline |
Definition at line 609 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::header, and save_dirty_state_.
Referenced by SaveRoomHeader().
|
inline |
Definition at line 611 of file room.h.
References yaze::zelda3::Room::SaveDirtyState::blocks, yaze::zelda3::Room::SaveDirtyState::chests, custom_collision_dirty_, yaze::zelda3::Room::SaveDirtyState::header, yaze::zelda3::Room::SaveDirtyState::object_stream, yaze::zelda3::Room::SaveDirtyState::object_stream_header, yaze::zelda3::Room::SaveDirtyState::pot_items, save_dirty_state_, yaze::zelda3::Room::SaveDirtyState::sprites, yaze::zelda3::Room::SaveDirtyState::torches, and water_fill_dirty_.
Referenced by yaze::editor::anonymous_namespace{dungeon_workbench_toolbar.cc}::DrawRecentRoomsContents(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::editor::DungeonEditorV2::PendingRoomCount().
|
inline |
Definition at line 620 of file room.h.
References save_dirty_state_.
Referenced by yaze::zelda3::LoadRoomFromRom(), and yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 622 of file room.h.
References yaze::zelda3::Block, yaze::zelda3::Room::SaveDirtyState::blocks, yaze::zelda3::Room::SaveDirtyState::chests, custom_collision_dirty_, yaze::zelda3::Room::SaveDirtySnapshot::header, yaze::zelda3::Room::SaveDirtyState::header, yaze::zelda3::Nothing, yaze::zelda3::Room::SaveDirtyState::object_stream, yaze::zelda3::Room::SaveDirtyState::object_stream_header, yaze::zelda3::Room::SaveDirtyState::pot_items, save_dirty_state_, yaze::zelda3::Room::SaveDirtyState::sprites, yaze::zelda3::WaterFillZoneMap::sram_bit_mask, tile_objects_, yaze::zelda3::Room::SaveDirtyState::torches, water_fill_dirty_, and water_fill_zone_.
Referenced by yaze::editor::DungeonEditorV2::BeginSaveTransaction().
|
inline |
Definition at line 647 of file room.h.
References yaze::zelda3::Block, yaze::zelda3::Room::SaveDirtySnapshot::block_load_orders, yaze::zelda3::Room::SaveDirtySnapshot::blocks, yaze::zelda3::Room::SaveDirtyState::blocks, yaze::zelda3::Room::SaveDirtySnapshot::chests, yaze::zelda3::Room::SaveDirtyState::chests, yaze::zelda3::Room::SaveDirtySnapshot::custom_collision, custom_collision_dirty_, yaze::zelda3::Room::SaveDirtySnapshot::header, yaze::zelda3::Room::SaveDirtyState::header, yaze::zelda3::Nothing, yaze::zelda3::Room::SaveDirtySnapshot::object_stream, yaze::zelda3::Room::SaveDirtyState::object_stream, yaze::zelda3::Room::SaveDirtySnapshot::object_stream_header, yaze::zelda3::Room::SaveDirtyState::object_stream_header, yaze::zelda3::Room::SaveDirtySnapshot::pot_items, yaze::zelda3::Room::SaveDirtyState::pot_items, save_dirty_state_, yaze::zelda3::Room::SaveDirtySnapshot::sprites, yaze::zelda3::Room::SaveDirtyState::sprites, yaze::zelda3::WaterFillZoneMap::sram_bit_mask, tile_objects_, yaze::zelda3::Room::SaveDirtySnapshot::torches, yaze::zelda3::Room::SaveDirtyState::torches, yaze::zelda3::Room::SaveDirtySnapshot::water_fill, water_fill_dirty_, yaze::zelda3::Room::SaveDirtySnapshot::water_fill_sram_bit_mask, and water_fill_zone_.
|
inline |
Definition at line 670 of file room.h.
References MarkObjectsDirty(), MarkTileObjectDomainsDirtyForSnapshot(), objects_loaded_, and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ApplyUndoPoint().

|
inline |
Definition at line 679 of file room.h.
References bg2(), bg2_, is_dark_, is_light_, layer2_mode_, layer_merging_, MarkGraphicsDirty(), and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 703 of file room.h.
References collision(), collision_, and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 709 of file room.h.
References is_light_, and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 715 of file room.h.
References MarkGraphicsDirty(), MarkHeaderDirty(), and palette_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 722 of file room.h.
References blockset_, MarkGraphicsDirty(), MarkHeaderDirty(), and resolved_main_blockset_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 730 of file room.h.
References MarkGraphicsDirty(), MarkHeaderDirty(), and spriteset_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 737 of file room.h.
References MarkGraphicsDirty(), render_entrance_blockset_, and resolved_main_blockset_.
Referenced by PrepareForRender(), and ReloadGraphics().

|
inline |
Definition at line 744 of file room.h.
References effect(), effect_, MarkHeaderDirty(), and MarkObjectsDirty().
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 751 of file room.h.
References MarkHeaderDirty(), MarkObjectsDirty(), tag1(), and tag1_.
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 758 of file room.h.
References MarkHeaderDirty(), MarkObjectsDirty(), tag2(), and tag2_.
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 765 of file room.h.
References MarkHeaderDirty(), and staircase_plane_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 771 of file room.h.
References holewarp_, and MarkHeaderDirty().
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 777 of file room.h.
References MarkHeaderDirty(), and staircase_rooms_.
Referenced by yaze::editor::DungeonCanvasViewer::ApplyConnectedStaircaseIssueAutoFixes(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 785 of file room.h.
References MarkHeaderDirty(), and message_id_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
|
inline |
Definition at line 796 of file room.h.
References MarkHeaderDirty(), and message_id_.

|
inline |
Definition at line 802 of file room.h.
References bg2_, layer2_mode_, layer_merging_, MarkGraphicsDirty(), and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 814 of file room.h.
References layer_merging_, MarkGraphicsDirty(), and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 821 of file room.h.
References is_dark_, and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 827 of file room.h.
References background_tileset_, and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 833 of file room.h.
References MarkHeaderDirty(), and sprite_tileset_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 839 of file room.h.
References layer2_behavior_, and MarkHeaderDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 845 of file room.h.
References MarkHeaderDirty(), tag1(), and tag1_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 851 of file room.h.
References MarkHeaderDirty(), tag2(), and tag2_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 857 of file room.h.
References MarkHeaderDirty(), pits_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 863 of file room.h.
References MarkHeaderDirty(), stair1_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 869 of file room.h.
References MarkHeaderDirty(), stair2_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 875 of file room.h.
References MarkHeaderDirty(), stair3_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 881 of file room.h.
References MarkHeaderDirty(), stair4_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 887 of file room.h.
References MarkHeaderDirty(), pits_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 893 of file room.h.
References MarkHeaderDirty(), stair1_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 899 of file room.h.
References MarkHeaderDirty(), stair2_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 905 of file room.h.
References MarkHeaderDirty(), stair3_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 911 of file room.h.
References MarkHeaderDirty(), stair4_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 919 of file room.h.
References is_loaded_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::EnsureRoomLoadedForConnectedView(), yaze::editor::DungeonRoomStore::ForEachLoaded(), yaze::editor::DungeonRoomStore::ForEachLoaded(), yaze::editor::DungeonRoomPanel::OnResourceModified(), yaze::editor::DungeonEditorV2::RefreshRomBackedState(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), and yaze::zelda3::DungeonEditorSystem::SaveRoomData().
|
inline |
Definition at line 920 of file room.h.
References is_loaded_.
Referenced by yaze::zelda3::LoadRoomFromRom().
|
inline |
Definition at line 921 of file room.h.
References objects_loaded_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas().
|
inline |
Definition at line 922 of file room.h.
References sprites_loaded_.
Referenced by yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas().
|
inline |
Definition at line 923 of file room.h.
References chests_loaded_.
|
inline |
Definition at line 924 of file room.h.
References pot_items_loaded_.
Referenced by yaze::editor::DungeonCanvasViewer::PrepareRoomStateForCanvas(), and yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveRuntimePotItemStream().
|
inline |
Definition at line 925 of file room.h.
References torches_loaded_.
Referenced by yaze::zelda3::SaveAllTorchesImpl().
|
inline |
Definition at line 931 of file room.h.
References blocks_loaded_.
Referenced by yaze::zelda3::SaveAllBlocks().
|
inline |
Definition at line 934 of file room.h.
References bg2_.
Referenced by SaveRoomHeader(), and SetBg2().
|
inline |
Definition at line 935 of file room.h.
References effect_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::PrepareCanonicalRoomComposite(), yaze::app::service::RenderService::RenderDungeonRoom(), SaveRoomHeader(), and SetEffect().
|
inline |
Definition at line 936 of file room.h.
References tag1_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), SetTag1(), and SetTag1Direct().
|
inline |
Definition at line 937 of file room.h.
References tag2_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), SetTag2(), and SetTag2Direct().
|
inline |
Definition at line 938 of file room.h.
References collision_.
Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), and SetCollision().
|
inline |
Definition at line 939 of file room.h.
References layer_merging_.
Referenced by yaze::editor::PrepareCanonicalRoomComposite(), and yaze::app::service::RenderService::RenderDungeonRoom().
|
inline |
Definition at line 940 of file room.h.
References layer2_mode_.
Referenced by yaze::zelda3::RoomLayerManager::CompositeToOutput().
|
inline |
|
inline |
Definition at line 944 of file room.h.
References staircase_rooms_.
Referenced by yaze::editor::DungeonCanvasViewer::ApplyConnectedStaircaseIssueAutoFixes(), yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::cli::handlers::DungeonGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonDiscoverCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), and SaveRoomHeader().
|
inline |
Definition at line 948 of file room.h.
References room_id_.
Referenced by yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::editor::DungeonEditorV2::CollectWriteRanges(), yaze::zelda3::RoomLayerManager::CompositeToOutput(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::zelda3::GenerateTrackCollision(), yaze::zelda3::DungeonEditorSystem::GetManagedRoom(), yaze::zelda3::DungeonEditorSystem::LoadRoomData(), yaze::editor::RoomGraphicsContent::RefreshSheetPreviews(), ResolveDungeonPaletteId(), yaze::zelda3::SaveAllCollisionImpl(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), yaze::zelda3::anonymous_namespace{dungeon_editor_system.cc}::SaveSingleRoomState(), and SetLayoutId().
|
inline |
Definition at line 951 of file room.h.
References blockset_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::RoomMatrixContent::GetRoomMetadata(), yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState(), and yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext().
|
inline |
Definition at line 952 of file room.h.
References render_entrance_blockset_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), and yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext().
|
inline |
Definition at line 953 of file room.h.
References spriteset_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), and yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState().
|
inline |
Definition at line 954 of file room.h.
References palette_.
Referenced by yaze::zelda3::BuildDungeonSpriteRenderPalette(), yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::RoomMatrixContent::GetRoomMetadata(), yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState(), yaze::emu::render::EmulatorRenderService::RenderDungeonObject(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), RenderRoomGraphics(), yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
| int yaze::zelda3::Room::ResolveDungeonPaletteId | ( | ) | const |
Definition at line 854 of file room.cc.
References yaze::gfx::PaletteGroupMap::dungeon_main, game_data_, id(), yaze::zelda3::kDungeonPaletteBytes, yaze::zelda3::kDungeonPalettePointerTable, palette_, yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, yaze::Rom::ReadWord(), and rom_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonCanvasViewer::BuildSelectionIssueReport(), yaze::editor::DungeonEditorV2::HandleDungeonPaletteChanged(), yaze::editor::DungeonEditorV2::InvalidateDungeonPaletteUsers(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().

|
inline |
Definition at line 961 of file room.h.
References layout_id_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::editor::DungeonRenderingHelpers::DrawCameraQuadrantOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), and yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState().
|
inline |
Definition at line 962 of file room.h.
References holewarp_.
Referenced by yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::cli::handlers::DungeonGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonDiscoverCommandHandler::Execute(), and yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute().
|
inline |
Definition at line 963 of file room.h.
References message_id_.
Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata().
|
inline |
Definition at line 966 of file room.h.
References id(), kObjectHeaderLayoutDirty, layout_id_, MarkLayoutDirty(), yaze::zelda3::Room::SaveDirtyState::object_stream_header, and save_dirty_state_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute().

|
inline |
Definition at line 975 of file room.h.
References floor1_graphics_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::editor::DungeonObjectSelector::MakeLayoutCacheKey(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 976 of file room.h.
References floor2_graphics_.
Referenced by yaze::editor::DungeonCanvasViewer::BuildDrawIssueReport(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::editor::DungeonCanvasViewer::BuildRoomMetadataSummary(), yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::editor::DungeonRoomPanel::Draw(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::editor::DungeonObjectSelector::MakeLayoutCacheKey(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 977 of file room.h.
References floor1_graphics_, kObjectHeaderFloor1Dirty, MarkGraphicsDirty(), yaze::zelda3::Room::SaveDirtyState::object_stream_header, and save_dirty_state_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute().

|
inline |
Definition at line 984 of file room.h.
References floor2_graphics_, kObjectHeaderFloor2Dirty, MarkGraphicsDirty(), yaze::zelda3::Room::SaveDirtyState::object_stream_header, and save_dirty_state_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute().

| void yaze::zelda3::Room::ParseObjectsFromLocation | ( | int | objects_location | ) |
Definition at line 1821 of file room.cc.
References yaze::zelda3::RoomObject::DecodeObjectFromBytes(), doors_, yaze::zelda3::Room::Door::FromRomBytes(), HandleSpecialObjects(), yaze::zelda3::RoomObject::id_, LOG_DEBUG, rom(), rom_, room_id_, yaze::zelda3::RoomObject::SetRom(), yaze::Rom::size(), tile_objects_, yaze::zelda3::RoomObject::x(), yaze::zelda3::RoomObject::x_, yaze::zelda3::RoomObject::y(), yaze::zelda3::RoomObject::y_, and z3_staircases_.
Referenced by LoadObjects().
| void yaze::zelda3::Room::HandleSpecialObjects | ( | short | oid, |
| uint8_t | posX, | ||
| uint8_t | posY, | ||
| int & | nbr_of_staircase ) |
Definition at line 2592 of file room.cc.
References yaze::zelda3::Chest, chests_in_room_, yaze::zelda3::kStairsObjects, staircase_rooms_, yaze::zelda3::Stairs, tile_objects_, and z3_staircases_.
Referenced by ParseObjectsFromLocation().
| absl::Status yaze::zelda3::Room::SaveObjects | ( | const DungeonStreamLayout * | layout = nullptr | ) |
Definition at line 2152 of file room.cc.
References ASSIGN_OR_RETURN, ClearObjectStreamDirty(), doors_, EncodeObjects(), yaze::zelda3::kDoorPointers, yaze::zelda3::kObject, object_stream_dirty(), yaze::PcToSnes(), yaze::Rom::ReadLong(), RETURN_IF_ERROR, rom(), rom_, room_id_, tile_objects_, yaze::zelda3::UsesRoomObjectStream(), yaze::zelda3::ValidateRoomObjectStreamEntryForSave(), yaze::Rom::WriteLong(), and yaze::Rom::WriteVector().
Referenced by yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveObjectCommandHandler::Execute(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::PreflightObjectRemoval(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::PreflightObjectSave(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), yaze::zelda3::DungeonObjectEditor::SaveRoom(), and yaze::zelda3::anonymous_namespace{dungeon_editor_system.cc}::SaveSingleRoomState().
| absl::Status yaze::zelda3::Room::SaveObjectStreamHeader | ( | const DungeonStreamLayout * | layout = nullptr | ) |
Definition at line 2254 of file room.cc.
References ASSIGN_OR_RETURN, ClearObjectStreamHeaderDirty(), floor1_graphics_, floor2_graphics_, yaze::zelda3::InventoryDungeonStreams(), yaze::zelda3::DungeonStreamInventory::issues, yaze::zelda3::DungeonStreamLayout::kind, yaze::zelda3::kObject, kObjectHeaderFloor1Dirty, kObjectHeaderFloor2Dirty, kObjectHeaderLayoutDirty, layout_id_, yaze::zelda3::Room::SaveDirtyState::object_stream_header, object_stream_header_dirty(), yaze::zelda3::DungeonStreamInventory::ok(), RETURN_IF_ERROR, rom_, room_id_, save_dirty_state_, yaze::zelda3::DungeonStreamInventory::streams, yaze::Rom::vector(), and yaze::Rom::WriteVector().
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), and yaze::zelda3::anonymous_namespace{dungeon_editor_system.cc}::SaveSingleRoomState().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeObjects | ( | ) | const |
Definition at line 1927 of file room.cc.
References yaze::zelda3::Block, doors_, yaze::zelda3::Nothing, tile_objects_, and yaze::zelda3::Torch.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), SaveObjects(), and yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ValidateObjectSaveManifestConflicts().
| absl::Status yaze::zelda3::Room::SaveSprites | ( | const DungeonStreamLayout * | layout = nullptr | ) |
Definition at line 2352 of file room.cc.
References ASSIGN_OR_RETURN, ClearSpritesDirty(), EncodeSprites(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kSprite, RETURN_IF_ERROR, rom(), rom_, room_id_, yaze::Rom::size(), sprites_dirty(), and yaze::Rom::WriteVector().
Referenced by yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), and yaze::zelda3::anonymous_namespace{dungeon_editor_system.cc}::SaveSingleRoomState().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeSprites | ( | ) | const |
Definition at line 2015 of file room.cc.
References sprites_.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), and SaveSprites().
| absl::Status yaze::zelda3::Room::SaveRoomHeader | ( | ) |
Definition at line 2425 of file room.cc.
References bg2(), blockset_, ClearHeaderDirty(), collision(), effect(), holewarp_, is_dark_, IsLight(), yaze::zelda3::kMessagesIdDungeon, yaze::zelda3::kRoomHeaderPointer, yaze::zelda3::kRoomHeaderPointerBank, layer2_mode_, message_id_, palette_, pits_, RETURN_IF_ERROR, rom(), rom_, room_id_, yaze::SnesToPc(), spriteset_, staircase_plane(), staircase_room(), tag1(), tag2(), destination::target_layer, yaze::Rom::WriteByte(), and yaze::Rom::WriteWord().
Referenced by yaze::cli::handlers::DungeonSetRoomPropertyCommandHandler::Execute(), yaze::zelda3::DungeonEditorSystem::SaveDungeon(), and yaze::zelda3::anonymous_namespace{dungeon_editor_system.cc}::SaveSingleRoomState().
|
inline |
Definition at line 1005 of file room.h.
References blocks_.
Referenced by yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildEffectiveBlockListSummary(), yaze::editor::DungeonRoomPanel::Draw(), and yaze::editor::RoomGraphicsContent::RefreshSheetPreviews().
|
inline |
|
inline |
Definition at line 1007 of file room.h.
References rom_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), LoadBlocks(), LoadChests(), LoadDoors(), LoadObjects(), LoadPits(), LoadPotItems(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), yaze::editor::DungeonCanvasViewer::RefreshActiveRoomCanvasState(), RenderRoomGraphics(), SaveObjects(), SaveRoomHeader(), SaveSprites(), and SetRom().
|
inline |
|
inline |
Definition at line 1010 of file room.h.
Referenced by yaze::editor::DungeonCanvasViewer::EnsureRoomLoadedForConnectedView(), yaze::test::DungeonEditorTestSuite::RunRoomSaveTest(), and yaze::editor::DungeonRoomStore::SetRom().

|
inline |
Definition at line 1011 of file room.h.
References game_data_.
|
inline |
Definition at line 1012 of file room.h.
References game_data_.
Referenced by yaze::editor::DungeonCanvasViewer::EnsureRoomLoadedForConnectedView(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::editor::DungeonRoomLoader::LoadRoom(), yaze::editor::DungeonEditorV2::RefreshRomBackedState(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::app::service::RenderService::RenderDungeonRoom(), yaze::test::DungeonEditorTestSuite::RunRoomSaveTest(), yaze::editor::DungeonRoomStore::SetGameData(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 1015 of file room.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by LoadAnimatedGraphics().
|
inline |
Definition at line 1019 of file room.h.
References current_gfx16_.
Referenced by yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::editor::DungeonObjectSelector::GetOrCreatePreview(), yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::editor::RoomGraphicsContent::RefreshSheetPreviews(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::editor::DungeonCanvasViewer::RenderSprites(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 1024 of file room.h.
References graphics_revision_.
Referenced by yaze::editor::ObjectTileEditorPanel::Draw(), yaze::editor::TileObjectHandler::DrawGhostPreview(), yaze::editor::RoomGraphicsContent::RefreshSheetPreviews(), yaze::editor::DungeonCanvasViewer::RenderSprites(), and yaze::editor::DungeonObjectSelector::SynchronizePreviewCacheRoomContext().
|
inline |
Definition at line 1028 of file room.h.
References composite_source_revision_.
Referenced by yaze::editor::RoomCompositeOutput::Prepare().
|
inline |
Definition at line 1031 of file room.h.
References rendered_dungeon_palette_.
Referenced by yaze::editor::DungeonCanvasViewer::PrepareRoomCompositeBitmap().
|
inline |
Definition at line 1034 of file room.h.
References rendered_palette_.
Referenced by yaze::editor::DungeonCanvasViewer::PrepareRoomCompositeBitmap().
|
inline |
Definition at line 1039 of file room.h.
References bg1_buffer_.
Referenced by yaze::editor::anonymous_namespace{tile_object_handler.cc}::ApplyRoomPaletteToGhost(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::zelda3::RoomLayerManager::CompositeToOutput(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawTextureDebugWindow(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::editor::RoomGraphicsContent::RefreshSheetPreviews().
|
inline |
Definition at line 1040 of file room.h.
References bg2_buffer_.
Referenced by yaze::editor::anonymous_namespace{tile_object_handler.cc}::ApplyRoomPaletteToGhost(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow(), yaze::editor::DungeonCanvasViewer::DrawTextureDebugWindow(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 1041 of file room.h.
References bg1_buffer_.
|
inline |
Definition at line 1042 of file room.h.
References bg2_buffer_.
|
inline |
Definition at line 1043 of file room.h.
References object_bg1_buffer_.
Referenced by yaze::editor::anonymous_namespace{tile_object_handler.cc}::ApplyRoomPaletteToGhost(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 1044 of file room.h.
References object_bg1_buffer_.
|
inline |
Definition at line 1045 of file room.h.
References object_bg2_buffer_.
Referenced by yaze::editor::anonymous_namespace{tile_object_handler.cc}::ApplyRoomPaletteToGhost(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 1046 of file room.h.
References object_bg2_buffer_.
| gfx::Bitmap & yaze::zelda3::Room::GetCompositeBitmap | ( | RoomLayerManager & | layer_mgr | ) |
Get a composite bitmap of all layers merged.
Definition at line 1098 of file room.cc.
References yaze::zelda3::Room::DirtyState::composite, composite_bitmap_, composite_rendered_source_revision_, composite_signature_, composite_source_revision_, yaze::zelda3::RoomLayerManager::CompositeStateSignature(), dirty_state_, has_composite_signature_, and RenderComposite().
Referenced by yaze::app::service::RenderService::RenderDungeonRoom().

| void yaze::zelda3::Room::RenderComposite | ( | const RoomLayerManager & | layer_mgr, |
| gfx::Bitmap & | output ) |
Compose into storage owned by the caller. Live editor views use this path so deferred draws retain stable bitmap and texture identity.
Definition at line 1116 of file room.cc.
References yaze::zelda3::Room::DirtyState::composite, yaze::zelda3::RoomLayerManager::CompositeToOutput(), and dirty_state_.
Referenced by GetCompositeBitmap(), and yaze::editor::RoomCompositeOutput::Prepare().

|
inline |
Definition at line 1053 of file room.h.
References composite_bitmap_.
| void yaze::zelda3::Room::MarkCompositeDirty | ( | ) |
Mark composite bitmap as needing regeneration.
Definition at line 1111 of file room.cc.
References yaze::zelda3::Room::DirtyState::composite, composite_source_revision_, and dirty_state_.
Referenced by MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), and RenderRoomGraphics().
|
inline |
Definition at line 1057 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, and dirty_state_.
|
inline |
Definition at line 1059 of file room.h.
References dungeon_state_.
Referenced by yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildObjectTraceReport(), and yaze::editor::DungeonCanvasViewer::DrawRoomDebugWindow().
|
inline |
Definition at line 1060 of file room.h.
References dungeon_state_.
|
private |
Definition at line 1063 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadBlocks(), LoadChests(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPotItems(), LoadTorches(), mutable_rom(), ParseObjectsFromLocation(), RenderObjectsToBackground(), ResolveDungeonPaletteId(), rom(), rom(), SaveObjects(), SaveObjectStreamHeader(), SaveRoomHeader(), SaveSprites(), and SetRom().
|
private |
Definition at line 1064 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), game_data(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), LoadRoomGraphics(), RenderObjectsToBackground(), RenderRoomGraphics(), ResolveDungeonPaletteId(), SetGameData(), and version_constants().
|
private |
Definition at line 1066 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), get_gfx_buffer(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 1067 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), graphics_revision(), and LoadAnimatedGraphics().
|
private |
Definition at line 1068 of file room.h.
Referenced by composite_source_revision(), GetCompositeBitmap(), and MarkCompositeDirty().
|
private |
Definition at line 1069 of file room.h.
Referenced by rendered_dungeon_palette(), and RenderRoomGraphics().
|
private |
Definition at line 1070 of file room.h.
Referenced by rendered_palette(), and RenderRoomGraphics().
|
private |
Definition at line 1074 of file room.h.
Referenced by bg1_buffer(), bg1_buffer(), LoadLayoutTilesToBuffer(), PrepareForRender(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 1075 of file room.h.
Referenced by bg2_buffer(), bg2_buffer(), LoadLayoutTilesToBuffer(), PrepareForRender(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 1076 of file room.h.
Referenced by object_bg1_buffer(), object_bg1_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 1077 of file room.h.
Referenced by object_bg2_buffer(), object_bg2_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
staticconstexprprivate |
Definition at line 1098 of file room.h.
Referenced by SaveObjectStreamHeader(), and set_floor1().
|
staticconstexprprivate |
Definition at line 1099 of file room.h.
Referenced by SaveObjectStreamHeader(), and set_floor2().
|
staticconstexprprivate |
Definition at line 1100 of file room.h.
Referenced by SaveObjectStreamHeader(), and SetLayoutId().
|
mutableprivate |
Definition at line 1103 of file room.h.
Referenced by composite_bitmap(), and GetCompositeBitmap().
|
mutableprivate |
Definition at line 1104 of file room.h.
Referenced by GetCompositeBitmap().
|
mutableprivate |
Definition at line 1105 of file room.h.
Referenced by GetCompositeBitmap().
|
mutableprivate |
Definition at line 1106 of file room.h.
Referenced by GetCompositeBitmap().
|
private |
Definition at line 1107 of file room.h.
Referenced by GetCompositeBitmap(), IsCompositeDirty(), MarkCompositeDirty(), MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), PrepareForRender(), RenderComposite(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 1108 of file room.h.
Referenced by blocks_dirty(), CaptureSaveDirtySnapshot(), chests_dirty(), ClearBlocksDirty(), ClearChestsDirty(), ClearHeaderDirty(), ClearObjectStreamDirty(), ClearObjectStreamHeaderDirty(), ClearPotItemsDirty(), ClearSaveDirtyState(), ClearSpritesDirty(), ClearTorchesDirty(), HasUnsavedChanges(), header_dirty(), MarkBlocksDirty(), MarkChestsDirty(), MarkHeaderDirty(), MarkObjectStreamDirty(), MarkPotItemsDirty(), MarkSaveDirtyForTileObject(), MarkSpritesDirty(), MarkTorchesDirty(), object_stream_dirty(), object_stream_header_dirty(), pot_items_dirty(), RestoreSaveDirtySnapshot(), SaveObjectStreamHeader(), set_floor1(), set_floor2(), SetLayoutId(), sprites_dirty(), and torches_dirty().
|
private |
Definition at line 1110 of file room.h.
Referenced by IsLight(), SetBg2(), and SetIsLight().
|
private |
Definition at line 1111 of file room.h.
Referenced by IsLoaded(), and SetLoaded().
|
private |
Definition at line 1112 of file room.h.
Referenced by AddDoor(), AddObject(), AddTileObject(), AreObjectsLoaded(), ClearTileObjects(), EnsureObjectsLoaded(), LoadObjects(), RemoveDoor(), RemoveObject(), RemoveTileObject(), SetTileObjects(), and UpdateObject().
|
private |
Definition at line 1113 of file room.h.
Referenced by AreSpritesLoaded(), EnsureSpritesLoaded(), and LoadSprites().
|
private |
Definition at line 1114 of file room.h.
Referenced by AreChestsLoaded(), and LoadChests().
|
private |
Definition at line 1115 of file room.h.
Referenced by ArePotItemsLoaded(), EnsurePotItemsLoaded(), and LoadPotItems().
|
private |
Definition at line 1116 of file room.h.
Referenced by AreTorchesLoaded(), and LoadTorches().
|
private |
Definition at line 1117 of file room.h.
Referenced by AreBlocksLoaded(), and LoadBlocks().
|
private |
Definition at line 1118 of file room.h.
Referenced by SaveRoomHeader(), SetBg2(), and SetIsDark().
|
private |
Definition at line 1119 of file room.h.
Referenced by LoadObjects().
|
private |
Definition at line 1123 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1124 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1125 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1126 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1127 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1128 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1129 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1130 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1131 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 1133 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), id(), LoadBlocks(), LoadChests(), LoadDoors(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPits(), LoadPotItems(), LoadRoomGraphics(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjects(), SaveObjectStreamHeader(), SaveRoomHeader(), and SaveSprites().
|
private |
Definition at line 1134 of file room.h.
Referenced by LoadAnimatedGraphics().
|
private |
Definition at line 1136 of file room.h.
Referenced by SetStaircasePlane(), and staircase_plane().
|
private |
Definition at line 1137 of file room.h.
Referenced by HandleSpecialObjects(), SetStaircaseRoom(), and staircase_room().
|
private |
Definition at line 1140 of file room.h.
Referenced by blockset(), CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadRoomGraphics(), RenderRoomGraphics(), SaveRoomHeader(), and SetBlockset().
|
private |
Definition at line 1141 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadRoomGraphics(), render_entrance_blockset(), and SetRenderEntranceBlockset().
|
private |
Definition at line 1142 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadRoomGraphics(), SetBlockset(), and SetRenderEntranceBlockset().
|
private |
Definition at line 1143 of file room.h.
Referenced by LoadRoomGraphics(), RenderRoomGraphics(), SaveRoomHeader(), SetSpriteset(), and spriteset().
|
private |
Definition at line 1144 of file room.h.
Referenced by LoadRoomGraphics(), palette(), RenderRoomGraphics(), ResolveDungeonPaletteId(), SaveRoomHeader(), and SetPalette().
|
private |
Definition at line 1145 of file room.h.
Referenced by layout_id(), LoadLayoutTilesToBuffer(), LoadObjects(), RenderRoomGraphics(), SaveObjectStreamHeader(), and SetLayoutId().
|
private |
Definition at line 1146 of file room.h.
Referenced by holewarp(), SaveRoomHeader(), and SetHolewarp().
|
private |
Definition at line 1147 of file room.h.
Referenced by message_id(), SaveRoomHeader(), SetMessageId(), and SetMessageIdDirect().
|
private |
Definition at line 1149 of file room.h.
Referenced by SetBackgroundTileset().
|
private |
Definition at line 1150 of file room.h.
Referenced by SetSpriteTileset().
|
private |
Definition at line 1151 of file room.h.
Referenced by SetLayer2Behavior().
|
private |
Definition at line 1152 of file room.h.
Referenced by floor1(), LoadLayoutTilesToBuffer(), LoadObjects(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjectStreamHeader(), and set_floor1().
|
private |
Definition at line 1153 of file room.h.
Referenced by floor2(), LoadLayoutTilesToBuffer(), LoadObjects(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjectStreamHeader(), and set_floor2().
|
private |
Definition at line 1154 of file room.h.
Referenced by layer2_mode(), SaveRoomHeader(), SetBg2(), and SetLayer2Mode().
|
private |
Definition at line 1156 of file room.h.
Referenced by blocks(), CopyRoomGraphicsToBuffer(), LoadRoomGraphics(), mutable_blocks(), and RenderRoomGraphics().
|
private |
|
private |
Definition at line 1159 of file room.h.
Referenced by AddObject(), AddTileObject(), CaptureSaveDirtySnapshot(), ClearTileObjects(), EncodeObjects(), FindObjectAt(), GetLimitedObjectCounts(), GetTileObject(), GetTileObject(), GetTileObjectCount(), GetTileObjects(), GetTileObjects(), HandleSpecialObjects(), LoadBlocks(), LoadTorches(), MarkTileObjectCollectionDirty(), ParseObjectsFromLocation(), RemoveObject(), RemoveTileObject(), RenderObjectsToBackground(), RestoreSaveDirtySnapshot(), SaveObjects(), SetTileObjects(), and UpdateObject().
|
private |
Definition at line 1161 of file room.h.
Referenced by EncodeSprites(), GetLimitedObjectCounts(), GetSprites(), GetSprites(), LoadSprites(), and RenderObjectsToBackground().
|
private |
Definition at line 1162 of file room.h.
Referenced by GetLimitedObjectCounts(), GetStairs(), GetStairs(), HandleSpecialObjects(), and ParseObjectsFromLocation().
|
private |
Definition at line 1163 of file room.h.
Referenced by GetChests(), GetChests(), GetLimitedObjectCounts(), HandleSpecialObjects(), and LoadChests().
|
private |
Definition at line 1164 of file room.h.
Referenced by AddDoor(), EncodeObjects(), GetDoors(), GetDoors(), GetLimitedObjectCounts(), ParseObjectsFromLocation(), RemoveDoor(), RenderObjectsToBackground(), and SaveObjects().
|
private |
Definition at line 1165 of file room.h.
Referenced by GetPotItems(), GetPotItems(), LoadPotItems(), and RenderObjectsToBackground().
|
private |
Definition at line 1166 of file room.h.
Referenced by GetLayout(), and LoadLayoutTilesToBuffer().
|
private |
Definition at line 1168 of file room.h.
Referenced by layer_merging(), RenderRoomGraphics(), SetBg2(), SetLayer2Mode(), and SetLayerMerging().
|
private |
Definition at line 1169 of file room.h.
Referenced by collision(), and SetCollision().
|
private |
Definition at line 1170 of file room.h.
Referenced by effect(), RenderRoomGraphics(), and SetEffect().
Definition at line 1171 of file room.h.
Referenced by RenderRoomGraphics(), SetTag1(), SetTag1Direct(), and tag1().
Definition at line 1172 of file room.h.
Referenced by RenderRoomGraphics(), SetTag2(), SetTag2Direct(), and tag2().
|
private |
Definition at line 1174 of file room.h.
Referenced by bg2(), SetBg2(), and SetLayer2Mode().
|
private |
Definition at line 1175 of file room.h.
Referenced by LoadPits(), SaveRoomHeader(), SetPitsTarget(), and SetPitsTargetLayer().
|
private |
Definition at line 1176 of file room.h.
Referenced by SetStair1Target(), and SetStair1TargetLayer().
|
private |
Definition at line 1177 of file room.h.
Referenced by SetStair2Target(), and SetStair2TargetLayer().
|
private |
Definition at line 1178 of file room.h.
Referenced by SetStair3Target(), and SetStair3TargetLayer().
|
private |
Definition at line 1179 of file room.h.
Referenced by SetStair4Target(), and SetStair4TargetLayer().
|
private |
Definition at line 1181 of file room.h.
Referenced by custom_collision(), custom_collision(), GetCollisionTile(), has_custom_collision(), LoadObjects(), set_has_custom_collision(), and SetCollisionTile().
|
private |
Definition at line 1182 of file room.h.
Referenced by CaptureSaveDirtySnapshot(), ClearCustomCollisionDirty(), custom_collision_dirty(), HasUnsavedChanges(), LoadObjects(), MarkCustomCollisionDirty(), RestoreSaveDirtySnapshot(), set_has_custom_collision(), and SetCollisionTile().
|
private |
Definition at line 1184 of file room.h.
Referenced by CaptureSaveDirtySnapshot(), ClearWaterFillZone(), GetWaterFillTile(), has_water_fill_zone(), RestoreSaveDirtySnapshot(), set_water_fill_sram_bit_mask(), SetWaterFillTile(), water_fill_sram_bit_mask(), water_fill_zone(), and water_fill_zone().
|
private |
Definition at line 1185 of file room.h.
Referenced by CaptureSaveDirtySnapshot(), ClearWaterFillDirty(), ClearWaterFillZone(), HasUnsavedChanges(), MarkWaterFillDirty(), RestoreSaveDirtySnapshot(), set_water_fill_sram_bit_mask(), SetWaterFillTile(), and water_fill_dirty().
|
private |
Definition at line 1186 of file room.h.
Referenced by ClearWaterFillZone(), SetWaterFillTile(), and WaterFillTileCount().
|
private |
Definition at line 1187 of file room.h.
Referenced by GetDungeonState(), GetDungeonState(), LoadLayoutTilesToBuffer(), and RenderObjectsToBackground().