#include <room.h>
Classes | |
| 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 |
| void | SetTileObjects (const std::vector< RoomObject > &objects) |
| void | SetBg2 (background2 bg2) |
| void | SetCollision (CollisionKey collision) |
| void | SetIsLight (bool is_light) |
| void | SetPalette (uint8_t palette) |
| void | SetBlockset (uint8_t blockset) |
| void | SetSpriteset (uint8_t spriteset) |
| void | SetEffect (EffectKey effect) |
| void | SetTag1 (TagKey tag1) |
| void | SetTag2 (TagKey tag2) |
| void | SetStaircasePlane (int index, uint8_t plane) |
| void | SetHolewarp (uint8_t holewarp) |
| void | SetStaircaseRoom (int index, uint8_t room) |
| void | SetMessageId (uint16_t message_id) |
| bool | IsLight () const |
| void | SetMessageIdDirect (uint16_t message_id) |
| void | SetLayer2Mode (uint8_t mode) |
| void | SetLayerMerging (LayerMergeType merging) |
| void | SetIsDark (bool is_dark) |
| void | SetPaletteDirect (uint8_t palette) |
| 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) |
| EffectKey | effect () const |
| TagKey | tag1 () const |
| TagKey | tag2 () const |
| CollisionKey | collision () const |
| const LayerMergeType & | layer_merging () const |
| int | id () const |
| 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 |
| auto | blocks () const |
| auto & | mutable_blocks () |
| 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 () |
Public Attributes | |
| uint8_t | blockset = 0 |
| uint8_t | spriteset = 0 |
| uint8_t | palette = 0 |
| uint8_t | layout = 0 |
| uint8_t | holewarp = 0 |
| uint16_t | message_id_ = 0 |
|
default |
|
default |
|
default |
|
delete |
| void yaze::zelda3::Room::LoadRoomGraphics | ( | uint8_t | entrance_blockset = 0xFF | ) |
Definition at line 370 of file room.cc.
References blocks_, blockset, game_data_, 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(), RenderRoomGraphics(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
| void yaze::zelda3::Room::CopyRoomGraphicsToBuffer | ( | ) |
Definition at line 421 of file room.cc.
References blocks_, current_gfx16_, game_data_, yaze::zelda3::GameData::graphics_buffer, yaze::Rom::is_loaded(), LoadAnimatedGraphics(), 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 518 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_, composite_dirty_, CopyRoomGraphicsToBuffer(), yaze::gfx::Arena::CREATE, current_gfx16_, 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(), graphics_dirty_, yaze::zelda3::LayerMergeType::ID, yaze::zelda3::kDungeonPalettePointerTable, yaze::zelda3::LayerMergeType::Layer2Translucent, layer_merging_, layout, layout_dirty_, 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_, objects_dirty_, 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(), textures_dirty_, yaze::zelda3::tile_address, yaze::zelda3::tile_address_floor, and yaze::gfx::Arena::UPDATE.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), and yaze::editor::DungeonRoomPanel::OnResourceModified().
| void yaze::zelda3::Room::RenderObjectsToBackground | ( | ) |
Definition at line 893 of file room.cc.
References yaze::gfx::PaletteGroup::AddPalette(), bg1_buffer_, bg2_buffer_, yaze::gfx::BackgroundBuffer::bitmap(), yaze::gfx::BackgroundBuffer::ClearPriorityBuffer(), current_gfx16_, yaze::Rom::data(), yaze::zelda3::ObjectDrawer::DoorDef::direction, doors_, yaze::zelda3::ObjectDrawer::DrawDoor(), yaze::zelda3::ObjectDrawer::DrawObjectList(), yaze::zelda3::ObjectDrawer::DrawPotItem(), yaze::gfx::PaletteGroupMap::dungeon_main, dungeon_state_, yaze::gfx::BackgroundBuffer::EnsureBitmapInitialized(), game_data_, graphics_dirty_, yaze::Rom::is_loaded(), yaze::zelda3::kDungeonPalettePointerTable, LOG_DEBUG, object_bg1_buffer_, object_bg2_buffer_, objects_dirty_, 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_, and yaze::zelda3::ObjectDrawer::DoorDef::type.
Referenced by RenderRoomGraphics().
| void yaze::zelda3::Room::LoadAnimatedGraphics | ( | ) |
Definition at line 1071 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 1140 of file room.cc.
References floor1_graphics_, floor2_graphics_, is_floor_, layout, LoadChests(), LOG_DEBUG, ParseObjectsFromLocation(), rom(), rom_, room_id_, yaze::zelda3::room_object_pointer, yaze::Rom::size(), yaze::SnesToPc(), and yaze::zelda3::tile_address.
Referenced by yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), and yaze::editor::DungeonRoomLoader::LoadRoom().
| void yaze::zelda3::Room::LoadSprites | ( | ) |
Definition at line 1617 of file room.cc.
References yaze::zelda3::Sprite::id(), yaze::zelda3::Sprite::layer(), rom(), room_id_, yaze::zelda3::rooms_sprite_pointer, yaze::zelda3::Sprite::set_key_drop(), yaze::SnesToPc(), sprites_, yaze::zelda3::Sprite::subtype(), yaze::zelda3::Sprite::x(), and yaze::zelda3::Sprite::y().
Referenced by yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom().
| void yaze::zelda3::Room::LoadChests | ( | ) |
Definition at line 1666 of file room.cc.
References yaze::zelda3::chests_data_pointer1, chests_in_room_, yaze::zelda3::chests_length_pointer, rom(), room_id_, and yaze::SnesToPc().
Referenced by LoadObjects().

| void yaze::zelda3::Room::LoadPotItems | ( | ) |
Definition at line 1853 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 1706 of file room.cc.
References LOG_DEBUG, rom(), rom_, room_id_, yaze::zelda3::RoomObject::set_options(), yaze::zelda3::RoomObject::SetRom(), tile_objects_, yaze::zelda3::Torch, yaze::zelda3::torch_data, and yaze::zelda3::torches_length_pointer.
Referenced by yaze::zelda3::LoadRoomFromRom().

| void yaze::zelda3::Room::LoadBlocks | ( | ) |
Definition at line 1784 of file room.cc.
References yaze::zelda3::Block, yaze::zelda3::blocks_length, yaze::zelda3::blocks_pointer1, yaze::zelda3::blocks_pointer2, yaze::zelda3::blocks_pointer3, yaze::zelda3::blocks_pointer4, 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 1899 of file room.cc.
References LOG_DEBUG, yaze::zelda3::pit_count, yaze::zelda3::pit_pointer, 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 810 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_, 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 246 of file room.h.
References sprites_.
Referenced by yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::zelda3::DungeonEditorSystem::LoadRoomData(), yaze::editor::DungeonCanvasViewer::RenderSprites(), yaze::zelda3::DungeonEditorSystem::SaveRoomData(), and yaze::zelda3::DungeonValidator::ValidateRoom().
|
inline |
|
inline |
Definition at line 250 of file room.h.
References chests_in_room_.
Referenced by yaze::zelda3::DungeonEditorSystem::LoadRoomData().
|
inline |
Definition at line 251 of file room.h.
References chests_in_room_.
|
inline |
Definition at line 254 of file room.h.
References z3_staircases_.
|
inline |
Definition at line 255 of file room.h.
References z3_staircases_.
|
inline |
|
inline |
|
inline |
Definition at line 328 of file room.h.
References doors_, and MarkObjectsDirty().

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

|
inline |
Definition at line 340 of file room.h.
References pot_items_.
Referenced by yaze::editor::DungeonCanvasViewer::RenderPotItems().
|
inline |
Definition at line 341 of file room.h.
References pot_items_.
|
inline |
|
inline |
Definition at line 346 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::CreateUndoPoint(), yaze::cli::anonymous_namespace{dungeon_doctor_commands.cc}::DiagnoseRoom(), yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), yaze::editor::DungeonCanvasViewer::DrawObjectPositionOutlines(), yaze::zelda3::DungeonObjectEditor::GetObjectCount(), yaze::zelda3::DungeonObjectEditor::GetObjects(), 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 349 of file room.h.
References tile_objects_.
|
inline |
Definition at line 352 of file room.h.
References tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ClearRoom(), and yaze::editor::DungeonRoomPanel::Draw().
|
inline |
Definition at line 353 of file room.h.
References MarkObjectsDirty(), and tile_objects_.

| absl::Status yaze::zelda3::Room::AddObject | ( | const RoomObject & | object | ) |
Definition at line 1509 of file room.cc.
References MarkObjectsDirty(), tile_objects_, and ValidateObject().
Referenced by yaze::zelda3::DungeonObjectEditor::DrawPropertyUI(), yaze::zelda3::DungeonObjectEditor::DuplicateObject(), 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 1522 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 1533 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 1548 of file room.cc.
References tile_objects_.
| bool yaze::zelda3::Room::ValidateObject | ( | const RoomObject & | object | ) | const |
Definition at line 1558 of file room.cc.
Referenced by AddObject(), and UpdateObject().
|
inline |
Definition at line 366 of file room.h.
References composite_dirty_, objects_dirty_, and textures_dirty_.
Referenced by AddDoor(), AddObject(), AddTileObject(), RemoveDoor(), RemoveObject(), RemoveTileObject(), SetEffect(), SetTag1(), SetTag2(), SetTileObjects(), and UpdateObject().
|
inline |
Definition at line 371 of file room.h.
References composite_dirty_, graphics_dirty_, and textures_dirty_.
Referenced by set_floor1(), set_floor2(), SetBlockset(), SetPalette(), and SetSpriteset().
|
inline |
Definition at line 376 of file room.h.
References composite_dirty_, layout_dirty_, and textures_dirty_.
|
inline |
Definition at line 381 of file room.h.
References MarkObjectsDirty(), and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::DeleteSelectedObjects().

|
inline |
Definition at line 387 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::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 388 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 389 of file room.h.
References tile_objects_.
|
inline |
Definition at line 394 of file room.h.
References MarkObjectsDirty(), and tile_objects_.
Referenced by yaze::zelda3::DungeonObjectEditor::ApplyUndoPoint().

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

|
inline |
Definition at line 402 of file room.h.
References is_light_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 403 of file room.h.
References MarkGraphicsDirty(), and palette.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

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

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

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

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

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

|
inline |
Definition at line 439 of file room.h.
References staircase_plane_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 443 of file room.h.
References holewarp.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 444 of file room.h.
References staircase_rooms_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 450 of file room.h.
References message_id_.
|
inline |
Definition at line 453 of file room.h.
References is_light_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 456 of file room.h.
References message_id_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 457 of file room.h.
References layer2_mode_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 458 of file room.h.
References layer_merging_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 459 of file room.h.
References is_dark_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 460 of file room.h.
References palette, and palette_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 461 of file room.h.
References background_tileset_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 462 of file room.h.
References sprite_tileset_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 463 of file room.h.
References layer2_behavior_.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 464 of file room.h.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().

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

|
inline |
Definition at line 466 of file room.h.
References pits_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 467 of file room.h.
References stair1_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 468 of file room.h.
References stair2_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 469 of file room.h.
References stair3_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 470 of file room.h.
References stair4_, and destination::target_layer.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 471 of file room.h.
References pits_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 472 of file room.h.
References stair1_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 473 of file room.h.
References stair2_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 474 of file room.h.
References stair3_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 475 of file room.h.
References stair4_, and destination::target.
Referenced by yaze::zelda3::LoadRoomHeaderFromRom().
|
inline |
Definition at line 478 of file room.h.
References is_loaded_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), and yaze::editor::DungeonRoomPanel::OnResourceModified().
|
inline |
Definition at line 479 of file room.h.
References is_loaded_.
Referenced by yaze::zelda3::LoadRoomFromRom().
|
inline |
|
inline |
Definition at line 483 of file room.h.
References tag1_.
Referenced by SetTag1(), and SetTag1Direct().
|
inline |
Definition at line 484 of file room.h.
References tag2_.
Referenced by SetTag2(), and SetTag2Direct().
|
inline |
|
inline |
Definition at line 486 of file room.h.
References layer_merging_.
|
inline |
Definition at line 488 of file room.h.
References room_id_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawMaskHighlights(), and yaze::editor::DungeonCanvasViewer::DrawObjectPositionOutlines().
|
inline |
Definition at line 500 of file room.h.
References floor1_graphics_.
Referenced by yaze::editor::DungeonRoomPanel::Draw().
|
inline |
Definition at line 501 of file room.h.
References floor2_graphics_.
Referenced by yaze::editor::DungeonRoomPanel::Draw().
|
inline |
Definition at line 502 of file room.h.
References floor1_graphics_, and MarkGraphicsDirty().
Referenced by yaze::editor::DungeonRoomPanel::Draw().

|
inline |
Definition at line 508 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 1193 of file room.cc.
References yaze::zelda3::RoomObject::DecodeObjectFromBytes(), doors_, yaze::zelda3::Room::Door::FromRomBytes(), HandleSpecialObjects(), yaze::zelda3::RoomObject::id_, rom(), rom_, room_id_, yaze::zelda3::RoomObject::SetRom(), yaze::Rom::size(), tile_objects_, yaze::zelda3::RoomObject::x(), 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 1580 of file room.cc.
References yaze::zelda3::Chest, chests_in_room_, staircase_rooms_, yaze::zelda3::Stairs, yaze::zelda3::stairsObjects, tile_objects_, and z3_staircases_.
Referenced by ParseObjectsFromLocation().
| absl::Status yaze::zelda3::Room::SaveObjects | ( | ) |
Definition at line 1376 of file room.cc.
References yaze::zelda3::CalculateRoomSize(), EncodeObjects(), rom(), rom_, room_id_, yaze::zelda3::room_object_pointer, yaze::zelda3::RoomSize::room_size, yaze::Rom::size(), yaze::SnesToPc(), yaze::zelda3::tile_address, and yaze::Rom::WriteVector().
Referenced by yaze::zelda3::DungeonObjectEditor::SaveRoom(), and yaze::zelda3::DungeonEditorSystem::SaveRoomData().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeObjects | ( | ) | const |
| absl::Status yaze::zelda3::Room::SaveSprites | ( | ) |
Definition at line 1430 of file room.cc.
References EncodeSprites(), yaze::zelda3::NumberOfRooms, rom(), rom_, room_id_, yaze::zelda3::rooms_sprite_pointer, yaze::Rom::size(), yaze::SnesToPc(), and yaze::Rom::WriteVector().
Referenced by yaze::zelda3::DungeonEditorSystem::SaveRoomData().
| std::vector< uint8_t > yaze::zelda3::Room::EncodeSprites | ( | ) | const |
|
inline |
Definition at line 525 of file room.h.
References blocks_.
Referenced by yaze::editor::DungeonRoomPanel::Draw().
|
inline |
|
inline |
Definition at line 527 of file room.h.
References rom_.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), LoadAnimatedGraphics(), LoadBlocks(), LoadChests(), LoadDoors(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPits(), LoadPotItems(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjects(), SaveSprites(), and SetRom().
|
inline |
|
inline |
|
inline |
Definition at line 530 of file room.h.
References game_data_.
|
inline |
Definition at line 531 of file room.h.
References game_data_.
Referenced by yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::editor::DungeonRoomLoader::LoadRoom(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 534 of file room.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by LoadAnimatedGraphics().
|
inline |
Definition at line 537 of file room.h.
References current_gfx16_.
Referenced by yaze::emu::render::EmulatorRenderService::InjectRoomContext(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
|
inline |
Definition at line 542 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 543 of file room.h.
References bg2_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 544 of file room.h.
References bg1_buffer_.
|
inline |
Definition at line 545 of file room.h.
References bg2_buffer_.
|
inline |
Definition at line 546 of file room.h.
References object_bg1_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 547 of file room.h.
References object_bg1_buffer_.
|
inline |
Definition at line 548 of file room.h.
References object_bg2_buffer_.
Referenced by yaze::zelda3::RoomLayerManager::GetLayerBuffer(), and yaze::zelda3::RoomLayerManager::GetLayerBuffer().
|
inline |
Definition at line 549 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 510 of file room.cc.
References composite_bitmap_, composite_dirty_, and yaze::zelda3::RoomLayerManager::CompositeToOutput().

|
inline |
Definition at line 553 of file room.h.
References composite_bitmap_.
|
inline |
Mark composite bitmap as needing regeneration.
Definition at line 556 of file room.h.
References composite_dirty_.
|
inline |
Definition at line 557 of file room.h.
References composite_dirty_.
|
inline |
Definition at line 559 of file room.h.
References dungeon_state_.
| uint8_t yaze::zelda3::Room::blockset = 0 |
Definition at line 490 of file room.h.
Referenced by yaze::editor::DungeonRoomPanel::Draw(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), LoadRoomGraphics(), yaze::emu::render::EmulatorRenderService::RenderDungeonObject(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), RenderRoomGraphics(), SetBlockset(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
| uint8_t yaze::zelda3::Room::spriteset = 0 |
Definition at line 491 of file room.h.
Referenced by LoadRoomGraphics(), RenderRoomGraphics(), and SetSpriteset().
| uint8_t yaze::zelda3::Room::palette = 0 |
Definition at line 492 of file room.h.
Referenced by LoadLayoutTilesToBuffer(), LoadRoomGraphics(), yaze::emu::render::EmulatorRenderService::RenderDungeonObject(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), RenderObjectsToBackground(), RenderRoomGraphics(), SetPalette(), SetPaletteDirect(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), and yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender().
| uint8_t yaze::zelda3::Room::layout = 0 |
Definition at line 493 of file room.h.
Referenced by LoadLayoutTilesToBuffer(), LoadObjects(), and RenderRoomGraphics().
| uint8_t yaze::zelda3::Room::holewarp = 0 |
Definition at line 494 of file room.h.
Referenced by SetHolewarp().
| uint16_t yaze::zelda3::Room::message_id_ = 0 |
Definition at line 497 of file room.h.
Referenced by SetMessageId(), and SetMessageIdDirect().
|
private |
Definition at line 562 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), LoadAnimatedGraphics(), LoadBlocks(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPotItems(), LoadTorches(), mutable_rom(), ParseObjectsFromLocation(), RenderObjectsToBackground(), rom(), SaveObjects(), SaveSprites(), and SetRom().
|
private |
Definition at line 563 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), game_data(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), LoadRoomGraphics(), RenderObjectsToBackground(), RenderRoomGraphics(), SetGameData(), and version_constants().
|
private |
Definition at line 565 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), get_gfx_buffer(), LoadAnimatedGraphics(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 569 of file room.h.
Referenced by bg1_buffer(), bg1_buffer(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 570 of file room.h.
Referenced by bg2_buffer(), bg2_buffer(), LoadLayoutTilesToBuffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 571 of file room.h.
Referenced by object_bg1_buffer(), object_bg1_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 572 of file room.h.
Referenced by object_bg2_buffer(), object_bg2_buffer(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
mutableprivate |
Definition at line 575 of file room.h.
Referenced by composite_bitmap(), and GetCompositeBitmap().
|
mutableprivate |
Definition at line 576 of file room.h.
Referenced by GetCompositeBitmap(), IsCompositeDirty(), MarkCompositeDirty(), MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), and RenderRoomGraphics().
|
private |
Definition at line 578 of file room.h.
Referenced by IsLight(), and SetIsLight().
|
private |
Definition at line 579 of file room.h.
Referenced by IsLoaded(), and SetLoaded().
|
private |
Definition at line 580 of file room.h.
Referenced by SetIsDark().
|
private |
Definition at line 581 of file room.h.
Referenced by LoadObjects().
|
private |
Definition at line 585 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 586 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 587 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 588 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 589 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 590 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 591 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 592 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 593 of file room.h.
Referenced by RenderRoomGraphics().
|
private |
Definition at line 596 of file room.h.
Referenced by MarkGraphicsDirty(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 597 of file room.h.
Referenced by MarkObjectsDirty(), RenderObjectsToBackground(), and RenderRoomGraphics().
|
private |
Definition at line 598 of file room.h.
Referenced by MarkLayoutDirty(), and RenderRoomGraphics().
|
private |
Definition at line 599 of file room.h.
Referenced by MarkGraphicsDirty(), MarkLayoutDirty(), MarkObjectsDirty(), and RenderRoomGraphics().
|
private |
Definition at line 601 of file room.h.
Referenced by CopyRoomGraphicsToBuffer(), id(), LoadBlocks(), LoadChests(), LoadDoors(), LoadLayoutTilesToBuffer(), LoadObjects(), LoadPits(), LoadPotItems(), LoadRoomGraphics(), LoadSprites(), LoadTorches(), ParseObjectsFromLocation(), RenderObjectsToBackground(), RenderRoomGraphics(), SaveObjects(), and SaveSprites().
|
private |
Definition at line 602 of file room.h.
Referenced by LoadAnimatedGraphics().
|
private |
Definition at line 604 of file room.h.
Referenced by SetStaircasePlane().
|
private |
Definition at line 605 of file room.h.
Referenced by HandleSpecialObjects(), and SetStaircaseRoom().
|
private |
Definition at line 607 of file room.h.
Referenced by LoadAnimatedGraphics(), and SetBackgroundTileset().
|
private |
Definition at line 608 of file room.h.
Referenced by SetSpriteTileset().
|
private |
Definition at line 609 of file room.h.
Referenced by SetLayer2Behavior().
|
private |
Definition at line 610 of file room.h.
Referenced by SetPaletteDirect().
|
private |
Definition at line 611 of file room.h.
Referenced by floor1(), LoadObjects(), RenderRoomGraphics(), and set_floor1().
|
private |
Definition at line 612 of file room.h.
Referenced by floor2(), LoadObjects(), RenderRoomGraphics(), and set_floor2().
|
private |
Definition at line 613 of file room.h.
Referenced by SetLayer2Mode().
|
private |
Definition at line 615 of file room.h.
Referenced by blocks(), CopyRoomGraphicsToBuffer(), LoadRoomGraphics(), mutable_blocks(), and RenderRoomGraphics().
|
private |
|
private |
Definition at line 618 of file room.h.
Referenced by AddObject(), AddTileObject(), ClearTileObjects(), EncodeObjects(), FindObjectAt(), GetTileObject(), GetTileObject(), GetTileObjectCount(), GetTileObjects(), GetTileObjects(), HandleSpecialObjects(), LoadBlocks(), LoadTorches(), ParseObjectsFromLocation(), RemoveObject(), RemoveTileObject(), RenderObjectsToBackground(), SetTileObjects(), and UpdateObject().
|
private |
Definition at line 620 of file room.h.
Referenced by EncodeSprites(), GetSprites(), GetSprites(), LoadSprites(), and RenderObjectsToBackground().
|
private |
Definition at line 621 of file room.h.
Referenced by GetStairs(), GetStairs(), HandleSpecialObjects(), and ParseObjectsFromLocation().
|
private |
Definition at line 622 of file room.h.
Referenced by GetChests(), GetChests(), HandleSpecialObjects(), and LoadChests().
|
private |
Definition at line 623 of file room.h.
Referenced by AddDoor(), GetDoors(), GetDoors(), ParseObjectsFromLocation(), RemoveDoor(), and RenderObjectsToBackground().
|
private |
Definition at line 624 of file room.h.
Referenced by GetPotItems(), GetPotItems(), LoadPotItems(), and RenderObjectsToBackground().
|
private |
Definition at line 625 of file room.h.
Referenced by GetLayout(), and LoadLayoutTilesToBuffer().
|
private |
Definition at line 627 of file room.h.
Referenced by layer_merging(), RenderRoomGraphics(), and SetLayerMerging().
|
private |
Definition at line 628 of file room.h.
Referenced by collision(), and SetCollision().
|
private |
Definition at line 629 of file room.h.
Referenced by effect(), RenderRoomGraphics(), and SetEffect().
|
private |
Definition at line 630 of file room.h.
Referenced by RenderRoomGraphics(), SetTag1(), SetTag1Direct(), and tag1().
|
private |
Definition at line 631 of file room.h.
Referenced by RenderRoomGraphics(), SetTag2(), SetTag2Direct(), and tag2().
|
private |
|
private |
Definition at line 634 of file room.h.
Referenced by LoadPits(), SetPitsTarget(), and SetPitsTargetLayer().
|
private |
Definition at line 635 of file room.h.
Referenced by SetStair1Target(), and SetStair1TargetLayer().
|
private |
Definition at line 636 of file room.h.
Referenced by SetStair2Target(), and SetStair2TargetLayer().
|
private |
Definition at line 637 of file room.h.
Referenced by SetStair3Target(), and SetStair3TargetLayer().
|
private |
Definition at line 638 of file room.h.
Referenced by SetStair4Target(), and SetStair4TargetLayer().
|
private |
Definition at line 640 of file room.h.
Referenced by GetDungeonState(), LoadLayoutTilesToBuffer(), and RenderObjectsToBackground().