mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-22 04:32:49 +00:00
The client sends SetTooltipFlag (469: bFlag, then the tooltip, 2 live packets, both tooltip 24) when a tooltip has been shown, and follows it with SetFlag for the same ID. DLU dropped it and never wrote char@ttip, so the client's tooltip bits reset on every load. - SetTooltipFlag message struct and handler: the bit is set or cleared on the CharacterComponent exactly as the client does it (LWOCharacterComponent::SendMessage 0x00d34330): tooltips above 127 are ignored, set = 1 << tooltip, clear = mask ~1 << tooltip (which also clears the lower bits), shifts of 64 or more give 0. - Saved as char@ttip, a 64-bit value (the client reads it with GetLongLongValue in LoadFromSaveData 0x00ca4910). Live wrote it on every character (226 live charxmls: "0" or "16777216" = tooltip 24). Old saves without it load with 0. Check in game: on a new character, trigger a first-time tooltip (e.g. the one about an item or a new area), change zones and log out and back in: the character loads normally and the same tooltip does not come back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.0 KiB
CMake
33 lines
1.0 KiB
CMake
SET(DGAMEMESSAGES_TESTS
|
|
"ActivityMessagesTests.cpp"
|
|
"BuildingMessagesTests.cpp"
|
|
"CombatMessagesTests.cpp"
|
|
"GameMessageTests.cpp"
|
|
"GameMsgSplitTests.cpp"
|
|
"EffectsMessagesTests.cpp"
|
|
"InventoryMessagesTests.cpp"
|
|
"MissionMessagesTests.cpp"
|
|
"PetMessagesTests.cpp"
|
|
"PropertyMessagesTests.cpp"
|
|
"RacingMessagesTests.cpp"
|
|
"RemainingMessagesTests.cpp"
|
|
"SkillMessagesTests.cpp"
|
|
"UnSmashTests.cpp"
|
|
"VendorMessagesTests.cpp"
|
|
"LegacyGameMessageTests.cpp"
|
|
"GameMessageDecoderTests.cpp"
|
|
"HotPropertyMessageTests.cpp"
|
|
"ClientMessagesTests.cpp")
|
|
|
|
# Get the folder name and prepend it to the files above
|
|
get_filename_component(thisFolderName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
|
list(TRANSFORM DGAMEMESSAGES_TESTS PREPEND "${thisFolderName}/")
|
|
|
|
# Copy test files to testing directory
|
|
add_subdirectory(TestBitStreams)
|
|
list(TRANSFORM GAMEMESSAGE_TESTBITSTREAMS PREPEND "${thisFolderName}/")
|
|
set(GAMEMESSAGE_TESTBITSTREAMS ${GAMEMESSAGE_TESTBITSTREAMS} PARENT_SCOPE)
|
|
|
|
# Export to parent scope
|
|
set(DGAMEMESSAGES_TESTS ${DGAMEMESSAGES_TESTS} PARENT_SCOPE)
|