yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
door_types.h File Reference
#include <array>
#include <cstdint>
#include <string_view>
Include dependency graph for door_types.h:

Go to the source code of this file.

Classes

struct  yaze::zelda3::DoorDimensions
 Door dimensions in tiles (8x8 pixel tiles) More...
 

Namespaces

namespace  yaze
 
namespace  yaze::zelda3
 Zelda 3 specific classes and functions.
 

Enumerations

enum class  yaze::zelda3::DoorDirection : uint8_t { yaze::zelda3::North = 0 , yaze::zelda3::South = 1 , yaze::zelda3::West = 2 , yaze::zelda3::East = 3 }
 Door direction on room walls. More...
 
enum class  yaze::zelda3::DoorType : uint8_t {
  yaze::zelda3::NormalDoor = 0x00 , yaze::zelda3::NormalDoorLower = 0x02 , yaze::zelda3::ExitLower = 0x04 , yaze::zelda3::UnusedCaveExit = 0x06 ,
  yaze::zelda3::WaterfallDoor = 0x08 , yaze::zelda3::FancyDungeonExit = 0x0A , yaze::zelda3::FancyDungeonExitLower = 0x0C , yaze::zelda3::CaveExit = 0x0E ,
  yaze::zelda3::LitCaveExitLower = 0x10 , yaze::zelda3::ExitMarker = 0x12 , yaze::zelda3::DungeonSwapMarker = 0x14 , yaze::zelda3::LayerSwapMarker = 0x16 ,
  yaze::zelda3::DoubleSidedShutter = 0x18 , yaze::zelda3::EyeWatchDoor = 0x1A , yaze::zelda3::SmallKeyDoor = 0x1C , yaze::zelda3::BigKeyDoor = 0x1E ,
  yaze::zelda3::SmallKeyStairsUp = 0x20 , yaze::zelda3::SmallKeyStairsDown = 0x22 , yaze::zelda3::SmallKeyStairsUpLower = 0x24 , yaze::zelda3::SmallKeyStairsDownLower = 0x26 ,
  yaze::zelda3::DashWall = 0x28 , yaze::zelda3::BombableCaveExit = 0x2A , yaze::zelda3::UnopenableBigKeyDoor = 0x2C , yaze::zelda3::BombableDoor = 0x2E ,
  yaze::zelda3::ExplodingWall = 0x30 , yaze::zelda3::CurtainDoor = 0x32 , yaze::zelda3::UnusableBottomShutter = 0x34 , yaze::zelda3::BottomSidedShutter = 0x36 ,
  yaze::zelda3::TopSidedShutter = 0x38 , yaze::zelda3::UnusableNormalDoor3A = 0x3A , yaze::zelda3::UnusableNormalDoor3C = 0x3C , yaze::zelda3::UnusableNormalDoor3E = 0x3E ,
  yaze::zelda3::NormalDoorOneSidedShutter = 0x40 , yaze::zelda3::UnusedDoubleSidedShutter = 0x42 , yaze::zelda3::DoubleSidedShutterLower = 0x44 , yaze::zelda3::ExplicitRoomDoor = 0x46 ,
  yaze::zelda3::BottomShutterLower = 0x48 , yaze::zelda3::TopShutterLower = 0x4A , yaze::zelda3::UnusableNormalDoor4C = 0x4C , yaze::zelda3::UnusableNormalDoor4E = 0x4E ,
  yaze::zelda3::UnusableNormalDoor50 = 0x50 , yaze::zelda3::UnusableBombedDoor = 0x52 , yaze::zelda3::UnusableGlitchyDoor54 = 0x54 , yaze::zelda3::UnusableGlitchyDoor56 = 0x56 ,
  yaze::zelda3::UnusableNormalDoor58 = 0x58 , yaze::zelda3::UnusableGlitchyStairs5A = 0x5A , yaze::zelda3::UnusableGlitchyStairs5C = 0x5C , yaze::zelda3::UnusableGlitchyStairs5E = 0x5E ,
  yaze::zelda3::UnusableGlitchyStairs60 = 0x60 , yaze::zelda3::UnusableGlitchyStairsDown62 = 0x62 , yaze::zelda3::UnusableGlitchyStairs64 = 0x64 , yaze::zelda3::UnusableGlitchyStairsDown66 = 0x66
}
 Door types from ALTTP. More...
 

Functions

constexpr std::string_view yaze::zelda3::GetDoorTypeName (DoorType type)
 Get human-readable name for door type.
 
constexpr std::string_view yaze::zelda3::GetDoorDirectionName (DoorDirection dir)
 Get human-readable name for door direction.
 
constexpr DoorDimensions yaze::zelda3::GetDoorDimensions (DoorDirection dir)
 Get door dimensions based on direction.
 
constexpr DoorType yaze::zelda3::DoorTypeFromRaw (uint8_t raw_type)
 Convert raw type byte to DoorType enum.
 
constexpr DoorDirection yaze::zelda3::DoorDirectionFromRaw (uint8_t raw_dir)
 Convert raw direction byte to DoorDirection enum.
 
constexpr std::array< DoorType, 20 > yaze::zelda3::GetAllDoorTypes ()
 Get commonly used door types for UI dropdowns Returns the most frequently used door types (not all 52)