1#ifndef YAZE_ZELDA3_DUNGEON_DOOR_TYPES_H
2#define YAZE_ZELDA3_DUNGEON_DOOR_TYPES_H
114 return "Normal Door";
116 return "Normal Door (Lower)";
118 return "Exit (Lower)";
120 return "Unused Cave Exit";
123 return "Waterfall Door";
125 return "Fancy Dungeon Exit";
127 return "Fancy Exit (Lower)";
131 return "Lit Cave Exit (Lower)";
134 return "Exit Marker";
136 return "Dungeon Swap Marker";
138 return "Layer Swap Marker";
141 return "Double-Sided Shutter";
143 return "Eye Watch Door";
145 return "Small Key Door";
147 return "Big Key Door";
149 return "Small Key Stairs (Up)";
151 return "Small Key Stairs (Down)";
153 return "Key Stairs Up (Lower)";
155 return "Key Stairs Down (Lower)";
160 return "Bombable Cave Exit";
162 return "Unopenable Big Key Door";
164 return "Bombable Door";
166 return "Exploding Wall";
169 return "Curtain Door";
171 return "Unusable Bottom Shutter";
173 return "Bottom-Sided Shutter";
175 return "Top-Sided Shutter";
177 return "Unusable Door 0x3A";
179 return "Unusable Door 0x3C";
181 return "Unusable Door 0x3E";
183 return "Normal Door (One-Sided)";
186 return "Unused Double Shutter";
188 return "Double Shutter (Lower)";
190 return "Explicit Room Door";
192 return "Bottom Shutter (Lower)";
194 return "Top Shutter (Lower)";
197 return "Unknown/Glitchy Door";
270 return static_cast<DoorType>(raw_type);
constexpr std::array< DoorType, 20 > GetAllDoorTypes()
Get commonly used door types for UI dropdowns Returns the most frequently used door types (not all 52...
constexpr DoorDirection DoorDirectionFromRaw(uint8_t raw_dir)
Convert raw direction byte to DoorDirection enum.
constexpr DoorDimensions GetDoorDimensions(DoorDirection dir)
Get door dimensions based on direction.
DoorType
Door types from ALTTP.
@ NormalDoorOneSidedShutter
Normal door (lower layer; with one-sided shutters)
@ TopShutterLower
Top-sided shutter door (lower layer)
@ FancyDungeonExitLower
Fancy dungeon exit (lower layer)
@ UnusableGlitchyStairs64
Unusable glitchy/stairs up (lower layer)
@ FancyDungeonExit
Fancy dungeon exit.
@ SmallKeyDoor
Small key door.
@ ExitLower
Exit (lower layer)
@ SmallKeyStairsDown
Small key stairs (downwards)
@ UnusableNormalDoor4C
Unusable normal door (lower layer)
@ BombableCaveExit
Bombable cave exit.
@ UnusableBombedDoor
Unusable bombed-open door (lower layer)
@ SmallKeyStairsUp
Small key stairs (upwards)
@ UnusedCaveExit
Unused cave exit (lower layer)
@ DungeonSwapMarker
Dungeon swap marker.
@ NormalDoor
Normal door (upper layer)
@ BombableDoor
Bombable door.
@ LayerSwapMarker
Layer swap marker.
@ UnusableNormalDoor3A
Unusable normal door (lower layer)
@ ExplicitRoomDoor
Explicit room door.
@ UnusableNormalDoor58
Unusable normal door (lower layer)
@ BottomShutterLower
Bottom-sided shutter door (lower layer)
@ ExplodingWall
Exploding wall.
@ TopSidedShutter
Top-sided shutter door.
@ UnusableGlitchyStairsDown66
Unusable glitchy/stairs down (lower layer)
@ UnusableGlitchyStairs5C
Unusable glitchy/stairs up (lower layer)
@ LitCaveExitLower
Lit cave exit (lower layer)
@ DoubleSidedShutterLower
Double-sided shutter (lower layer)
@ UnusableBottomShutter
Unusable bottom-sided shutter door.
@ UnusableNormalDoor4E
Unusable normal door (lower layer)
@ UnusableGlitchyStairs5E
Unusable glitchy/stairs up (lower layer)
@ UnopenableBigKeyDoor
Unopenable, double-sided big key door.
@ NormalDoorLower
Normal door (lower layer)
@ BottomSidedShutter
Bottom-sided shutter door.
@ UnusedDoubleSidedShutter
Unused double-sided shutter.
@ UnusableGlitchyDoor54
Unusable glitchy door (lower layer)
@ UnusableGlitchyStairs60
Unusable glitchy/stairs up (lower layer)
@ SmallKeyStairsDownLower
Small key stairs (lower layer; downwards)
@ CurtainDoor
Curtain door.
@ WaterfallDoor
Waterfall door.
@ BigKeyDoor
Big key door.
@ EyeWatchDoor
Eye watch door.
@ UnusableGlitchyStairsDown62
Unusable glitchy/stairs down (lower layer)
@ SmallKeyStairsUpLower
Small key stairs (lower layer; upwards)
@ UnusableGlitchyStairs5A
Unusable glitchy/stairs up (lower layer)
@ UnusableNormalDoor3E
Unusable normal door (lower layer)
@ UnusableGlitchyDoor56
Unusable glitchy door (lower layer)
@ DoubleSidedShutter
Double sided shutter door.
@ UnusableNormalDoor3C
Unusable normal door (lower layer)
@ UnusableNormalDoor50
Unusable normal door (lower layer)
constexpr std::string_view GetDoorDirectionName(DoorDirection dir)
Get human-readable name for door direction.
constexpr DoorType DoorTypeFromRaw(uint8_t raw_type)
Convert raw type byte to DoorType enum.
constexpr std::string_view GetDoorTypeName(DoorType type)
Get human-readable name for door type.
DoorDirection
Door direction on room walls.
@ South
Bottom wall (horizontal door, 4x3 tiles)
@ North
Top wall (horizontal door, 4x3 tiles)
@ East
Right wall (vertical door, 3x4 tiles)
@ West
Left wall (vertical door, 3x4 tiles)
constexpr DoorDimensions GetEditorDoorDimensions(DoorDirection dir, DoorType type)
Get editor interaction dimensions for a door.
Door dimensions in tiles (8x8 pixel tiles)
int height_pixels() const
int width_tiles
Width in 8x8 tiles.
int height_tiles
Height in 8x8 tiles.