#include <room.h>
Classes | |
| struct | DirtyState |
| struct | Door |
| Represents a door in a dungeon room. More... | |
Public Member Functions | |
| Room () | |
| Room (int room_id, Rom *rom, GameData *game_data=nullptr) | |
| ~Room () | |
| Room (Room &&) | |
| Room & | operator= (Room &&) |
| Room (const Room &)=delete | |
| Room & | operator= (const Room &)=delete |
| void | LoadRoomGraphics (uint8_t entrance_blockset=0xFF) |
| void | CopyRoomGraphicsToBuffer () |
| void | RenderRoomGraphics () |
| void | RenderObjectsToBackground () |
| void | LoadAnimatedGraphics () |
| void | LoadObjects () |
| void | LoadSprites () |
| void | LoadChests () |
| void | LoadPotItems () |
| void | LoadDoors () |
| void | LoadTorches () |
| void | LoadBlocks () |
| void | LoadPits () |
| void | LoadLayoutTilesToBuffer () |
| void | ReloadGraphics (uint8_t entrance_blockset=0xFF) |
| const std::vector< zelda3::Sprite > & | GetSprites () const |
| std::vector< zelda3::Sprite > & | GetSprites () |
| const std::vector< chest_data > & | GetChests () const |
| std::vector< chest_data > & | GetChests () |
| const std::vector< staircase > & | GetStairs () const |
| std::vector< staircase > & | GetStairs () |
| const std::vector< Door > & | GetDoors () const |
| std::vector< Door > & | GetDoors () |
| void | AddDoor (const Door &door) |
| void | RemoveDoor (size_t index) |
| const std::vector< PotItem > & | GetPotItems () const |
| std::vector< PotItem > & | GetPotItems () |
| const 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 | 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 () |
| void | SetTileObjects (const std::vector< RoomObject > &objects) |
| void | SetBg2 (background2 bg2) |
| void | SetCollision (CollisionKey collision) |
| void | SetIsLight (bool is_light) |
| void | SetPalette (uint8_t pal) |
| void | SetBlockset (uint8_t bs) |
| void | SetSpriteset (uint8_t ss) |
| void | SetEffect (EffectKey effect) |
| void | SetTag1 (TagKey tag1) |
| void | SetTag2 (TagKey tag2) |
| void | SetStaircasePlane (int index, uint8_t plane) |
| void | SetHolewarp (uint8_t hw) |
| void | SetStaircaseRoom (int index, uint8_t room) |
| void | SetMessageId (uint16_t mid) |
| bool | IsLight () const |
| void | SetMessageIdDirect (uint16_t mid) |
| void | SetLayer2Mode (uint8_t mode) |
| void | SetLayerMerging (LayerMergeType merging) |
| void | SetIsDark (bool is_dark) |
| void | SetBackgroundTileset (uint8_t tileset) |
| void | SetSpriteTileset (uint8_t tileset) |
| void | SetLayer2Behavior (uint8_t behavior) |
| void | SetTag1Direct (TagKey tag1) |
| void | SetTag2Direct (TagKey tag2) |
| void | SetPitsTargetLayer (uint8_t layer) |
| void | SetStair1TargetLayer (uint8_t layer) |
| void | SetStair2TargetLayer (uint8_t layer) |
| void | SetStair3TargetLayer (uint8_t layer) |
| void | SetStair4TargetLayer (uint8_t layer) |
| void | SetPitsTarget (uint8_t target) |
| void | SetStair1Target (uint8_t target) |
| void | SetStair2Target (uint8_t target) |
| void | SetStair3Target (uint8_t target) |
| void | SetStair4Target (uint8_t target) |
| bool | IsLoaded () const |
| void | SetLoaded (bool loaded) |
| background2 | bg2 () const |
| EffectKey | effect () const |
| TagKey | tag1 () const |
| TagKey | tag2 () const |
| CollisionKey | collision () const |
| const LayerMergeType & | layer_merging () const |
| uint8_t | staircase_plane (int index) const |
| uint8_t | staircase_room (int index) const |
| int | id () const |
| uint8_t | blockset () const |
| uint8_t | spriteset () const |
| uint8_t | palette () const |
| uint8_t | layout_id () const |
| uint8_t | holewarp () const |
| uint16_t | message_id () const |
| void | SetLayoutId (uint8_t id) |
| uint8_t | floor1 () const |
| uint8_t | floor2 () const |
| void | set_floor1 (uint8_t value) |
| void | set_floor2 (uint8_t value) |
| void | ParseObjectsFromLocation (int objects_location) |
| void | HandleSpecialObjects (short oid, uint8_t posX, uint8_t posY, int &nbr_of_staircase) |
| absl::Status | SaveObjects () |
| std::vector< uint8_t > | EncodeObjects () const |
| absl::Status | SaveSprites () |
| std::vector< uint8_t > | EncodeSprites () const |
| absl::Status | SaveRoomHeader () |
| auto | blocks () const |
| auto & | mutable_blocks () |
| auto | rom () const |
| auto | rom () |
| auto | mutable_rom () |
| void | SetRom (Rom *rom) |
| auto | game_data () |
| void | SetGameData (GameData *data) |
| zelda3_version_pointers | version_constants () const |
| const std::array< uint8_t, 0x10000 > & | get_gfx_buffer () const |
| auto & | bg1_buffer () |
| auto & | bg2_buffer () |
| const auto & | bg1_buffer () const |
| const auto & | bg2_buffer () const |
| auto & | object_bg1_buffer () |
| const auto & | object_bg1_buffer () const |
| auto & | object_bg2_buffer () |
| const auto & | object_bg2_buffer () const |
| gfx::Bitmap & | GetCompositeBitmap (RoomLayerManager &layer_mgr) |
| Get a composite bitmap of all layers merged. | |
| const gfx::Bitmap & | composite_bitmap () const |
| void | MarkCompositeDirty () |
| Mark composite bitmap as needing regeneration. | |
| bool | IsCompositeDirty () const |
| DungeonState * | GetDungeonState () |
|
default |
|
default |
|
default |
|
delete |
| void yaze::zelda3::Room::LoadRoomGraphics | ( | uint8_t | entrance_blockset = 0xFF | ) |
Definition at line 453 of file room.cc.
References blocks_, blockset_, game_data_, LOG_DEBUG, yaze::zelda3::GameData::main_blockset_ids, palette_, 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::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), 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 498 of file room.cc.
References blocks_, blockset_, current_gfx16_, game_data_, yaze::zelda3::GameData::graphics_buffer, yaze::Rom::is_loaded(), LoadAnimatedGraphics(), LOG_DEBUG, LOG_ERROR, LOG_WARN, 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 598 of file room.cc.
References bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), blocks_, blockset_, cached_blockset_, cached_effect_, cached_floor1_graphics_, cached_floor2_graphics_, cached_layout_, cached_palette_, cached_spriteset_, cached_tag1_, cached_tag2_, yaze::zelda3::Room::DirtyState::composite, CopyRoomGraphicsToBuffer(), yaze::gfx::Arena::CREATE, current_gfx16_, dirty_state_, yaze::gfx::BackgroundBuffer::DrawBackground(), yaze::gfx::BackgroundBuffer::DrawFloor(), yaze::gfx::PaletteGroupMap::dungeon_main, effect_, floor1_graphics_, floor2_graphics_, game_data_, yaze::gfx::Arena::Get(), yaze::zelda3::PaletteDebugger::Get(), yaze::platform::GetSurfacePalette(), yaze::zelda3::Room::DirtyState::graphics, yaze::zelda3::LayerMergeType::ID, yaze::zelda3::kDungeonPalettePointerTable, yaze::zelda3::kTileAddress, yaze::zelda3::kTileAddressFloor, yaze::zelda3::LayerMergeType::Layer2Translucent, layer_merging_, yaze::zelda3::Room::DirtyState::layout, layout_id_, LoadLayoutTilesToBuffer(), LoadRoomGraphics(), LOG_DEBUG, yaze::zelda3::PaletteDebugger::LogPaletteApplication(), yaze::zelda3::PaletteDebugger::LogPaletteLoad(), yaze::zelda3::PaletteDebugger::LogSurfaceState(), yaze::zelda3::name, object_bg1_buffer_, object_bg2_buffer_, yaze::zelda3::Room::DirtyState::objects, palette(), palette_, yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, yaze::gfx::Arena::QueueTextureCommand(), RenderObjectsToBackground(), rom(), room_id_, yaze::zelda3::PaletteDebugger::SetCurrentBitmap(), yaze::zelda3::PaletteDebugger::SetCurrentPalette(), yaze::gfx::Bitmap::SetPalette(), yaze::gfx::PaletteGroup::size(), spriteset_, yaze::gfx::Bitmap::surface(), tag1_, tag2_, yaze::gfx::Bitmap::texture(), yaze::zelda3::Room::DirtyState::textures, and yaze::gfx::Arena::UPDATE.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), yaze::editor::DungeonRoomPanel::OnResourceModified(), and yaze::app::service::RenderService::RenderDungeonRoom().
| void yaze::zelda3::Room::RenderObjectsToBackground | ( | ) |
Definition at line 977 of file room.cc.
References yaze::gfx::PaletteGroup::AddPalette(), bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), yaze::zelda3::Block, yaze::gfx::BackgroundBuffer::ClearCoverageBuffer(), yaze::gfx::BackgroundBuffer::ClearPriorityBuffer(), 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(), game_data_, yaze::zelda3::Room::DirtyState::graphics, yaze::Rom::is_loaded(), yaze::zelda3::kDungeonPalettePointerTable, LOG_DEBUG, yaze::zelda3::Nothing, object_bg1_buffer_, object_bg2_buffer_, yaze::zelda3::Room::DirtyState::objects, palette_, yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, yaze::zelda3::ObjectDrawer::DoorDef::position, pot_items_, rom(), rom_, room_id_, yaze::gfx::PaletteGroup::size(), sprites_, tile_objects_, yaze::zelda3::Torch, and yaze::zelda3::ObjectDrawer::DoorDef::type.
Referenced by RenderRoomGraphics().
| void yaze::zelda3::Room::LoadAnimatedGraphics | ( | ) |
Definition at line 1222 of file room.cc.
References animated_frame_, background_tileset_, current_gfx16_, game_data_, yaze::zelda3::GameData::graphics_buffer, yaze::Rom::is_loaded(), rom(), rom_, yaze::SnesToPc(), and version_constants().
Referenced by CopyRoomGraphicsToBuffer().

| void yaze::zelda3::Room::LoadObjects | ( | ) |
Definition at line 1292 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, 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(), yaze::cli::handlers::DungeonGenerateTrackCollisionCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::zelda3::GenerateTrackCollision(), and yaze::zelda3::LoadRoomFromRom().
| void yaze::zelda3::Room::LoadSprites | ( | ) |
Definition at line 1980 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_, 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(), yaze::cli::handlers::DungeonListSpritesCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), and yaze::app::service::RenderService::RenderDungeonRoom().
| void yaze::zelda3::Room::LoadChests | ( | ) |
Definition at line 2036 of file room.cc.
References chests_in_room_, yaze::zelda3::kChestsDataPointer1, yaze::zelda3::kChestsLengthPointer, rom(), room_id_, and yaze::SnesToPc().
Referenced by yaze::cli::handlers::DungeonListChestsCommandHandler::Execute(), and LoadObjects().

| void yaze::zelda3::Room::LoadPotItems | ( | ) |
Definition at line 2710 of file room.cc.
References yaze::Rom::is_loaded(), yaze::zelda3::PotItem::item, yaze::zelda3::kRoomItemsPointers, yaze::zelda3::PotItem::position, pot_items_, rom(), rom_, room_id_, and yaze::SnesToPc().
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadDoors | ( | ) |
| void yaze::zelda3::Room::LoadTorches | ( | ) |
Definition at line 2076 of file room.cc.
References yaze::zelda3::kTorchData, yaze::zelda3::kTorchesLengthPointer, yaze::zelda3::RoomObject::lit_, LOG_DEBUG, rom(), rom_, room_id_, yaze::zelda3::RoomObject::set_options(), yaze::zelda3::RoomObject::SetRom(), tile_objects_, and yaze::zelda3::Torch.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadBlocks | ( | ) |
Definition at line 2632 of file room.cc.
References yaze::zelda3::Block, yaze::zelda3::kBlocksLength, yaze::zelda3::kBlocksPointer1, yaze::zelda3::kBlocksPointer2, yaze::zelda3::kBlocksPointer3, yaze::zelda3::kBlocksPointer4, LOG_DEBUG, rom(), rom_, room_id_, yaze::zelda3::RoomObject::set_options(), yaze::zelda3::RoomObject::SetRom(), and tile_objects_.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadPits | ( | ) |
Definition at line 2759 of file room.cc.
References yaze::zelda3::kPitCount, yaze::zelda3::kPitPointer, LOG_DEBUG, pits_, rom(), room_id_, yaze::SnesToPc(), destination::target, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadLayoutTilesToBuffer | ( | ) |
Definition at line 903 of file room.cc.
References yaze::gfx::PaletteGroup::AddPalette(), bg1_buffer_, bg2_buffer_, current_gfx16_, yaze::zelda3::RoomLayout::Draw(), yaze::gfx::PaletteGroupMap::dungeon_main, dungeon_state_, game_data_, yaze::zelda3::RoomLayout::GetObjects(), yaze::Rom::is_loaded(), yaze::zelda3::kDungeonPalettePointerTable, layout_, layout_id_, yaze::zelda3::RoomLayout::LoadLayout(), LOG_DEBUG, palette_, yaze::zelda3::GameData::palette_groups, yaze::zelda3::GameData::paletteset_ids, rom(), rom_, room_id_, yaze::zelda3::RoomLayout::SetRom(), and yaze::gfx::PaletteGroup::size().
Referenced by RenderRoomGraphics().
| void yaze::zelda3::Room::ReloadGraphics | ( | uint8_t | entrance_blockset = 0xFF | ) |
|
inline |
Definition at line 214 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::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), 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::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), yaze::editor::DungeonCanvasViewer::RenderSprites(), and yaze::zelda3::DungeonValidator::ValidateRoom().
|
inline |
|
inline |
Definition at line 218 of file room.h.
References chests_in_room_.
Referenced by yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonListChestsCommandHandler::Execute(), and yaze::cli::handlers::DungeonMapCommandHandler::Execute().
|
inline |
Definition at line 219 of file room.h.
References chests_in_room_.
|
inline |
Definition at line 222 of file room.h.
References z3_staircases_.
Referenced by yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), and yaze::cli::handlers::DungeonMapCommandHandler::Execute().
|
inline |
Definition at line 223 of file room.h.
References z3_staircases_.
|
inline |
Definition at line 294 of file room.h.
References doors_.
Referenced by yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonMapCommandHandler::Execute(), and yaze::cli::handlers::anonymous_namespace{dungeon_graph_commands.cc}::RoomHasDoorIn().
|
inline |
|
inline |
Definition at line 296 of file room.h.
References doors_, and MarkObjectsDirty().

|
inline |
Definition at line 300 of file room.h.
References doors_, and MarkObjectsDirty().

|
inline |
Definition at line 308 of file room.h.
References pot_items_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), and yaze::editor::DungeonCanvasViewer::RenderPotItems().
|
inline |
Definition at line 309 of file room.h.
References pot_items_.
|
inline |
|
inline |
Definition at line 314 of file room.h.
References tile_objects_.
Referenced by yaze::app::service::RenderService::ApplyOverlays(), yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::cli::handlers::anonymous_namespace{minecart_commands.cc}::AuditRoom(), yaze::cli::agent::anonymous_namespace{conversational_agent_service.cc}::BuildAutoOracleStateHook(), yaze::zelda3::DungeonObjectEditor::CreateUndoPoint(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::TileObjectHandler::DrawGhostPreview(), yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), yaze::editor::DungeonCanvasViewer::DrawObjectPositionOutlines(), yaze::editor::DungeonRenderingHelpers::DrawTrackGapOverlay(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::cli::handlers::DungeonMapCommandHandler::Execute(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::zelda3::GenerateTrackCollision(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::TileObjectHandler::GetEntityAtPosition(), yaze::zelda3::DungeonObjectEditor::GetObjectCount(), yaze::zelda3::DungeonObjectEditor::GetObjects(), yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu(), yaze::zelda3::DungeonObjectEditor::InsertObject(), yaze::zelda3::DungeonObjectEditor::InsertTemplate(), yaze::zelda3::DungeonObjectEditor::MoveObject(), yaze::zelda3::DungeonObjectEditor::Redo(), yaze::zelda3::DungeonObjectEditor::RenderLayerControls(), yaze::zelda3::DungeonObjectEditor::RenderLayerVisualization(), yaze::zelda3::DungeonObjectEditor::Undo(), yaze::zelda3::DungeonObjectEditor::ValidateRoom(), and yaze::zelda3::DungeonValidator::ValidateRoom().
|
inline |
Definition at line 317 of file room.h.
References tile_objects_.
|
inline |
Definition at line 320 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ClearRoom(), and yaze::editor::DungeonRoomPanel::Draw().
|
inline |
Definition at line 321 of file room.h.
References MarkObjectsDirty(), and tile_objects_.

| absl::Status yaze::zelda3::Room::AddObject | ( | const RoomObject & | object | ) |
Definition at line 1872 of file room.cc.
References MarkObjectsDirty(), tile_objects_, and ValidateObject().
Referenced by yaze::zelda3::DungeonObjectEditor::DrawPropertyUI(), yaze::zelda3::DungeonObjectEditor::DuplicateObject(), yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::zelda3::DungeonObjectEditor::InsertObject(), yaze::zelda3::DungeonObjectEditor::InsertTemplate(), and yaze::zelda3::DungeonObjectEditor::PasteObjects().

| absl::Status yaze::zelda3::Room::RemoveObject | ( | size_t | index | ) |
Definition at line 1885 of file room.cc.
References MarkObjectsDirty(), and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::DeleteObject().

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

| absl::StatusOr< size_t > yaze::zelda3::Room::FindObjectAt | ( | int | x, |
| int | y, | ||
| int | layer ) const |
Definition at line 1911 of file room.cc.
References tile_objects_.
| bool yaze::zelda3::Room::ValidateObject | ( | const RoomObject & | object | ) | const |
Definition at line 1921 of file room.cc.
Referenced by AddObject(), and UpdateObject().
|
inline |
Definition at line 334 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, dirty_state_, yaze::zelda3::Room::DirtyState::objects, and yaze::zelda3::Room::DirtyState::textures.
Referenced by AddDoor(), AddObject(), AddTileObject(), yaze::editor::TileObjectHandler::NotifyChange(), RemoveDoor(), RemoveObject(), RemoveTileObject(), SetEffect(), SetTag1(), SetTag2(), SetTileObjects(), and UpdateObject().
|
inline |
Definition at line 339 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, dirty_state_, yaze::zelda3::Room::DirtyState::graphics, and yaze::zelda3::Room::DirtyState::textures.
Referenced by set_floor1(), set_floor2(), SetBlockset(), SetPalette(), and SetSpriteset().
|
inline |
Definition at line 344 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, dirty_state_, yaze::zelda3::Room::DirtyState::layout, and yaze::zelda3::Room::DirtyState::textures.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and SetLayoutId().
|
inline |
Definition at line 349 of file room.h.
References MarkObjectsDirty(), and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::DeleteSelectedObjects().

|
inline |
Definition at line 355 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::AddToSelection(), yaze::zelda3::DungeonObjectEditor::AlignSelectedObjects(), yaze::zelda3::DungeonObjectEditor::BatchChangeObjectLayer(), 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 356 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::AlignSelectedObjects(), yaze::zelda3::DungeonObjectEditor::BatchChangeObjectLayer(), yaze::zelda3::DungeonObjectEditor::BatchMoveObjects(), yaze::zelda3::DungeonObjectEditor::BatchResizeObjects(), yaze::zelda3::DungeonObjectEditor::ChangeObjectLayer(), 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 357 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 2788 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 2885 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 2890 of file room.cc.
References yaze::zelda3::GetExceededLimits(), and GetLimitedObjectCounts().

|
inline |
Definition at line 384 of file room.h.
References custom_collision_.
Referenced by yaze::app::service::RenderService::ApplyOverlays(), yaze::editor::CustomCollisionPanel::ApplyRoomEntry(), and yaze::editor::DungeonRenderingHelpers::DrawCustomCollisionOverlay().
|
inline |
Definition at line 385 of file room.h.
References custom_collision_.
|
inline |
Definition at line 386 of file room.h.
References custom_collision_, and yaze::zelda3::CustomCollisionMap::has_data.
Referenced by yaze::cli::handlers::DungeonSetCollisionTileCommandHandler::Execute(), and yaze::app::service::RenderService::GetDungeonRoomMetadata().
|
inline |
Definition at line 387 of file room.h.
References custom_collision_, custom_collision_dirty_, and yaze::zelda3::CustomCollisionMap::has_data.
|
inline |
Definition at line 394 of file room.h.
References custom_collision_, and yaze::zelda3::CustomCollisionMap::tiles.
Referenced by yaze::cli::handlers::DungeonSetCollisionTileCommandHandler::Execute().
|
inline |
Definition at line 399 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 406 of file room.h.
References custom_collision_dirty_.
|
inline |
Definition at line 407 of file room.h.
References custom_collision_dirty_.
|
inline |
Definition at line 408 of file room.h.
References custom_collision_dirty_.
Referenced by yaze::editor::CustomCollisionPanel::ApplyRoomEntry().
|
inline |
Definition at line 411 of file room.h.
References water_fill_zone_.
Referenced by yaze::editor::DungeonRenderingHelpers::DrawWaterFillOverlay(), and yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::MakeWaterFillSnapshot().
|
inline |
Definition at line 412 of file room.h.
References water_fill_zone_.
|
inline |
Definition at line 413 of file room.h.
References yaze::zelda3::WaterFillZoneMap::has_data, and water_fill_zone_.
|
inline |
Definition at line 415 of file room.h.
References yaze::zelda3::WaterFillZoneMap::tiles, and water_fill_zone_.
|
inline |
Definition at line 420 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().
|
inline |
Definition at line 441 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().
|
inline |
Definition at line 449 of file room.h.
References water_fill_tile_count_.
|
inline |
Definition at line 453 of file room.h.
References yaze::zelda3::WaterFillZoneMap::sram_bit_mask, and water_fill_zone_.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::MakeWaterFillSnapshot().
|
inline |
Definition at line 454 of file room.h.
References yaze::zelda3::WaterFillZoneMap::sram_bit_mask, water_fill_dirty_, and water_fill_zone_.
Referenced by yaze::editor::WaterFillPanel::ApplyZoneToRoom().
|
inline |
Definition at line 461 of file room.h.
References water_fill_dirty_.
|
inline |
Definition at line 462 of file room.h.
References water_fill_dirty_.
|
inline |
Definition at line 463 of file room.h.
References water_fill_dirty_.
|
inline |
Definition at line 466 of file room.h.
References MarkObjectsDirty(), and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ApplyUndoPoint().

|
inline |
Definition at line 472 of file room.h.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

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

|
inline |
Definition at line 474 of file room.h.
References is_light_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 475 of file room.h.
References MarkGraphicsDirty(), and palette_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 481 of file room.h.
References blockset_, and MarkGraphicsDirty().
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 487 of file room.h.
References MarkGraphicsDirty(), and spriteset_.
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 493 of file room.h.
References effect(), effect_, and MarkObjectsDirty().
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

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

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

|
inline |
Definition at line 511 of file room.h.
References staircase_plane_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 515 of file room.h.
References holewarp_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 516 of file room.h.
References staircase_rooms_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 522 of file room.h.
References message_id_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 525 of file room.h.
References is_light_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom(), and SaveRoomHeader().
|
inline |
Definition at line 528 of file room.h.
References message_id_.
|
inline |
Definition at line 529 of file room.h.
References layer2_mode_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 530 of file room.h.
References layer_merging_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 531 of file room.h.
References is_dark_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 532 of file room.h.
References background_tileset_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 533 of file room.h.
References sprite_tileset_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 534 of file room.h.
References layer2_behavior_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 535 of file room.h.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 536 of file room.h.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

|
inline |
Definition at line 537 of file room.h.
References pits_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 538 of file room.h.
References stair1_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 539 of file room.h.
References stair2_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 540 of file room.h.
References stair3_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 541 of file room.h.
References stair4_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 542 of file room.h.
References pits_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 543 of file room.h.
References stair1_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 544 of file room.h.
References stair2_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 545 of file room.h.
References stair3_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 546 of file room.h.
References stair4_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 549 of file room.h.
References is_loaded_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::editor::DungeonRoomPanel::OnResourceModified().
|
inline |
Definition at line 550 of file room.h.
References is_loaded_.
Referenced by yaze::zelda3::LoadRoomFromRom().
|
inline |
Definition at line 553 of file room.h.
References bg2_.
Referenced by SaveRoomHeader(), and SetBg2().
|
inline |
Definition at line 554 of file room.h.
References effect_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), and SetEffect().
|
inline |
Definition at line 555 of file room.h.
References tag1_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), SetTag1(), and SetTag1Direct().
|
inline |
Definition at line 556 of file room.h.
References tag2_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), SetTag2(), and SetTag2Direct().
|
inline |
Definition at line 557 of file room.h.
References collision_.
Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata(), SaveRoomHeader(), and SetCollision().
|
inline |
Definition at line 558 of file room.h.
References layer_merging_.
|
inline |
|
inline |
Definition at line 562 of file room.h.
References staircase_rooms_.
Referenced by yaze::cli::handlers::DungeonGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonDiscoverCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), and SaveRoomHeader().
|
inline |
Definition at line 566 of file room.h.
References room_id_.
Referenced by yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::zelda3::RoomLayerManager::CompositeToOutput(), yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::zelda3::GenerateTrackCollision(), and SetLayoutId().
|
inline |
Definition at line 569 of file room.h.
References blockset_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), yaze::emu::render::EmulatorRenderService::RenderDungeonObject(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::app::service::RenderService::RenderDungeonRoom(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 570 of file room.h.
References spriteset_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), and yaze::app::service::RenderService::GetDungeonRoomMetadata().
|
inline |
Definition at line 571 of file room.h.
References palette_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::emu::render::EmulatorRenderService::RenderDungeonObject(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), RenderRoomGraphics(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 572 of file room.h.
References layout_id_.
Referenced by yaze::editor::DungeonRenderingHelpers::DrawCameraQuadrantOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute(), yaze::zelda3::ExportRoomLayoutTemplate(), and yaze::app::service::RenderService::GetDungeonRoomMetadata().
|
inline |
Definition at line 573 of file room.h.
References holewarp_.
Referenced by yaze::cli::handlers::DungeonGraphCommandHandler::Execute(), yaze::cli::handlers::DungeonDiscoverCommandHandler::Execute(), and yaze::cli::handlers::DungeonRoomGraphCommandHandler::Execute().
|
inline |
Definition at line 574 of file room.h.
References message_id_.
Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata().
|
inline |
Definition at line 577 of file room.h.
References id(), layout_id_, and MarkLayoutDirty().
Referenced by yaze::zelda3::ApplyRoomLayoutTemplate(), and yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable().

|
inline |
Definition at line 585 of file room.h.
References floor1_graphics_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), and yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute().
|
inline |
Definition at line 586 of file room.h.
References floor2_graphics_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::cli::handlers::DungeonDescribeRoomCommandHandler::Execute().
|
inline |
Definition at line 587 of file room.h.
References floor1_graphics_, and MarkGraphicsDirty().
Referenced by yaze::editor::DungeonRoomPanel::Draw().

|
inline |
Definition at line 593 of file room.h.
References floor2_graphics_, and MarkGraphicsDirty().
Referenced by yaze::editor::DungeonRoomPanel::Draw().

| void yaze::zelda3::Room::ParseObjectsFromLocation | ( | int | objects_location | ) |
Definition at line 1353 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 1943 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 | ( | ) |
Definition at line 1681 of file room.cc.
References yaze::zelda3::CalculateRoomSize(), doors_, EncodeObjects(), yaze::zelda3::kDoorPointers, yaze::zelda3::kRoomObjectPointer, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), rom_, room_id_, yaze::zelda3::RoomSize::room_size, yaze::Rom::size(), yaze::SnesToPc(), yaze::Rom::WriteLong(), and yaze::Rom::WriteVector().
Referenced by yaze::cli::handlers::DungeonPlaceObjectCommandHandler::Execute(), yaze::zelda3::DungeonObjectEditor::SaveRoom(), and yaze::zelda3::DungeonEditorSystem::SaveRoomData().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeObjects | ( | ) | const |
Definition at line 1457 of file room.cc.
References yaze::zelda3::Block, doors_, yaze::zelda3::Nothing, tile_objects_, and yaze::zelda3::Torch.
Referenced by SaveObjects().
| absl::Status yaze::zelda3::Room::SaveSprites | ( | ) |
Definition at line 1745 of file room.cc.
References EncodeSprites(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kSpritesEndData, yaze::zelda3::RelocateSpriteData(), RETURN_IF_ERROR, rom(), rom_, room_id_, yaze::Rom::size(), and yaze::Rom::WriteVector().
Referenced by yaze::cli::handlers::DungeonPlaceSpriteCommandHandler::Execute(), and yaze::cli::handlers::DungeonRemoveSpriteCommandHandler::Execute().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeSprites | ( | ) | const |
| absl::Status yaze::zelda3::Room::SaveRoomHeader | ( | ) |
Definition at line 1797 of file room.cc.
References bg2(), blockset_, collision(), effect(), holewarp_, IsLight(), yaze::zelda3::kMessagesIdDungeon, yaze::zelda3::kRoomHeaderPointer, yaze::zelda3::kRoomHeaderPointerBank, message_id_, palette_, RETURN_IF_ERROR, rom(), rom_, room_id_, yaze::SnesToPc(), spriteset_, staircase_plane(), staircase_room(), tag1(), tag2(), yaze::Rom::WriteByte(), and yaze::Rom::WriteWord().
|
inline |
Definition at line 611 of file room.h.
References blocks_.
Referenced by yaze::editor::DungeonRoomPanel::Draw().
|
inline |
|
inline |
Definition at line 613 of file room.h.
References rom_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), yaze::editor::DungeonCanvasViewer::DrawRoomPropertyTable(), LoadAnimatedGraphics(), LoadBlocks(), LoadChests(), LoadDoors(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPits(), LoadPotItems(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjects(), SaveRoomHeader(), SaveSprites(), and SetRom().
|
inline |
|
inline |
Definition at line 616 of file room.h.
Referenced by yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().

|
inline |
Definition at line 617 of file room.h.
References game_data_.
|
inline |
Definition at line 618 of file room.h.
References game_data_.
Referenced by yaze::app::service::RenderService::GetDungeonRoomMetadata(), yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::editor::DungeonRoomLoader::LoadRoom(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::app::service::RenderService::RenderDungeonRoom(), yaze::test::DungeonEditorTestSuite::RunRoomSaveTest(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 621 of file room.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by LoadAnimatedGraphics().
|
inline |
Definition at line 625 of file room.h.
References current_gfx16_.
Referenced by yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 630 of file room.h.
References bg1_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::CompositeToOutput(), yaze::editor::DungeonRoomPanel::Draw(), yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 631 of file room.h.
References bg2_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 632 of file room.h.
References bg1_buffer_.
|
inline |
Definition at line 633 of file room.h.
References bg2_buffer_.
|
inline |
Definition at line 634 of file room.h.
References object_bg1_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 635 of file room.h.
References object_bg1_buffer_.
|
inline |
Definition at line 636 of file room.h.
References object_bg2_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 637 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 590 of file room.cc.
References yaze::zelda3::Room::DirtyState::composite, composite_bitmap_, yaze::zelda3::RoomLayerManager::CompositeToOutput(), and dirty_state_.
Referenced by yaze::app::service::RenderService::RenderDungeonRoom().

|
inline |
Definition at line 641 of file room.h.
References composite_bitmap_.
|
inline |
Mark composite bitmap as needing regeneration.
Definition at line 644 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, and dirty_state_.
|
inline |
Definition at line 645 of file room.h.
References yaze::zelda3::Room::DirtyState::composite, and dirty_state_.
|
inline |
Definition at line 647 of file room.h.
References dungeon_state_.
|
private |
Definition at line 650 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadBlocks(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPotItems(), LoadTorches(), mutable_rom(), ParseObjectsFromLocation(), RenderObjectsToBackground(), rom(), rom(), SaveObjects(), SaveRoomHeader(), SaveSprites(), and SetRom().
|
private |
Definition at line 651 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), game_data(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), LoadRoomGraphics(), RenderObjectsToBackground(), RenderRoomGraphics(), SetGameData(), and version_constants().
|
private |
Definition at line 653 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), get_gfx_buffer(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 657 of file room.h.
Referenced by bg1_buffer(), bg1_buffer(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 658 of file room.h.
Referenced by bg2_buffer(), bg2_buffer(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 659 of file room.h.
Referenced by object_bg1_buffer(), object_bg1_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 660 of file room.h.
Referenced by object_bg2_buffer(), object_bg2_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
mutableprivate |
Definition at line 671 of file room.h.
Referenced by composite_bitmap(), and GetCompositeBitmap().
|
private |
Definition at line 672 of file room.h.
Referenced by GetCompositeBitmap(), IsCompositeDirty(), MarkCompositeDirty(), MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 674 of file room.h.
Referenced by IsLight(), and SetIsLight().
|
private |
Definition at line 675 of file room.h.
Referenced by IsLoaded(), and SetLoaded().
|
private |
Definition at line 676 of file room.h.
Referenced by SetIsDark().
|
private |
Definition at line 677 of file room.h.
Referenced by LoadObjects().
|
private |
Definition at line 681 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 682 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 683 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 684 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 685 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 686 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 687 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 688 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 689 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 691 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), id(), LoadBlocks(), LoadChests(), LoadDoors(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPits(), LoadPotItems(), LoadRoomGraphics(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjects(), SaveRoomHeader(), and SaveSprites().
|
private |
Definition at line 692 of file room.h.
Referenced by LoadAnimatedGraphics().
|
private |
Definition at line 694 of file room.h.
Referenced by SetStaircasePlane(), and staircase_plane().
|
private |
Definition at line 695 of file room.h.
Referenced by HandleSpecialObjects(), SetStaircaseRoom(), and staircase_room().
|
private |
Definition at line 698 of file room.h.
Referenced by blockset(), CopyRoomGraphicsToBuffer(), LoadRoomGraphics(), RenderRoomGraphics(), SaveRoomHeader(), and SetBlockset().
|
private |
Definition at line 699 of file room.h.
Referenced by LoadRoomGraphics(), RenderRoomGraphics(), SaveRoomHeader(), SetSpriteset(), and spriteset().
|
private |
Definition at line 700 of file room.h.
Referenced by LoadLayoutTilesToBuffer(), LoadRoomGraphics(), palette(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveRoomHeader(), and SetPalette().
|
private |
Definition at line 701 of file room.h.
Referenced by layout_id(), LoadLayoutTilesToBuffer(), LoadObjects(), RenderRoomGraphics(), and SetLayoutId().
|
private |
Definition at line 702 of file room.h.
Referenced by holewarp(), SaveRoomHeader(), and SetHolewarp().
|
private |
Definition at line 703 of file room.h.
Referenced by message_id(), SaveRoomHeader(), SetMessageId(), and SetMessageIdDirect().
|
private |
Definition at line 705 of file room.h.
Referenced by LoadAnimatedGraphics(), and SetBackgroundTileset().
|
private |
Definition at line 706 of file room.h.
Referenced by SetSpriteTileset().
|
private |
Definition at line 707 of file room.h.
Referenced by SetLayer2Behavior().
|
private |
Definition at line 708 of file room.h.
Referenced by floor1(), LoadObjects(), RenderRoomGraphics(), and set_floor1().
|
private |
Definition at line 709 of file room.h.
Referenced by floor2(), LoadObjects(), RenderRoomGraphics(), and set_floor2().
|
private |
Definition at line 710 of file room.h.
Referenced by SetLayer2Mode().
|
private |
Definition at line 712 of file room.h.
Referenced by blocks(), CopyRoomGraphicsToBuffer(), LoadRoomGraphics(), mutable_blocks(), and RenderRoomGraphics().
|
private |
|
private |
Definition at line 715 of file room.h.
Referenced by AddObject(), AddTileObject(), ClearTileObjects(), EncodeObjects(), FindObjectAt(), GetLimitedObjectCounts(), GetTileObject(), GetTileObject(), GetTileObjectCount(), GetTileObjects(), GetTileObjects(), HandleSpecialObjects(), LoadBlocks(), LoadTorches(), ParseObjectsFromLocation(), RemoveObject(), RemoveTileObject(), RenderObjectsToBackground(), SetTileObjects(), and UpdateObject().
|
private |
Definition at line 717 of file room.h.
Referenced by EncodeSprites(), GetLimitedObjectCounts(), GetSprites(), GetSprites(), LoadSprites(), and RenderObjectsToBackground().
|
private |
Definition at line 718 of file room.h.
Referenced by GetLimitedObjectCounts(), GetStairs(), GetStairs(), HandleSpecialObjects(), and ParseObjectsFromLocation().
|
private |
Definition at line 719 of file room.h.
Referenced by GetChests(), GetChests(), GetLimitedObjectCounts(), HandleSpecialObjects(), and LoadChests().
|
private |
Definition at line 720 of file room.h.
Referenced by AddDoor(), EncodeObjects(), GetDoors(), GetDoors(), GetLimitedObjectCounts(), ParseObjectsFromLocation(), RemoveDoor(), RenderObjectsToBackground(), and SaveObjects().
|
private |
Definition at line 721 of file room.h.
Referenced by GetPotItems(), GetPotItems(), LoadPotItems(), and RenderObjectsToBackground().
|
private |
Definition at line 722 of file room.h.
Referenced by GetLayout(), and LoadLayoutTilesToBuffer().
|
private |
Definition at line 724 of file room.h.
Referenced by layer_merging(), RenderRoomGraphics(), and SetLayerMerging().
|
private |
Definition at line 725 of file room.h.
Referenced by collision(), and SetCollision().
|
private |
Definition at line 726 of file room.h.
Referenced by effect(), RenderRoomGraphics(), and SetEffect().
|
private |
Definition at line 727 of file room.h.
Referenced by RenderRoomGraphics(), SetTag1(), SetTag1Direct(), and tag1().
|
private |
Definition at line 728 of file room.h.
Referenced by RenderRoomGraphics(), SetTag2(), SetTag2Direct(), and tag2().
|
private |
|
private |
Definition at line 731 of file room.h.
Referenced by LoadPits(), SetPitsTarget(), and SetPitsTargetLayer().
|
private |
Definition at line 732 of file room.h.
Referenced by SetStair1Target(), and SetStair1TargetLayer().
|
private |
Definition at line 733 of file room.h.
Referenced by SetStair2Target(), and SetStair2TargetLayer().
|
private |
Definition at line 734 of file room.h.
Referenced by SetStair3Target(), and SetStair3TargetLayer().
|
private |
Definition at line 735 of file room.h.
Referenced by SetStair4Target(), and SetStair4TargetLayer().
|
private |
Definition at line 737 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 738 of file room.h.
Referenced by ClearCustomCollisionDirty(), custom_collision_dirty(), LoadObjects(), MarkCustomCollisionDirty(), set_has_custom_collision(), and SetCollisionTile().
|
private |
Definition at line 740 of file room.h.
Referenced by ClearWaterFillZone(), GetWaterFillTile(), has_water_fill_zone(), set_water_fill_sram_bit_mask(), SetWaterFillTile(), water_fill_sram_bit_mask(), water_fill_zone(), and water_fill_zone().
|
private |
Definition at line 741 of file room.h.
Referenced by ClearWaterFillDirty(), ClearWaterFillZone(), MarkWaterFillDirty(), set_water_fill_sram_bit_mask(), SetWaterFillTile(), and water_fill_dirty().
|
private |
Definition at line 742 of file room.h.
Referenced by ClearWaterFillZone(), SetWaterFillTile(), and WaterFillTileCount().
|
private |
Definition at line 743 of file room.h.
Referenced by GetDungeonState(), LoadLayoutTilesToBuffer(), and RenderObjectsToBackground().