yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
room.cc File Reference
#include "room.h"
#include <yaze.h>
#include <algorithm>
#include <cstdint>
#include <unordered_set>
#include <vector>
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "app/gfx/resource/arena.h"
#include "app/gfx/types/snes_palette.h"
#include "app/platform/sdl_compat.h"
#include "rom/rom.h"
#include "rom/snes.h"
#include "rom/write_fence.h"
#include "util/log.h"
#include "zelda3/dungeon/editor_dungeon_state.h"
#include "zelda3/dungeon/object_drawer.h"
#include "zelda3/dungeon/palette_debug.h"
#include "zelda3/dungeon/room_layer_manager.h"
#include "zelda3/dungeon/room_object.h"
#include "zelda3/dungeon/track_collision_generator.h"
#include "zelda3/sprite/sprite.h"

Go to the source code of this file.

Namespaces

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

Functions

absl::Status yaze::zelda3::anonymous_namespace{room.cc}::GetSpritePointerTablePc (const std::vector< uint8_t > &rom_data, int *table_pc)
 
int yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomSpriteAddressPc (const std::vector< uint8_t > &rom_data, int table_pc, int room_id)
 
int yaze::zelda3::anonymous_namespace{room.cc}::MeasureSpriteStreamSize (const std::vector< uint8_t > &rom_data, int sprite_address, int hard_end)
 
bool yaze::zelda3::anonymous_namespace{room.cc}::IsSpritePointerShared (const std::vector< uint8_t > &rom_data, int table_pc, int room_id, int sprite_address)
 
RoomSize yaze::zelda3::CalculateRoomSize (Rom *rom, int room_id)
 
Room yaze::zelda3::LoadRoomFromRom (Rom *rom, int room_id)
 
Room yaze::zelda3::LoadRoomHeaderFromRom (Rom *rom, int room_id)
 
int yaze::zelda3::FindMaxUsedSpriteAddress (Rom *rom)
 
absl::Status yaze::zelda3::RelocateSpriteData (Rom *rom, int room_id, const std::vector< uint8_t > &encoded_bytes)
 
std::vector< std::vector< uint8_t > > yaze::zelda3::anonymous_namespace{room.cc}::ParseRomTorchSegments (const std::vector< uint8_t > &rom_data, int bytes_count)
 
absl::Status yaze::zelda3::SaveAllTorches (Rom *rom, absl::Span< const Room > rooms)
 
absl::Status yaze::zelda3::SaveAllPits (Rom *rom)
 
absl::Status yaze::zelda3::SaveAllBlocks (Rom *rom)
 
absl::Status yaze::zelda3::SaveAllCollision (Rom *rom, absl::Span< Room > rooms)
 
std::vector< std::vector< std::pair< uint8_t, bool > > > yaze::zelda3::anonymous_namespace{room.cc}::ParseRomChests (const std::vector< uint8_t > &rom_data, int cpos, int clength)
 
std::vector< std::vector< uint8_t > > yaze::zelda3::anonymous_namespace{room.cc}::ParseRomPotItems (const std::vector< uint8_t > &rom_data)
 
absl::Status yaze::zelda3::SaveAllChests (Rom *rom, absl::Span< const Room > rooms)
 
absl::Status yaze::zelda3::SaveAllPotItems (Rom *rom, absl::Span< const Room > rooms)
 

Variables

const std::string yaze::zelda3::RoomEffect [8]
 
const std::string yaze::zelda3::RoomTag [65]
 
constexpr int yaze::zelda3::kGfxBufferOffset = 92 * 2048
 
constexpr int yaze::zelda3::kGfxBufferStride = 1024
 
constexpr int yaze::zelda3::kGfxBufferAnimatedFrameOffset = 7 * 4096
 
constexpr int yaze::zelda3::kGfxBufferAnimatedFrameStride = 1024
 
constexpr int yaze::zelda3::kGfxBufferRoomOffset = 4096
 
constexpr int yaze::zelda3::kGfxBufferRoomSpriteOffset = 1024
 
constexpr int yaze::zelda3::kGfxBufferRoomSpriteStride = 4096
 
constexpr int yaze::zelda3::kGfxBufferRoomSpriteLastLineOffset = 0x110
 
constexpr int yaze::zelda3::anonymous_namespace{room.cc}::kTorchesMaxSize = 0x120