From ccf6b5ff68525c6578c4c3d6681724735fb62686 Mon Sep 17 00:00:00 2001 From: KimLS Date: Sun, 22 Dec 2013 22:37:41 -0800 Subject: [PATCH] Added prelim work on OP_Marquee incase anyone else wants to also have a go at it. Packet and opcode for SoD client figured out partially. --- common/emu_oplist.h | 1 + common/eq_packet_structs.h | 18 ++++++++++++++++++ utils/patches/patch_SoD.conf | 1 + 3 files changed, 20 insertions(+) diff --git a/common/emu_oplist.h b/common/emu_oplist.h index bd83a6f30..6a62a4297 100644 --- a/common/emu_oplist.h +++ b/common/emu_oplist.h @@ -538,3 +538,4 @@ N(OP_MercenaryDismiss), N(OP_MercenaryTimerRequest), N(OP_OpenInventory), N(OP_OpenContainer), +N(OP_Marquee), diff --git a/common/eq_packet_structs.h b/common/eq_packet_structs.h index 758decc45..036056083 100644 --- a/common/eq_packet_structs.h +++ b/common/eq_packet_structs.h @@ -5073,6 +5073,24 @@ struct ServerLootItem_Struct { uint8 maxlevel; }; +//Found in client near a ref to the string: +//"Got a broadcast message for ... %s ...\n" +struct ClientMarqueeMessage_Struct { + uint32 type; + uint32 unk04; // no idea, have seen 10 mostly, didn't notice a change when altering it + uint32 priority; //needs a better name but it does: + //opacity = priority / 255 + //# of ending blinks = (int)((priority - 1) / 255) + //so 510 would have 100% opacity and 1 extra blink at end + uint32 unk12; //no idea, seen 0, 500, 1000. + uint32 unk16; //no idea, seen 500, 1000 + //Visually I couldn't tell a difference from these previous two, + //but there's probably a reason for them that's more subtle than what i was looking for + uint32 duration; //in ms + char msg[1]; //message plus null terminator + +}; + typedef std::list ItemList; // Restore structure packing to default diff --git a/utils/patches/patch_SoD.conf b/utils/patches/patch_SoD.conf index 727811484..0049f56d0 100644 --- a/utils/patches/patch_SoD.conf +++ b/utils/patches/patch_SoD.conf @@ -348,6 +348,7 @@ OP_IncreaseStats=0x71eb OP_InspectMessageUpdate=0x53a3 # C OP_OpenInventory=0x1003 OP_OpenContainer=0x3278 +OP_Marquee=0x7dc9 # Expedition OP_DzQuit=0x054e