switch back to original GC versioning convention
This commit is contained in:
+6
-6
@@ -91,9 +91,9 @@ void Client::Config::set_flags_for_version(Version version, int64_t sub_version)
|
||||
this->set_flag(Flag::SEND_FUNCTION_CALL_CHECKSUM_ONLY);
|
||||
this->set_flag(Flag::SEND_FUNCTION_CALL_NO_CACHE_PATCH);
|
||||
break;
|
||||
case 0x30: // GC Ep1&2 GameJam demo, GC Ep1&2 Trial Edition, GC Ep1&2 JP v1.02, at least one version of XB
|
||||
case 0x31: // GC Ep1&2 US v1.00, GC US v1.01, XB US
|
||||
case 0x34: // GC Ep1&2 JP v1.03
|
||||
case 0x30: // GC Ep1&2 GameJam demo, GC Ep1&2 Trial Edition, GC Ep1&2 JP v1.2, at least one version of XB
|
||||
case 0x31: // GC Ep1&2 US v1.0, GC US v1.1, XB US
|
||||
case 0x34: // GC Ep1&2 JP v1.3
|
||||
// In the case of GC Trial Edition, the IS_GC_TRIAL_EDITION flag is
|
||||
// already set when we get here (because the client has used V2 encryption
|
||||
// instead of V3)
|
||||
@@ -102,13 +102,13 @@ void Client::Config::set_flags_for_version(Version version, int64_t sub_version)
|
||||
case 0x33: // GC Ep1&2 EU 60Hz
|
||||
this->set_flag(Flag::NO_D6_AFTER_LOBBY);
|
||||
break;
|
||||
case 0x35: // GC Ep1&2 JP v1.04 (Plus)
|
||||
case 0x35: // GC Ep1&2 JP v1.4 (Plus)
|
||||
this->set_flag(Flag::NO_D6_AFTER_LOBBY);
|
||||
this->set_flag(Flag::ENCRYPTED_SEND_FUNCTION_CALL);
|
||||
this->set_flag(Flag::SEND_FUNCTION_CALL_NO_CACHE_PATCH);
|
||||
break;
|
||||
case 0x36: // GC Ep1&2 US v1.02 (Plus)
|
||||
case 0x39: // GC Ep1&2 JP v1.05 (Plus)
|
||||
case 0x36: // GC Ep1&2 US v1.2 (Plus)
|
||||
case 0x39: // GC Ep1&2 JP v1.5 (Plus)
|
||||
this->set_flag(Flag::NO_D6_AFTER_LOBBY);
|
||||
this->set_flag(Flag::NO_SEND_FUNCTION_CALL);
|
||||
break;
|
||||
|
||||
@@ -2168,10 +2168,10 @@ struct S_ServerTime_B1 {
|
||||
// resulting B3 command is always 0. The checksum functionality does work on PSO
|
||||
// PC, just like the other versions.
|
||||
// This command doesn't work on some PSO GC versions, namely the later JP PSO
|
||||
// Plus (v1.05), US PSO Plus (v1.02), or US/EU Episode 3. Sega presumably
|
||||
// removed it after taking heat from Nintendo about enabling homebrew on the
|
||||
// GameCube. On the earlier JP PSO Plus (v1.04) and JP Episode 3, this command
|
||||
// is implemented as described here, with some additional compression and
|
||||
// Plus (v1.5), US PSO Plus (v1.2), or US/EU Episode 3. Sega presumably removed
|
||||
// it after taking heat from Nintendo about enabling homebrew on the GameCube.
|
||||
// On the earlier JP PSO Plus (v1.4) and JP Episode 3, this command is
|
||||
// implemented as described here, with some additional compression and
|
||||
// encryption steps added, similarly to how download quests are encoded. See
|
||||
// send_function_call in SendCommands.cc for more details on how this works.
|
||||
|
||||
@@ -2656,8 +2656,8 @@ struct SC_TradeItems_D0_D3 { // D0 when sent by client, D3 when sent by server
|
||||
|
||||
// D6 (C->S): Large message box closed (V3)
|
||||
// No arguments
|
||||
// DC, PC, and BB do not send this command at all. GC US v1.00 and v1.01 will
|
||||
// send this command when any large message box (1A/D5) is closed; GC Plus and
|
||||
// DC, PC, and BB do not send this command at all. GC US v1.0 and v1.1 will send
|
||||
// this command when any large message box (1A/D5) is closed; GC Plus and
|
||||
// Episode 3 will send D6 only for large message boxes that occur before the
|
||||
// client has joined a lobby. (After joining a lobby, large message boxes will
|
||||
// still be displayed if sent by the server, but the client won't send a D6 when
|
||||
|
||||
+1
-1
@@ -1326,7 +1326,7 @@ Action a_assemble_all_patches(
|
||||
assemble-all-patches\n\
|
||||
Assemble all patches in the system/client-functions directory, and produce\n\
|
||||
two compiled .bin files for each patch (one unencrypted, for most PSO\n\
|
||||
versions, and one encrypted, for PSO GC JP v1.04, JP Ep3, and Ep3 Trial\n\
|
||||
versions, and one encrypted, for PSO GC JP v1.4, JP Ep3, and Ep3 Trial\n\
|
||||
Edition). The output files are saved in system/client-functions.\n",
|
||||
+[](Arguments&) {
|
||||
ServerState s;
|
||||
|
||||
+6
-6
@@ -213,17 +213,17 @@ uint32_t default_specific_version_for_version(Version version, int64_t sub_versi
|
||||
case 0x32: // GC Ep1&2 EU 50Hz
|
||||
case 0x33: // GC Ep1&2 EU 60Hz
|
||||
return 0x334F5030; // 3OP0
|
||||
case 0x36: // GC Ep1&2 US v1.02 (Plus)
|
||||
case 0x36: // GC Ep1&2 US v1.2 (Plus)
|
||||
return 0x334F4532; // 3OE2
|
||||
case 0x39: // GC Ep1&2 JP v1.05 (Plus)
|
||||
case 0x39: // GC Ep1&2 JP v1.5 (Plus)
|
||||
return 0x334F4A35; // 3OJ5
|
||||
case 0x34: // GC Ep1&2 JP v1.03
|
||||
case 0x34: // GC Ep1&2 JP v1.3
|
||||
return 0x334F4A33; // 3OJ3
|
||||
case 0x35: // GC Ep1&2 JP v1.04 (Plus)
|
||||
case 0x35: // GC Ep1&2 JP v1.4 (Plus)
|
||||
return 0x334F4A34; // 3OJ4
|
||||
case -1: // Initial check (before sub_version recognition)
|
||||
case 0x30: // GC Ep1&2 GameJam demo, GC Ep1&2 Trial Edition, GC Ep1&2 JP v1.02, at least one version of PSO XB
|
||||
case 0x31: // GC Ep1&2 US v1.00, GC US v1.01, XB US
|
||||
case 0x30: // GC Ep1&2 GameJam demo, GC Ep1&2 Trial Edition, GC Ep1&2 JP v1.2, at least one version of PSO XB
|
||||
case 0x31: // GC Ep1&2 US v1.0, GC US v1.1, XB US
|
||||
default:
|
||||
return 0x33000000;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user