Fix for text link issues with items whose loregroup is '-1'

This commit is contained in:
Uleat 2015-01-05 23:11:38 -05:00
parent 4b133c808c
commit 668823eaf2
14 changed files with 223 additions and 250 deletions

View File

@ -5270,20 +5270,19 @@ struct ClientMarqueeMessage_Struct {
typedef std::list<ServerLootItem_Struct*> ItemList;
struct TextLinkBody_Struct {
uint8 unknown_1; /* '%1X' - Server field 1 */
uint32 item_id; /* '%05X' - Server field 2 */
uint32 augment_1; /* '%05X' - Server field 3 */
uint32 augment_2; /* '%05X' - Server field 4 */
uint32 augment_3; /* '%05X' - Server field 5 */
uint32 augment_4; /* '%05X' - Server field 6 */
uint32 augment_5; /* '%05X' - Server field 7 */
uint32 augment_6; /* '%05X' - Server field 8 */
uint8 unknown_2; /* '%1X' - Server field 9 */
uint8 unknown_3; /* '%1X' - Server field 10 */
uint32 unknown_4; /* '%04X' - Server field 11 */
uint8 unknown_5; /* '%1X' - Server field 12 */
uint32 ornament_icon; /* '%05X' - Server field 13 */
int hash; /* '%08X' - Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint32 augment_6;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
// Restore structure packing to default

View File

@ -5819,10 +5819,9 @@ namespace RoF
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -5839,9 +5838,9 @@ namespace RoF
rofLinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
rofLinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
rofLinkBodyStruct.augment_6 = serverLinkBodyStruct.augment_6;
rofLinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_3;
rofLinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_4;
rofLinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_5;
rofLinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
rofLinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
rofLinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
rofLinkBodyStruct.ornament_icon = serverLinkBodyStruct.ornament_icon;
rofLinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -5858,9 +5857,9 @@ namespace RoF
rofLinkBodyStruct.augment_4,
rofLinkBodyStruct.augment_5,
rofLinkBodyStruct.augment_6,
rofLinkBodyStruct.unknown_2,
rofLinkBodyStruct.unknown_3,
rofLinkBodyStruct.unknown_4,
rofLinkBodyStruct.is_evolving,
rofLinkBodyStruct.lore_group,
rofLinkBodyStruct.evolve_max,
rofLinkBodyStruct.ornament_icon,
rofLinkBodyStruct.hash
);
@ -5999,9 +5998,9 @@ namespace RoF
rofLinkBodyStruct.augment_4 = (uint32)strtol(rofLinkBody.substr(21, 5).c_str(), nullptr, 16);
rofLinkBodyStruct.augment_5 = (uint32)strtol(rofLinkBody.substr(26, 5).c_str(), nullptr, 16);
rofLinkBodyStruct.augment_6 = (uint32)strtol(rofLinkBody.substr(31, 5).c_str(), nullptr, 16);
rofLinkBodyStruct.unknown_2 = (uint8)strtol(rofLinkBody.substr(36, 1).c_str(), nullptr, 16);
rofLinkBodyStruct.unknown_3 = (uint32)strtol(rofLinkBody.substr(37, 4).c_str(), nullptr, 16);
rofLinkBodyStruct.unknown_4 = (uint8)strtol(rofLinkBody.substr(41, 1).c_str(), nullptr, 16);
rofLinkBodyStruct.is_evolving = (uint8)strtol(rofLinkBody.substr(36, 1).c_str(), nullptr, 16);
rofLinkBodyStruct.lore_group = (uint32)strtol(rofLinkBody.substr(37, 4).c_str(), nullptr, 16);
rofLinkBodyStruct.evolve_max = (uint8)strtol(rofLinkBody.substr(41, 1).c_str(), nullptr, 16);
rofLinkBodyStruct.ornament_icon = (uint32)strtol(rofLinkBody.substr(42, 5).c_str(), nullptr, 16);
rofLinkBodyStruct.hash = (int)strtol(rofLinkBody.substr(47, 8).c_str(), nullptr, 16);
@ -6018,10 +6017,9 @@ namespace RoF
serverLinkBodyStruct.augment_4 = rofLinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = rofLinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = rofLinkBodyStruct.augment_6;
serverLinkBodyStruct.unknown_2 = NOT_USED;
serverLinkBodyStruct.unknown_3 = rofLinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_4 = rofLinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_5 = rofLinkBodyStruct.unknown_4;
serverLinkBodyStruct.is_evolving = rofLinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = rofLinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = rofLinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = rofLinkBodyStruct.ornament_icon;
serverLinkBodyStruct.hash = rofLinkBodyStruct.hash;
}
@ -6029,7 +6027,7 @@ namespace RoF
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -6038,10 +6036,9 @@ namespace RoF
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -5914,10 +5914,9 @@ namespace RoF2
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -5934,10 +5933,9 @@ namespace RoF2
rof2LinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
rof2LinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
rof2LinkBodyStruct.augment_6 = serverLinkBodyStruct.augment_6;
rof2LinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_2;
rof2LinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_3;
rof2LinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_4;
rof2LinkBodyStruct.unknown_5 = serverLinkBodyStruct.unknown_5;
rof2LinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
rof2LinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
rof2LinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
rof2LinkBodyStruct.ornament_icon = serverLinkBodyStruct.ornament_icon;
rof2LinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -5945,7 +5943,7 @@ namespace RoF2
static inline bool GenerateRoF2TextLinkBody(std::string& rof2LinkBody, const structs::TextLinkBody_Struct& rof2LinkBodyStruct)
{
rof2LinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X",
rof2LinkBodyStruct.unknown_1,
rof2LinkBodyStruct.item_id,
rof2LinkBodyStruct.augment_1,
@ -5954,10 +5952,9 @@ namespace RoF2
rof2LinkBodyStruct.augment_4,
rof2LinkBodyStruct.augment_5,
rof2LinkBodyStruct.augment_6,
rof2LinkBodyStruct.unknown_2,
rof2LinkBodyStruct.unknown_3,
rof2LinkBodyStruct.unknown_4,
rof2LinkBodyStruct.unknown_5,
rof2LinkBodyStruct.is_evolving,
rof2LinkBodyStruct.lore_group,
rof2LinkBodyStruct.evolve_max,
rof2LinkBodyStruct.ornament_icon,
rof2LinkBodyStruct.hash
);
@ -6084,7 +6081,7 @@ namespace RoF2
static inline bool DegenerateRoF2TextLinkBody(structs::TextLinkBody_Struct& rof2LinkBodyStruct, const std::string& rof2LinkBody)
{
// RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X"
// RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X"
memset(&rof2LinkBodyStruct, 0, sizeof(structs::TextLinkBody_Struct));
if (rof2LinkBody.length() != consts::TEXT_LINK_BODY_LENGTH) { return false; }
@ -6096,10 +6093,9 @@ namespace RoF2
rof2LinkBodyStruct.augment_4 = (uint32)strtol(rof2LinkBody.substr(21, 5).c_str(), nullptr, 16);
rof2LinkBodyStruct.augment_5 = (uint32)strtol(rof2LinkBody.substr(26, 5).c_str(), nullptr, 16);
rof2LinkBodyStruct.augment_6 = (uint32)strtol(rof2LinkBody.substr(31, 5).c_str(), nullptr, 16);
rof2LinkBodyStruct.unknown_2 = (uint8)strtol(rof2LinkBody.substr(36, 1).c_str(), nullptr, 16);
rof2LinkBodyStruct.unknown_3 = (uint32)strtol(rof2LinkBody.substr(37, 4).c_str(), nullptr, 16);
rof2LinkBodyStruct.unknown_4 = (uint8)strtol(rof2LinkBody.substr(41, 1).c_str(), nullptr, 16);
rof2LinkBodyStruct.unknown_5 = (uint8)strtol(rof2LinkBody.substr(42, 1).c_str(), nullptr, 16);
rof2LinkBodyStruct.is_evolving = (uint8)strtol(rof2LinkBody.substr(36, 1).c_str(), nullptr, 16);
rof2LinkBodyStruct.lore_group = (uint32)strtol(rof2LinkBody.substr(37, 5).c_str(), nullptr, 16);
rof2LinkBodyStruct.evolve_max = (uint8)strtol(rof2LinkBody.substr(42, 1).c_str(), nullptr, 16);
rof2LinkBodyStruct.ornament_icon = (uint32)strtol(rof2LinkBody.substr(43, 5).c_str(), nullptr, 16);
rof2LinkBodyStruct.hash = (int)strtol(rof2LinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -6116,10 +6112,9 @@ namespace RoF2
serverLinkBodyStruct.augment_4 = rof2LinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = rof2LinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = rof2LinkBodyStruct.augment_6;
serverLinkBodyStruct.unknown_2 = rof2LinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_3 = rof2LinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_4 = rof2LinkBodyStruct.unknown_4;
serverLinkBodyStruct.unknown_5 = rof2LinkBodyStruct.unknown_5;
serverLinkBodyStruct.is_evolving = rof2LinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = rof2LinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = rof2LinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = rof2LinkBodyStruct.ornament_icon;
serverLinkBodyStruct.hash = rof2LinkBodyStruct.hash;
}
@ -6127,7 +6122,7 @@ namespace RoF2
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -6136,10 +6131,9 @@ namespace RoF2
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -4872,23 +4872,22 @@ struct MercenaryMerchantResponse_Struct {
/*0004*/
};
// RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X"
// RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - RoF2 field 1 / Server field 1 */
uint32 item_id; /* '%05X' - RoF2 field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - RoF2 field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - RoF2 field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - RoF2 field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - RoF2 field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - RoF2 field 7 / Server field 7 */
uint32 augment_6; /* '%05X' - RoF2 field 8 / Server field 8 */
uint8 unknown_2; /* '%1X' - RoF2 field 9 / Server field 9 */
uint8 unknown_3; /* '%1X' - RoF2 field 10 / Server field 10 */
uint32 unknown_4; /* '%04X' - RoF2 field 11 / Server field 11 */
uint8 unknown_5; /* '%1X' - RoF2 field 12 / Server field 12 */
uint32 ornament_icon; /* '%05X' - RoF2 field 13 / Server field 13 */
int hash; /* '%08X' - RoF2 field 14 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint32 augment_6;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
}; //end namespace structs

View File

@ -4897,19 +4897,19 @@ struct MercenaryMerchantResponse_Struct {
// RoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - RoF field 1 / Server field 1 */
uint32 item_id; /* '%05X' - RoF field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - RoF field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - RoF field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - RoF field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - RoF field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - RoF field 7 / Server field 7 */
uint32 augment_6; /* '%05X' - RoF field 8 / Server field 8 */
uint8 unknown_2; /* '%1X' - RoF field 9 / Server field 10 */
uint32 unknown_3; /* '%04X' - RoF field 10 / Server field 11 */
uint8 unknown_4; /* '%1X' - RoF field 11 / Server field 12 */
uint32 ornament_icon; /* '%05X' - RoF field 12 / Server field 13 */
int hash; /* '%08X' - RoF field 13 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint32 augment_6;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
}; //end namespace structs

View File

@ -3911,10 +3911,9 @@ namespace SoD
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -3930,9 +3929,9 @@ namespace SoD
sodLinkBodyStruct.augment_3 = serverLinkBodyStruct.augment_3;
sodLinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
sodLinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
sodLinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_3;
sodLinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_4;
sodLinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_5;
sodLinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
sodLinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
sodLinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
sodLinkBodyStruct.ornament_icon = serverLinkBodyStruct.ornament_icon;
sodLinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -3948,9 +3947,9 @@ namespace SoD
sodLinkBodyStruct.augment_3,
sodLinkBodyStruct.augment_4,
sodLinkBodyStruct.augment_5,
sodLinkBodyStruct.unknown_2,
sodLinkBodyStruct.unknown_3,
sodLinkBodyStruct.unknown_4,
sodLinkBodyStruct.is_evolving,
sodLinkBodyStruct.lore_group,
sodLinkBodyStruct.evolve_max,
sodLinkBodyStruct.ornament_icon,
sodLinkBodyStruct.hash
);
@ -4088,9 +4087,9 @@ namespace SoD
sodLinkBodyStruct.augment_3 = (uint32)strtol(sodLinkBody.substr(16, 5).c_str(), nullptr, 16);
sodLinkBodyStruct.augment_4 = (uint32)strtol(sodLinkBody.substr(21, 5).c_str(), nullptr, 16);
sodLinkBodyStruct.augment_5 = (uint32)strtol(sodLinkBody.substr(26, 5).c_str(), nullptr, 16);
sodLinkBodyStruct.unknown_2 = (uint8)strtol(sodLinkBody.substr(31, 1).c_str(), nullptr, 16);
sodLinkBodyStruct.unknown_3 = (uint32)strtol(sodLinkBody.substr(32, 4).c_str(), nullptr, 16);
sodLinkBodyStruct.unknown_4 = (uint8)strtol(sodLinkBody.substr(36, 1).c_str(), nullptr, 16);
sodLinkBodyStruct.is_evolving = (uint8)strtol(sodLinkBody.substr(31, 1).c_str(), nullptr, 16);
sodLinkBodyStruct.lore_group = (uint32)strtol(sodLinkBody.substr(32, 4).c_str(), nullptr, 16);
sodLinkBodyStruct.evolve_max = (uint8)strtol(sodLinkBody.substr(36, 1).c_str(), nullptr, 16);
sodLinkBodyStruct.ornament_icon = (uint32)strtol(sodLinkBody.substr(37, 5).c_str(), nullptr, 16);
sodLinkBodyStruct.hash = (int)strtol(sodLinkBody.substr(42, 8).c_str(), nullptr, 16);
@ -4107,10 +4106,9 @@ namespace SoD
serverLinkBodyStruct.augment_4 = sodLinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = sodLinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = NOT_USED;
serverLinkBodyStruct.unknown_2 = NOT_USED;
serverLinkBodyStruct.unknown_3 = sodLinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_4 = sodLinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_5 = sodLinkBodyStruct.unknown_4;
serverLinkBodyStruct.is_evolving = sodLinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = sodLinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = sodLinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = sodLinkBodyStruct.ornament_icon;
serverLinkBodyStruct.hash = sodLinkBodyStruct.hash;
}
@ -4118,7 +4116,7 @@ namespace SoD
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -4127,10 +4125,9 @@ namespace SoD
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -4412,18 +4412,18 @@ struct MercenaryAssign_Struct {
// SoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - SoD field 1 / Server field 1 */
uint32 item_id; /* '%05X' - SoD field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - SoD field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - SoD field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - SoD field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - SoD field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - SoD field 7 / Server field 7 */
uint8 unknown_2; /* '%1X' - SoD field 8 / Server field 10 */
uint32 unknown_3; /* '%04X' - SoD field 9 / Server field 11 */
uint8 unknown_4; /* '%1X' - SoD field 10 / Server field 12 */
uint32 ornament_icon; /* '%05X' - SoD field 11 / Server field 13 */
int hash; /* '%08X' - SoD field 12 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
}; //end namespace structs

View File

@ -3233,10 +3233,9 @@ namespace SoF
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -3252,9 +3251,9 @@ namespace SoF
sofLinkBodyStruct.augment_3 = serverLinkBodyStruct.augment_3;
sofLinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
sofLinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
sofLinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_3;
sofLinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_4;
sofLinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_5;
sofLinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
sofLinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
sofLinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
sofLinkBodyStruct.ornament_icon = serverLinkBodyStruct.ornament_icon;
sofLinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -3270,9 +3269,9 @@ namespace SoF
sofLinkBodyStruct.augment_3,
sofLinkBodyStruct.augment_4,
sofLinkBodyStruct.augment_5,
sofLinkBodyStruct.unknown_2,
sofLinkBodyStruct.unknown_3,
sofLinkBodyStruct.unknown_4,
sofLinkBodyStruct.is_evolving,
sofLinkBodyStruct.lore_group,
sofLinkBodyStruct.evolve_max,
sofLinkBodyStruct.ornament_icon,
sofLinkBodyStruct.hash
);
@ -3410,9 +3409,9 @@ namespace SoF
sofLinkBodyStruct.augment_3 = (uint32)strtol(sofLinkBody.substr(16, 5).c_str(), nullptr, 16);
sofLinkBodyStruct.augment_4 = (uint32)strtol(sofLinkBody.substr(21, 5).c_str(), nullptr, 16);
sofLinkBodyStruct.augment_5 = (uint32)strtol(sofLinkBody.substr(26, 5).c_str(), nullptr, 16);
sofLinkBodyStruct.unknown_2 = (uint8)strtol(sofLinkBody.substr(31, 1).c_str(), nullptr, 16);
sofLinkBodyStruct.unknown_3 = (uint32)strtol(sofLinkBody.substr(32, 4).c_str(), nullptr, 16);
sofLinkBodyStruct.unknown_4 = (uint8)strtol(sofLinkBody.substr(36, 1).c_str(), nullptr, 16);
sofLinkBodyStruct.is_evolving = (uint8)strtol(sofLinkBody.substr(31, 1).c_str(), nullptr, 16);
sofLinkBodyStruct.lore_group = (uint32)strtol(sofLinkBody.substr(32, 4).c_str(), nullptr, 16);
sofLinkBodyStruct.evolve_max = (uint8)strtol(sofLinkBody.substr(36, 1).c_str(), nullptr, 16);
sofLinkBodyStruct.ornament_icon = (uint32)strtol(sofLinkBody.substr(37, 5).c_str(), nullptr, 16);
sofLinkBodyStruct.hash = (int)strtol(sofLinkBody.substr(42, 8).c_str(), nullptr, 16);
@ -3429,10 +3428,9 @@ namespace SoF
serverLinkBodyStruct.augment_4 = sofLinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = sofLinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = NOT_USED;
serverLinkBodyStruct.unknown_2 = NOT_USED;
serverLinkBodyStruct.unknown_3 = sofLinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_4 = sofLinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_5 = sofLinkBodyStruct.unknown_4;
serverLinkBodyStruct.is_evolving = sofLinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = sofLinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = sofLinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = sofLinkBodyStruct.ornament_icon;
serverLinkBodyStruct.hash = sofLinkBodyStruct.hash;
}
@ -3440,7 +3438,7 @@ namespace SoF
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -3449,10 +3447,9 @@ namespace SoF
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -4118,18 +4118,18 @@ struct AltCurrencySellItem_Struct {
// SoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - SoF field 1 / Server field 1 */
uint32 item_id; /* '%05X' - SoF field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - SoF field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - SoF field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - SoF field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - SoF field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - SoF field 7 / Server field 7 */
uint8 unknown_2; /* '%1X' - SoF field 8 / Server field 10 */
uint32 unknown_3; /* '%04X' - SoF field 9 / Server field 11 */
uint8 unknown_4; /* '%1X' - SoF field 10 / Server field 12 */
uint32 ornament_icon; /* '%05X' - SoF field 11 / Server field 13 */
int hash; /* '%08X' - SoF field 12 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
}; //end namespace structs

View File

@ -1992,10 +1992,9 @@ namespace Titanium
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -2011,9 +2010,9 @@ namespace Titanium
titaniumLinkBodyStruct.augment_3 = serverLinkBodyStruct.augment_3;
titaniumLinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
titaniumLinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
titaniumLinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_3;
titaniumLinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_4;
titaniumLinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_5;
titaniumLinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
titaniumLinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
titaniumLinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
titaniumLinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -2028,9 +2027,9 @@ namespace Titanium
titaniumLinkBodyStruct.augment_3,
titaniumLinkBodyStruct.augment_4,
titaniumLinkBodyStruct.augment_5,
titaniumLinkBodyStruct.unknown_2,
titaniumLinkBodyStruct.unknown_3,
titaniumLinkBodyStruct.unknown_4,
titaniumLinkBodyStruct.is_evolving,
titaniumLinkBodyStruct.lore_group,
titaniumLinkBodyStruct.evolve_max,
titaniumLinkBodyStruct.hash
);
@ -2167,9 +2166,9 @@ namespace Titanium
titaniumLinkBodyStruct.augment_3 = (uint32)strtol(titaniumLinkBody.substr(16, 5).c_str(), nullptr, 16);
titaniumLinkBodyStruct.augment_4 = (uint32)strtol(titaniumLinkBody.substr(21, 5).c_str(), nullptr, 16);
titaniumLinkBodyStruct.augment_5 = (uint32)strtol(titaniumLinkBody.substr(26, 5).c_str(), nullptr, 16);
titaniumLinkBodyStruct.unknown_2 = (uint8)strtol(titaniumLinkBody.substr(31, 1).c_str(), nullptr, 16);
titaniumLinkBodyStruct.unknown_3 = (uint32)strtol(titaniumLinkBody.substr(32, 4).c_str(), nullptr, 16);
titaniumLinkBodyStruct.unknown_4 = (uint8)strtol(titaniumLinkBody.substr(36, 1).c_str(), nullptr, 16);
titaniumLinkBodyStruct.is_evolving = (uint8)strtol(titaniumLinkBody.substr(31, 1).c_str(), nullptr, 16);
titaniumLinkBodyStruct.lore_group = (uint32)strtol(titaniumLinkBody.substr(32, 4).c_str(), nullptr, 16);
titaniumLinkBodyStruct.evolve_max = (uint8)strtol(titaniumLinkBody.substr(36, 1).c_str(), nullptr, 16);
titaniumLinkBodyStruct.hash = (int)strtol(titaniumLinkBody.substr(37, 8).c_str(), nullptr, 16);
return true;
@ -2185,10 +2184,9 @@ namespace Titanium
serverLinkBodyStruct.augment_4 = titaniumLinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = titaniumLinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = NOT_USED;
serverLinkBodyStruct.unknown_2 = NOT_USED;
serverLinkBodyStruct.unknown_3 = titaniumLinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_4 = titaniumLinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_5 = titaniumLinkBodyStruct.unknown_4;
serverLinkBodyStruct.is_evolving = titaniumLinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = titaniumLinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = titaniumLinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = NOT_USED;
serverLinkBodyStruct.hash = titaniumLinkBodyStruct.hash;
}
@ -2196,7 +2194,7 @@ namespace Titanium
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -2205,10 +2203,9 @@ namespace Titanium
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -3332,17 +3332,17 @@ struct LFGuild_GuildToggle_Struct
// 6.2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - Titanium field 1 / Server field 1 */
uint32 item_id; /* '%05X' - Titanium field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - Titanium field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - Titanium field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - Titanium field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - Titanium field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - Titanium field 7 / Server field 7 */
uint8 unknown_2; /* '%1X' - Titanium field 8 / Server field 10 */
uint32 unknown_3; /* '%04X' - Titanium field 9 / Server field 11 */
uint8 unknown_4; /* '%1X' - Titanium field 10 / Server field 12 */
int hash; /* '%08X' - Titanium field 11 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
int hash;
};
}; //end namespace structs

View File

@ -4346,10 +4346,9 @@ namespace Underfoot
serverLinkBodyStruct.augment_4 = (uint32)strtol(serverLinkBody.substr(21, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_5 = (uint32)strtol(serverLinkBody.substr(26, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.augment_6 = (uint32)strtol(serverLinkBody.substr(31, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_2 = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_3 = (uint8)strtol(serverLinkBody.substr(37, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_4 = (uint32)strtol(serverLinkBody.substr(38, 4).c_str(), nullptr, 16);
serverLinkBodyStruct.unknown_5 = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.is_evolving = (uint8)strtol(serverLinkBody.substr(36, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.lore_group = (uint32)strtol(serverLinkBody.substr(37, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.evolve_max = (uint8)strtol(serverLinkBody.substr(42, 1).c_str(), nullptr, 16);
serverLinkBodyStruct.ornament_icon = (uint32)strtol(serverLinkBody.substr(43, 5).c_str(), nullptr, 16);
serverLinkBodyStruct.hash = (int)strtol(serverLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -4365,9 +4364,9 @@ namespace Underfoot
underfootLinkBodyStruct.augment_3 = serverLinkBodyStruct.augment_3;
underfootLinkBodyStruct.augment_4 = serverLinkBodyStruct.augment_4;
underfootLinkBodyStruct.augment_5 = serverLinkBodyStruct.augment_5;
underfootLinkBodyStruct.unknown_2 = serverLinkBodyStruct.unknown_3;
underfootLinkBodyStruct.unknown_3 = serverLinkBodyStruct.unknown_4;
underfootLinkBodyStruct.unknown_4 = serverLinkBodyStruct.unknown_5;
underfootLinkBodyStruct.is_evolving = serverLinkBodyStruct.is_evolving;
underfootLinkBodyStruct.lore_group = serverLinkBodyStruct.lore_group;
underfootLinkBodyStruct.evolve_max = serverLinkBodyStruct.evolve_max;
underfootLinkBodyStruct.ornament_icon = serverLinkBodyStruct.ornament_icon;
underfootLinkBodyStruct.hash = serverLinkBodyStruct.hash;
}
@ -4383,9 +4382,9 @@ namespace Underfoot
underfootLinkBodyStruct.augment_3,
underfootLinkBodyStruct.augment_4,
underfootLinkBodyStruct.augment_5,
underfootLinkBodyStruct.unknown_2,
underfootLinkBodyStruct.unknown_3,
underfootLinkBodyStruct.unknown_4,
underfootLinkBodyStruct.is_evolving,
underfootLinkBodyStruct.lore_group,
underfootLinkBodyStruct.evolve_max,
underfootLinkBodyStruct.ornament_icon,
underfootLinkBodyStruct.hash
);
@ -4523,9 +4522,9 @@ namespace Underfoot
underfootLinkBodyStruct.augment_3 = (uint32)strtol(underfootLinkBody.substr(16, 5).c_str(), nullptr, 16);
underfootLinkBodyStruct.augment_4 = (uint32)strtol(underfootLinkBody.substr(21, 5).c_str(), nullptr, 16);
underfootLinkBodyStruct.augment_5 = (uint32)strtol(underfootLinkBody.substr(26, 5).c_str(), nullptr, 16);
underfootLinkBodyStruct.unknown_2 = (uint8)strtol(underfootLinkBody.substr(31, 1).c_str(), nullptr, 16);
underfootLinkBodyStruct.unknown_3 = (uint32)strtol(underfootLinkBody.substr(32, 4).c_str(), nullptr, 16);
underfootLinkBodyStruct.unknown_4 = (uint8)strtol(underfootLinkBody.substr(36, 1).c_str(), nullptr, 16);
underfootLinkBodyStruct.is_evolving = (uint8)strtol(underfootLinkBody.substr(31, 1).c_str(), nullptr, 16);
underfootLinkBodyStruct.lore_group = (uint32)strtol(underfootLinkBody.substr(32, 4).c_str(), nullptr, 16);
underfootLinkBodyStruct.evolve_max = (uint8)strtol(underfootLinkBody.substr(36, 1).c_str(), nullptr, 16);
underfootLinkBodyStruct.ornament_icon = (uint32)strtol(underfootLinkBody.substr(37, 5).c_str(), nullptr, 16);
underfootLinkBodyStruct.hash = (int)strtol(underfootLinkBody.substr(42, 8).c_str(), nullptr, 16);
@ -4542,10 +4541,9 @@ namespace Underfoot
serverLinkBodyStruct.augment_4 = underfootLinkBodyStruct.augment_4;
serverLinkBodyStruct.augment_5 = underfootLinkBodyStruct.augment_5;
serverLinkBodyStruct.augment_6 = NOT_USED;
serverLinkBodyStruct.unknown_2 = NOT_USED;
serverLinkBodyStruct.unknown_3 = underfootLinkBodyStruct.unknown_2;
serverLinkBodyStruct.unknown_4 = underfootLinkBodyStruct.unknown_3;
serverLinkBodyStruct.unknown_5 = underfootLinkBodyStruct.unknown_4;
serverLinkBodyStruct.is_evolving = underfootLinkBodyStruct.is_evolving;
serverLinkBodyStruct.lore_group = underfootLinkBodyStruct.lore_group;
serverLinkBodyStruct.evolve_max = underfootLinkBodyStruct.evolve_max;
serverLinkBodyStruct.ornament_icon = underfootLinkBodyStruct.ornament_icon;
serverLinkBodyStruct.hash = underfootLinkBodyStruct.hash;
}
@ -4553,7 +4551,7 @@ namespace Underfoot
static inline bool GenerateServerTextLinkBody(std::string& serverLinkBody, const TextLinkBody_Struct& serverLinkBodyStruct)
{
serverLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%01X" "%04X" "%01X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%01X" "%05X" "%01X" "%05X" "%08X",
serverLinkBodyStruct.unknown_1,
serverLinkBodyStruct.item_id,
serverLinkBodyStruct.augment_1,
@ -4562,10 +4560,9 @@ namespace Underfoot
serverLinkBodyStruct.augment_4,
serverLinkBodyStruct.augment_5,
serverLinkBodyStruct.augment_6,
serverLinkBodyStruct.unknown_2,
serverLinkBodyStruct.unknown_3,
serverLinkBodyStruct.unknown_4,
serverLinkBodyStruct.unknown_5,
serverLinkBodyStruct.is_evolving,
serverLinkBodyStruct.lore_group,
serverLinkBodyStruct.evolve_max,
serverLinkBodyStruct.ornament_icon,
serverLinkBodyStruct.hash
);

View File

@ -4533,18 +4533,18 @@ struct MercenaryAssign_Struct {
// SoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X"
struct TextLinkBody_Struct
{
uint8 unknown_1; /* '%1X' - Underfoot field 1 / Server field 1 */
uint32 item_id; /* '%05X' - Underfoot field 2 / Server field 2 */
uint32 augment_1; /* '%05X' - Underfoot field 3 / Server field 3 */
uint32 augment_2; /* '%05X' - Underfoot field 4 / Server field 4 */
uint32 augment_3; /* '%05X' - Underfoot field 5 / Server field 5 */
uint32 augment_4; /* '%05X' - Underfoot field 6 / Server field 6 */
uint32 augment_5; /* '%05X' - Underfoot field 7 / Server field 7 */
uint8 unknown_2; /* '%1X' - Underfoot field 8 / Server field 10 */
uint32 unknown_3; /* '%04X' - Underfoot field 9 / Server field 11 */
uint8 unknown_4; /* '%1X' - Underfoot field 10 / Server field 12 */
uint32 ornament_icon; /* '%05X' - Underfoot field 11 / Server field 13 */
int hash; /* '%08X' - Underfoot field 12 / Server field 14 */
uint8 unknown_1;
uint32 item_id;
uint32 augment_1;
uint32 augment_2;
uint32 augment_3;
uint32 augment_4;
uint32 augment_5;
uint8 is_evolving;
uint32 lore_group;
uint8 evolve_max;
uint32 ornament_icon;
int hash;
};
}; //end namespace structs

View File

@ -8312,10 +8312,10 @@ void Client::TextLink::generate_body()
/*
Current server mask: EQClientRoF2
RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X" (56)
RoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X" (55)
SoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X" (50)
6.2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%08X" (45)
RoF2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X" (56)
RoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X" (55)
SoF: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%05X" "%08X" (50)
6.2: "%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%04X" "%1X" "%08X" (45)
*/
// could use a ##_cast<TextLinkBody_Struct*>(&this) with a memset to '0' since these properties are inherited
@ -8328,12 +8328,11 @@ void Client::TextLink::generate_body()
augment_4 = NOT_USED; /* field 6 */
augment_5 = NOT_USED; /* field 7 */
augment_6 = NOT_USED; /* field 8 */
unknown_2 = NOT_USED; /* field 9 */
unknown_3 = NOT_USED; /* field 10 */
unknown_4 = NOT_USED; /* field 11 */
unknown_5 = NOT_USED; /* field 12 */
ornament_icon = NOT_USED; /* field 13 */
hash = NOT_USED; /* field 14 */
is_evolving = NOT_USED; /* field 9 */
lore_group = NOT_USED; /* field 10 */
evolve_max = NOT_USED; /* field 11 */
ornament_icon = NOT_USED; /* field 12 */
hash = NOT_USED; /* field 13 */
const Item_Struct* item_data = nullptr;
@ -8385,7 +8384,7 @@ void Client::TextLink::generate_body()
}
m_LinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X",
unknown_1,
item_id,
augment_1,
@ -8394,10 +8393,9 @@ void Client::TextLink::generate_body()
augment_4,
augment_5,
augment_6,
unknown_2,
unknown_3,
unknown_4,
unknown_5,
is_evolving,
lore_group,
evolve_max,
ornament_icon,
hash
);
@ -8450,10 +8448,9 @@ bool Client::TextLink::DegenerateLinkBody(TextLinkBody_Struct& textLinkBodyStruc
textLinkBodyStruct.augment_4 = (uint32)strtol(textLinkBody.substr(21, 5).c_str(), nullptr, 16);
textLinkBodyStruct.augment_5 = (uint32)strtol(textLinkBody.substr(26, 5).c_str(), nullptr, 16);
textLinkBodyStruct.augment_6 = (uint32)strtol(textLinkBody.substr(31, 5).c_str(), nullptr, 16);
textLinkBodyStruct.unknown_2 = (uint8)strtol(textLinkBody.substr(36, 1).c_str(), nullptr, 16);
textLinkBodyStruct.unknown_3 = (uint8)strtol(textLinkBody.substr(37, 1).c_str(), nullptr, 16);
textLinkBodyStruct.unknown_4 = (uint32)strtol(textLinkBody.substr(38, 4).c_str(), nullptr, 16);
textLinkBodyStruct.unknown_5 = (uint8)strtol(textLinkBody.substr(42, 1).c_str(), nullptr, 16);
textLinkBodyStruct.is_evolving = (uint8)strtol(textLinkBody.substr(36, 1).c_str(), nullptr, 16);
textLinkBodyStruct.lore_group = (uint32)strtol(textLinkBody.substr(37, 5).c_str(), nullptr, 16);
textLinkBodyStruct.evolve_max = (uint8)strtol(textLinkBody.substr(42, 1).c_str(), nullptr, 16);
textLinkBodyStruct.ornament_icon = (uint32)strtol(textLinkBody.substr(43, 5).c_str(), nullptr, 16);
textLinkBodyStruct.hash = (int)strtol(textLinkBody.substr(48, 8).c_str(), nullptr, 16);
@ -8463,7 +8460,7 @@ bool Client::TextLink::DegenerateLinkBody(TextLinkBody_Struct& textLinkBodyStruc
bool Client::TextLink::GenerateLinkBody(std::string& textLinkBody, const TextLinkBody_Struct& textLinkBodyStruct)
{
textLinkBody = StringFormat(
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%1X" "%04X" "%1X" "%05X" "%08X",
"%1X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%05X" "%1X" "%05X" "%1X" "%05X" "%08X",
textLinkBodyStruct.unknown_1,
textLinkBodyStruct.item_id,
textLinkBodyStruct.augment_1,
@ -8472,10 +8469,9 @@ bool Client::TextLink::GenerateLinkBody(std::string& textLinkBody, const TextLin
textLinkBodyStruct.augment_4,
textLinkBodyStruct.augment_5,
textLinkBodyStruct.augment_6,
textLinkBodyStruct.unknown_2,
textLinkBodyStruct.unknown_3,
textLinkBodyStruct.unknown_4,
textLinkBodyStruct.unknown_5,
textLinkBodyStruct.is_evolving,
textLinkBodyStruct.lore_group,
textLinkBodyStruct.evolve_max,
textLinkBodyStruct.ornament_icon,
textLinkBodyStruct.hash
);