yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_canvas_viewer.h File Reference
#include <array>
#include <cstdint>
#include <functional>
#include <map>
#include <optional>
#include <string>
#include <unordered_map>
#include <vector>
#include "app/editor/editor.h"
#include "app/gfx/backend/irenderer.h"
#include "app/gfx/types/snes_palette.h"
#include "app/gui/canvas/canvas.h"
#include "app/gui/canvas/canvas_touch_handler.h"
#include "core/project.h"
#include "dungeon_object_interaction.h"
#include "dungeon_rendering_helpers.h"
#include "dungeon_room_store.h"
#include "imgui/imgui.h"
#include "rom/rom.h"
#include "zelda3/dungeon/dungeon_editor_system.h"
#include "zelda3/dungeon/room.h"
#include "zelda3/dungeon/room_layer_manager.h"
#include "zelda3/game_data.h"

Go to the source code of this file.

Classes

struct  yaze::editor::DungeonConnectedRoomLink
 
struct  yaze::editor::DungeonStaircaseIssue
 
struct  yaze::editor::DungeonConnectedRoomLinkDiagnostics
 
class  yaze::editor::DungeonCanvasViewer
 
struct  yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData
 
struct  yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::RoomPlacement
 
struct  yaze::editor::DungeonCanvasViewer::ChangePingRect
 
struct  yaze::editor::DungeonCanvasViewer::ObjectRenderCache
 
struct  yaze::editor::DungeonCanvasViewer::ObjectOutlineToggles
 
struct  yaze::editor::DungeonCanvasViewer::EntityVisibility
 

Namespaces

namespace  yaze
 
namespace  yaze::editor
 Editors are the view controllers for the application.
 

Enumerations

enum class  yaze::editor::DungeonConnectedLinkType : uint8_t { yaze::editor::Door , yaze::editor::Staircase , yaze::editor::Holewarp }
 
enum class  yaze::editor::DungeonStaircaseIssueKind : uint8_t { yaze::editor::UnusedHeader , yaze::editor::MissingDestination , yaze::editor::ExtraPlacedObject }
 
enum class  yaze::editor::DungeonIssueCategory : int {
  yaze::editor::PaletteMismatch = 0 , yaze::editor::ObjectDrawMismatch = 1 , yaze::editor::DoorRenderMismatch = 2 , yaze::editor::EntityMismatch = 3 ,
  yaze::editor::OverlayCollisionMismatch = 4 , yaze::editor::GeneralRoomRenderMismatch = 5
}
 
enum class  yaze::editor::ObjectRenderMode { yaze::editor::Manual , yaze::editor::Emulator , yaze::editor::Hybrid }
 Handles the main dungeon canvas rendering and interaction. More...
 

Functions

constexpr int yaze::editor::ToIssueCategoryIndex (DungeonIssueCategory category)
 
const char * yaze::editor::GetIssueCategoryLabel (int index)
 
DungeonIssueCategory yaze::editor::GetDefaultSelectionIssueCategory (const DungeonObjectInteraction &object_interaction)
 
std::vector< DungeonConnectedRoomLinkyaze::editor::CollectDungeonConnectedRoomLinks (int room_id, const zelda3::Room &room, const std::function< bool(int, zelda3::DoorDirection)> &has_reciprocal_door)
 
DungeonConnectedRoomLinkDiagnostics yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics (int room_id, const zelda3::Room &room, const std::function< bool(int, zelda3::DoorDirection)> &has_reciprocal_door)
 
std::string yaze::editor::FormatDungeonConnectedLinkDescription (const DungeonConnectedRoomLink &link)
 
std::string yaze::editor::FormatDungeonStaircaseIssueDescription (const DungeonStaircaseIssue &issue)
 
int yaze::editor::NeighborRoomId (int room_id, zelda3::DoorDirection dir)
 
zelda3::DoorDirection yaze::editor::OppositeDir (zelda3::DoorDirection dir)
 

Variables

constexpr std::array< const char *, 6 > yaze::editor::kDungeonIssueCategoryLabels