1#ifndef YAZE_ZELDA3_OVERWORLD_VERSION_HELPER_H
2#define YAZE_ZELDA3_OVERWORLD_VERSION_HELPER_H
161 if (asm_version == 0xFF || asm_version == 0x00) {
165 if (asm_version == 1) {
168 if (asm_version == 2) {
171 if (asm_version >= 3) {
303 return "ZSCustomOverworld v1";
305 return "ZSCustomOverworld v2";
307 return "ZSCustomOverworld v3";
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Helper for ROM version detection and feature gating.
static bool SupportsCustomBGColors(OverworldVersion version)
Check if ROM supports custom background colors per area (v2+)
static OverworldVersion GetVersion(const Rom &rom)
Detect ROM version from ASM marker byte.
static uint8_t GetAsmVersion(const Rom &rom)
Get raw ASM version byte from ROM.
static bool SupportsAreaEnum(OverworldVersion version)
Check if ROM supports area enum system (v3+ only)
static bool SupportsSubscreenOverlay(OverworldVersion version)
Check if ROM supports subscreen overlays (v3+)
static bool SupportsAnimatedGFX(OverworldVersion version)
Check if ROM supports animated GFX selection (v3+)
static bool SupportsExpandedSpace(OverworldVersion version)
Check if ROM uses expanded ROM space for overworld data.
static const char * GetVersionName(OverworldVersion version)
Get human-readable version name for display/logging.
static bool SupportsCustomTileGFX(OverworldVersion version)
Check if ROM supports custom tile GFX groups (v3+)
Zelda 3 specific classes and functions.
AreaSizeEnum
Area size enumeration for v3+ ROMs.
constexpr int OverworldCustomASMHasBeenApplied
OverworldVersion
ROM version detection for overworld features.
@ kZSCustomV2
Parent system, BG colors, main palettes.
@ kZSCustomV1
Basic features, expanded pointers.
@ kVanilla
0xFF in ROM, no ZScream ASM applied
@ kZSCustomV3
Area enum, wide/tall areas, all features.