document choice search in 61 command

This commit is contained in:
Martin Michelsen
2023-02-18 22:45:10 -08:00
parent ca551039ce
commit 37438c94c7
2 changed files with 20 additions and 16 deletions
+3 -13
View File
@@ -2059,20 +2059,10 @@ struct C_CreateGame_BB_C1 : C_CreateGame<char16_t> {
// C2 (C->S): Set choice search parameters
// Server does not respond.
// The ChoiceSearchConfig structure is defined in Player.hh.
template <typename ItemIDT>
struct C_ChoiceSearchSelections_C2_C3 {
le_uint16_t disabled = 0; // 0 = enabled, 1 = disabled. Unused for command C3
le_uint16_t unused = 0;
struct Entry {
ItemIDT parent_category_id = 0;
ItemIDT category_id = 0;
} __packed__;
Entry entries[0];
} __packed__;
struct C_ChoiceSearchSelections_DC_C2_C3 : C_ChoiceSearchSelections_C2_C3<le_uint32_t> { } __packed__;
struct C_ChoiceSearchSelections_PC_V3_BB_C2_C3 : C_ChoiceSearchSelections_C2_C3<le_uint16_t> { } __packed__;
struct C_ChoiceSearchSelections_DC_C2_C3 : ChoiceSearchConfig<le_uint32_t> { } __packed__;
struct C_ChoiceSearchSelections_PC_V3_BB_C2_C3 : ChoiceSearchConfig<le_uint16_t> { } __packed__;
// C3 (C->S): Execute choice search
// Same format as C2. The disabled field is unused.
+17 -3
View File
@@ -383,6 +383,20 @@ struct PlayerChallengeDataBB {
template <typename ItemIDT>
struct ChoiceSearchConfig {
// 0 = enabled, 1 = disabled. Unused for command C3
le_uint16_t choice_search_disabled = 0;
le_uint16_t unused = 0;
struct Entry {
ItemIDT parent_category_id = 0;
ItemIDT category_id = 0;
} __attribute__((packed));
parray<Entry, 5> entries;
} __attribute__((packed));
struct PSOPlayerDataDCPC { // For command 61
PlayerInventory inventory;
PlayerDispDataDCPCV3 disp;
@@ -392,7 +406,7 @@ struct PSOPlayerDataV3 { // For command 61
PlayerInventory inventory;
PlayerDispDataDCPCV3 disp;
PlayerChallengeDataV3 challenge_data;
parray<uint8_t, 0x18> unknown;
ChoiceSearchConfig<le_uint16_t> choice_search_config;
ptext<char, 0xAC> info_board;
parray<le_uint32_t, 0x1E> blocked_senders;
le_uint32_t auto_reply_enabled;
@@ -406,7 +420,7 @@ struct PSOPlayerDataGCEp3 { // For command 61
PlayerInventory inventory;
PlayerDispDataDCPCV3 disp;
PlayerChallengeDataV3 challenge_data;
parray<uint8_t, 0x18> unknown;
ChoiceSearchConfig<le_uint16_t> choice_search_config;
ptext<char, 0xAC> info_board;
parray<le_uint32_t, 0x1E> blocked_senders;
le_uint32_t auto_reply_enabled;
@@ -418,7 +432,7 @@ struct PSOPlayerDataBB { // For command 61
PlayerInventory inventory;
PlayerDispDataBB disp;
PlayerChallengeDataBB challenge_data;
parray<uint8_t, 0x18> unknown;
ChoiceSearchConfig<le_uint16_t> choice_search_config;
ptext<char16_t, 0xAC> info_board;
parray<le_uint32_t, 0x1E> blocked_senders;
le_uint32_t auto_reply_enabled;