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

DungeonEditorV2 - Simplified dungeon editor using component delegation. More...

#include <dungeon_editor_v2.h>

Inheritance diagram for yaze::editor::DungeonEditorV2:

Classes

struct  PendingSwap
 

Public Member Functions

 DungeonEditorV2 (Rom *rom=nullptr)
 
 ~DungeonEditorV2 () override
 
void SetGameData (zelda3::GameData *game_data) override
 
void Initialize (gfx::IRenderer *renderer, Rom *rom)
 
void Initialize () override
 
absl::Status Load ()
 
absl::Status Update () override
 
absl::Status Undo () override
 
absl::Status Redo () override
 
absl::Status Cut () override
 
absl::Status Copy () override
 
absl::Status Paste () override
 
absl::Status Find () override
 
absl::Status Save () override
 
void SetRom (Rom *rom)
 
Romrom () const
 
void add_room (int room_id)
 
void FocusRoom (int room_id)
 
void SelectObject (int obj_id)
 
void SetAgentMode (bool enabled)
 
bool IsRomLoaded () const override
 
std::string GetRomStatus () const override
 
void ShowPanel (const std::string &card_id)
 
int current_room_id () const
 
const ImVector< int > & active_rooms () const
 
ObjectEditorPanelobject_editor_panel () const
 
- Public Member Functions inherited from yaze::editor::Editor
 Editor ()=default
 
virtual ~Editor ()=default
 
void SetDependencies (const EditorDependencies &deps)
 
virtual absl::Status Clear ()
 
EditorType type () const
 
bool * active ()
 
void set_active (bool active)
 
void toggle_active ()
 
Romrom () const
 
zelda3::GameDatagame_data () const
 
EditorContext context () const
 
bool HasContext () const
 

Static Public Attributes

static constexpr const char * kControlPanelId = "dungeon.control_panel"
 
static constexpr const char * kRoomSelectorId = "dungeon.room_selector"
 
static constexpr const char * kEntranceListId = "dungeon.entrance_list"
 
static constexpr const char * kRoomMatrixId = "dungeon.room_matrix"
 
static constexpr const char * kRoomGraphicsId = "dungeon.room_graphics"
 
static constexpr const char * kObjectToolsId = "dungeon.object_tools"
 
static constexpr const char * kPaletteEditorId = "dungeon.palette_editor"
 

Private Member Functions

void DrawRoomPanels ()
 
void DrawRoomTab (int room_id)
 
void ProcessDeferredTextures ()
 
void OnRoomSelected (int room_id, bool request_focus=true)
 
void OnEntranceSelected (int entrance_id)
 
void SwapRoomInPanel (int old_room_id, int new_room_id)
 
void HandleObjectPlaced (const zelda3::RoomObject &obj)
 
DungeonCanvasViewerGetViewerForRoom (int room_id)
 
void PushUndoSnapshot (int room_id)
 
absl::Status RestoreFromSnapshot (int room_id, std::vector< zelda3::RoomObject > snapshot)
 
void ClearRedo (int room_id)
 
void ProcessPendingSwap ()
 

Private Attributes

gfx::IRendererrenderer_ = nullptr
 
Romrom_
 
zelda3::GameDatagame_data_ = nullptr
 
std::array< zelda3::Room, 0x128 > rooms_
 
std::array< zelda3::RoomEntrance, 0x8C > entrances_
 
int current_entrance_id_ = 0
 
ImVector< int > active_rooms_
 
int current_room_id_ = 0
 
bool control_panel_minimized_ = false
 
gfx::SnesPalette current_palette_
 
gfx::PaletteGroup current_palette_group_
 
uint64_t current_palette_id_ = 0
 
uint64_t current_palette_group_id_ = 0
 
DungeonRoomLoader room_loader_
 
DungeonRoomSelector room_selector_
 
std::map< int, std::unique_ptr< DungeonCanvasViewer > > room_viewers_
 
gui::PaletteEditorWidget palette_editor_
 
ObjectEditorPanelobject_editor_panel_ = nullptr
 
DungeonRoomGraphicsPanelroom_graphics_panel_ = nullptr
 
class SpriteEditorPanelsprite_editor_panel_ = nullptr
 
class ItemEditorPanelitem_editor_panel_ = nullptr
 
class MinecartTrackEditorPanelminecart_track_editor_panel_ = nullptr
 
std::unique_ptr< ObjectEditorPanelowned_object_editor_panel_
 
std::unique_ptr< zelda3::DungeonEditorSystemdungeon_editor_system_
 
std::unique_ptr< emu::render::EmulatorRenderServicerender_service_
 
bool is_loaded_ = false
 
ImGuiWindowClass room_window_class_
 
ImGuiID room_dock_id_ = 0
 
std::unordered_map< int, std::shared_ptr< gui::PanelWindow > > room_cards_
 
std::unordered_map< int, std::vector< std::vector< zelda3::RoomObject > > > undo_history_
 
std::unordered_map< int, std::vector< std::vector< zelda3::RoomObject > > > redo_history_
 
PendingSwap pending_swap_
 

Additional Inherited Members

- Protected Member Functions inherited from yaze::editor::Editor
std::string MakePanelTitle (const std::string &base_title) const
 
std::string MakePanelId (const std::string &base_id) const
 
template<typename T >
absl::StatusOr< T > SafeRomAccess (std::function< T()> accessor, const std::string &operation="") const
 
- Protected Attributes inherited from yaze::editor::Editor
bool active_ = false
 
EditorType type_
 
EditorDependencies dependencies_
 

Detailed Description

DungeonEditorV2 - Simplified dungeon editor using component delegation.

This is a drop-in replacement for DungeonEditor that properly delegates to the component system instead of implementing everything inline.

Architecture:

The editor acts as a coordinator, not an implementer.

Ownership Model

OWNED by DungeonEditorV2 (use unique_ptr or direct member):

  • rooms_ (std::array) - full ownership
  • entrances_ (std::array) - full ownership
  • room_viewers_ (map of unique_ptr) - owns canvas viewers per room
  • dungeon_editor_system_ (unique_ptr) - owns editor system
  • render_service_ (unique_ptr) - owns emulator render service
  • room_loader_, room_selector_, palette_editor_ - direct members

EXTERNALLY OWNED (raw pointers, lifetime managed elsewhere):

OWNED BY PanelManager (registered EditorPanels):

  • object_editor_panel_ - registered via RegisterEditorPanel()
  • room_graphics_panel_ - registered via RegisterEditorPanel()
  • sprite_editor_panel_ - registered via RegisterEditorPanel()
  • item_editor_panel_ - registered via RegisterEditorPanel()

Panel pointers are stored for convenience access but should NOT be deleted by this class. PanelManager owns them.

Definition at line 74 of file dungeon_editor_v2.h.

Constructor & Destructor Documentation

◆ DungeonEditorV2()

yaze::editor::DungeonEditorV2::DungeonEditorV2 ( Rom * rom = nullptr)
inlineexplicit

Definition at line 76 of file dungeon_editor_v2.h.

References yaze::zelda3::CreateDungeonEditorSystem(), dungeon_editor_system_, yaze::editor::kDungeon, rom(), rooms_, and yaze::editor::Editor::type_.

Here is the call graph for this function:

◆ ~DungeonEditorV2()

yaze::editor::DungeonEditorV2::~DungeonEditorV2 ( )
override

Member Function Documentation

◆ SetGameData()

◆ Initialize() [1/2]

◆ Initialize() [2/2]

void yaze::editor::DungeonEditorV2::Initialize ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 195 of file dungeon_editor_v2.cc.

◆ Load()

absl::Status yaze::editor::DungeonEditorV2::Load ( )
virtual

Implements yaze::editor::Editor.

Definition at line 197 of file dungeon_editor_v2.cc.

References active_rooms_, ASSIGN_OR_RETURN, yaze::project::YazeProject::code_folder, yaze::gfx::CreatePaletteGroupFromLargePalette(), current_palette_, current_palette_group_, current_palette_group_id_, current_room_id_, yaze::project::YazeProject::custom_objects_folder, yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::gfx::PaletteGroupMap::dungeon_main, entrances_, yaze::editor::Editor::game_data(), yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::ObjectDimensionTable::Get(), yaze::zelda3::CustomObjectManager::Initialize(), yaze::gfx::PaletteManager::Initialize(), yaze::gui::PaletteEditorWidget::Initialize(), yaze::Rom::is_loaded(), is_loaded_, item_editor_panel_, yaze::editor::DungeonRoomLoader::LoadRoomEntrances(), LOG_ERROR, minecart_track_editor_panel_, object_editor_panel_, OnRoomSelected(), owned_object_editor_panel_, palette_editor_, yaze::zelda3::GameData::palette_groups, yaze::editor::EditorDependencies::panel_manager, yaze::editor::EditorDependencies::project, yaze::editor::PanelManager::RegisterEditorPanel(), render_service_, renderer_, RETURN_IF_ERROR, rom_, room_graphics_panel_, room_loader_, room_selector_, rooms_, yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::DungeonRoomSelector::set_entrances(), yaze::editor::DungeonRoomSelector::set_rooms(), yaze::editor::ObjectEditorPanel::SetGameData(), yaze::gui::PaletteEditorWidget::SetOnPaletteChanged(), yaze::editor::MinecartTrackEditorPanel::SetProjectRoot(), yaze::editor::DungeonRoomSelector::SetRoomSelectedCallback(), and sprite_editor_panel_.

◆ Update()

◆ Undo()

absl::Status yaze::editor::DungeonEditorV2::Undo ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 373 of file dungeon_editor_v2.cc.

References dungeon_editor_system_.

◆ Redo()

absl::Status yaze::editor::DungeonEditorV2::Redo ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 380 of file dungeon_editor_v2.cc.

References dungeon_editor_system_.

◆ Cut()

absl::Status yaze::editor::DungeonEditorV2::Cut ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 751 of file dungeon_editor_v2.cc.

References current_room_id_, and GetViewerForRoom().

Here is the call graph for this function:

◆ Copy()

absl::Status yaze::editor::DungeonEditorV2::Copy ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 759 of file dungeon_editor_v2.cc.

References current_room_id_, and GetViewerForRoom().

Here is the call graph for this function:

◆ Paste()

absl::Status yaze::editor::DungeonEditorV2::Paste ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 766 of file dungeon_editor_v2.cc.

References current_room_id_, and GetViewerForRoom().

Here is the call graph for this function:

◆ Find()

absl::Status yaze::editor::DungeonEditorV2::Find ( )
inlineoverridevirtual

Implements yaze::editor::Editor.

Definition at line 119 of file dungeon_editor_v2.h.

◆ Save()

absl::Status yaze::editor::DungeonEditorV2::Save ( )
overridevirtual

◆ SetRom()

void yaze::editor::DungeonEditorV2::SetRom ( Rom * rom)
inline

Definition at line 123 of file dungeon_editor_v2.h.

References yaze::Rom::is_loaded(), render_service_, rom(), rom_, room_loader_, room_selector_, room_viewers_, rooms_, and yaze::editor::DungeonRoomSelector::SetRom().

Here is the call graph for this function:

◆ rom()

Rom * yaze::editor::DungeonEditorV2::rom ( ) const
inline

Definition at line 145 of file dungeon_editor_v2.h.

References rom_.

Referenced by DungeonEditorV2(), Initialize(), and SetRom().

◆ add_room()

void yaze::editor::DungeonEditorV2::add_room ( int room_id)

Definition at line 701 of file dungeon_editor_v2.cc.

References OnRoomSelected().

Here is the call graph for this function:

◆ FocusRoom()

void yaze::editor::DungeonEditorV2::FocusRoom ( int room_id)

Definition at line 703 of file dungeon_editor_v2.cc.

References room_cards_.

Referenced by OnRoomSelected().

◆ SelectObject()

void yaze::editor::DungeonEditorV2::SelectObject ( int obj_id)

Definition at line 710 of file dungeon_editor_v2.cc.

References kObjectToolsId, object_editor_panel_, yaze::editor::ObjectEditorPanel::SelectObject(), and ShowPanel().

Here is the call graph for this function:

◆ SetAgentMode()

void yaze::editor::DungeonEditorV2::SetAgentMode ( bool enabled)

◆ IsRomLoaded()

bool yaze::editor::DungeonEditorV2::IsRomLoaded ( ) const
inlineoverridevirtual

Reimplemented from yaze::editor::Editor.

Definition at line 156 of file dungeon_editor_v2.h.

References yaze::Rom::is_loaded(), and rom_.

Here is the call graph for this function:

◆ GetRomStatus()

std::string yaze::editor::DungeonEditorV2::GetRomStatus ( ) const
inlineoverridevirtual

Reimplemented from yaze::editor::Editor.

Definition at line 157 of file dungeon_editor_v2.h.

References yaze::Rom::is_loaded(), rom_, and yaze::Rom::title().

Here is the call graph for this function:

◆ ShowPanel()

void yaze::editor::DungeonEditorV2::ShowPanel ( const std::string & card_id)
inline

◆ current_room_id()

int yaze::editor::DungeonEditorV2::current_room_id ( ) const
inline

Definition at line 180 of file dungeon_editor_v2.h.

References yaze::editor::DungeonRoomSelector::current_room_id(), and room_selector_.

Here is the call graph for this function:

◆ active_rooms()

const ImVector< int > & yaze::editor::DungeonEditorV2::active_rooms ( ) const
inline

Definition at line 181 of file dungeon_editor_v2.h.

References yaze::editor::DungeonRoomSelector::active_rooms(), and room_selector_.

Here is the call graph for this function:

◆ object_editor_panel()

ObjectEditorPanel * yaze::editor::DungeonEditorV2::object_editor_panel ( ) const
inline

Definition at line 184 of file dungeon_editor_v2.h.

References object_editor_panel_.

◆ DrawRoomPanels()

◆ DrawRoomTab()

void yaze::editor::DungeonEditorV2::DrawRoomTab ( int room_id)
private

◆ ProcessDeferredTextures()

void yaze::editor::DungeonEditorV2::ProcessDeferredTextures ( )
private

Definition at line 728 of file dungeon_editor_v2.cc.

References yaze::gfx::Arena::Get(), yaze::gfx::Arena::ProcessTextureQueue(), and renderer_.

Here is the call graph for this function:

◆ OnRoomSelected()

◆ OnEntranceSelected()

void yaze::editor::DungeonEditorV2::OnEntranceSelected ( int entrance_id)
private

Definition at line 693 of file dungeon_editor_v2.cc.

References entrances_, and OnRoomSelected().

Referenced by Initialize().

Here is the call graph for this function:

◆ SwapRoomInPanel()

void yaze::editor::DungeonEditorV2::SwapRoomInPanel ( int old_room_id,
int new_room_id )
private

◆ HandleObjectPlaced()

void yaze::editor::DungeonEditorV2::HandleObjectPlaced ( const zelda3::RoomObject & obj)
private

◆ GetViewerForRoom()

◆ PushUndoSnapshot()

void yaze::editor::DungeonEditorV2::PushUndoSnapshot ( int room_id)
private

Definition at line 773 of file dungeon_editor_v2.cc.

References ClearRedo(), rooms_, and undo_history_.

Referenced by GetViewerForRoom().

Here is the call graph for this function:

◆ RestoreFromSnapshot()

absl::Status yaze::editor::DungeonEditorV2::RestoreFromSnapshot ( int room_id,
std::vector< zelda3::RoomObject > snapshot )
private

Definition at line 780 of file dungeon_editor_v2.cc.

References rooms_.

◆ ClearRedo()

void yaze::editor::DungeonEditorV2::ClearRedo ( int room_id)
private

Definition at line 792 of file dungeon_editor_v2.cc.

References redo_history_.

Referenced by PushUndoSnapshot().

◆ ProcessPendingSwap()

Member Data Documentation

◆ kControlPanelId

constexpr const char* yaze::editor::DungeonEditorV2::kControlPanelId = "dungeon.control_panel"
staticconstexpr

Definition at line 171 of file dungeon_editor_v2.h.

Referenced by Initialize().

◆ kRoomSelectorId

constexpr const char* yaze::editor::DungeonEditorV2::kRoomSelectorId = "dungeon.room_selector"
staticconstexpr

Definition at line 172 of file dungeon_editor_v2.h.

Referenced by Initialize(), and SetAgentMode().

◆ kEntranceListId

constexpr const char* yaze::editor::DungeonEditorV2::kEntranceListId = "dungeon.entrance_list"
staticconstexpr

Definition at line 173 of file dungeon_editor_v2.h.

Referenced by Initialize().

◆ kRoomMatrixId

constexpr const char* yaze::editor::DungeonEditorV2::kRoomMatrixId = "dungeon.room_matrix"
staticconstexpr

Definition at line 174 of file dungeon_editor_v2.h.

Referenced by Initialize().

◆ kRoomGraphicsId

constexpr const char* yaze::editor::DungeonEditorV2::kRoomGraphicsId = "dungeon.room_graphics"
staticconstexpr

Definition at line 175 of file dungeon_editor_v2.h.

Referenced by Initialize(), and SetAgentMode().

◆ kObjectToolsId

constexpr const char* yaze::editor::DungeonEditorV2::kObjectToolsId = "dungeon.object_tools"
staticconstexpr

Definition at line 176 of file dungeon_editor_v2.h.

Referenced by GetViewerForRoom(), SelectObject(), and SetAgentMode().

◆ kPaletteEditorId

constexpr const char* yaze::editor::DungeonEditorV2::kPaletteEditorId = "dungeon.palette_editor"
staticconstexpr

Definition at line 177 of file dungeon_editor_v2.h.

Referenced by Initialize().

◆ renderer_

gfx::IRenderer* yaze::editor::DungeonEditorV2::renderer_ = nullptr
private

Definition at line 189 of file dungeon_editor_v2.h.

Referenced by GetViewerForRoom(), Initialize(), Load(), and ProcessDeferredTextures().

◆ rom_

Rom* yaze::editor::DungeonEditorV2::rom_
private

◆ game_data_

zelda3::GameData* yaze::editor::DungeonEditorV2::game_data_ = nullptr
private

Definition at line 213 of file dungeon_editor_v2.h.

Referenced by GetViewerForRoom(), and SetGameData().

◆ rooms_

◆ entrances_

std::array<zelda3::RoomEntrance, 0x8C> yaze::editor::DungeonEditorV2::entrances_
private

Definition at line 215 of file dungeon_editor_v2.h.

Referenced by Initialize(), Load(), and OnEntranceSelected().

◆ current_entrance_id_

int yaze::editor::DungeonEditorV2::current_entrance_id_ = 0
private

Definition at line 218 of file dungeon_editor_v2.h.

Referenced by Initialize().

◆ active_rooms_

ImVector<int> yaze::editor::DungeonEditorV2::active_rooms_
private

◆ current_room_id_

int yaze::editor::DungeonEditorV2::current_room_id_ = 0
private

◆ control_panel_minimized_

bool yaze::editor::DungeonEditorV2::control_panel_minimized_ = false
private

Definition at line 224 of file dungeon_editor_v2.h.

◆ current_palette_

gfx::SnesPalette yaze::editor::DungeonEditorV2::current_palette_
private

Definition at line 227 of file dungeon_editor_v2.h.

Referenced by Load(), and OnRoomSelected().

◆ current_palette_group_

gfx::PaletteGroup yaze::editor::DungeonEditorV2::current_palette_group_
private

Definition at line 228 of file dungeon_editor_v2.h.

Referenced by GetViewerForRoom(), Load(), and OnRoomSelected().

◆ current_palette_id_

uint64_t yaze::editor::DungeonEditorV2::current_palette_id_ = 0
private

Definition at line 229 of file dungeon_editor_v2.h.

Referenced by GetViewerForRoom(), and OnRoomSelected().

◆ current_palette_group_id_

uint64_t yaze::editor::DungeonEditorV2::current_palette_group_id_ = 0
private

Definition at line 230 of file dungeon_editor_v2.h.

Referenced by Load().

◆ room_loader_

DungeonRoomLoader yaze::editor::DungeonEditorV2::room_loader_
private

Definition at line 233 of file dungeon_editor_v2.h.

Referenced by DrawRoomTab(), Load(), OnRoomSelected(), SetGameData(), and SetRom().

◆ room_selector_

DungeonRoomSelector yaze::editor::DungeonEditorV2::room_selector_
private

◆ room_viewers_

std::map<int, std::unique_ptr<DungeonCanvasViewer> > yaze::editor::DungeonEditorV2::room_viewers_
private

◆ palette_editor_

gui::PaletteEditorWidget yaze::editor::DungeonEditorV2::palette_editor_
private

Definition at line 238 of file dungeon_editor_v2.h.

Referenced by Load(), and OnRoomSelected().

◆ object_editor_panel_

ObjectEditorPanel* yaze::editor::DungeonEditorV2::object_editor_panel_ = nullptr
private

◆ room_graphics_panel_

DungeonRoomGraphicsPanel* yaze::editor::DungeonEditorV2::room_graphics_panel_ = nullptr
private

Definition at line 242 of file dungeon_editor_v2.h.

Referenced by Load(), and OnRoomSelected().

◆ sprite_editor_panel_

class SpriteEditorPanel* yaze::editor::DungeonEditorV2::sprite_editor_panel_ = nullptr
private

Definition at line 243 of file dungeon_editor_v2.h.

Referenced by Load(), OnRoomSelected(), and ~DungeonEditorV2().

◆ item_editor_panel_

class ItemEditorPanel* yaze::editor::DungeonEditorV2::item_editor_panel_ = nullptr
private

Definition at line 244 of file dungeon_editor_v2.h.

Referenced by Load(), OnRoomSelected(), and ~DungeonEditorV2().

◆ minecart_track_editor_panel_

class MinecartTrackEditorPanel* yaze::editor::DungeonEditorV2::minecart_track_editor_panel_ = nullptr
private

Definition at line 245 of file dungeon_editor_v2.h.

Referenced by Load().

◆ owned_object_editor_panel_

std::unique_ptr<ObjectEditorPanel> yaze::editor::DungeonEditorV2::owned_object_editor_panel_
private

Definition at line 249 of file dungeon_editor_v2.h.

Referenced by Load().

◆ dungeon_editor_system_

std::unique_ptr<zelda3::DungeonEditorSystem> yaze::editor::DungeonEditorV2::dungeon_editor_system_
private

◆ render_service_

std::unique_ptr<emu::render::EmulatorRenderService> yaze::editor::DungeonEditorV2::render_service_
private

Definition at line 251 of file dungeon_editor_v2.h.

Referenced by Load(), and SetRom().

◆ is_loaded_

bool yaze::editor::DungeonEditorV2::is_loaded_ = false
private

Definition at line 253 of file dungeon_editor_v2.h.

Referenced by Load(), and Update().

◆ room_window_class_

ImGuiWindowClass yaze::editor::DungeonEditorV2::room_window_class_
private

Definition at line 256 of file dungeon_editor_v2.h.

Referenced by DrawRoomPanels(), Initialize(), and Update().

◆ room_dock_id_

ImGuiID yaze::editor::DungeonEditorV2::room_dock_id_ = 0
private

Definition at line 259 of file dungeon_editor_v2.h.

Referenced by DrawRoomPanels().

◆ room_cards_

std::unordered_map<int, std::shared_ptr<gui::PanelWindow> > yaze::editor::DungeonEditorV2::room_cards_
private

Definition at line 262 of file dungeon_editor_v2.h.

Referenced by DrawRoomPanels(), FocusRoom(), and ProcessPendingSwap().

◆ undo_history_

std::unordered_map<int, std::vector<std::vector<zelda3::RoomObject> > > yaze::editor::DungeonEditorV2::undo_history_
private

Definition at line 266 of file dungeon_editor_v2.h.

Referenced by PushUndoSnapshot().

◆ redo_history_

std::unordered_map<int, std::vector<std::vector<zelda3::RoomObject> > > yaze::editor::DungeonEditorV2::redo_history_
private

Definition at line 268 of file dungeon_editor_v2.h.

Referenced by ClearRedo().

◆ pending_swap_

PendingSwap yaze::editor::DungeonEditorV2::pending_swap_
private

Definition at line 276 of file dungeon_editor_v2.h.

Referenced by ProcessPendingSwap(), and SwapRoomInPanel().


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