yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
overworld_allocation.cc File Reference
#include "zelda3/overworld/overworld_allocation.h"
#include <algorithm>
#include <filesystem>
#include <set>
#include <sstream>
#include <utility>
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "nlohmann/json.hpp"
#include "zelda3/overworld/overworld_entrance.h"
#include "zelda3/overworld/overworld_exit.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{overworld_allocation.cc}
 

Typedefs

using yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ordered_json = nlohmann::ordered_json
 

Functions

uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::LoRomSnesToPc (uint32_t snes)
 
uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::LoRomPcToSnes (uint32_t pc)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::SnesText (uint32_t snes)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::HexByte (int value)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::AreaText (int area)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::RangeText (int first, int last)
 
bool yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::IsZsV3 (uint8_t asm_version)
 
uint8_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ReadAsmVersion (const Rom &rom)
 
bool yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::InRom (const Rom &rom, uint32_t pc, size_t length)
 
uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ReadLong (const Rom &rom, uint32_t pc)
 
uint16_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ReadWord (const Rom &rom, uint32_t pc)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::HexBytes (const uint8_t *data, size_t count)
 
AreaTableInfo yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::RomTable (const char *id, const char *label, const char *group, uint32_t pc, int entry_bytes, int first_area, int last_area, std::string past_end, std::string note="")
 
AreaTableInfo yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::RamTable (const char *id, const char *label, const char *group, uint32_t snes, int entry_bytes, int first_area, int last_area, std::string past_end, std::string note="")
 
std::vector< AreaTableInfo > yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ZsCustomV3Tables ()
 
std::vector< AreaTableInfo > yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::VanillaTables ()
 
AllocationAreaSize yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::DecodeAreaSize (uint8_t value, bool zs_v3)
 
int yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::VanillaSpecialParent (int area)
 
void yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::ScanAreaMap (const Rom &rom, uint32_t high_table_pc, uint32_t low_table_pc, int index, AreaAllocation *area)
 
int yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::CountSpriteList (const Rom &rom, uint16_t pointer, bool *valid)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::EvidenceCount (int count, const char *singular, const char *plural)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::JoinAreas (const std::vector< int > &areas)
 
const char * yaze::zelda3::AllocationWorldName (AllocationWorld world)
 
const char * yaze::zelda3::AllocationAreaSizeName (AllocationAreaSize size)
 
AllocationWorld yaze::zelda3::AllocationWorldForArea (int area)
 
std::vector< AreaTableInfo > yaze::zelda3::OverworldAreaTableCatalogue (uint8_t asm_version)
 
MapStreamScan yaze::zelda3::ScanMapStream (const uint8_t *data, size_t size, uint32_t pc, size_t max_output)
 
absl::StatusOr< OverworldAllocationReport > yaze::zelda3::BuildOverworldAllocationReport (Rom *rom, const OverworldAllocationOptions &options)
 
const char * yaze::zelda3::TailCheckVerdictName (TailCheckVerdict verdict)
 
const char * yaze::zelda3::TailCheckScopeName (TailCheckScope scope)
 
TailCheckRegion yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::MakeRegion (const Rom &rom, const TailCheckAnnotator &annotator, const char *id, const char *label, uint32_t snes, int length)
 
TailStreamCheck yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::CheckBlankStream (const Rom &rom, const char *id, uint32_t snes, const std::vector< uint8_t > &planned, bool applied)
 
TailMapExpansionCheck yaze::zelda3::CheckTailMapExpansion (const Rom &rom, const TailMapExpansionPlan &plan, const TailCheckAnnotator &annotator)
 
absl::Status yaze::zelda3::TailMapExpansionApplyGuard (const Rom &rom)
 
ordered_json yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::TableJson (const AreaTableInfo &table)
 
ordered_json yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::StreamJson (const MapStreamScan &scan)
 
ordered_json yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::AreaJson (const AreaAllocation &area)
 
ordered_json yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::TailJson (const TailMapExpansionCheck &check)
 
std::string yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::MapColumn (const AreaAllocation &area)
 
std::string yaze::zelda3::OverworldAllocationToJson (const OverworldAllocationReport &report, const TailMapExpansionCheck *tail_check)
 
std::string yaze::zelda3::FormatOverworldAllocationText (const OverworldAllocationReport &report, const TailMapExpansionCheck *tail_check)
 

Variables

constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kAsmVersionPc = 0x140145
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kZsFunctionSpacePc = 0x141940
 
constexpr int yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kMap32PerScreen = 256
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kMap32HighPc = 0x1794D
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kMap32LowPc = 0x17B2D
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kPoolParentPc = 0x140998
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kPoolOverlayPc = 0x140340
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kAreaSizePc = 0x1788D
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kVanillaParentPc = 0x125EC
 
constexpr std::array< uint32_t, 3 > yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kPoolSpritePointerPcs
 
constexpr uint32_t yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kOverworldSpriteBankPc = 0x48000
 
constexpr int yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kMaxSpritesPerList = 0x80
 
constexpr std::array< int, 8 > yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kZsCodeOverlayIds
 
constexpr std::array< int, 9 > yaze::zelda3::anonymous_namespace{overworld_allocation.cc}::kVanillaCodeOverlayIds