-
5/14/09 patch
This fixes spawns:
Code:
<opcode id="4D27" name="OP_ZoneEntry" updated="5/14/09">
<comment>old ZoneEntryCode</comment>
<payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
Post about anything else that doesn't work.
I know about the guild list error. The packet is serialized now so the code needs to be changed to handle that.
-
Re: 5/14/09 patch
Changed the opcode, getting a segfault after being up for a few seconds. It looks ok when I'm in. Bard fade seems to crash it 100% of the time. Bard songs weren't causing a seg fault.
Edit: Other things crash it too: "You fail to locate any food nearby.", "You feel yourself starting to appear". Fade is crashing it due to the fact that it returns some text too. So it's not just spells, spells are just something that causes it a lot.
-
Re: 5/14/09 patch
Spell: Some_bard has begun casting '468f' - Casting time is 3 Seconds
Spell: Faded: The war march fades.
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7256700 (LWP 2842)]
0xb7618133 in strlen () from /lib/libc.so.6
(gdb) bt
#0 0xb7618133 in strlen () from /lib/libc.so.6
#1 0xb7dbfe33 in QString::fromUtf8 () from /usr/qt/3/lib/libqt-mt.so.3
#2 0x0818abdd in EQStr::formatMessage (this=0x82ec018, formatid=15,
arguments=0xb67b4951 "\004", argsLen=4294967288) at eqstr.cpp:149
#3 0x0819e3e9 in MessageShell::formattedMessage (this=0x83487e8,
data=0xb67b4945 "\200", len=12, dir=2 '\002') at messageshell.cpp:179
#4 0x081a3b38 in MessageShell::qt_invoke (this=0x83487e8, _id=3,
_o=0xbfe6dc3c) at messageshell.moc:350
#5 0xb7ae6389 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#6 0x080923ec in EQPacketDispatch::signal (this=0x830c9f8,
t0=0xb67b4945 "\200", t1=12, t2=2 '\002') at packetinfo.moc:99
#7 0x0808f824 in EQPacketStream::dispatchPacket (this=0x82af860,
data=0xb67b4945 "\200", len=12, opCode=4888, opcodeEntry=0x8375b80)
at packetstream.cpp:435
#8 0x08090265 in EQPacketStream::processPacket (this=0x82af860,
packet=@0xbfe6dd98, isSubpacket=true) at packetstream.cpp:713
#9 0x080903bc in EQPacketStream::processPacket (this=0x82af860,
packet=@0xbfe6ddf8, isSubpacket=true) at packetstream.cpp:801
#10 0x0808fe6e in EQPacketStream::processPacket (this=0x82af860,
packet=@0xbfe6def0, isSubpacket=false) at packetstream.cpp:653
#11 0x08091118 in EQPacketStream::handlePacket (this=0x82af860,
packet=@0xbfe6def0) at packetstream.cpp:566
#12 0x0809af0e in EQPacket::dispatchPacket (this=0x82f6158, packet=@0xbfe6def0)
at packet.cpp:659
#13 0x0809b10a in EQPacket::dispatchPacket (this=0x82f6158, size=134,
buffer=0xbfe6df8a "E") at packet.cpp:583
#14 0x0809cc69 in EQPacket::qt_invoke (this=0x82f6158, _id=2, _o=0xbfe6fff8)
at packet.cpp:400
#15 0xb7ae6389 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb7ae6fdd in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb7e22aa9 in QTimer::timeout () from /usr/qt/3/lib/libqt-mt.so.3
#18 0xb7b09b4f in QTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb7a86dc7 in QApplication::internalNotify ()
from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb7a87981 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb7a7bf3c in QEventLoop::activateTimers ()
from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb7a35b6c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#23 0xb7a9d8d1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#24 0xb7a9d756 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#25 0xb7a8684f in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#26 0x08069b71 in main (argc=-1232122912, argv=0xbfe70be4) at main.cpp:723
Hopefully this helps a bit.
-
Re: 5/14/09 patch
Large number of Invalid Packets : Bad CRC netOp 3a64 with variable len
Also see 0081 and 0180 but those were often observed before the patch.
I tried replacing npcMoveUpdate 7866 with 3a64 but no improvement.
-
Re: 5/14/09 patch
This fixes the "Player: You have buff 48be duration left is 1408 in ticks." messages where it shows the spell ID instead of the name.
Code:
--- src/messageshell.cpp (revision 724)
+++ src/messageshell.cpp (working copy)
@@ -768,14 +768,20 @@
// m_messages->addMessage(MT_Player, message);
int buffnumber;
+ QString spellName;
+
for (buffnumber=0;buffnumber<MAX_BUFFS;buffnumber++)
{
if (player->profile.buffs[buffnumber].spellid &&
player->profile.buffs[buffnumber].duration)
{
- message.sprintf("You have buff %s duration left is %d in ticks.",
- (const char*)spell_name(player->profile.buffs[buffnumber].spellid),
- player->profile.buffs[buffnumber].duration);
+ const Spell* spell = m_spells->spell(player->profile.buffs[buffnumber].spellid);
+ if(spell)
+ spellName = spell->name();
+ else
+ spellName = spell_name(player->profile.buffs[buffnumber].spellid);
+ message.sprintf("You have buff %s duration left is %d in ticks.", spellName.latin1(),
+ player->profile.buffs[buffnumber].duration);
m_messages->addMessage(MT_Player, message);
}
}
-
Re: 5/14/09 patch
Code:
<opcode id="2D95" name="OP_NpcMoveUpdate" updated="05/14/09">
<comment>Position updates</comment>
<payload dir="server" typename="uint8_t" sizechecktype="none"/>
</opcode>
-
Re: 5/14/09 patch
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208420656 (LWP 7163)]
0x0017e473 in strlen () from /lib/libc.so.6
(gdb) bt
#0 0x0017e473 in strlen () from /lib/libc.so.6
#1 0x02e98c92 in QString::fromUtf8 () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#2 0x0818a80b in EQStr::formatMessage (this=0xb840ba8, formatid=270,
arguments=0xbfb15cbf "�\030@��\031$�J\234�Y\030�\200�GG����0.W��\226�=\f\214@�\230�\215\035J\f`&2�\232��u�\f�p\020\217��I7Po\203=\003\231���������\022�\027b�a85�\032f�A���|��AL\220\220\026\020�0\2102\b\003", argsLen=4294967288) at eqstr.cpp:165
#3 0x0819e8fa in MessageShell::formattedMessage (this=0x99d99d8, data=0xbfb15cb3 "[\001", len=12, dir=2 '\002') at messageshell.cpp:179
#4 0x081a4173 in MessageShell::qt_invoke (this=0x99d99d8, _id=3, _o=0xbfb1592c) at messageshell.moc:350
#5 0x02b75c4a in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#6 0x0809028f in EQPacketDispatch::signal (this=0x9aca378, t0=0xbfb15cb3 "[\001", t1=12, t2=2 '\002') at packetinfo.moc:99
#7 0x0808d611 in EQPacketStream::dispatchPacket (this=0x99c6c50, data=0xbfb15cb3 "[\001", len=12, opCode=4888, opcodeEntry=0x9aa8da8)
at packetstream.cpp:435
#8 0x0808e01c in EQPacketStream::processPacket (this=0x99c6c50, packet=@0xbfb15a88, isSubpacket=true) at packetstream.cpp:713
#9 0x0808e20a in EQPacketStream::processPacket (this=0x99c6c50, packet=@0xbfb15ae8, isSubpacket=true) at packetstream.cpp:801
#10 0x0808dc62 in EQPacketStream::processPacket (this=0x99c6c50, packet=@0xbfb15be0, isSubpacket=false) at packetstream.cpp:653
#11 0x0808ef9a in EQPacketStream::handlePacket (this=0x99c6c50, packet=@0xbfb15be0) at packetstream.cpp:566
#12 0x08098cbe in EQPacket::dispatchPacket (this=0x9adef70, packet=@0xbfb15be0) at packet.cpp:659
#13 0x08098ecc in EQPacket::dispatchPacket (this=0x9adef70, size=71, buffer=0xbfb15c7a "E") at packet.cpp:583
#14 0x0809aa69 in EQPacket::qt_invoke (this=0x9adef70, _id=2, _o=0xbfb17cf8) at packet.cpp:400
#15 0x02b75c4a in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x02b7663d in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x02f05d19 in QTimer::timeout () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x02b9d28f in QTimer::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x02b0c3db in QApplication::internalNotify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x02b0d9e1 in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x02b00322 in QEventLoop::activateTimers () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x02ab3e1f in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x02b25d02 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x02b25bc6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x02b0c01f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x08067402 in main (argc=165773176, argv=0xbfb18934) at main.cpp:723
Got the above seg fault when using sneak/hide on my rogue.
-
Re: 5/14/09 patch
Still crashing on fade, forage, etc.
Thanks for all the work!
-
Re: 5/14/09 patch
Try this:
Code:
<opcode id="783C" name="OP_FormattedMessage" updated="05/14/09">
<comment>old FormattedMessageCode</comment>
<payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
</opcode>
-
Re: 5/14/09 patch
That did it! I'll abuse it and see how it holds up, but for now it looks like it's perfect.
Thanks!!!!!!
-
Re: 5/14/09 patch
Ok, looks pretty good. I'm not getting despawns when a player camps out, and corpses don't go away (NPC and familiar at least).
-
Re: 5/14/09 patch
Code:
<opcode id="7AE3" name="OP_DeleteSpawn" updated="05/14/09">
<comment>old DeleteSpawnCode</comment>
<payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
</opcode>
-
Re: 5/14/09 patch
-
Re: 5/14/09 patch
So far these opcode changes look good. Thanks again for all your hard work.
-
Re: 5/14/09 patch
Aye, thanks again, everything looks good.
Too bad there's already another patch coming on the 21st. Hopefully they don't break things again.