rename some unknown fields

This commit is contained in:
Martin Michelsen
2022-12-02 10:15:35 -08:00
parent 4f57ea30a1
commit 85fbd1b389
3 changed files with 22 additions and 22 deletions
+19 -19
View File
@@ -175,7 +175,7 @@ struct C_Login_Patch_04 {
// 06 (S->C): Open file for writing // 06 (S->C): Open file for writing
struct S_OpenFile_Patch_06 { struct S_OpenFile_Patch_06 {
le_uint32_t unknown = 0; le_uint32_t unknown_a1 = 0;
le_uint32_t size = 0; le_uint32_t size = 0;
ptext<char, 0x30> filename; ptext<char, 0x30> filename;
} __packed__; } __packed__;
@@ -339,7 +339,7 @@ struct S_ServerInitWithAfterMessage_DC_PC_V3_02_17_91_9B {
struct C_LegacyLogin_PC_V3_03 { struct C_LegacyLogin_PC_V3_03 {
le_uint64_t unused = 0; // Same as unused field in 9D/9E le_uint64_t unused = 0; // Same as unused field in 9D/9E
le_uint32_t sub_version = 0; le_uint32_t sub_version = 0;
uint8_t unknown_a1 = 0; uint8_t is_extended = 0;
uint8_t language = 0; // Same as 9D/9E uint8_t language = 0; // Same as 9D/9E
le_uint16_t unknown_a2 = 0; le_uint16_t unknown_a2 = 0;
// Note: These are suffixed with 2 since they come from the same source data // Note: These are suffixed with 2 since they come from the same source data
@@ -386,7 +386,7 @@ struct S_ServerInitWithAfterMessage_BB_03_9B {
struct C_LegacyLogin_PC_V3_04 { struct C_LegacyLogin_PC_V3_04 {
le_uint64_t unused1 = 0; // Same as unused field in 9D/9E le_uint64_t unused1 = 0; // Same as unused field in 9D/9E
le_uint32_t sub_version = 0; le_uint32_t sub_version = 0;
uint8_t unknown_a1 = 0; uint8_t is_extended = 0;
uint8_t language = 0; // Same as 9D/9E uint8_t language = 0; // Same as 9D/9E
le_uint16_t unknown_a2 = 0; le_uint16_t unknown_a2 = 0;
ptext<char, 0x10> serial_number; ptext<char, 0x10> serial_number;
@@ -543,7 +543,7 @@ struct C_MenuItemInfoRequest_09 {
struct S_Unknown_PC_0E { struct S_Unknown_PC_0E {
parray<uint8_t, 0x08> unknown_a1; parray<uint8_t, 0x08> unknown_a1;
parray<uint8_t, 0x18> unknown_a2[4]; parray<parray<uint8_t, 0x18>, 4> unknown_a2;
parray<uint8_t, 0x18> unknown_a3; parray<uint8_t, 0x18> unknown_a3;
} __packed__; } __packed__;
@@ -554,7 +554,7 @@ struct S_Unknown_GC_0E {
le_uint16_t unknown_a2 = 0; le_uint16_t unknown_a2 = 0;
le_uint32_t unknown_a3 = 0; le_uint32_t unknown_a3 = 0;
} __packed__; } __packed__;
UnknownA0 unknown_a0[8]; parray<UnknownA0, 8> unknown_a0;
le_uint32_t unknown_a1 = 0; le_uint32_t unknown_a1 = 0;
parray<uint8_t, 0x20> unknown_a2; parray<uint8_t, 0x20> unknown_a2;
parray<uint8_t, 4> unknown_a3; parray<uint8_t, 4> unknown_a3;
@@ -1255,8 +1255,8 @@ struct C_ConnectionInfo_DCNTE_8A {
// Contents is a string (char16_t on PC/BB, char on DC/V3) containing the lobby // Contents is a string (char16_t on PC/BB, char on DC/V3) containing the lobby
// or game name. The client generally only sends this immediately after joining // or game name. The client generally only sends this immediately after joining
// a game, but Sega's servers also replied to it if it was sent in a lobby. They // a game, but Sega's servers also replied to it if it was sent in a lobby. They
// would return a string like "LOBBY01" even though this would never be used // would return a string like "LOBBY01" in that case even though this would
// under normal circumstances. // never be used under normal circumstances.
// 8B: Log in (DC NTE only) // 8B: Log in (DC NTE only)
@@ -1313,7 +1313,7 @@ struct C_LoginV1_DC_PC_V3_90 {
struct C_RegisterV1_DC_92 { struct C_RegisterV1_DC_92 {
parray<uint8_t, 0x0C> unknown_a1; parray<uint8_t, 0x0C> unknown_a1;
uint8_t unknown_a2 = 0; uint8_t is_extended = 0; // TODO: This is a guess
uint8_t language = 0; // TODO: This is a guess; verify it uint8_t language = 0; // TODO: This is a guess; verify it
parray<uint8_t, 2> unknown_a3; parray<uint8_t, 2> unknown_a3;
ptext<char, 0x10> hardware_id; ptext<char, 0x10> hardware_id;
@@ -1599,8 +1599,8 @@ struct C_LoginExtended_BB_9E {
// A0 (C->S): Change ship // A0 (C->S): Change ship
// This structure is for documentation only; newserv ignores the arguments here. // This structure is for documentation only; newserv ignores the arguments here.
// TODO: This structore is valid for GC clients; check if this command has the // TODO: This structure is valid for GC clients; check if this command has the
// same arguments on DC/PC. // same arguments on other versions.
struct C_ChangeShipOrBlock_A0_A1 { struct C_ChangeShipOrBlock_A0_A1 {
le_uint32_t player_tag = 0x00010000; le_uint32_t player_tag = 0x00010000;
@@ -1612,7 +1612,7 @@ struct C_ChangeShipOrBlock_A0_A1 {
// Same as 07 command. // Same as 07 command.
// A1 (C->S): Change block // A1 (C->S): Change block
// Same format as A0. Like with A0, newserv ignores the arguments. // Same format as A0. As with A0, newserv ignores the arguments.
// A1 (S->C): Block select menu // A1 (S->C): Block select menu
// Same as 07 command. // Same as 07 command.
@@ -1675,19 +1675,19 @@ struct S_QuestMenuEntry_BB_A2_A4 : S_QuestMenuEntry<char16_t, 0x7A> { } __packed
// No arguments // No arguments
// This command is sent when the in-game quest menu (A2) is closed. When the // This command is sent when the in-game quest menu (A2) is closed. When the
// download quest menu is closed, either by downloading a quest or canceling, // download quest menu is closed, either by downloading a quest or canceling,
// the client sends A0 instead. The existance of the A0 response on the download // the client sends A0 instead. The existence of the A0 response on the download
// case makes sense, because the client may not be in a lobby and the server may // case makes sense, because the client may not be in a lobby and the server may
// need to send another menu or redirect the client. But for the online quest // need to send another menu or redirect the client. But for the online quest
// menu, the client is already in a game and can move normally after canceling // menu, the client is already in a game and can move normally after canceling
// the quest menu, so it's not obvious why A9 is needed at all. newserv (and // the quest menu, so it's not obvious why A9 is needed at all. newserv (and
// probably all other private servers) ignores it. // probably all other private servers) ignores it.
// Curiously, PSO GC sends uninitialized data in the flag argument. // Curiously, PSO GC sends uninitialized data in header.flag.
// AA (C->S): Update quest statistics (V3/BB) // AA (C->S): Update quest statistics (V3/BB)
// This command is used in Maximum Attack 2, but its format is unlikely to be // This command is used in Maximum Attack 2, but its format is unlikely to be
// specific to that quest. The structure here represents the only instance I've // specific to that quest. The structure here represents the only instance I've
// seen so far. // seen so far.
// The server will respond with an AB command. // The server should respond with an AB command.
// This command is likely never sent by PSO GC Episodes 1&2 Trial Edition, // This command is likely never sent by PSO GC Episodes 1&2 Trial Edition,
// because the following command (AB) is definitely not valid on that version. // because the following command (AB) is definitely not valid on that version.
@@ -1745,7 +1745,7 @@ struct S_ConfirmUpdateQuestStatistics_V3_BB_AB {
// It seems the client ignores the date part and the milliseconds part; only the // It seems the client ignores the date part and the milliseconds part; only the
// hour, minute, and second fields are actually used. // hour, minute, and second fields are actually used.
// This command can be sent even if it's not requested by the client (with B1). // This command can be sent even if it's not requested by the client (with B1).
// For example, some servers send this every time a client joins a game. // For example, some servers send this command every time a client joins a game.
// Client will respond with a 99 command. // Client will respond with a 99 command.
// B2 (S->C): Execute code and/or checksum memory // B2 (S->C): Execute code and/or checksum memory
@@ -2033,8 +2033,8 @@ struct S_ChoiceSearchResultEntry_V3_C4 {
// newserv currently doesn't send this command at all because the V3 and // newserv currently doesn't send this command at all because the V3 and
// BB formats aren't fully documented. // BB formats aren't fully documented.
// TODO: Figure out where the text is in those formats, write appropriate // TODO: Figure out where the text is in those formats, write appropriate
// conversion functions, and implement the command. Don't forget to override the // conversion functions, and implement the command. Don't forget to overwrite
// client_id field in each entry before sending. // the client_id field in each entry before sending.
// C6 (C->S): Set blocked senders list (V3/BB) // C6 (C->S): Set blocked senders list (V3/BB)
// The command always contains the same number of entries, even if the entries // The command always contains the same number of entries, even if the entries
@@ -5367,8 +5367,8 @@ struct G_EndTurn_GC_Ep3_6xB3x48_CAx48 {
// 6xB3x49 / CAx49: Card counts // 6xB3x49 / CAx49: Card counts
// This command is sent when a client joins a game, but it is completely ignored // This command is sent when a client joins a game, but it is completely ignored
// by the server. (Not just newserv - the server implementation within Episode 3 // by the original Episode 3 server. (newserv, however, uses this for deck
// itself also ignores this command.) Sega presumably could have used this to // verification at battle start time.) Sega presumably could have used this to
// detect the presence of unreleased cards to ban cheaters, but the effects of // detect the presence of unreleased cards to ban cheaters, but the effects of
// the non-saveable Have All Cards AR code don't appear in this data, so this // the non-saveable Have All Cards AR code don't appear in this data, so this
// would have been ineffective. // would have been ineffective.
+1 -1
View File
@@ -1857,7 +1857,7 @@ void send_ep3_media_update(
// sends the client a generic rank // sends the client a generic rank
void send_ep3_rank_update(shared_ptr<Client> c) { void send_ep3_rank_update(shared_ptr<Client> c) {
S_RankUpdate_GC_Ep3_B7 cmd = { S_RankUpdate_GC_Ep3_B7 cmd = {
0, "\0\0\0\0\0\0\0\0\0\0\0", 0x00FFFFFF, 0x00FFFFFF, 0xFFFFFFFF}; 0, "\0\0\0\0\0\0\0\0\0\0\0", 1000000, 1000000, 0xFFFFFFFF};
send_command_t(c, 0xB7, 0x00, cmd); send_command_t(c, 0xB7, 0x00, cmd);
} }
+2 -2
View File
@@ -1890,7 +1890,7 @@ I 13136 2022-11-27 21:06:32 - [Commands] Sending to C-5 (version=GC command=04 f
0020 | FF FF FF FF FF FF FF FF FF FF FF FF | 0020 | FF FF FF FF FF FF FF FF FF FF FF FF |
I 13136 2022-11-27 21:06:32 - [Commands] Sending to C-5 (version=GC command=B7 flag=00) I 13136 2022-11-27 21:06:32 - [Commands] Sending to C-5 (version=GC command=B7 flag=00)
0000 | B7 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0000 | B7 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0010 | 00 00 00 00 FF FF FF 00 FF FF FF 00 FF FF FF FF | 0010 | 00 00 00 00 40 42 0F 00 40 42 0F 00 FF FF FF FF | @B @B
I 13136 2022-11-27 21:06:32 - [Commands] Sending to C-5 (version=GC command=D5 flag=00) I 13136 2022-11-27 21:06:32 - [Commands] Sending to C-5 (version=GC command=D5 flag=00)
0000 | D5 00 2C 00 59 6F 75 20 61 72 65 20 63 6F 6E 6E | , You are conn 0000 | D5 00 2C 00 59 6F 75 20 61 72 65 20 63 6F 6E 6E | , You are conn
0010 | 65 63 74 65 64 20 74 6F 20 09 43 36 41 6C 65 78 | ected to C6Alex 0010 | 65 63 74 65 64 20 74 6F 20 09 43 36 41 6C 65 78 | ected to C6Alex
@@ -4742,7 +4742,7 @@ I 13136 2022-11-27 21:07:56 - [Commands] Sending to C-7 (version=GC command=04 f
0020 | FF FF FF FF FF FF FF FF FF FF FF FF | 0020 | FF FF FF FF FF FF FF FF FF FF FF FF |
I 13136 2022-11-27 21:07:56 - [Commands] Sending to C-7 (version=GC command=B7 flag=00) I 13136 2022-11-27 21:07:56 - [Commands] Sending to C-7 (version=GC command=B7 flag=00)
0000 | B7 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0000 | B7 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0010 | 00 00 00 00 FF FF FF 00 FF FF FF 00 FF FF FF FF | 0010 | 00 00 00 00 40 42 0F 00 40 42 0F 00 FF FF FF FF | @B @B
I 13136 2022-11-27 21:07:56 - [Commands] Sending to C-7 (version=GC command=07 flag=05) I 13136 2022-11-27 21:07:56 - [Commands] Sending to C-7 (version=GC command=07 flag=05)
0000 | 07 05 AC 00 11 00 00 11 FF FF FF FF 04 00 41 6C | Al 0000 | 07 05 AC 00 11 00 00 11 FF FF FF FF 04 00 41 6C | Al
0010 | 65 78 61 6E 64 72 69 61 00 00 00 00 00 00 00 00 | exandria 0010 | 65 78 61 6E 64 72 69 61 00 00 00 00 00 00 00 00 | exandria