yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze Namespace Reference

Namespaces

namespace  anonymous_namespace{controller.cc}
 
namespace  anonymous_namespace{font_loader.cc}
 
namespace  anonymous_namespace{rom.cc}
 
namespace  app
 
namespace  cli
 
namespace  core
 
namespace  editor
 Editors are the view controllers for the application.
 
namespace  emu
 SNES Emulation and debugging tools.
 
namespace  gfx
 Contains classes for handling graphical data.
 
namespace  gui
 Graphical User Interface (GUI) components for the application.
 
namespace  i18n
 
namespace  ios
 
namespace  net
 
namespace  platform
 
namespace  project
 
namespace  rom
 
namespace  test
 
namespace  util
 
namespace  zelda3
 Zelda 3 specific classes and functions.
 

Classes

struct  AppConfig
 Configuration options for the application startup. More...
 
class  Application
 Main application singleton managing lifecycle and global state. More...
 
class  AssetLoader
 Cross-platform asset file loading utility. More...
 
class  Controller
 Main controller for the application. More...
 
struct  Event
 
class  EventBus
 
struct  FontConfig
 
struct  FontState
 
struct  GraphicsLoadDiagnostics
 
class  Json
 
class  Rom
 The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and does not contain game-specific logic. More...
 
class  ScopedRomTransaction
 
struct  SheetDiagnostics
 
class  TimingManager
 Provides accurate timing for animations and frame pacing. More...
 
class  Transaction
 

Enumerations

enum class  StartupVisibility { kAuto , kShow , kHide }
 Tri-state toggle used for startup UI visibility controls. More...
 
enum class  AssetLoadMode { kAuto , kFull , kLazy }
 Asset loading mode for editor resources. More...
 
enum class  CopierHeaderReason { kNone , kSizeAlignment , kInternalHeaderOffset }
 Why a copier header was recognized at the start of a ROM file. More...
 

Functions

absl::Status LoadPackageFonts ()
 
void SetActiveFontIndex (int index)
 
absl::Status ReloadPackageFont (const FontConfig &config)
 
absl::Status LoadFontFromMemory (const std::string &name, const std::string &data, float size_pixels)
 
void LoadSystemFonts ()
 
StartupVisibility StartupVisibilityFromString (absl::string_view value)
 
std::string StartupVisibilityToString (StartupVisibility value)
 
AssetLoadMode AssetLoadModeFromString (absl::string_view value)
 
std::string AssetLoadModeToString (AssetLoadMode value)
 
CopierHeaderReason DetectCopierHeader (const uint8_t *data, size_t size)
 
const char * CopierHeaderReasonName (CopierHeaderReason reason)
 
uint32_t SnesToPc (uint32_t addr) noexcept
 
uint32_t PcToSnes (uint32_t addr)
 
uint32_t Get24LocalFromPC (uint8_t *data, int addr, bool pc=true)
 
int AddressFromBytes (uint8_t bank, uint8_t high, uint8_t low) noexcept
 
uint32_t MapBankToWordAddress (uint8_t bank, uint16_t addr) noexcept
 

Variables

FontState font_registry
 
constexpr size_t kCopierHeaderSize = 0x200
 Size of the SMC/SWC copier header that some ROM dumps start with.
 

Enumeration Type Documentation

◆ StartupVisibility

enum class yaze::StartupVisibility
strong

Tri-state toggle used for startup UI visibility controls.

kAuto - Use existing runtime logic (legacy behavior) kShow - Force the element to be shown on startup kHide - Force the element to be hidden on startup

Enumerator
kAuto 
kShow 
kHide 

Definition at line 18 of file startup_flags.h.

◆ AssetLoadMode

enum class yaze::AssetLoadMode
strong

Asset loading mode for editor resources.

kAuto - Choose based on runtime (e.g., headless/server => lazy). kFull - Load all editor assets on ROM load (legacy behavior). kLazy - Defer editor asset loading until first use.

Enumerator
kAuto 
kFull 
kLazy 

Definition at line 31 of file startup_flags.h.

◆ CopierHeaderReason

enum class yaze::CopierHeaderReason
strong

Why a copier header was recognized at the start of a ROM file.

Enumerator
kNone 
kSizeAlignment 
kInternalHeaderOffset 

Definition at line 29 of file rom.h.

Function Documentation

◆ LoadPackageFonts()

◆ SetActiveFontIndex()

void yaze::SetActiveFontIndex ( int index)

◆ ReloadPackageFont()

absl::Status yaze::ReloadPackageFont ( const FontConfig & config)

◆ LoadFontFromMemory()

absl::Status yaze::LoadFontFromMemory ( const std::string & name,
const std::string & data,
float size_pixels )

Definition at line 181 of file font_loader.cc.

◆ LoadSystemFonts()

void yaze::LoadSystemFonts ( )

◆ StartupVisibilityFromString()

StartupVisibility yaze::StartupVisibilityFromString ( absl::string_view value)
inline

Definition at line 37 of file startup_flags.h.

References kAuto, kHide, and kShow.

Referenced by BuildAppConfig().

◆ StartupVisibilityToString()

std::string yaze::StartupVisibilityToString ( StartupVisibility value)
inline

Definition at line 49 of file startup_flags.h.

References kAuto, kHide, and kShow.

◆ AssetLoadModeFromString()

AssetLoadMode yaze::AssetLoadModeFromString ( absl::string_view value)
inline

Definition at line 61 of file startup_flags.h.

References kAuto, kFull, and kLazy.

Referenced by BuildAppConfig().

◆ AssetLoadModeToString()

std::string yaze::AssetLoadModeToString ( AssetLoadMode value)
inline

Definition at line 72 of file startup_flags.h.

References kAuto, kFull, and kLazy.

◆ DetectCopierHeader()

CopierHeaderReason yaze::DetectCopierHeader ( const uint8_t * data,
size_t size )

Returns how a copier header was recognized in data, or kNone. A file whose SNES internal header is valid only without skipping 0x200 bytes is never treated as headered.

Definition at line 378 of file rom.cc.

References kCopierHeaderSize, kInternalHeaderOffset, kNone, and kSizeAlignment.

Referenced by yaze::anonymous_namespace{rom.cc}::MaybeStripCopierHeader().

◆ CopierHeaderReasonName()

◆ SnesToPc()

uint32_t yaze::SnesToPc ( uint32_t addr)
inlinenoexcept

Definition at line 8 of file snes.h.

Referenced by yaze::editor::BuildDictionaryEntries(), yaze::zelda3::BuildGfxSheetInventory(), yaze::core::BuildGfxSheetWritePolicy(), yaze::zelda3::TitleScreen::BuildTileset(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyPotItemWriteRanges(), yaze::zelda3::CollectRoomGfx(), yaze::cli::handlers::anonymous_namespace{dungeon_commands.cc}::CollectRoomHeaderWriteRanges(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::DecodePointer(), yaze::zelda3::Overworld::DecompressAllMapTilesParallel(), yaze::zelda3::ObjectDrawer::DrawChestHoleOverlay(), yaze::editor::AssemblyEditor::DrawDisassemblyContent(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::EncodePointer(), yaze::cli::handlers::DungeonRoomHeaderCommandHandler::Execute(), yaze::editor::MessageEditor::ExpandedInspectionRange(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::FindFirstFit(), Get24LocalFromPC(), yaze::zelda3::GetChestTableWriteRanges(), yaze::zelda3::GetGraphicsAddress(), yaze::zelda3::RoomLayout::GetLayoutAddress(), yaze::zelda3::anonymous_namespace{room.cc}::GetObjectPointerTablePc(), yaze::zelda3::anonymous_namespace{room.cc}::GetSpritePointerTablePc(), yaze::editor::anonymous_namespace{message_source_sync.cc}::IsCanonicalMappedLoRomAddress(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::IsCanonicalMappedLoRomAddress(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::IsLoRomDataPointer(), yaze::zelda3::Room::LoadAnimatedGraphics(), yaze::zelda3::Room::LoadBlocks(), yaze::zelda3::Room::LoadChests(), yaze::zelda3::LoadCustomCollisionMap(), yaze::zelda3::LoadDungeonMaps(), yaze::zelda3::PitDamageTable::LoadFromRom(), yaze::zelda3::LoadGfxGroups(), yaze::zelda3::Inventory::LoadItemIcons(), yaze::zelda3::LoadItems(), yaze::zelda3::RoomLayout::LoadLayout(), yaze::zelda3::LoadLegacyWaterGateZones(), yaze::editor::LoadMessageSource(), yaze::zelda3::Room::LoadObjects(), yaze::zelda3::Room::LoadPotItems(), yaze::zelda3::LoadRoomHeaderFromRom(), yaze::zelda3::TitleScreen::LoadTitleScreen(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseAddressRanges(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayout(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayouts(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseGraphicsSheetLayout(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseLoRomAddress(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseProtectedRegions(), yaze::core::anonymous_namespace{hack_manifest.cc}::PcRangeContains(), yaze::zelda3::PlanDungeonStreamRepack(), yaze::zelda3::anonymous_namespace{room.cc}::PreflightBlocksLoaderDestinations(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::PreflightExpandedMutation(), yaze::editor::ReadDictionaryEntryBytes(), yaze::zelda3::ReadGfxSheetPc(), yaze::zelda3::ReadObjectDrawCode(), yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomObjectAddressPc(), yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomPotItemAddressPc(), yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomSpriteAddressPc(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveDoorTypeTarget(), yaze::zelda3::anonymous_namespace{game_data.cc}::ResolveGfxGroupTables(), yaze::zelda3::ResolveMenuPaletteFromSymbol(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveRoomHeaderPcStrict(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ResolveRuntimePotItemStream(), yaze::zelda3::TitleScreen::Save(), yaze::zelda3::SaveAllPits(), yaze::zelda3::SaveItems(), yaze::zelda3::Overworld::SaveMap16Expanded(), yaze::zelda3::Overworld::SaveMap32Expanded(), yaze::editor::DungeonEditorV2::SaveRoomData(), yaze::zelda3::Room::SaveRoomHeader(), yaze::zelda3::PitDamageTable::SaveToRom(), yaze::editor::PolyhedralEditorPanel::TablePc(), yaze::core::ToDungeonStreamAllocatorLayout(), yaze::editor::anonymous_namespace{polyhedral_editor_panel.cc}::ToPc(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), yaze::gui::DungeonObjectEmulatorPreview::TriggerStaticRender(), yaze::editor::MemoryEditor::Update(), yaze::editor::anonymous_namespace{dungeon_editor_v2_connection_edits.cc}::ValidateConnectionRoomSource(), yaze::zelda3::anonymous_namespace{water_fill_zone.cc}::ValidateCustomCollisionDoesNotOverlapWaterFillReserved(), yaze::cli::anonymous_namespace{graphics_doctor_commands.cc}::ValidateGroupTables(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::ValidateKnownPointerTableSource(), yaze::editor::anonymous_namespace{message_source_sync.cc}::ValidateLayoutAndGetCapacity(), yaze::cli::anonymous_namespace{overworld_doctor_commands.cc}::ValidateMapPointers(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::ValidateObjectSaveManifestConflicts(), yaze::cli::handlers::anonymous_namespace{dungeon_commands.cc}::ValidateObjectStreamHeaderManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_room_transfer.cc}::ValidateTransferHeaderOwnership(), and yaze::zelda3::WriteTrackCollision().

◆ PcToSnes()

◆ Get24LocalFromPC()

uint32_t yaze::Get24LocalFromPC ( uint8_t * data,
int addr,
bool pc = true )
inline

Definition at line 30 of file snes.h.

References PcToSnes(), and SnesToPc().

Referenced by yaze::editor::ReadAllTextData().

Here is the call graph for this function:

◆ AddressFromBytes()

int yaze::AddressFromBytes ( uint8_t bank,
uint8_t high,
uint8_t low )
inlinenoexcept

Definition at line 39 of file snes.h.

Referenced by yaze::zelda3::GetGraphicsAddress().

◆ MapBankToWordAddress()

uint32_t yaze::MapBankToWordAddress ( uint8_t bank,
uint16_t addr )
inlinenoexcept

Definition at line 43 of file snes.h.

Variable Documentation

◆ font_registry

FontState yaze::font_registry
inline

Definition at line 23 of file font_loader.h.

Referenced by yaze::gui::DrawFontManager(), and LoadPackageFonts().

◆ kCopierHeaderSize

constexpr size_t yaze::kCopierHeaderSize = 0x200
inlineconstexpr

Size of the SMC/SWC copier header that some ROM dumps start with.

Definition at line 26 of file rom.h.

Referenced by DetectCopierHeader(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), and yaze::anonymous_namespace{rom.cc}::MaybeStripCopierHeader().