1#ifndef YAZE_ZELDA3_DUNGEON_ROOM_COLLISION_H
2#define YAZE_ZELDA3_DUNGEON_ROOM_COLLISION_H
67 std::array<CollisionSource, kRoomCollisionBytes>
sources{};
70 uint8_t
lower(
int x,
int y)
const {
98 const Rom& rom, uint8_t blockset);
102 const std::array<uint8_t, kTileAttributeTableSize>& table,
150 const RoomTilemaps& tilemaps);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
constexpr size_t kRoomCollisionBytes
constexpr size_t kTileAttributeTableSize
std::array< uint8_t, kTileAttributeTableSize > LoadUnderworldTileAttributeTable(const Rom &rom, uint8_t blockset)
constexpr size_t kCollisionMapTiles
RoomCollisionMaps ComputeBasicCollisionMaps(const std::array< uint8_t, kTileAttributeTableSize > &table, const RoomTilemaps &tilemaps)
RoomCollisionMaps ComputeRoomCollisionMaps(const Rom &rom, const RoomCollisionInput &input, const UnderworldRoomLoadState &state)
RoomCollisionInput MakeRoomCollisionInput(const Room &room, const RoomTilemaps &tilemaps)
std::vector< StaircaseSlotResolution > ResolveVanillaStaircaseSlots(const Rom &rom, const RoomCollisionInput &input, const UnderworldRoomLoadState &state)
const char * CollisionSourceName(CollisionSource source)
uint8_t lower(int x, int y) const
std::array< CollisionSource, kRoomCollisionBytes > sources
uint8_t upper(int x, int y) const
std::array< uint8_t, kRoomCollisionBytes > attributes
std::optional< int > slot
StaircaseSlotStatus status
uint16_t shutter_controller
bool crystal_pegs_swapped
std::optional< uint16_t > door_open_mask