yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
room.h File Reference
#include <yaze.h>
#include <cstdint>
#include <string_view>
#include <vector>
#include "app/rom.h"
#include "app/zelda3/dungeon/room_object.h"
#include "app/zelda3/sprite/sprite.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yaze::zelda3::LayerMergeType
 
class  yaze::zelda3::Room
 
struct  yaze::zelda3::RoomSize
 

Namespaces

namespace  yaze
 Main namespace for the application.
 
namespace  yaze::zelda3
 Zelda 3 specific classes and functions.
 

Enumerations

enum  yaze::zelda3::CollisionKey {
  yaze::zelda3::One_Collision , yaze::zelda3::Both , yaze::zelda3::Both_With_Scroll , yaze::zelda3::Moving_Floor_Collision ,
  yaze::zelda3::Moving_Water_Collision
}
 
enum  yaze::zelda3::EffectKey {
  yaze::zelda3::Effect_Nothing , yaze::zelda3::One , yaze::zelda3::Moving_Floor , yaze::zelda3::Moving_Water ,
  yaze::zelda3::Four , yaze::zelda3::Red_Flashes , yaze::zelda3::Torch_Show_Floor , yaze::zelda3::Ganon_Room
}
 
enum  yaze::zelda3::TagKey {
  yaze::zelda3::Nothing , yaze::zelda3::NW_Kill_Enemy_to_Open , yaze::zelda3::NE_Kill_Enemy_to_Open , yaze::zelda3::SW_Kill_Enemy_to_Open ,
  yaze::zelda3::SE_Kill_Enemy_to_Open , yaze::zelda3::W_Kill_Enemy_to_Open , yaze::zelda3::E_Kill_Enemy_to_Open , yaze::zelda3::N_Kill_Enemy_to_Open ,
  yaze::zelda3::S_Kill_Enemy_to_Open , yaze::zelda3::Clear_Quadrant_to_Open , yaze::zelda3::Clear_Room_to_Open , yaze::zelda3::NW_Push_Block_to_Open ,
  yaze::zelda3::NE_Push_Block_to_Open , yaze::zelda3::SW_Push_Block_to_Open , yaze::zelda3::SE_Push_Block_to_Open , yaze::zelda3::W_Push_Block_to_Open ,
  yaze::zelda3::E_Push_Block_to_Open , yaze::zelda3::N_Push_Block_to_Open , yaze::zelda3::S_Push_Block_to_Open , yaze::zelda3::Push_Block_to_Open ,
  yaze::zelda3::Pull_Lever_to_Open , yaze::zelda3::Clear_Level_to_Open , yaze::zelda3::Switch_Open_Door_Hold , yaze::zelda3::Switch_Open_Door_Toggle ,
  yaze::zelda3::Turn_off_Water , yaze::zelda3::Turn_on_Water , yaze::zelda3::Water_Gate , yaze::zelda3::Water_Twin ,
  yaze::zelda3::Secret_Wall_Right , yaze::zelda3::Secret_Wall_Left , yaze::zelda3::Crash1 , yaze::zelda3::Crash2 ,
  yaze::zelda3::Pull_Switch_to_bomb_Wall , yaze::zelda3::Holes_0 , yaze::zelda3::Open_Chest_Activate_Holes_0 , yaze::zelda3::Holes_1 ,
  yaze::zelda3::Holes_2 , yaze::zelda3::Kill_Enemy_to_clear_level , yaze::zelda3::SE_Kill_Enemy_to_Move_Block , yaze::zelda3::Trigger_activated_Chest ,
  yaze::zelda3::Pull_lever_to_Bomb_Wall , yaze::zelda3::NW_Kill_Enemy_for_Chest , yaze::zelda3::NE_Kill_Enemy_for_Chest , yaze::zelda3::SW_Kill_Enemy_for_Chest ,
  yaze::zelda3::SE_Kill_Enemy_for_Chest , yaze::zelda3::W_Kill_Enemy_for_Chest , yaze::zelda3::E_Kill_Enemy_for_Chest , yaze::zelda3::N_Kill_Enemy_for_Chest ,
  yaze::zelda3::S_Kill_Enemy_for_Chest , yaze::zelda3::Clear_Quadrant_for_Chest , yaze::zelda3::Clear_Room_for_Chest , yaze::zelda3::Light_Torches_to_Open ,
  yaze::zelda3::Holes_3 , yaze::zelda3::Holes_4 , yaze::zelda3::Holes_5 , yaze::zelda3::Holes_6 ,
  yaze::zelda3::Agahnim_Room , yaze::zelda3::Holes_7 , yaze::zelda3::Holes_8 , yaze::zelda3::Open_Chest_for_Holes_8 ,
  yaze::zelda3::Push_Block_for_Chest , yaze::zelda3::Kill_to_open_Ganon_Door , yaze::zelda3::Light_Torches_to_get_Chest , yaze::zelda3::Kill_boss_Again
}
 

Functions

Room yaze::zelda3::LoadRoomFromRom (Rom *rom, int room_id)
 
RoomSize yaze::zelda3::CalculateRoomSize (Rom *rom, int room_id)
 

Variables

constexpr int yaze::zelda3::room_object_layout_pointer = 0x882D
 
constexpr int yaze::zelda3::room_object_pointer = 0x874C
 
constexpr int yaze::zelda3::dungeons_main_bg_palette_pointers = 0xDEC4B
 
constexpr int yaze::zelda3::dungeons_palettes = 0xDD734
 
constexpr int yaze::zelda3::room_items_pointers = 0xDB69
 
constexpr int yaze::zelda3::rooms_sprite_pointer = 0x4C298
 
constexpr int yaze::zelda3::kRoomHeaderPointer = 0xB5DD
 
constexpr int yaze::zelda3::kRoomHeaderPointerBank = 0xB5E7
 
constexpr int yaze::zelda3::gfx_groups_pointer = 0x6237
 
constexpr int yaze::zelda3::chests_length_pointer = 0xEBF6
 
constexpr int yaze::zelda3::chests_data_pointer1 = 0xEBFB
 
constexpr int yaze::zelda3::messages_id_dungeon = 0x3F61D
 
constexpr int yaze::zelda3::blocks_length = 0x8896
 
constexpr int yaze::zelda3::blocks_pointer1 = 0x15AFA
 
constexpr int yaze::zelda3::blocks_pointer2 = 0x15B01
 
constexpr int yaze::zelda3::blocks_pointer3 = 0x15B08
 
constexpr int yaze::zelda3::blocks_pointer4 = 0x15B0F
 
constexpr int yaze::zelda3::torch_data = 0x2736A
 
constexpr int yaze::zelda3::torches_length_pointer = 0x88C1
 
constexpr int yaze::zelda3::sprite_blockset_pointer = 0x5B57
 
constexpr int yaze::zelda3::sprites_data = 0x4D8B0
 
constexpr int yaze::zelda3::sprites_data_empty_room = 0x4D8AE
 
constexpr int yaze::zelda3::sprites_end_data = 0x4EC9E
 
constexpr int yaze::zelda3::pit_pointer = 0x394AB
 
constexpr int yaze::zelda3::pit_count = 0x394A6
 
constexpr int yaze::zelda3::doorPointers = 0xF83C0
 
constexpr int yaze::zelda3::door_gfx_up = 0x4D9E
 
constexpr int yaze::zelda3::door_gfx_down = 0x4E06
 
constexpr int yaze::zelda3::door_gfx_cavexit_down = 0x4E06
 
constexpr int yaze::zelda3::door_gfx_left = 0x4E66
 
constexpr int yaze::zelda3::door_gfx_right = 0x4EC6
 
constexpr int yaze::zelda3::door_pos_up = 0x197E
 
constexpr int yaze::zelda3::door_pos_down = 0x1996
 
constexpr int yaze::zelda3::door_pos_left = 0x19AE
 
constexpr int yaze::zelda3::door_pos_right = 0x19C6
 
constexpr int yaze::zelda3::dungeon_spr_ptrs = 0x090000
 
constexpr int yaze::zelda3::NumberOfRooms = 296
 
constexpr uint16_t yaze::zelda3::stairsObjects [] = {0x139, 0x138, 0x13B, 0x12E, 0x12D}
 
constexpr int yaze::zelda3::tile_address = 0x001B52
 
constexpr int yaze::zelda3::tile_address_floor = 0x001B5A
 
constexpr std::string_view yaze::zelda3::kRoomNames []