SkyTemple/skytemple-files

Regional ASM Patch parameters

Closed this issue · 1 comments

Currently, all ASM Patches have parameters that are constant for every region of PMD2. While this does not have many issues by itself, this can cause a conflict when defining a "default" Text String ID for a patch parameter, since NA/EU Text Strings are organized much differently than the JP version. This is currently prominent in AppraiseAll's parameters.

An example:
NA/EU Text String 301: [M:D0] (Unused)
JP Text String 301: ぼうきゃくのもり (Oblivion Forest)

Thus, some functionality should be in place so that different regions can have different "default" values for patch parameters.

Proposal:

<Parameters>
  <Game id="EoS_NA" id2="EoS_EU" id3="EoSWVC_NA" id4="EoSWVC_EU">
    <Param name="MenuOptionStringID" label="String ID for the Menu Option" min="0" max="65535" default="300" type="int"/>
  </Game>
  <Game id="EoS_JP">
    <Param name="MenuOptionStringID" label="String ID for the Menu Option" min="0" max="69420" default="300" type="int"/>
  </Game>
  <Param name="AppraiseAllConfirmStringID" label="String ID to confirm the appraise all" min="0" max="65535" default="301" type="int"/>
</Parameters>

I'll probably add a failsafe to mark a patch as unsupported on the XML level if you try to apply it on a ROM where there are Game nodes in a Parameters list but the current ROM you have open does not have a matching Game entry.