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. | |
|
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.
|
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.
|
strong |
| absl::Status yaze::LoadPackageFonts | ( | ) |
Definition at line 135 of file font_loader.cc.
References font_registry, yaze::FontState::fonts, and RETURN_IF_ERROR.
Referenced by yaze::core::CreateWindow(), yaze::platform::IOSWindowBackend::InitializeImGui(), yaze::platform::NullWindowBackend::InitializeImGui(), and yaze::platform::SDL2WindowBackend::InitializeImGui().
| void yaze::SetActiveFontIndex | ( | int | index | ) |
Definition at line 157 of file font_loader.cc.
Referenced by yaze::editor::SettingsPanel::DrawAppearanceSettings(), and yaze::editor::EditorManager::InitializeServices().
| absl::Status yaze::ReloadPackageFont | ( | const FontConfig & | config | ) |
Definition at line 168 of file font_loader.cc.
References yaze::FontConfig::font_path, yaze::FontConfig::font_size, and RETURN_IF_ERROR.
| absl::Status yaze::LoadFontFromMemory | ( | const std::string & | name, |
| const std::string & | data, | ||
| float | size_pixels ) |
Definition at line 181 of file font_loader.cc.
| void yaze::LoadSystemFonts | ( | ) |
|
inline |
Definition at line 37 of file startup_flags.h.
References kAuto, kHide, and kShow.
Referenced by BuildAppConfig().
|
inline |
Definition at line 49 of file startup_flags.h.
|
inline |
Definition at line 61 of file startup_flags.h.
References kAuto, kFull, and kLazy.
Referenced by BuildAppConfig().
|
inline |
Definition at line 72 of file startup_flags.h.
| 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().
| const char * yaze::CopierHeaderReasonName | ( | CopierHeaderReason | reason | ) |
Definition at line 402 of file rom.cc.
References kInternalHeaderOffset, kNone, and kSizeAlignment.
Referenced by yaze::cli::handlers::RomInfoCommandHandler::Execute(), yaze::cli::RomDoctorCommandHandler::Execute(), and yaze::anonymous_namespace{rom.cc}::MaybeStripCopierHeader().
|
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().
|
inline |
Definition at line 17 of file snes.h.
Referenced by yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::AddDungeonPaletteScope(), yaze::core::HackManifest::AnalyzePcWriteRanges(), yaze::zelda3::BuildDungeonMapWritePlan(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::EncodePointer(), yaze::cli::handlers::DungeonGetPaletteCommandHandler::Execute(), yaze::cli::handlers::DungeonSetPaletteColorCommandHandler::Execute(), yaze::cli::handlers::DungeonSetDoorTypeCommandHandler::Execute(), yaze::cli::handlers::DungeonListPotItemsCommandHandler::Execute(), yaze::cli::handlers::DungeonSetPotItemCommandHandler::Execute(), Get24LocalFromPC(), 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::core::anonymous_namespace{hack_manifest.cc}::ParseLoRomAddress(), yaze::zelda3::Room::PlanObjectSave(), yaze::zelda3::RelocateSpriteData(), yaze::zelda3::SaveItems(), yaze::zelda3::Overworld::SaveMap16Expanded(), yaze::zelda3::Overworld::SaveMap32Expanded(), yaze::zelda3::Overworld::SaveMapOverlays(), yaze::zelda3::Overworld::SaveOverworldMaps(), yaze::zelda3::anonymous_namespace{dungeon_stream_allocator.cc}::ValidateAndNormalizeLayout(), and yaze::zelda3::WriteTrackCollision().
|
inline |
Definition at line 30 of file snes.h.
References PcToSnes(), and SnesToPc().
Referenced by yaze::editor::ReadAllTextData().

|
inlinenoexcept |
Definition at line 39 of file snes.h.
Referenced by yaze::zelda3::GetGraphicsAddress().
|
inlinenoexcept |
|
inline |
Definition at line 23 of file font_loader.h.
Referenced by yaze::gui::DrawFontManager(), and LoadPackageFonts().
|
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().