1#ifndef YAZE_ZELDA3_DUNGEON_DRAW_ROUTINES_DRAW_ROUTINE_REGISTRY_H
2#define YAZE_ZELDA3_DUNGEON_DRAW_ROUTINES_DRAW_ROUTINE_REGISTRY_H
4#include <unordered_map>
21namespace DrawRoutineIds {
Unified draw routine registry.
const DrawRoutineInfo * GetRoutineInfo(int routine_id) const
const std::vector< DrawRoutineInfo > & GetAllRoutines() const
bool GetRoutineDimensions(int routine_id, int *base_width, int *base_height) const
DrawRoutineRegistry()=default
bool RoutineDrawsToBothBGs(int routine_id) const
std::unordered_map< int, const DrawRoutineInfo * > routine_map_
std::vector< DrawRoutineInfo > routines_
static DrawRoutineRegistry & Get()
constexpr int kBombableFloor
constexpr int kGanonTriforceFloorDecor
constexpr int kRightwards2x2_1to16
constexpr int kTableRock4x4_1to16
constexpr int kDownwardsBigRail3x1_1to16plus5
constexpr int kStraightInterRoomStairs
constexpr int kBigKeyLock
constexpr int kArcheryGameTargetDoor
constexpr int kDiagonalGrave_1to16
constexpr int kRupeeFloor
constexpr int kRightwardsShelf4x4_1to16
constexpr int kClosedChestPlatform
constexpr int kDownwardsBlock2x2spaced2_1to16
constexpr int kDownwardsLeftCorners2x1_1to16_plus12
constexpr int kRightwardsHasEdge1x1_1to16_plus2
constexpr int kSomariaLine
constexpr int kRightwardsEdge1x1_1to16plus7
constexpr int kDownwardsDecor3x4spaced4_1to16
constexpr int k4x4FloorIn4x4SuperSquare
constexpr int kRightwardsLine1x1_1to16plus1
constexpr int k4x4BlocksIn4x4SuperSquare
constexpr int kDiagonalGrave_1to16_BothBG
constexpr int kDownwards2x2_1to16
constexpr int kRightwardsBlock2x2spaced2_1to16
constexpr int kCorner4x4_BothBG
constexpr int kSpiralStairsGoingDownUpper
constexpr int kRightwardsDecor4x4spaced2_1to16
constexpr int kHorizontalTurtleRockPipe
constexpr int kRightwardsDecor2x2spaced12_1to16
constexpr int kRightwardsStatue2x3spaced2_1to16
constexpr int kInterRoomFatStairsUp
constexpr int kSpittingWaterFace
constexpr int kDiagonalCeilingBottomRight
constexpr int kDownwardsDecor2x4spaced8_1to16
constexpr int kDownwardsHasEdge1x1_1to16_plus3
constexpr int kDownwardsDecor3x4spaced2_1to16
constexpr int kBigLightBeam
constexpr int kDownwardsPillar2x4spaced2_1to16
constexpr int kRightwards4x4_1to16
constexpr int kRightwardsBottomCorners1x2_1to16_plus13
constexpr int kDownwardsRightCorners2x1_1to16_plus12
constexpr int kRightwards2x4_1to16_BothBG
constexpr int kDownwardsFloor4x4_1to16
constexpr int kLargeCanvasObject
constexpr int k3x3FloorIn4x4SuperSquare
constexpr int kSolidWallDecor3x4
constexpr int kRightwardsBar4x3_1to16
constexpr int kDownwardsDecor2x2spaced12_1to16
constexpr int kDownwards4x2_1to15or26
constexpr int kWaterOverlay8x8_1to16
constexpr int kDiagonalAcute_1to16
constexpr int kSpiralStairsGoingUpUpper
constexpr int k4x4FloorOneIn4x4SuperSquare
constexpr int kRightwards2x2_1to15or32
constexpr int kInterRoomFatStairsDownB
constexpr int kVerticalTurtleRockPipe
constexpr int kDiagonalCeilingBottomLeft
constexpr int kWeirdCornerBottom_BothBG
constexpr int kSpike2x2In4x4SuperSquare
constexpr int kDownwards2x2_1to15or32
constexpr int kDownwards1x1Solid_1to16_plus3
constexpr int kMovingWallWest
constexpr int kMovingWallEast
constexpr int kRightwardsHasEdge1x1_1to16_plus3
constexpr int kDiagonalCeilingTopRight
constexpr int kDownwardsDecor4x4spaced2_1to16
constexpr int kRightwards1x2_1to16_plus2
constexpr int kRightwardsPillar2x4spaced4_1to16
constexpr int kDownwardsCannonHole3x6_1to16
constexpr int kInterRoomFatStairsDownA
constexpr int kRightwardsTopCorners1x2_1to16_plus13
constexpr int kUtility6x3
constexpr int kDownwardsHammerPegs2x2_1to16
constexpr int kRightwards2x4_1to16
constexpr int kSpiralStairsGoingUpLower
constexpr int kRightwards2x4_1to15or26
constexpr int kBigHole4x4_1to16
constexpr int kDownwardsBar2x3_1to16
constexpr int kDownwardsLine1x1_1to16plus1
constexpr int kRightwardsDecor4x3spaced4_1to16
constexpr int kCannonHole4x3
constexpr int kRightwardsHammerPegs2x2_1to16
constexpr int kDownwards4x2_1to16_BothBG
constexpr int kAutoStairs
constexpr int kCustomObject
constexpr int kOpenChestPlatform
constexpr int kEmptyWaterFace
constexpr int kDrenchingWaterFace
constexpr int kDownwardsPots2x2_1to16
constexpr int kDownwardsEdge1x1_1to16
constexpr int kRightwards1x1Solid_1to16_plus3
constexpr int kWeirdCornerTop_BothBG
constexpr int kRightwardsBigRail1x3_1to16plus5
constexpr int kFloorTile4x2
constexpr int kDiagonalAcute_1to16_BothBG
constexpr int kRightwardsDoubled2x2spaced2_1to16
constexpr int kSpiralStairsGoingDownLower
constexpr int kUtility3x5
constexpr int kDownwardsDecor4x2spaced4_1to16
constexpr int k4x4FloorTwoIn4x4SuperSquare
constexpr int kDiagonalCeilingTopLeft
constexpr int kRightwards3x6
constexpr int kDoorSwitcherer
constexpr int kDownwardsHasEdge1x1_1to16_plus23
constexpr int kRightwardsPots2x2_1to16
constexpr int kBossShell4x4
Metadata about a draw routine.