diff --git a/system/ppc/Ep3-AllCards.3SE0.patch.s b/system/ppc/AllCards.3SE0.patch.s similarity index 100% rename from system/ppc/Ep3-AllCards.3SE0.patch.s rename to system/ppc/AllCards.3SE0.patch.s diff --git a/system/ppc/Ep3-Editors.3SE0.patch.s b/system/ppc/Editors.3SE0.patch.s similarity index 100% rename from system/ppc/Ep3-Editors.3SE0.patch.s rename to system/ppc/Editors.3SE0.patch.s diff --git a/system/ppc/Ep3-VIPCard.3SE0.patch.s b/system/ppc/VIPCard.3SE0.patch.s similarity index 100% rename from system/ppc/Ep3-VIPCard.3SE0.patch.s rename to system/ppc/VIPCard.3SE0.patch.s diff --git a/system/ppc/VersionDetect.s b/system/ppc/VersionDetect.s index ed5e58ef..244d23a9 100644 --- a/system/ppc/VersionDetect.s +++ b/system/ppc/VersionDetect.s @@ -1,10 +1,14 @@ # This function returns the game version, with values more specific than can be -# detected by the sub_version field in various login commands. +# detected by the sub_version field in the various login commands (e.g. 9D/9E). -# The returned value has the format 03GGRRVV, where: -# G = game (Ox4F (O) = Episodes 1&2, 0x53 (S) = Episode 3) -# R = region (0x45 (E), 0x4A (J), 0x50 (P)) -# V = minor version (0 = 1.00, 1 = 1.01, 2 = 1.02, etc.) +# The returned value has the format SSGGRRVV, where: +# S = 33 (which represents PSO GC) +# G = game (4F (O) = Episodes 1&2, 53 (S) = Episode 3) +# R = region (45 (E), 4A (J), or 50 (P)) +# V = minor version | 30 (30 = 1.00, 31 = 1.01, 32 = 1.02, etc.) +# This results in a 4-character ASCII-printable version code which encodes all +# of the above information. This value is called specific_version in the places +# where it's used by the server. newserv_index_E3: diff --git a/system/ppc/WriteMemory.s b/system/ppc/WriteMemory.s index 763c3eee..54cea72f 100644 --- a/system/ppc/WriteMemory.s +++ b/system/ppc/WriteMemory.s @@ -12,16 +12,20 @@ # with the .include directive; there is an example of this in the code below. # Patches are functions that are available to run upon client request. They can -# be made available in the Patches menu or via the $patch command. In general, -# patches should be named like PATCHNAME.VXLS.patch.s, where V, X, L, and S +# be made available in the Patches menu or via the $patch command. If a label +# named hide_from_patches_menu is present anywhere in the code, the patch is +# only usable via the $patch command and does not appear in the Patches menu. +# Patches should be named like PATCHNAME.VXLS.patch.s, where V, X, L, and S # denote which specific game version the patch is for. Specifically: # V should be 3 for PSO GameCube # X should be O for Episodes 1 & 2, and S for Episode 3 # L should be E, J, or P for USA, Japanese, or Europe # S should be 0, 1, 2, etc. for the disc version (0 = v1.00, 1 = v1.01, etc.) -# If a label named hide_from_patches_menu is present anywhere in the code, the -# patch is only usable via the $patch command and does not appear in the Patches -# menu. +# (For the curious, these four-character version codes directly match the +# values returned by the VersionDetect function - see VersionDetect.s.) For +# example, the patch that gives the player a VIP card in Episode 3 USA is in +# the file VIPCard.3SE0.patch.s. (If there were a Japanese version of that +# patch, it would be in VIPCard.3SJ0.patch.s.) # For example, to use this function to write the bytes 38 00 00 05 to the # address 8010521C, send_function_call could be called like this: