X-Hax / SA-Mod-Manager

A new mod manager for the Sonic Adventure games.
MIT License
73 stars 17 forks source link

New system for game patches #218

Open PiKeyAr opened 1 month ago

PiKeyAr commented 1 month ago

With the current game patches (such as "HRTF Sound", "Keep Camera Settings" etc. in SADX), each patch is stored in the profile JSON as a separate bool value, which requires handling each patch separately. Instead, I suggest storing a list of enabled patches as strings. This reduces the amount of code required to add new patches, especially on the Loader's side.

The new system on the Loader's side is ready to use, the section is called EnabledGamePatches. Example:

  "EnabledGamePatches": [
    "HRTFSound",
    "KeepCamSettings",
    "FixVertexColorRendering",
    "MaterialColorFix",
    "NodeLimit",
    "FOVFix"
  ]
PiKeyAr commented 1 month ago

Another relevant thing I thought I should mention: we need to distinguish between game patches and patch-type codes, since both are called "patches". I suggest using "game patches" and "patch-type codes" to avoid confusion. I'll take care of this on the Loader's side.