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
+19 -22
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
);