yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
room_collision.cc File Reference
#include "zelda3/dungeon/room_collision.h"
#include <algorithm>
#include <array>
#include <cstdint>
#include <vector>
#include "rom/rom.h"
#include "zelda3/dungeon/object_layer_semantics.h"
#include "zelda3/dungeon/room.h"
#include "zelda3/dungeon/room_object.h"

Go to the source code of this file.

Classes

class  yaze::zelda3::anonymous_namespace{room_collision.cc}::LowWram
 
struct  yaze::zelda3::anonymous_namespace{room_collision.cc}::RomTables
 
class  yaze::zelda3::anonymous_namespace{room_collision.cc}::RoomLoadReplay
 
struct  yaze::zelda3::anonymous_namespace{room_collision.cc}::RoomLoadReplay::DoorRegs
 
struct  yaze::zelda3::anonymous_namespace{room_collision.cc}::RoomLoadReplay::FlagResult
 
class  yaze::zelda3::anonymous_namespace{room_collision.cc}::AttributeWriter
 

Namespaces

namespace  yaze
 
namespace  yaze::zelda3
 Zelda 3 specific classes and functions.
 
namespace  yaze::zelda3::anonymous_namespace{room_collision.cc}
 

Functions

uint8_t yaze::zelda3::anonymous_namespace{room_collision.cc}::RomByte (const Rom &rom, int pc)
 
uint16_t yaze::zelda3::anonymous_namespace{room_collision.cc}::RomWord (const Rom &rom, int pc)
 
template<typename Fn >
void yaze::zelda3::anonymous_namespace{room_collision.cc}::ForEachEntry (uint16_t &index, uint16_t end, Fn fn)
 
void yaze::zelda3::anonymous_namespace{room_collision.cc}::ApplyObjectAttributes (LowWram &w, uint8_t tag1, uint8_t tag2, AttributeWriter &out)
 
void yaze::zelda3::anonymous_namespace{room_collision.cc}::ApplyDoorAttributes (const Rom &rom, LowWram &w, AttributeWriter &out)
 
const char * yaze::zelda3::CollisionSourceName (CollisionSource source)
 
std::array< uint8_t, kTileAttributeTableSize > yaze::zelda3::LoadUnderworldTileAttributeTable (const Rom &rom, uint8_t blockset)
 
RoomCollisionMaps yaze::zelda3::ComputeBasicCollisionMaps (const std::array< uint8_t, kTileAttributeTableSize > &table, const RoomTilemaps &tilemaps)
 
RoomCollisionMaps yaze::zelda3::ComputeRoomCollisionMaps (const Rom &rom, const RoomCollisionInput &input, const UnderworldRoomLoadState &state)
 
std::vector< StaircaseSlotResolution > yaze::zelda3::ResolveVanillaStaircaseSlots (const Rom &rom, const RoomCollisionInput &input, const UnderworldRoomLoadState &state)
 
RoomCollisionInput yaze::zelda3::MakeRoomCollisionInput (const Room &room, const RoomTilemaps &tilemaps)
 
RoomCollisionInput yaze::zelda3::MakeRoomCollisionInput (const Room &room)
 

Variables

constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kUnderworldTileTypes = 0x071659
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kCustomTileTypesOffset = 0x071000
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kCustomUnderworldTileTypes = 0x07102A
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDungeonMask = 0x0018C0
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kRoomFlagMask = 0x001900
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsNorthWall = 0x00197E
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsNorthMiddle = 0x00198A
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsSouthMiddle = 0x001996
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsWestWall = 0x0019AE
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsWestMiddle = 0x0019BA
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositionsEastMiddle = 0x0019C6
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kExplodingWallPositions = 0x0019DE
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorwayReplacementDoorGfx = 0x001A02
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorwayTileProperties = 0x001A52
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorListIndex = 0x0460
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorTypes = 0x1980
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorPositions = 0x19A0
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorDirections = 0x19C0
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kExitDoorCount = 0x19E0
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kExitDoorPositions = 0x19E2
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorOpenMask = 0x068C
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kRoomFlags = 0x0402
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kShutterController = 0x0468
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kLayerToggleCount = 0x044E
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDungeonToggleCount = 0x0450
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kDoorSwitch = 0x04B0
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kStarCount = 0x0432
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kManipulableCount = 0x042C
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kTorchEnd = 0x042E
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kChestCount = 0x0496
 
constexpr int yaze::zelda3::anonymous_namespace{room_collision.cc}::kBigKeyLockEnd = 0x0498