Service responsible for applying the ZSCustomOverworld ASM patch and updating ROM version markers for A Link to the Past. More...
#include <overworld_upgrade_system.h>

Public Member Functions | |
| OverworldUpgradeSystem (Rom &rom) | |
| Constructs the upgrade system. | |
| absl::Status | ApplyZSCustomOverworldASM (int target_version) |
| Apply ZSCustomOverworld ASM patch to upgrade ROM version. | |
Private Member Functions | |
| absl::Status | UpdateROMVersionMarkers (int target_version) |
| Update ROM version markers and feature flags after ASM patching. This is an internal sub-step of the upgrade process. | |
Private Attributes | |
| Rom & | rom_ |
Service responsible for applying the ZSCustomOverworld ASM patch and updating ROM version markers for A Link to the Past.
This system encapsulates the destructive logic of upgrading a vanilla ROM to support expanded overworld features (v2 and v3).
Definition at line 19 of file overworld_upgrade_system.h.
|
explicit |
Constructs the upgrade system.
| rom | The ROM to be mutated. Must be valid for the lifetime of this object. |
Definition at line 18 of file overworld_upgrade_system.cc.
| absl::Status yaze::zelda3::OverworldUpgradeSystem::ApplyZSCustomOverworldASM | ( | int | target_version | ) |
Apply ZSCustomOverworld ASM patch to upgrade ROM version.
| target_version | Target version (2 for v2, 3 for v3). |
Definition at line 20 of file overworld_upgrade_system.cc.
References yaze::util::GetResourcePath(), yaze::Rom::LoadFromData(), LOG_DEBUG, LOG_ERROR, yaze::zelda3::OverworldCustomASMHasBeenApplied, RETURN_IF_ERROR, rom_, UpdateROMVersionMarkers(), and yaze::Rom::vector().

|
private |
Update ROM version markers and feature flags after ASM patching. This is an internal sub-step of the upgrade process.
Definition at line 119 of file overworld_upgrade_system.cc.
References yaze::zelda3::kOverworldScreenSize, yaze::zelda3::LargeArea, LOG_DEBUG, yaze::zelda3::OverworldCustomAnimatedGFXEnabled, yaze::zelda3::OverworldCustomAreaSpecificBGEnabled, yaze::zelda3::OverworldCustomASMHasBeenApplied, yaze::zelda3::OverworldCustomMainPaletteEnabled, yaze::zelda3::OverworldCustomMosaicEnabled, yaze::zelda3::OverworldCustomSubscreenOverlayEnabled, yaze::zelda3::OverworldCustomTileGFXGroupEnabled, rom_, and yaze::zelda3::SmallArea.
Referenced by ApplyZSCustomOverworldASM().
|
private |
Definition at line 41 of file overworld_upgrade_system.h.
Referenced by ApplyZSCustomOverworldASM(), and UpdateROMVersionMarkers().