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

Namespaces

namespace  anonymous_namespace{asm_patch.cc}
 
namespace  anonymous_namespace{hack_manifest.cc}
 
namespace  anonymous_namespace{oracle_menu_registry.cc}
 
namespace  anonymous_namespace{story_event_graph.cc}
 
namespace  anonymous_namespace{story_event_graph_query.cc}
 
namespace  anonymous_namespace{widget_state_capture.cc}
 
namespace  RomAddressKey
 

Classes

struct  AsarPatchResult
 Asar patch result information. More...
 
struct  AsarSymbol
 Symbol information extracted from Asar assembly. More...
 
class  AsarWrapper
 Modern C++ wrapper for Asar 65816 assembler integration. More...
 
class  AsmPatch
 Represents a ZScream-compatible ASM patch file. More...
 
struct  BuildPipeline
 Build pipeline information. More...
 
struct  DungeonConnection
 A connection between two rooms (stair, holewarp, or door). More...
 
struct  DungeonEntry
 A complete dungeon entry with rooms and connections. More...
 
struct  DungeonRoom
 A room within a dungeon, with spatial and metadata info. More...
 
struct  FeatureFlag
 A compile-time feature flag. More...
 
class  FeatureFlags
 A class to manage experimental feature flags. More...
 
class  HackManifest
 Loads and queries the hack manifest JSON for yaze-ASM integration. More...
 
struct  MessageLayout
 Message range information for the expanded message system. More...
 
struct  OracleMenuBinEntry
 
struct  OracleMenuComponent
 
struct  OracleMenuComponentEditResult
 
struct  OracleMenuDrawRoutine
 
struct  OracleMenuRegistry
 
struct  OracleMenuValidationIssue
 
struct  OracleMenuValidationReport
 
struct  OracleProgressionState
 Oracle of Secrets game progression state parsed from SRAM. More...
 
struct  OverworldArea
 An overworld area from the overworld registry. More...
 
struct  OwnedBank
 An expanded bank with ownership classification. More...
 
class  PatchManager
 Manages a collection of ZScream-compatible ASM patches. More...
 
struct  PatchParameter
 Represents a configurable parameter within an ASM patch. More...
 
struct  ProjectRegistry
 Project-level registry data loaded from the Oracle planning outputs. More...
 
struct  ProtectedRegion
 A contiguous protected ROM region owned by the ASM hack. More...
 
struct  RomAddressOverrides
 
class  RomSettings
 
struct  RoomTagEntry
 A room tag entry from the dispatch table. More...
 
struct  SnapshotResult
 
struct  SramVariable
 A custom SRAM variable definition. More...
 
struct  StoryEdge
 A directed edge in the story event graph. More...
 
class  StoryEventGraph
 The complete Oracle narrative progression graph. More...
 
struct  StoryEventNode
 A node in the Oracle story event graph. More...
 
struct  StoryEventNodeFilter
 Filter options for StoryEventGraph node search in UI. More...
 
struct  StoryFlag
 A flag set or cleared by a story event. More...
 
struct  StoryLocation
 A location associated with a story event. More...
 
struct  StoryPredicate
 A predicate for determining event completion from SRAM state. More...
 
class  VersionManager
 Manages project versioning (Git) and ROM artifact snapshots. More...
 
struct  WidgetState
 
struct  Window
 
struct  WriteConflict
 A conflict detected when yaze wants to write to an ASM-owned address. More...
 

Typedefs

using json = nlohmann::json
 

Enumerations

enum class  AddressOwnership : uint8_t {
  kVanillaSafe , kHookPatched , kAsmOwned , kShared ,
  kAsmExpansion , kRam , kMirror
}
 Ownership classification for ROM addresses and banks. More...
 
enum class  OracleMenuValidationSeverity { kError , kWarning }
 
enum class  PatchParameterType {
  kByte , kWord , kLong , kBool ,
  kChoice , kBitfield , kItem
}
 Parameter types supported by ZScream-compatible ASM patches. More...
 
enum class  StoryNodeStatus : uint8_t { kLocked , kAvailable , kCompleted , kBlocked }
 Completion status of a story event node for rendering. More...
 

Functions

std::string CaptureWidgetState ()
 
std::string SerializeWidgetStateToJson (const WidgetState &state)
 
absl::Status CreateWindow (Window &window, gfx::IRenderer *renderer, int flags)
 
absl::Status ShutdownWindow (Window &window)
 
absl::Status HandleEvents (Window &window)
 
std::string AddressOwnershipToString (AddressOwnership ownership)
 
absl::StatusOr< std::filesystem::path > ResolveOracleProjectRoot (const std::filesystem::path &start_path)
 
absl::StatusOr< OracleMenuRegistryBuildOracleMenuRegistry (const std::filesystem::path &project_root)
 
OracleMenuValidationReport ValidateOracleMenuRegistry (const OracleMenuRegistry &registry, int max_row, int max_col)
 
absl::StatusOr< OracleMenuComponentEditResultSetOracleMenuComponentOffset (const std::filesystem::path &project_root, const std::string &asm_relative_path, const std::string &table_label, int index, int row, int col, bool write_changes)
 
absl::StatusOr< OracleProgressionStateLoadOracleProgressionFromSrmFile (const std::string &srm_path)
 
bool StoryNodeStatusAllowed (StoryNodeStatus status, const StoryEventNodeFilter &filter)
 
std::string BuildStoryEventNodeSearchText (const StoryEventNode &node)
 
bool StoryEventNodeMatchesQuery (const StoryEventNode &node, std::string_view query)
 
bool StoryEventNodeMatchesFilter (const StoryEventNode &node, const StoryEventNodeFilter &filter)
 

Variables

bool g_window_is_resizing = false
 

Typedef Documentation

◆ json

using yaze::core::json = nlohmann::json

Definition at line 18 of file story_event_graph.cc.

Enumeration Type Documentation

◆ AddressOwnership

enum class yaze::core::AddressOwnership : uint8_t
strong

Ownership classification for ROM addresses and banks.

The hack manifest distinguishes between addresses that:

  • yaze can freely edit (vanilla data in the dev ROM)
  • asar patches on every build (hook addresses — yaze edits are lost)
  • asar fully owns (expanded banks — don't exist in dev ROM)
  • both yaze and asar write (shared banks like ZSCustomOverworld)
Enumerator
kVanillaSafe 
kHookPatched 
kAsmOwned 
kShared 
kAsmExpansion 
kRam 
kMirror 

Definition at line 26 of file hack_manifest.h.

◆ OracleMenuValidationSeverity

Enumerator
kError 
kWarning 

Definition at line 49 of file oracle_menu_registry.h.

◆ PatchParameterType

enum class yaze::core::PatchParameterType
strong

Parameter types supported by ZScream-compatible ASM patches.

These correspond to the ;#type= metadata in patch files.

Enumerator
kByte 
kWord 
kLong 
kBool 
kChoice 
kBitfield 
kItem 

Definition at line 16 of file asm_patch.h.

◆ StoryNodeStatus

enum class yaze::core::StoryNodeStatus : uint8_t
strong

Completion status of a story event node for rendering.

Enumerator
kLocked 
kAvailable 
kCompleted 
kBlocked 

Definition at line 67 of file story_event_graph.h.

Function Documentation

◆ CaptureWidgetState()

◆ SerializeWidgetStateToJson()

◆ CreateWindow()

◆ ShutdownWindow()

◆ HandleEvents()

absl::Status yaze::core::HandleEvents ( Window & window)

Definition at line 220 of file window.cc.

References yaze::core::Window::active_, and g_window_is_resizing.

◆ AddressOwnershipToString()

◆ ResolveOracleProjectRoot()

◆ BuildOracleMenuRegistry()

◆ ValidateOracleMenuRegistry()

◆ SetOracleMenuComponentOffset()

◆ LoadOracleProgressionFromSrmFile()

absl::StatusOr< OracleProgressionState > yaze::core::LoadOracleProgressionFromSrmFile ( const std::string & srm_path)

◆ StoryNodeStatusAllowed()

◆ BuildStoryEventNodeSearchText()

◆ StoryEventNodeMatchesQuery()

bool yaze::core::StoryEventNodeMatchesQuery ( const StoryEventNode & node,
std::string_view query )

Definition at line 104 of file story_event_graph_query.cc.

References BuildStoryEventNodeSearchText().

Referenced by StoryEventNodeMatchesFilter(), and yaze::editor::StoryEventGraphPanel::UpdateFilterCache().

Here is the call graph for this function:

◆ StoryEventNodeMatchesFilter()

bool yaze::core::StoryEventNodeMatchesFilter ( const StoryEventNode & node,
const StoryEventNodeFilter & filter )

Variable Documentation

◆ g_window_is_resizing

bool yaze::core::g_window_is_resizing = false

Definition at line 24 of file sdl2_window_backend.cc.

Referenced by HandleEvents(), and yaze::emu::Emulator::Run().