You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(18) |
Oct
(11) |
Nov
(9) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(6) |
Mar
|
Apr
(10) |
May
(38) |
Jun
(15) |
Jul
(32) |
Aug
|
Sep
(17) |
Oct
(11) |
Nov
|
Dec
(14) |
2006 |
Jan
(2) |
Feb
(5) |
Mar
(3) |
Apr
(2) |
May
(3) |
Jun
(7) |
Jul
|
Aug
|
Sep
(3) |
Oct
(2) |
Nov
(6) |
Dec
(3) |
2007 |
Jan
|
Feb
(17) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
(11) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
|
Sep
(6) |
Oct
(4) |
Nov
(1) |
Dec
|
2009 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
|
May
(4) |
Jun
(3) |
Jul
|
Aug
(5) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(6) |
2010 |
Jan
|
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(5) |
2013 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(2) |
2014 |
Jan
(3) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
(4) |
Jun
(3) |
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(2) |
Nov
(5) |
Dec
(2) |
2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
2017 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(2) |
Jun
(2) |
Jul
(8) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(6) |
2019 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
(3) |
Jul
(3) |
Aug
(2) |
Sep
(2) |
Oct
(13) |
Nov
(6) |
Dec
(4) |
2020 |
Jan
(7) |
Feb
(7) |
Mar
(7) |
Apr
(8) |
May
(5) |
Jun
(3) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(37) |
Nov
(30) |
Dec
(8) |
2021 |
Jan
(14) |
Feb
(9) |
Mar
(7) |
Apr
(17) |
May
(3) |
Jun
(10) |
Jul
(7) |
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(15) |
Dec
(22) |
2022 |
Jan
(3) |
Feb
(3) |
Mar
(3) |
Apr
(3) |
May
(3) |
Jun
(3) |
Jul
(3) |
Aug
(5) |
Sep
(6) |
Oct
(4) |
Nov
(34) |
Dec
(17) |
2023 |
Jan
(3) |
Feb
(3) |
Mar
(29) |
Apr
(2) |
May
(18) |
Jun
(12) |
Jul
(12) |
Aug
(2) |
Sep
(7) |
Oct
(2) |
Nov
(2) |
Dec
(2) |
2024 |
Jan
(2) |
Feb
(10) |
Mar
(17) |
Apr
(6) |
May
(3) |
Jun
(9) |
Jul
(22) |
Aug
(48) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(8) |
2025 |
Jan
(3) |
Feb
(2) |
Mar
(9) |
Apr
(7) |
May
(3) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <iea...@us...> - 2008-06-09 00:52:15
|
Revision: 701 http://seq.svn.sourceforge.net/seq/?rev=701&view=rev Author: ieatacid Date: 2008-06-08 17:52:12 -0700 (Sun, 08 Jun 2008) Log Message: ----------- + Updated version to 5.12.4 + Updated OP_ZoneSpawns + Updated structs and code to handle variable-length spawn data -This line, and those below, will be ignored-- M conf/zoneopcodes.xml M configure.in M src/netstream.cpp M src/netstream.h M src/spawnshell.h M src/s_everquest.h M src/everquest.h M src/spawnshell.cpp M src/interface.cpp M ChangeLog Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/netstream.cpp showeq/trunk/src/netstream.h showeq/trunk/src/s_everquest.h showeq/trunk/src/spawnshell.cpp showeq/trunk/src/spawnshell.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/ChangeLog 2008-06-09 00:52:12 UTC (rev 701) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +ieatacid (6/8/08) +---------------- ++ Updated version to 5.12.4 ++ Updated OP_ZoneSpawns ++ Updated structs and code to handle variable-length spawn data + ieatacid (4/22/08) ---------------- + Updated version to 5.12.3.1 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/conf/zoneopcodes.xml 2008-06-09 00:52:12 UTC (rev 701) @@ -11,9 +11,9 @@ <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="none"/> </opcode> - <opcode id="72f8" name="OP_ZoneSpawns" updated="01/17/08"> + <opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08"> <comment>old ZoneSpawnsCode</comment> - <payload dir="server" typename="spawnStruct" sizechecktype="modulus"/> + <payload dir="server" typename="spawnStruct" sizechecktype="none"/> </opcode> <opcode id="6015" name="OP_TimeOfDay" updated="01/17/08"> <comment>old TimeOfDayCode</comment> @@ -74,7 +74,7 @@ <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> <opcode id="3164" name="OP_RemoveSpawn" updated="04/17/08"> - <comment>Remove spawn from update radius</comment> + <comment>Remove spawn from zone</comment> <payload dir="server" typename="removeSpawnStruct" sizechecktype="none"/> </opcode> <opcode id="1B85" name="OP_Death" updated="01/17/08"> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/configure.in 2008-06-09 00:52:12 UTC (rev 701) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.3.1) +AC_INIT(showeq, 5.12.4.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/everquest.h 2008-06-09 00:52:12 UTC (rev 701) @@ -939,111 +939,253 @@ }; #endif -/* +/* ** Generic Spawn Struct -** Length: 532 Octets +** Length: Variable. ** Used in: ** dbSpawnStruct ** petStruct ** spawnShroudOther ** spawnShroudSelf -*/ +*/ +// Fixed-length struct that we'll fill with data from the variable-length packet, +// unnecessary fields removed, arranged in order with the packet. struct spawnStruct { -/*0000*/ uint8_t unknown0000[6]; -/*0006*/ uint8_t bodytype; // Bodytype -/*0007*/ uint8_t unknown0007[40]; -/*0047*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0079*/ char lastName[32]; // Player's Lastname -/*0111*/ int16_t deity; // Player's Deity -/*0113*/ uint8_t unknown0113[2]; -/*0115*/ uint8_t state; // stand state -/*0116*/ uint8_t unknown0116[9]; -/*0125*/ char title[32]; // Title -/*0157*/ uint8_t unknown0157[4]; -/*0161*/ signed padding0000:12; // ***Placeholder +/*0000*/ char name[64]; +/*0000*/ uint32_t spawnId; +/*0000*/ uint8_t level; +/*0000*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0000*/ union + { + struct + { + unsigned padding7:1; + unsigned AFK:1; + unsigned sneak:1; + unsigned LFG:1; + unsigned padding6:1; + unsigned invis:1; + unsigned padding5:11; + unsigned gm:1; + unsigned anon:1; // 0=normal, 1=anon, 2=roleplay + unsigned padding4:1; + unsigned gender:1; // Gender (0=male, 1=female) + unsigned padding3:1; + unsigned linkdead:1; + unsigned betabuffed:1; + unsigned padding2:2; + unsigned targetable:1; + unsigned targetcyclable:1; + unsigned padding1:2; + unsigned trader:1; + unsigned buyer:1; + }; + int32_t miscData; + }; +/*0000*/ uint8_t hasTitleOrSuffix; +/*0000*/ uint32_t race; +/*0000*/ uint8_t charProperties; +/*0000*/ uint32_t bodytype; +/*0000*/ uint32_t bodytype2; +/*0000*/ uint8_t curHp; +/*0000*/ uint8_t holding; +/*0000*/ uint32_t deity; +/*0000*/ uint32_t guildID; +/*0000*/ uint32_t guildstatus; // 0=member, 1=officer, 2=leader, -1=not guilded +/*0000*/ uint8_t class_; +/*0000*/ uint8_t state; // stand state +/*0000*/ uint8_t light; +/*0000*/ char lastName[32]; +/*0000*/ uint32_t petOwnerId; + union + { + struct + { +/*0000*/ signed padding0000:12; // ***Placeholder + signed deltaX:13; // change in x + signed padding0005:7; // ***Placeholder +/*0000*/ signed deltaHeading:10;// change in heading + signed deltaY:13; // change in y + signed padding0006:9; // ***Placeholder +/*0000*/ signed y:19; // y coord + signed animation:13; // animation +/*0000*/ unsigned heading:12; // heading + signed x:19; // x coord + signed padding0014:1; // ***Placeholder +/*0000*/ signed z:19; // z coord + signed deltaZ:13; // change in z + }; + int32_t posData[5]; + }; +/*0000*/ union + { + struct + { + /*0000*/ Color_Struct color_helmet; // Color of helmet item + /*0000*/ Color_Struct color_chest; // Color of chest item + /*0000*/ Color_Struct color_arms; // Color of arms item + /*0000*/ Color_Struct color_bracers; // Color of bracers item + /*0000*/ Color_Struct color_hands; // Color of hands item + /*0000*/ Color_Struct color_legs; // Color of legs item + /*0000*/ Color_Struct color_feet; // Color of feet item + /*0000*/ Color_Struct color_primary; // Color of primary item + /*0000*/ Color_Struct color_secondary; // Color of secondary item + } equipment_colors; + /*0000*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + }; +/*0000*/ union + { + struct + { + /*0000*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0000*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0000*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0000*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0000*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0000*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0000*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0000*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0000*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0000*/ EquipStruct equipment[9]; + }; +/*0000*/ char title[32]; +/*0000*/ char suffix[32]; +}; + +#if 0 +// Basic structure of how the packet looks on the wire, for reference. +// May 29, 2008 eqgame.exe +struct spawnStruct +{ +/*0000*/ char name[0]; +/*0000*/ uint32_t spawnId; +/*0000*/ uint8_t level; +/*0000*/ float unknown1; +/*0000*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0000*/ unsigned padding7:1; + unsigned AFK:1; + unsigned sneak:1; + unsigned LFG:1; + unsigned padding6:1; + unsigned invis:1; + unsigned padding5:11; + unsigned gm:1; + unsigned anon:1; // 0=normal, 1=anon, 2=roleplay + unsigned padding4:1; + unsigned gender:1; // Gender (0=male, 1=female) + unsigned padding3:1; + unsigned linkdead:1; + unsigned betabuffed:1; + unsigned padding2:2; + unsigned targetable:1; + unsigned targetcyclable:1; + unsigned padding1:2; + unsigned trader:1; + unsigned buyer:1; +/*0000*/ uint8_t hasTitleOrSuffix; // & 4=title, & 8=suffix, & 1 - it's a chest +/*0000*/ uint32_t unknown3; +/*0000*/ uint32_t unknown4; +/*0000*/ uint32_t unknown5; +/*0000*/ uint8_t facestyle; +/*0000*/ float walkspeed; +/*0000*/ float runspeed; +/*0000*/ uint32_t race; +/*0000*/ uint8_t charProperties; // for body types +/*0000*/ uint32_t bodytype; +/*0000*/ uint32_t bodytype2; // this is only present if charProperties==2 + // are there more than two possible properties? +/*0000*/ uint8_t curHp; +/*0000*/ uint8_t haircolor; +/*0000*/ uint8_t facialhaircolor; +/*0000*/ uint8_t eyecolor1; +/*0000*/ uint8_t eyecolor2; +/*0000*/ uint8_t hairstyle; +/*0000*/ uint8_t facialhair; +/*0000*/ uint32_t heritage; +/*0000*/ uint32_t tattoo; +/*0000*/ uint32_t details; +/*0000*/ uint8_t holding; +/*0000*/ uint32_t deity; +/*0000*/ uint32_t guildID; +/*0000*/ uint32_t guildstatus; // 0=member, 1=officer, 2=leader, -1=not guilded +/*0000*/ uint8_t class_; +/*0000*/ uint8_t PVP; +/*0000*/ uint8_t state; // stand state +/*0000*/ uint8_t light; +/*0000*/ uint8_t unknown7; +/*0000*/ uint8_t unknown8; +/*0000*/ uint8_t unknown9; +/*0000*/ uint8_t unknown10; +/*0000*/ uint8_t unknown11; +/*0000*/ char lastName[0]; +/*0000*/ uint32_t AARank; +/*0000*/ uint8_t unknown12; +/*0000*/ uint32_t petOwnerId; +/*0000*/ uint8_t unknown13; +/*0000*/ uint32_t unknown14; +/*0000*/ uint32_t unknown15; +/*0000*/ uint32_t unknown16; +/*0000*/ uint32_t unknown17; +/*0000*/ uint32_t unknown18; +/*0000*/ uint32_t unknown19; +/*0000*/ signed padding0000:12; // ***Placeholder signed deltaX:13; // change in x signed padding0005:7; // ***Placeholder -/*0165*/ signed deltaHeading:10;// change in heading +/*0000*/ signed deltaHeading:10;// change in heading signed deltaY:13; // change in y signed padding0006:9; // ***Placeholder -/*0169*/ signed y:19; // y coord +/*0000*/ signed y:19; // y coord signed animation:13; // animation -/*0173*/ unsigned heading:12; // heading +/*0000*/ unsigned heading:12; // heading signed x:19; // x coord signed padding0014:1; // ***Placeholder -/*0177*/ signed z:19; // z coord +/*0000*/ signed z:19; // z coord signed deltaZ:13; // change in z -/*0181*/ uint8_t unknown0181[25]; -/*0206*/ char name[64];// // Player's Name -/*0270*/ uint8_t unknown0270[4]; -/*0274*/ uint8_t light; // Spawn's lightsource -/*0275*/ uint8_t unknown0275[5]; -/*0280*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse -/*0281*/ uint8_t unknown0281[11]; -/*0292*/ uint8_t level; // Spawn Level -/*0293*/ uint8_t unknown0293; -/*0294*/ uint8_t gender; // Gender (0=male, 1=female) -/*0295*/ uint8_t unknown0295[3]; -/*0298*/ uint32_t guildID; // Current guild -/*0302*/ uint8_t unknown0302[15]; -/*0317*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay -/*0318*/ uint8_t unknown0318[5]; -/*0323*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0327*/ uint8_t class_; // Player's class -/*0328*/ uint8_t unknown0328[15]; -/*0343*/ uint32_t spawnId; // Spawn Id -/*0347*/ uint8_t unknown0347; -/*0348*/ union +/*0000*/ union { - struct - { - /*0348*/ EquipStruct equip_helmet; // Equiptment: Helmet visual - /*0360*/ EquipStruct equip_chest; // Equiptment: Chest visual - /*0372*/ EquipStruct equip_arms; // Equiptment: Arms visual - /*0384*/ EquipStruct equip_bracers; // Equiptment: Wrist visual - /*0396*/ EquipStruct equip_hands; // Equiptment: Hands visual - /*0408*/ EquipStruct equip_legs; // Equiptment: Legs visual - /*0420*/ EquipStruct equip_feet; // Equiptment: Boots visual - /*0432*/ EquipStruct equip_primary; // Equiptment: Main visual - /*0444*/ EquipStruct equip_secondary; // Equiptment: Off visual - } equip; - /*0348*/ EquipStruct equipment[9]; + struct + { + /*0000*/ Color_Struct color_helmet; // Color of helmet item + /*0000*/ Color_Struct color_chest; // Color of chest item + /*0000*/ Color_Struct color_arms; // Color of arms item + /*0000*/ Color_Struct color_bracers; // Color of bracers item + /*0000*/ Color_Struct color_hands; // Color of hands item + /*0000*/ Color_Struct color_legs; // Color of legs item + /*0000*/ Color_Struct color_feet; // Color of feet item + /*0000*/ Color_Struct color_primary; // Color of primary item + /*0000*/ Color_Struct color_secondary; // Color of secondary item + } equipment_colors; + /*0000*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above }; -/*0456*/ uint8_t unknown0465[11]; -/*0467*/ uint8_t gm; -/*0468*/ float runspeed; // Speed when running -/*0472*/ uint8_t unknown0472[3]; -/*0475*/ union + +// skip these bytes if not a valid player race +/*0000*/ union { - struct - { - /*0475*/ Color_Struct color_helmet; // Color of helmet item - /*0479*/ Color_Struct color_chest; // Color of chest item - /*0483*/ Color_Struct color_arms; // Color of arms item - /*0487*/ Color_Struct color_bracers; // Color of bracers item - /*0491*/ Color_Struct color_hands; // Color of hands item - /*0495*/ Color_Struct color_legs; // Color of legs item - /*0499*/ Color_Struct color_feet; // Color of feet item - /*0503*/ Color_Struct color_primary; // Color of primary item - /*0507*/ Color_Struct color_secondary; // Color of secondary item - } equipment_colors; - /*0475*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + struct + { + /*0000*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0000*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0000*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0000*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0000*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0000*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0000*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0000*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0000*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0000*/ EquipStruct equipment[9]; }; -/*0511*/ uint32_t race; // Spawn race -/*0515*/ uint8_t unknown0515; -/*0516*/ uint8_t curHp; // Current hp -/*0517*/ uint8_t unknown0517[15]; -/*0532*/ -/*0891*/ //float walkspeed; // Speed when walking (couldn't find for 4/17/2008 patch - ieatacid) +/*0000*/ char title[0]; // only read if(hasTitleOrSuffix & 4) +/*0000*/ char suffix[0]; // only read if(hasTitleOrSuffix & 8) +/*0000*/ char unknown20[32]; }; +#endif - - - #if 0 // Old stuff from spawnStruct seq doesn't actually use at all.. // @@ -1280,15 +1422,15 @@ * Shroud spawn. For others shrouding, this has their spawnId and * spawnStruct. * - * Length: 586 + * Length: variable * OpCode: OP_Shroud */ struct spawnShroudOther { /*00000*/ uint32_t spawnId; // Spawn Id of the shrouded player -/*00004*/ spawnStruct spawn; // Updated spawn struct for the player -/*00536*/ uint8_t unknown00536[465]; -/*1001*/ +/*00004*/ uint16_t spawnStructSize; // Size of spawnStruct (or start of) +/*00006*/ spawnStruct spawn; // Updated spawn struct for the player (variable length) +/*xxxxx*/ }; /** @@ -1303,10 +1445,10 @@ struct spawnShroudSelf { /*00000*/ uint32_t spawnId; // Spawn Id of you -/*00004*/ spawnStruct spawn; // Updated spawnStruct for you -/*00536*/ uint8_t unknown00536[465]; -/*01001*/ playerProfileStruct profile; // Character profile for shrouded char -/*16153*/ uint8_t items; // Items on the player +/*00004*/ uint16_t ppStart; // Start of playerProfile data (spawnId+ppStart+spawnStruct) +/*00004*/ spawnStruct spawn; // Updated spawnStruct for you (variable length) +/*xxxxx*/ playerProfileStruct profile; // Character profile for shrouded char +/*xxxxx*/ uint8_t items; // Items on the player /*xxxxx*/ }; Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/interface.cpp 2008-06-09 00:52:12 UTC (rev 701) @@ -1982,7 +1982,7 @@ "corpseLocStruct", SZC_Match, m_spawnShell, SLOT(corpseLoc(const uint8_t*))); m_packet->connect2("OP_ZoneSpawns", SP_Zone, DIR_Server, - "spawnStruct", SZC_Modulus, + "spawnStruct", SZC_None, m_spawnShell, SLOT(zoneSpawns(const uint8_t*, size_t))); // connect the SpellShell slots to ZoneMgr signals Modified: showeq/trunk/src/netstream.cpp =================================================================== --- showeq/trunk/src/netstream.cpp 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/netstream.cpp 2008-06-09 00:52:12 UTC (rev 701) @@ -157,6 +157,48 @@ return QString(); } +uint16_t NetStream::readUInt16NC() +{ + uint16_t val; + + // make sure there is enough data left + if ((m_lastPos - m_pos) >= 2) + { + // convert the data and increment past it + val = eqtohuint16(m_pos); + m_pos += 2; + } + else + val = 0; // just return 0 if no data left + + return val; +} + +uint32_t NetStream::readUInt32NC() +{ + uint32_t val; + + // make sure there is enough data left + if ((m_lastPos - m_pos) >= 4) + { + // convert the data and increment past it + val = eqtohuint32(m_pos); + m_pos += 4; + } + else + val = 0; // just return 0 if no data left + + return val; +} + +void NetStream::skipBytes(size_t byteCount) +{ + if ((m_lastPos - m_pos) >= byteCount) + { + m_pos += byteCount; + } +} + BitStream::BitStream(const uint8_t* data, size_t length) : m_data(data) { Modified: showeq/trunk/src/netstream.h =================================================================== --- showeq/trunk/src/netstream.h 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/netstream.h 2008-06-09 00:52:12 UTC (rev 701) @@ -24,6 +24,7 @@ size_t length() { return m_length; } void reset(); bool end() { return (m_pos >= m_lastPos); } + const uint8_t* pos() { return m_pos; } uint8_t readUInt8(); int8_t readInt8(); @@ -32,6 +33,9 @@ uint32_t readUInt32(); int32_t readInt32(); QString readText(); + uint16_t readUInt16NC(); + uint32_t readUInt32NC(); + void skipBytes(size_t byteCount); protected: const uint8_t* m_data; Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/s_everquest.h 2008-06-09 00:52:12 UTC (rev 701) @@ -32,6 +32,7 @@ AddStruct(charProfileStruct); AddStruct(playerAAStruct); AddStruct(spawnStruct); +AddStruct(spawnStruct); AddStruct(ServerZoneEntryStruct); AddStruct(doorStruct); AddStruct(makeDropStruct); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/spawnshell.cpp 2008-06-09 00:52:12 UTC (rev 701) @@ -421,114 +421,213 @@ void SpawnShell::zoneSpawns(const uint8_t* data, size_t len) { - int spawndatasize = len / sizeof(spawnStruct); + NetStream netStream(data,len); + spawnStruct *spawn = new spawnStruct; + uint32_t spawnStructSize; + uint16_t parm1; - const spawnStruct* zspawns = (const spawnStruct*)data; + while(!netStream.end()) + { + memset(spawn,0,sizeof(spawnStruct)); + parm1=netStream.readUInt16NC(); + if(parm1==0x1ff) + parm1=netStream.readUInt16NC(); - for (int i = 0; i < spawndatasize; i++) - { -#if 0 - // Dump position updates for debugging spawn struct position changes - for (int j=54; j<70; i++) - { - printf("%.2x", zspawns[i][j]); + netStream.skipBytes(1); + spawnStructSize=fillSpawnStruct(spawn,netStream.pos(),len,false); + newSpawn(*spawn); + netStream.skipBytes(spawnStructSize); + } +} - if ((j+1) % 8 == 0) +uint32_t SpawnShell::fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen) +{ + NetStream netStream(data,len); + + QString name=netStream.readText(); + + if(name.length()) + strcpy(spawn->name,name.latin1()); +// seqDebug("name=%s",spawn->name); + + spawn->spawnId=netStream.readUInt32NC(); +// seqDebug("id=%d (%x)",spawn->spawnId,spawn->spawnId); + + spawn->level=netStream.readUInt8(); +// seqDebug("level=%d",spawn->level); + + // skip the next 4 bytes + netStream.skipBytes(4); + + spawn->NPC=netStream.readUInt8(); +// seqDebug("NPC=%d",spawn->NPC); + + spawn->miscData=netStream.readUInt32NC(); + + spawn->hasTitleOrSuffix=netStream.readUInt8(); + +// seqDebug("miscData: %x hasTitleOrSuffix: %x",spawn->miscData,spawn->hasTitleOrSuffix); + +// seqDebug("buyer=%d trader=%d TC=%d T=%d BB=%d LD=%d gen=%d anon=%d gm=%d invis=%d LFG=%d sneak=%d AFK=%d", +// spawn->buyer,spawn->trader,spawn->targetcyclable,spawn->targetable,spawn->betabuffed, +// spawn->linkdead,spawn->gender,spawn->anon,spawn->gm,spawn->invis,spawn->LFG,spawn->sneak,spawn->AFK); + + if(spawn->hasTitleOrSuffix & 1) + { + // it's a chest. skip usual 21 plus extra 56 + netStream.skipBytes(77); + } + else + { + // skip facestyle, walk/run speeds, unknowns + netStream.skipBytes(21); + } + + spawn->race=netStream.readUInt32NC(); +// seqDebug("race=%d",spawn->race); + + spawn->charProperties=netStream.readUInt8(); +// seqDebug("charProperties=%d",spawn->charProperties); + + if(spawn->charProperties) + { + spawn->bodytype=netStream.readUInt32NC(); +// seqDebug("bodytype=%d",spawn->bodytype); + for(int i=1; i < spawn->charProperties; i++) { - printf(" "); + // extra character properties + int j=netStream.readUInt32NC(); +// netStream.skipBytes(4); } - else + } + + spawn->curHp=netStream.readUInt8(); +// seqDebug("curHp=%d",spawn->curHp); + + // skip hair and face stuff + netStream.skipBytes(18); + + spawn->holding=netStream.readUInt8(); + spawn->deity=netStream.readUInt32NC(); + spawn->guildID=netStream.readUInt32NC(); + spawn->guildstatus=netStream.readUInt32NC(); + spawn->class_=netStream.readUInt8(); +// seqDebug("holding=%d deity=%d guildID=%d guildstatus=%d class_=%d",spawn->holding, +// spawn->deity,spawn->guildID,spawn->guildstatus,spawn->class_); + + netStream.skipBytes(1); + + spawn->state=netStream.readUInt8(); + spawn->light=netStream.readUInt8(); + + netStream.skipBytes(5); + + name=netStream.readText(); + + if(name.length()) + { + strcpy(spawn->lastName,name.latin1()); +// seqDebug("surname=%s",spawn->lastName); + } + + netStream.skipBytes(5); + + spawn->petOwnerId=netStream.readUInt32NC(); +// seqDebug("petOwnerId=%d",spawn->petOwnerId); + + netStream.skipBytes(25); + + spawn->posData[0]=netStream.readUInt32NC(); + spawn->posData[1]=netStream.readUInt32NC(); + spawn->posData[2]=netStream.readUInt32NC(); + spawn->posData[3]=netStream.readUInt32NC(); + spawn->posData[4]=netStream.readUInt32NC(); + +// seqDebug("%x %x %x %x %x",spawn->posData[0],spawn->posData[1],spawn->posData[2],spawn->posData[3],spawn->posData[4]); + +// seqDebug("%d %d %d | %d %d %d | %d %d | %d",spawn->y>>3,spawn->x>>3,spawn->z>>3, +// spawn->deltaY>>2,spawn->deltaX>>2,spawn->deltaZ>>2, +// spawn->heading,spawn->deltaHeading,spawn->animation); + + // skip color + netStream.skipBytes(36); + + uint32_t race=spawn->race; + + // this is how the client checks if equipment should be read. + if(spawn->NPC==0 || race <= 12 || race==128 || race==130 || race==330 || race==522) + { + for(int i=0; i<9; i++) { - printf(" "); + spawn->equipment[i].itemId=netStream.readUInt32NC(); + spawn->equipment[i].equip1=netStream.readUInt32NC(); + spawn->equipment[i].equip0=netStream.readUInt32NC(); } - } - printf("\n"); -#endif + } -#if 0 - // Debug positioning without having to recompile everything... -#pragma pack(1) -struct pos -{ -/*0002*/ signed padding0000:12; // ***Placeholder - signed deltaX:13; // change in x - signed padding0005:7; // ***Placeholder -/*0006*/ signed deltaHeading:10;// change in heading - signed deltaY:13; // change in y - signed padding0006:9; // ***Placeholder -/*0010*/ signed y:19; // y coord - signed animation:13; // animation -/*0014*/ unsigned heading:12; // heading - signed x:19; // x coord - signed padding0014:1; // ***Placeholder -/*0018*/ signed z:19; // z coord - signed deltaZ:13; // change in z -/*0022*/ -}; -#pragma pack(0) - struct pos *p = (struct pos *)(data + i*sizeof(spawnStruct) + 151); - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", - zspawns[i].spawnId, - float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0, - float(p->deltaX)/4.0, float(p->deltaY)/4.0, - float(p->deltaZ)/4.0, - float(p->heading), float(p->deltaHeading), - p->animation, p->padding0000, - p->padding0005, p->padding0006, p->padding0014); -#endif - newSpawn(zspawns[i]); - } + if(spawn->hasTitleOrSuffix & 4) + { + name=netStream.readText(); + strcpy(spawn->title,name.latin1()); +// seqDebug("title=%s",spawn->title); + } + + if(spawn->hasTitleOrSuffix & 8) + { + name=netStream.readText(); + strcpy(spawn->suffix,name.latin1()); +// seqDebug("suffix=%s",spawn->suffix); + } + + netStream.skipBytes(32); + + // now we're at the end + + uint32_t retVal=netStream.pos()-netStream.data(); + + if(checkLen && (int32_t)len!=retVal) + { + seqDebug("SpawnShell::fillSpawnStruct - expected length: %d, read: %d",len,retVal); + } + return retVal; } void SpawnShell::zoneEntry(const uint8_t* data, size_t len) { - const spawnStruct* spawn = (const spawnStruct*)data; + // Zone Entry. Sent when players are added to the zone. + spawnStruct *spawn = new spawnStruct; + + memset(spawn,0,sizeof(spawnStruct)); + + fillSpawnStruct(spawn,data,len,true); + #ifdef SPAWNSHELL_DIAG seqDebug("SpawnShell::zoneEntry(spawnStruct *(name='%s'))", spawn->name); #endif - // Zone Entry. This is a semi-filled in spawnStruct that we - // see for ourself when entering a zone. We also get sent this - // when shrouding and when respawning from corpse hover mode. Auras - // also get sent this sometimes. - /* Now all PCs are 0, including self - if (spawn->NPC==0) - { - // Align the player instance with these values - m_player->update(spawn); + Item *item; - emit changeItem(m_player, tSpawnChangedALL); -}*/ - Item *item; - if(len==sizeof(spawnStruct) || len==sizeof(spawnCampfire)) + if(!strcmp(spawn->name,m_player->name())) { - if(!strcmp(spawn->name,m_player->name())) + // Multiple zoneEntry packets are received for your spawn after you zone. + m_player->update(spawn); + emit changeItem(m_player, tSpawnChangedALL); + } + else + { + if((item=m_spawns.find(spawn->spawnId))) { - // Multiple zoneEntry packets are received for your spawn after you zone. - m_player->update(spawn); - emit changeItem(m_player, tSpawnChangedALL); + // Update existing spawn + Spawn *s=(Spawn*)item; + s->update(spawn); } else { - if((item=m_spawns.find(spawn->spawnId))) - { - // Update existing spawn - Spawn *s=(Spawn*)item; - s->update(spawn); - } - else - { - // Create a new spawn - newSpawn(data); - } + // Create a new spawn + newSpawn(*spawn); } } - else - { - seqWarn("OP_ZoneEntry (datalen: %d) doesn't match: sizeof(spawnStruct):%d or sizeof(spawnCampfire):%d", - len,sizeof(spawnStruct),sizeof(spawnCampfire)); - } } void SpawnShell::newSpawn(const uint8_t* data) @@ -539,7 +638,6 @@ const spawnStruct* spawn = (const spawnStruct*)data; - newSpawn(*spawn); } @@ -560,12 +658,18 @@ // found a match, remove it from the deleted spawn list m_deadSpawnID[i] = 0; + /* Commented this out because it wasn't adding shrouded spawns. + Shrouded spawns get deleted from the zone first then added + as a new spawn. leaving this here in case another work-around + needs to be found. (ieatacid - 6-8-2008) + // let the user know what's going on seqInfo("%s(%d) has already been removed from the zone before we processed it.", s.name, s.spawnId); - + // and stop the attempt to add the spawn. return; + */ } } @@ -973,22 +1077,31 @@ void SpawnShell::shroudSpawn(const uint8_t* data, size_t len, uint8_t dir) { - if (len == sizeof(spawnShroudOther)) + // Self or other person shrouding. newSpawn handled updates too. + + NetStream netStream(data,len); + + uint32_t spawnID=netStream.readUInt32NC(); + uint16_t spawnStructSize=netStream.readUInt16NC(); + spawnStructSize-=6; + + if(spawnID!=m_player->id()) { - // Other person shrouding. newSpawn handled updates too. - spawnShroudOther* shroud = (spawnShroudOther*) data; - seqInfo("Shrouding %s (id=%d)", - shroud->spawn.name, shroud->spawn.spawnId); - + // Shrouding other player + spawnShroudOther *shroud = new spawnShroudOther; + fillSpawnStruct(&shroud->spawn,netStream.pos(),spawnStructSize,true); + seqInfo("Shrouding %s (id=%d)", shroud->spawn.name, shroud->spawn.spawnId); newSpawn(shroud->spawn); } else { // Shrouding yourself. - spawnShroudSelf* shroud = (spawnShroudSelf*) data; + spawnShroudSelf *shroud = new spawnShroudSelf; - seqInfo("Shrouding %s (id=%d)", - shroud->spawn.name, shroud->spawn.spawnId); + fillSpawnStruct(&shroud->spawn,netStream.pos(),spawnStructSize,true); + netStream.skipBytes(spawnStructSize); + memcpy(&shroud->profile,netStream.pos(),sizeof(playerProfileStruct)); + seqInfo("Shrouding %s (id=%d)", shroud->spawn.name, shroud->spawn.spawnId); m_player->loadProfile(shroud->profile); @@ -1155,6 +1268,10 @@ } } } + else + { + + } } else if((len+1)!=sizeof(removeSpawnStruct)) { Modified: showeq/trunk/src/spawnshell.h =================================================================== --- showeq/trunk/src/spawnshell.h 2008-04-23 02:15:01 UTC (rev 700) +++ showeq/trunk/src/spawnshell.h 2008-06-09 00:52:12 UTC (rev 701) @@ -140,6 +140,7 @@ void deleteItem(spawnItemType type, int id); bool updateFilterFlags(Item* item); bool updateRuntimeFilterFlags(Item* item); + uint32_t fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen); ItemMap& getMap(spawnItemType type); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-04-23 02:15:04
|
Revision: 700 http://seq.svn.sourceforge.net/seq/?rev=700&view=rev Author: ieatacid Date: 2008-04-22 19:15:01 -0700 (Tue, 22 Apr 2008) Log Message: ----------- ieatacid (4/22/08) ---------------- + Updated version to 5.12.3.1 + Some fixes for the handling of spawns outside of your update radius + Made it so that spawns outside your update radius have dark gray-colored icons (you can change this in the icon editor) Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/main.cpp showeq/trunk/src/main.h showeq/trunk/src/map.cpp showeq/trunk/src/mapicon.cpp showeq/trunk/src/mapicon.h showeq/trunk/src/s_everquest.h showeq/trunk/src/spawn.cpp showeq/trunk/src/spawn.h showeq/trunk/src/spawnshell.cpp showeq/trunk/src/spawnshell.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/ChangeLog 2008-04-23 02:15:01 UTC (rev 700) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +ieatacid (4/22/08) +---------------- ++ Updated version to 5.12.3.1 ++ Some fixes for the handling of spawns outside of your update radius ++ Made it so that spawns outside your update radius have dark gray-colored icons (you can change this in the icon editor) + ieatacid (4/20/08) ---------------- + Updated version to 5.12.3 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/conf/zoneopcodes.xml 2008-04-23 02:15:01 UTC (rev 700) @@ -69,10 +69,14 @@ <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> - <opcode id="3164" name="OP_DeleteSpawn" updated="01/17/08"> + <opcode id="5aac" name="OP_DeleteSpawn" updated="04/17/08"> <comment>old DeleteSpawnCode</comment> - <payload dir="both" typename="deleteSpawnStruct" sizechecktype="none"/> + <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> + <opcode id="3164" name="OP_RemoveSpawn" updated="04/17/08"> + <comment>Remove spawn from update radius</comment> + <payload dir="server" typename="removeSpawnStruct" sizechecktype="none"/> + </opcode> <opcode id="1B85" name="OP_Death" updated="01/17/08"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/configure.in 2008-04-23 02:15:01 UTC (rev 700) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.3.0) +AC_INIT(showeq, 5.12.3.1) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/everquest.h 2008-04-23 02:15:01 UTC (rev 700) @@ -1589,21 +1589,21 @@ /* ** Delete Self ** Length: 4 Octets -** OpCode: DeleteSpawnCode +** OpCode: OP_DeleteSpawn */ -struct deleteSpawnSelfStruct +struct deleteSpawnStruct { /*0000*/ uint32_t spawnId; // Spawn ID to delete }; /* -** Delete Spawn +** Remove Spawn ** Length: 5 Octets -** OpCode: DeleteSpawnCode +** OpCode: OP_RemoveSpawn */ -struct deleteSpawnStruct +struct removeSpawnStruct { /*0000*/ uint32_t spawnId; // Spawn ID to delete /*0004*/ uint8_t removeSpawn; // 0 if spawn is not in your update radius Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/interface.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -155,7 +155,6 @@ m_selectOnConsider = pSEQPrefs->getPrefBool("SelectOnCon", section, false); m_selectOnTarget = pSEQPrefs->getPrefBool("SelectOnTarget", section, false); - m_useUpdateRadius = pSEQPrefs->getPrefBool("UseUpdateRadius", section, true); const char* player_classes[] = {"Warrior", "Cleric", "Paladin", "Ranger", "Shadow Knight", "Druid", "Monk", "Bard", @@ -284,7 +283,6 @@ // Create the spawn shell m_spawnShell = new SpawnShell(*m_filterMgr, m_zoneMgr, m_player, m_guildmgr); - m_spawnShell->setUseUpdateRadius(m_useUpdateRadius); // Create the Category manager m_categoryMgr = new CategoryMgr(); @@ -993,9 +991,9 @@ this, SLOT(select_opt_conColorBase(int))); pOptMenu->insertItem("Con &Colors", conColorBaseMenu); - m_id_opt_useUpdateRadius = pOptMenu->insertItem("&Use Update Radius (buggy if disabled)", + m_id_opt_useUpdateRadius = pOptMenu->insertItem("&Use EQ's Update Radius", this, SLOT(toggle_opt_UseUpdateRadius())); - menuBar()->setItemChecked (m_id_opt_useUpdateRadius, m_useUpdateRadius); + menuBar()->setItemChecked (m_id_opt_useUpdateRadius, showeq_params->useUpdateRadius); // Network Menu m_netMenu = new QPopupMenu; @@ -1944,8 +1942,8 @@ "hpNpcUpdateStruct", SZC_Match, m_spawnShell, SLOT(updateNpcHP(const uint8_t*))); m_packet->connect2("OP_DeleteSpawn", SP_Zone, DIR_Server|DIR_Client, - "deleteSpawnStruct", SZC_None, - m_spawnShell, SLOT(deleteSpawn(const uint8_t*, size_t))); + "deleteSpawnStruct", SZC_Match, + m_spawnShell, SLOT(deleteSpawn(const uint8_t*))); m_packet->connect2("OP_SpawnRename", SP_Zone, DIR_Server, "spawnRenameStruct", SZC_Match, m_spawnShell, SLOT(renameSpawn(const uint8_t*))); @@ -1964,6 +1962,9 @@ m_packet->connect2("OP_Shroud", SP_Zone, DIR_Server, "spawnShroudSelf", SZC_None, m_spawnShell, SLOT(shroudSpawn(const uint8_t*, size_t, uint8_t))); + m_packet->connect2("OP_RemoveSpawn", SP_Zone, DIR_Server, + "removeSpawnStruct", SZC_None, + m_spawnShell, SLOT(removeSpawn(const uint8_t*, size_t))); #if 0 // ZBTEMP connect(m_packet, SIGNAL(spawnWearingUpdate(const uint8_t*, size_t, uint8_t)), m_spawnShell, SLOT(spawnWearingUpdate(const uint8_t*))); @@ -3507,10 +3508,9 @@ void EQInterface::toggle_opt_UseUpdateRadius (void) { - m_useUpdateRadius = !(m_useUpdateRadius); - m_spawnShell->toggleUseUpdateRadius(); - menuBar()->setItemChecked (m_id_opt_useUpdateRadius, m_useUpdateRadius); - pSEQPrefs->setPrefBool("UseUpdateRadius", "Interface", m_useUpdateRadius); + showeq_params->useUpdateRadius = !(showeq_params->useUpdateRadius); + menuBar()->setItemChecked (m_id_opt_useUpdateRadius, showeq_params->useUpdateRadius); + pSEQPrefs->setPrefBool("UseUpdateRadius", "Interface", showeq_params->useUpdateRadius); } /* Check and uncheck Log menu options & set EQPacket logging flags */ Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/main.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -235,6 +235,7 @@ showeq_params->pvp = pSEQPrefs->getPrefBool("PvPTeamColoring", section, false); showeq_params->deitypvp = pSEQPrefs->getPrefBool("DeityPvPTeamColoring", section, false); showeq_params->keep_selected_visible = pSEQPrefs->getPrefBool("KeepSelected", section, true); + showeq_params->useUpdateRadius = pSEQPrefs->getPrefBool("UseUpdateRadius", section, true); section = "Misc"; showeq_params->fast_machine = pSEQPrefs->getPrefBool("FastMachine", section, true); Modified: showeq/trunk/src/main.h =================================================================== --- showeq/trunk/src/main.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/main.h 2008-04-23 02:15:01 UTC (rev 700) @@ -44,6 +44,7 @@ bool restoreZoneState; bool restoreSpawns; QString saveRestoreBaseFilename; + bool useUpdateRadius; }; extern struct ShowEQParams *showeq_params; Modified: showeq/trunk/src/map.cpp =================================================================== --- showeq/trunk/src/map.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/map.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -3591,7 +3591,15 @@ mapIcon = m_mapIcons->icon(tIconTypeSpawnPlayerCorpse); else if (spawn->isUnknown()) mapIcon = m_mapIcons->icon(tIconTypeSpawnUnknown); - + + if (spawn->isNotUpdated()) + { + if(spawn->isNPC()) + mapIcon = m_mapIcons->icon(tIconTypeSpawnNPCNoUpdate); + else if (spawn->isOtherPlayer()) + mapIcon = m_mapIcons->icon(tIconTypeSpawnPlayerNoUpdate); + } + // if the spawn was considered, note it. if (m_highlightConsideredSpawns && spawn->considered()) mapIcon.combine(m_mapIcons->icon(tIconTypeSpawnConsidered)); Modified: showeq/trunk/src/mapicon.cpp =================================================================== --- showeq/trunk/src/mapicon.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/mapicon.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -83,6 +83,8 @@ "SpawnPoint", "SpawnPointSelected", "ZoneSafePoint", + "SpawnPlayerNoUpdate", + "SpawnNPCNoUpdate", }; static const QString iconTypeNames[] = @@ -121,6 +123,8 @@ "Spawn Point", "Selected Spawn Point", "Zone Safe Point", + "Spawn Player No Update", + "Spawn NPC No Update", }; //---------------------------------------------------------------------- @@ -714,6 +718,14 @@ tIconStyleX, tIconSizeSmall, true, false, false, false); m_mapIcons[tIconTypeZoneSafePoint].setShowName(true); + m_mapIcons[tIconTypeSpawnPlayerNoUpdate] + .setImage(QBrush(gray), QPen(darkGray, 1, SolidLine, cap, join), + tIconStyleSquare, tIconSizeRegular, + true, false, false, false); + m_mapIcons[tIconTypeSpawnNPCNoUpdate] + .setImage(QBrush(gray), QPen(NoPen, 1, SolidLine, cap, join), + tIconStyleCircle, tIconSizeRegular, + true, false, false, false); // setup icon size maps m_mapIconSizes[tIconSizeNone] = &m_markerNSize; // none should never be drawn Modified: showeq/trunk/src/mapicon.h =================================================================== --- showeq/trunk/src/mapicon.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/mapicon.h 2008-04-23 02:15:01 UTC (rev 700) @@ -107,7 +107,9 @@ tIconTypeSpawnPoint, tIconTypeSpawnPointSelected, tIconTypeZoneSafePoint, - tIconTypeMax = tIconTypeZoneSafePoint, + tIconTypeSpawnPlayerNoUpdate, + tIconTypeSpawnNPCNoUpdate, + tIconTypeMax = tIconTypeSpawnNPCNoUpdate, }; //---------------------------------------------------------------------- Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/s_everquest.h 2008-04-23 02:15:01 UTC (rev 700) @@ -67,8 +67,8 @@ AddStruct(groupFollowStruct); AddStruct(groupAltFollowStruct); AddStruct(groupDisbandStruct); -AddStruct(deleteSpawnSelfStruct); AddStruct(deleteSpawnStruct); +AddStruct(removeSpawnStruct); AddStruct(remDropStruct); AddStruct(considerStruct); AddStruct(castOnStruct); Modified: showeq/trunk/src/spawn.cpp =================================================================== --- showeq/trunk/src/spawn.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/spawn.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -449,6 +449,8 @@ // just clear the considred flag since data would be outdated setConsidered(false); + + setNotUpdated(false); // finally, note when this update occurred. updateLast(); Modified: showeq/trunk/src/spawn.h =================================================================== --- showeq/trunk/src/spawn.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/spawn.h 2008-04-23 02:15:01 UTC (rev 700) @@ -245,6 +245,7 @@ bool approximatePosition(bool animating, const QTime& curTime, EQPoint& newPos) const; + bool isNotUpdated() const { return m_notUpdated; } // spawn related methods that sub-classes may override virtual QString lastName() const; @@ -325,9 +326,9 @@ void setID(uint16_t id) { m_ID = id; } void setLastName(const char * lastName) { m_lastName = QString::fromUtf8(lastName); } - void setLastName(const QString& lastName) { m_lastName = lastName; } + void setNotUpdated(bool notUpdated) { m_notUpdated = notUpdated; } protected: @@ -364,6 +365,7 @@ uint8_t m_animation; uint8_t m_gm; bool m_considered; + bool m_notUpdated; }; Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/spawnshell.cpp 2008-04-23 02:15:01 UTC (rev 700) @@ -96,8 +96,7 @@ m_spawns(701), m_drops(211), m_doors(307), - m_players(2), - m_useUpdateRadius(0) + m_players(2) { m_cntDeadSpawnIDs = 0; m_posDeadSpawnIDs = 0; @@ -483,10 +482,10 @@ void SpawnShell::zoneEntry(const uint8_t* data, size_t len) { - const spawnStruct* spawn = (const spawnStruct*)data; + const spawnStruct* spawn = (const spawnStruct*)data; #ifdef SPAWNSHELL_DIAG - seqDebug("SpawnShell::zoneEntry(spawnStruct *(name='%s'))", spawn->name); + seqDebug("SpawnShell::zoneEntry(spawnStruct *(name='%s'))", spawn->name); #endif // Zone Entry. This is a semi-filled in spawnStruct that we // see for ourself when entering a zone. We also get sent this @@ -494,33 +493,42 @@ // also get sent this sometimes. /* Now all PCs are 0, including self - if (spawn->NPC==0) - { + if (spawn->NPC==0) + { // Align the player instance with these values - m_player->update(spawn); + m_player->update(spawn); - emit changeItem(m_player, tSpawnChangedALL); - }*/ - - if(len==sizeof(spawnStruct) || len==sizeof(spawnCampfire)) + emit changeItem(m_player, tSpawnChangedALL); +}*/ + Item *item; + if(len==sizeof(spawnStruct) || len==sizeof(spawnCampfire)) + { + if(!strcmp(spawn->name,m_player->name())) { - if(!strcmp(spawn->name,m_player->name())) - { - // Multiple zoneEntry packets are received for your spawn after you zone. - m_player->update(spawn); - emit changeItem(m_player, tSpawnChangedALL); - } - else - { - // Auras, all other PCs and NPCs - newSpawn(data); - } + // Multiple zoneEntry packets are received for your spawn after you zone. + m_player->update(spawn); + emit changeItem(m_player, tSpawnChangedALL); } else { - seqWarn("OP_ZoneEntry (datalen: %d) doesn't match: sizeof(spawnStruct):%d or sizeof(spawnCampfire):%d", - len,sizeof(spawnStruct),sizeof(spawnCampfire)); + if((item=m_spawns.find(spawn->spawnId))) + { + // Update existing spawn + Spawn *s=(Spawn*)item; + s->update(spawn); + } + else + { + // Create a new spawn + newSpawn(data); + } } + } + else + { + seqWarn("OP_ZoneEntry (datalen: %d) doesn't match: sizeof(spawnStruct):%d or sizeof(spawnCampfire):%d", + len,sizeof(spawnStruct),sizeof(spawnCampfire)); + } } void SpawnShell::newSpawn(const uint8_t* data) @@ -1120,41 +1128,58 @@ } // else not yourself } // end consMessage() -void SpawnShell::deleteSpawn(const uint8_t* data, size_t len) +void SpawnShell::removeSpawn(const uint8_t* data, size_t len) { - const deleteSpawnStruct* delSpawn = (const deleteSpawnStruct*)data; + const removeSpawnStruct* rmSpawn = (const removeSpawnStruct*)data; #ifdef SPAWNSHELL_DIAG - seqDebug("SpawnShell::deleteSpawn(id=%d)", delSpawn->spawnId); + seqDebug("SpawnShell::removeSpawn(id=%d)", rmSpawn->spawnId); #endif - if(len==sizeof(deleteSpawnStruct) || len==sizeof(deleteSpawnSelfStruct)) - { - if(len==sizeof(deleteSpawnStruct)) - { - if(delSpawn->removeSpawn) - { - if (m_posDeadSpawnIDs < (MAX_DEAD_SPAWNIDS - 1)) - m_posDeadSpawnIDs++; - else - m_posDeadSpawnIDs = 0; + Item *item; + if(len==sizeof(removeSpawnStruct)) + { + if(!rmSpawn->removeSpawn) + { + // Remove a spawn from outside the update radius + if(showeq_params->useUpdateRadius) + { + // Remove it + deleteItem(tSpawn, rmSpawn->spawnId); + } + else + { + // Set flag to change its icon + if((item=m_spawns.find(rmSpawn->spawnId))) + { + Spawn *s=(Spawn*)item; + s->setNotUpdated(true); + } + } + } + } + else if((len+1)!=sizeof(removeSpawnStruct)) + { + seqWarn("OP_RemoveSpawn (dataLen: %d) doesn't match: sizeof(removeSpawnStruct): %d", + len,sizeof(removeSpawnStruct)); + } +} - if (m_cntDeadSpawnIDs < MAX_DEAD_SPAWNIDS) - m_cntDeadSpawnIDs++; +void SpawnShell::deleteSpawn(const uint8_t* data) +{ + const deleteSpawnStruct* delspawn = (const deleteSpawnStruct*)data; +#ifdef SPAWNSHELL_DIAG + seqDebug("SpawnShell::deleteSpawn(id=%d)", delspawn->spawnId); +#endif + if (m_posDeadSpawnIDs < (MAX_DEAD_SPAWNIDS - 1)) + m_posDeadSpawnIDs++; + else + m_posDeadSpawnIDs = 0; - m_deadSpawnID[m_posDeadSpawnIDs] = delSpawn->spawnId; + if (m_cntDeadSpawnIDs < MAX_DEAD_SPAWNIDS) + m_cntDeadSpawnIDs++; - deleteItem(tSpawn, delSpawn->spawnId); - } - else if(!delSpawn->removeSpawn && m_useUpdateRadius) - { - deleteItem(tSpawn, delSpawn->spawnId); - } - } - } - else - { - seqWarn("OP_DeleteSpawn (datalen: %d) doesn't match: sizeof(deleteSpawnStruct):%d or sizeof(deleteSpawnSelfStruct):%d", - len,sizeof(deleteSpawnStruct),sizeof(deleteSpawnSelfStruct)); - } + m_deadSpawnID[m_posDeadSpawnIDs] = delspawn->spawnId; + + deleteItem(tSpawn, delspawn->spawnId); } void SpawnShell::killSpawn(const uint8_t* data) Modified: showeq/trunk/src/spawnshell.h =================================================================== --- showeq/trunk/src/spawnshell.h 2008-04-23 00:52:05 UTC (rev 699) +++ showeq/trunk/src/spawnshell.h 2008-04-23 02:15:01 UTC (rev 700) @@ -84,8 +84,6 @@ const ItemMap& spawns(void) const; const ItemMap& drops(void) const; const ItemMap& doors(void) const; - void toggleUseUpdateRadius(void); - void setUseUpdateRadius(bool useUpdateRadius); signals: void addItem(const Item* item); void delItem(const Item* item); @@ -124,7 +122,8 @@ void updateNpcHP(const uint8_t* hpupdate); void spawnWearingUpdate(const uint8_t* wearing); void consMessage(const uint8_t* con, size_t, uint8_t); - void deleteSpawn(const uint8_t* delspawn, size_t len); + void removeSpawn(const uint8_t* rmSpawn, size_t len); + void deleteSpawn(const uint8_t* delSpawn); void killSpawn(const uint8_t* deadspawn); void respawnFromHover(const uint8_t* respawn); void corpseLoc(const uint8_t* corpseLoc); @@ -163,9 +162,6 @@ // timer for saving spawns QTimer* m_timer; - - // flag for using the update radius - bool m_useUpdateRadius; }; inline @@ -222,18 +218,6 @@ return m_doors; } -inline -void SpawnShell::toggleUseUpdateRadius(void) -{ - m_useUpdateRadius=!m_useUpdateRadius; -} - -inline -void SpawnShell::setUseUpdateRadius(bool useUpdateRadius) -{ - m_useUpdateRadius=useUpdateRadius; -} - //-------------------------------------------------- #endif // SPAWNSHELL_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-04-23 00:52:11
|
Revision: 699 http://seq.svn.sourceforge.net/seq/?rev=699&view=rev Author: bonkersbobcat Date: 2008-04-22 17:52:05 -0700 (Tue, 22 Apr 2008) Log Message: ----------- Remove UTS_VERSION reference to improve compatibility Modified Paths: -------------- showeq/trunk/src/main.cpp Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2008-04-21 20:07:24 UTC (rev 698) +++ showeq/trunk/src/main.cpp 2008-04-23 00:52:05 UTC (rev 699) @@ -15,10 +15,10 @@ #include <linux/version.h> // Newer kernel versions put this in utsversion -#ifndef UTS_RELEASE -#include <linux/utsversion.h> +//#ifndef UTS_RELEASE +//#include <linux/utsversion.h> +//#endif #endif -#endif #include <sys/utsname.h> @@ -772,10 +772,10 @@ #ifdef QT_VERSION_STR printf ("\t\tUsing Qt version: %s\n", QT_VERSION_STR); #endif -#ifdef __linux__ - printf ("\t\tUsing headers from linux version: %s\n", - UTS_RELEASE); -#endif +//#ifdef __linux__ +// printf ("\t\tUsing headers from linux version: %s\n", +// UTS_RELEASE); +//#endif #ifdef ITEMDB printf ("\t\tUsing EQItemDB: %s\n", EQItemDB::Version()); printf ("\tUsing GDBM: %s\n", GDBMConvenience::Version()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-04-21 20:07:31
|
Revision: 698 http://seq.svn.sourceforge.net/seq/?rev=698&view=rev Author: ieatacid Date: 2008-04-21 13:07:24 -0700 (Mon, 21 Apr 2008) Log Message: ----------- Tag for release 5.12.3 Added Paths: ----------- showeq/tags/v5_12_3_0/ Copied: showeq/tags/v5_12_3_0 (from rev 697, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-04-21 01:20:26
|
Revision: 697 http://seq.svn.sourceforge.net/seq/?rev=697&view=rev Author: ieatacid Date: 2008-04-20 18:20:22 -0700 (Sun, 20 Apr 2008) Log Message: ----------- - Updated version to 5.12.3 - Updated structs - Added "Use Update Radius" to the option menu Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/showeq.kdevelop showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/interface.h showeq/trunk/src/s_everquest.h showeq/trunk/src/spawnshell.cpp showeq/trunk/src/spawnshell.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/ChangeLog 2008-04-21 01:20:22 UTC (rev 697) @@ -1,10 +1,16 @@ Version: $Id$ $Name$ +ieatacid (4/20/08) +---------------- ++ Updated version to 5.12.3 ++ Updated structs ++ Added option to the Option menu to disable the update radius (this is still buggy) + ieatacid (1/23/08) ---------------- + Updated version to 5.12.2 + Updated the position structs that are used for debugging in - player.cpp and spawnshell.cpp + player.cpp and spawnshell.cpp ieatacid (1/21/08) ---------------- Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/conf/zoneopcodes.xml 2008-04-21 01:20:22 UTC (rev 697) @@ -9,7 +9,7 @@ <opcode id="7901" name="OP_ZoneEntry" updated="01/17/08"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> - <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="match"/> + <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="none"/> </opcode> <opcode id="72f8" name="OP_ZoneSpawns" updated="01/17/08"> <comment>old ZoneSpawnsCode</comment> @@ -71,7 +71,7 @@ </opcode> <opcode id="3164" name="OP_DeleteSpawn" updated="01/17/08"> <comment>old DeleteSpawnCode</comment> - <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> + <payload dir="both" typename="deleteSpawnStruct" sizechecktype="none"/> </opcode> <opcode id="1B85" name="OP_Death" updated="01/17/08"> <comment>old NewCorpseCode</comment> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/configure.in 2008-04-21 01:20:22 UTC (rev 697) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.2.0) +AC_INIT(showeq, 5.12.3.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/showeq.kdevelop =================================================================== --- showeq/trunk/showeq.kdevelop 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/showeq.kdevelop 2008-04-21 01:20:22 UTC (rev 697) @@ -25,6 +25,7 @@ <language>C</language> <language>Perl</language> </secondaryLanguages> + <projectname>showeq</projectname> </general> <kdevautoproject> <general> @@ -170,8 +171,33 @@ <codeCompletionDelay>250</codeCompletionDelay> <argumentsHintDelay>400</argumentsHintDelay> <headerCompletionDelay>250</headerCompletionDelay> + <showOnlyAccessibleItems>false</showOnlyAccessibleItems> + <completionBoxItemOrder>0</completionBoxItemOrder> + <howEvaluationContextMenu>true</howEvaluationContextMenu> + <showCommentWithArgumentHint>true</showCommentWithArgumentHint> + <statusBarTypeEvaluation>false</statusBarTypeEvaluation> + <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases> + <processPrimaryTypes>true</processPrimaryTypes> + <processFunctionArguments>false</processFunctionArguments> + <preProcessAllHeaders>false</preProcessAllHeaders> + <parseMissingHeadersExperimental>false</parseMissingHeadersExperimental> + <resolveIncludePathsUsingMakeExperimental>false</resolveIncludePathsUsingMakeExperimental> + <alwaysParseInBackground>true</alwaysParseInBackground> + <usePermanentCaching>true</usePermanentCaching> + <alwaysIncludeNamespaces>false</alwaysIncludeNamespaces> + <includePaths>.;</includePaths> </codecompletion> <references/> + <qt> + <used>false</used> + <version>3</version> + <includestyle>3</includestyle> + <root>/usr/lib/qt-3.3</root> + <designerintegration>EmbeddedKDevDesigner</designerintegration> + <qmake>/usr/lib/qt-3.3/bin/qmake</qmake> + <designer>/usr/lib/qt-3.3/bin/designer</designer> + <designerpluginpaths/> + </qt> </kdevcppsupport> <kdevdocumentation> <projectdoc> Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/everquest.h 2008-04-21 01:20:22 UTC (rev 697) @@ -941,7 +941,7 @@ /* ** Generic Spawn Struct -** Length: 897 Octets +** Length: 532 Octets ** Used in: ** dbSpawnStruct ** petStruct @@ -951,91 +951,93 @@ struct spawnStruct { -/*0000*/ uint8_t unknown0000[132]; -/*0132*/ uint32_t race; // Spawn race -/*0136*/ uint8_t unknown0136[8]; -/*0144*/ uint8_t class_; // Player's class -/*0145*/ uint8_t unknown0145[69]; -/*0214*/ uint8_t bodytype; // Bodytype -/*0215*/ uint8_t unknown0215[39]; -/*0254*/ char name[64]; // Player's Name -/*0318*/ uint8_t unknown0318[4]; -/*0322*/ char lastName[32]; // Player's Lastname -/*0354*/ uint8_t unknown0354[12]; -/*0366*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay -/*0367*/ uint8_t unknown0367[3]; -/*0370*/ int16_t deity; // Player's Deity -/*0372*/ uint8_t unknown0372[45]; -/*0417*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse -/*0418*/ union - { - struct - { - /*0418*/ EquipStruct equip_helmet; // Equiptment: Helmet visual - /*0430*/ EquipStruct equip_chest; // Equiptment: Chest visual - /*0442*/ EquipStruct equip_arms; // Equiptment: Arms visual - /*0454*/ EquipStruct equip_bracers; // Equiptment: Wrist visual - /*0466*/ EquipStruct equip_hands; // Equiptment: Hands visual - /*0478*/ EquipStruct equip_legs; // Equiptment: Legs visual - /*0490*/ EquipStruct equip_feet; // Equiptment: Boots visual - /*0502*/ EquipStruct equip_primary; // Equiptment: Main visual - /*0514*/ EquipStruct equip_secondary; // Equiptment: Off visual - } equip; - /*0418*/ EquipStruct equipment[9]; - }; -/*0526*/ uint8_t unknown0526[2]; -/*0528*/ uint8_t gm; -/*0529*/ char title[32]; // Title -/*0561*/ uint8_t unknown0561[7]; -/*0568*/ uint8_t light; // Spawn's lightsource -/*0569*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0573*/ uint8_t unknown0573[5]; -/*0578*/ uint8_t state; // stand state -/*0579*/ uint32_t spawnId; // Spawn Id -/*0583*/ uint8_t unknown0583[6]; -/*0589*/ uint32_t guildID; // Current guild -/*0593*/ uint8_t gender; // Gender (0=male, 1=female) -/*0594*/ signed padding0000:12; // ***Placeholder +/*0000*/ uint8_t unknown0000[6]; +/*0006*/ uint8_t bodytype; // Bodytype +/*0007*/ uint8_t unknown0007[40]; +/*0047*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) +/*0079*/ char lastName[32]; // Player's Lastname +/*0111*/ int16_t deity; // Player's Deity +/*0113*/ uint8_t unknown0113[2]; +/*0115*/ uint8_t state; // stand state +/*0116*/ uint8_t unknown0116[9]; +/*0125*/ char title[32]; // Title +/*0157*/ uint8_t unknown0157[4]; +/*0161*/ signed padding0000:12; // ***Placeholder signed deltaX:13; // change in x signed padding0005:7; // ***Placeholder -/*0598*/ signed deltaHeading:10;// change in heading +/*0165*/ signed deltaHeading:10;// change in heading signed deltaY:13; // change in y signed padding0006:9; // ***Placeholder -/*0602*/ signed y:19; // y coord +/*0169*/ signed y:19; // y coord signed animation:13; // animation -/*0606*/ unsigned heading:12; // heading +/*0173*/ unsigned heading:12; // heading signed x:19; // x coord signed padding0014:1; // ***Placeholder -/*0610*/ signed z:19; // z coord +/*0177*/ signed z:19; // z coord signed deltaZ:13; // change in z -/*0614*/ float walkspeed; // Speed when running -/*0618*/ uint8_t unknown0618[43]; -/*0661*/ uint8_t curHp; // Current hp -/*0662*/ uint8_t unknown0662; -/*0663*/ uint8_t level; // Spawn Level -/*0664*/ uint8_t unknown0664[7]; -/*0671*/ float runspeed; // Speed when walking -/*0675*/ uint8_t unknown0675[7]; -/*0682*/ union - { - struct - { - /*0682*/ Color_Struct color_helmet; // Color of helmet item - /*0686*/ Color_Struct color_chest; // Color of chest item - /*0690*/ Color_Struct color_arms; // Color of arms item - /*0694*/ Color_Struct color_bracers; // Color of bracers item - /*0698*/ Color_Struct color_hands; // Color of hands item - /*0702*/ Color_Struct color_legs; // Color of legs item - /*0706*/ Color_Struct color_feet; // Color of feet item - /*0710*/ Color_Struct color_primary; // Color of primary item - /*0714*/ Color_Struct color_secondary; // Color of secondary item - } equipment_colors; - /*0682*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above - }; -/*0718*/ uint8_t unknown0718[137]; -/*0855*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0887*/ uint8_t unknown0887[10]; -/*0897*/ +/*0181*/ uint8_t unknown0181[25]; +/*0206*/ char name[64];// // Player's Name +/*0270*/ uint8_t unknown0270[4]; +/*0274*/ uint8_t light; // Spawn's lightsource +/*0275*/ uint8_t unknown0275[5]; +/*0280*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0281*/ uint8_t unknown0281[11]; +/*0292*/ uint8_t level; // Spawn Level +/*0293*/ uint8_t unknown0293; +/*0294*/ uint8_t gender; // Gender (0=male, 1=female) +/*0295*/ uint8_t unknown0295[3]; +/*0298*/ uint32_t guildID; // Current guild +/*0302*/ uint8_t unknown0302[15]; +/*0317*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay +/*0318*/ uint8_t unknown0318[5]; +/*0323*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner +/*0327*/ uint8_t class_; // Player's class +/*0328*/ uint8_t unknown0328[15]; +/*0343*/ uint32_t spawnId; // Spawn Id +/*0347*/ uint8_t unknown0347; +/*0348*/ union + { + struct + { + /*0348*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0360*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0372*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0384*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0396*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0408*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0420*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0432*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0444*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0348*/ EquipStruct equipment[9]; + }; +/*0456*/ uint8_t unknown0465[11]; +/*0467*/ uint8_t gm; +/*0468*/ float runspeed; // Speed when running +/*0472*/ uint8_t unknown0472[3]; +/*0475*/ union + { + struct + { + /*0475*/ Color_Struct color_helmet; // Color of helmet item + /*0479*/ Color_Struct color_chest; // Color of chest item + /*0483*/ Color_Struct color_arms; // Color of arms item + /*0487*/ Color_Struct color_bracers; // Color of bracers item + /*0491*/ Color_Struct color_hands; // Color of hands item + /*0495*/ Color_Struct color_legs; // Color of legs item + /*0499*/ Color_Struct color_feet; // Color of feet item + /*0503*/ Color_Struct color_primary; // Color of primary item + /*0507*/ Color_Struct color_secondary; // Color of secondary item + } equipment_colors; + /*0475*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + }; +/*0511*/ uint32_t race; // Spawn race +/*0515*/ uint8_t unknown0515; +/*0516*/ uint8_t curHp; // Current hp +/*0517*/ uint8_t unknown0517[15]; +/*0532*/ + +/*0891*/ //float walkspeed; // Speed when walking (couldn't find for 4/17/2008 patch - ieatacid) }; @@ -1283,9 +1285,10 @@ */ struct spawnShroudOther { -/*0000*/ uint32_t spawnId; // Spawn Id of the shrouded player -/*0004*/ spawnStruct spawn; // Updated spawn struct for the player -/*0586*/ +/*00000*/ uint32_t spawnId; // Spawn Id of the shrouded player +/*00004*/ spawnStruct spawn; // Updated spawn struct for the player +/*00536*/ uint8_t unknown00536[465]; +/*1001*/ }; /** @@ -1301,11 +1304,23 @@ { /*00000*/ uint32_t spawnId; // Spawn Id of you /*00004*/ spawnStruct spawn; // Updated spawnStruct for you -/*00586*/ playerProfileStruct profile; // Character profile for shrouded char -/*13522*/ uint8_t items; // Items on the player +/*00536*/ uint8_t unknown00536[465]; +/*01001*/ playerProfileStruct profile; // Character profile for shrouded char +/*16153*/ uint8_t items; // Items on the player /*xxxxx*/ }; +/* +** Campfire spawn +** Length: 997 +** OpCode: OP_ZoneEntry +*/ +struct spawnCampfire +{ +/*0000*/ spawnStruct spawn; +/*0532*/ uint8_t unknown0532[465]; +/*0997*/ +}; /* @@ -1572,14 +1587,26 @@ /* -** Delete Spawn +** Delete Self ** Length: 4 Octets ** OpCode: DeleteSpawnCode */ +struct deleteSpawnSelfStruct +{ +/*0000*/ uint32_t spawnId; // Spawn ID to delete +}; + +/* +** Delete Spawn +** Length: 5 Octets +** OpCode: DeleteSpawnCode +*/ + struct deleteSpawnStruct { /*0000*/ uint32_t spawnId; // Spawn ID to delete +/*0004*/ uint8_t removeSpawn; // 0 if spawn is not in your update radius }; /* @@ -2056,7 +2083,8 @@ signed deltaY:13; // change in y signed padding0006:9; // ***Placeholder /*0010*/ signed y:19; // y coord - signed animation:13; // animation + signed animation:10; // animation + signed padding0010:3; // ***Placeholder /*0014*/ unsigned heading:12; // heading signed x:19; // x coord signed padding0014:1; // ***Placeholder @@ -2085,7 +2113,7 @@ /*0024*/ float deltaY; // Change in y /*0028*/ float z; // z coord (3rd loc value) /*0032*/ float deltaZ; // Change in z -/*0036*/ unsigned padding0036:10; // animation +/*0036*/ unsigned padding0036:10; // ***Placeholder unsigned heading:12; // Directional heading unsigned padding0037:10; // ***Placeholder /*0040*/ @@ -2357,17 +2385,6 @@ /*???*/ uint8_t unknownXXX[3]; }; -struct worldObfuscatorStruct -{ - /*000*/ uint32_t var1; - /*004*/ uint32_t Unknown1; - /*008*/ uint32_t Unknown2; - /*012*/ uint32_t Unknown3; - /*016*/ uint32_t var2; - /*020*/ uint32_t Unknown4; - /*024*/ -}; - // Restore structure packing to default #pragma pack() Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/interface.cpp 2008-04-21 01:20:22 UTC (rev 697) @@ -155,8 +155,8 @@ m_selectOnConsider = pSEQPrefs->getPrefBool("SelectOnCon", section, false); m_selectOnTarget = pSEQPrefs->getPrefBool("SelectOnTarget", section, false); + m_useUpdateRadius = pSEQPrefs->getPrefBool("UseUpdateRadius", section, true); - const char* player_classes[] = {"Warrior", "Cleric", "Paladin", "Ranger", "Shadow Knight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", @@ -284,6 +284,7 @@ // Create the spawn shell m_spawnShell = new SpawnShell(*m_filterMgr, m_zoneMgr, m_player, m_guildmgr); + m_spawnShell->setUseUpdateRadius(m_useUpdateRadius); // Create the Category manager m_categoryMgr = new CategoryMgr(); @@ -991,6 +992,10 @@ connect(conColorBaseMenu, SIGNAL(activated(int)), this, SLOT(select_opt_conColorBase(int))); pOptMenu->insertItem("Con &Colors", conColorBaseMenu); + + m_id_opt_useUpdateRadius = pOptMenu->insertItem("&Use Update Radius (buggy if disabled)", + this, SLOT(toggle_opt_UseUpdateRadius())); + menuBar()->setItemChecked (m_id_opt_useUpdateRadius, m_useUpdateRadius); // Network Menu m_netMenu = new QPopupMenu; @@ -1927,8 +1932,8 @@ "spawnStruct", SZC_Match, m_spawnShell, SLOT(newSpawn(const uint8_t*))); m_packet->connect2("OP_ZoneEntry", SP_Zone, DIR_Server, - "ServerZoneEntryStruct", SZC_Match, - m_spawnShell, SLOT(zoneEntry(const uint8_t*))); + "ServerZoneEntryStruct", SZC_None, + m_spawnShell, SLOT(zoneEntry(const uint8_t*, size_t))); m_packet->connect2("OP_MobUpdate", SP_Zone, DIR_Server|DIR_Client, "spawnPositionUpdate", SZC_Match, m_spawnShell, SLOT(updateSpawns(const uint8_t*))); @@ -1939,8 +1944,8 @@ "hpNpcUpdateStruct", SZC_Match, m_spawnShell, SLOT(updateNpcHP(const uint8_t*))); m_packet->connect2("OP_DeleteSpawn", SP_Zone, DIR_Server|DIR_Client, - "deleteSpawnStruct", SZC_Match, - m_spawnShell, SLOT(deleteSpawn(const uint8_t*))); + "deleteSpawnStruct", SZC_None, + m_spawnShell, SLOT(deleteSpawn(const uint8_t*, size_t))); m_packet->connect2("OP_SpawnRename", SP_Zone, DIR_Server, "spawnRenameStruct", SZC_Match, m_spawnShell, SLOT(renameSpawn(const uint8_t*))); @@ -3488,7 +3493,6 @@ { showeq_params->fast_machine = !(showeq_params->fast_machine); menuBar()->setItemChecked (m_id_opt_Fast, showeq_params->fast_machine); - pSEQPrefs->setPrefBool("FastMachine", "Misc", showeq_params->fast_machine); } @@ -3500,6 +3504,15 @@ pSEQPrefs->setPrefBool("KeepSelected", "Interface", showeq_params->keep_selected_visible); } +void +EQInterface::toggle_opt_UseUpdateRadius (void) +{ + m_useUpdateRadius = !(m_useUpdateRadius); + m_spawnShell->toggleUseUpdateRadius(); + menuBar()->setItemChecked (m_id_opt_useUpdateRadius, m_useUpdateRadius); + pSEQPrefs->setPrefBool("UseUpdateRadius", "Interface", m_useUpdateRadius); +} + /* Check and uncheck Log menu options & set EQPacket logging flags */ void EQInterface::toggle_log_AllPackets (void) { Modified: showeq/trunk/src/interface.h =================================================================== --- showeq/trunk/src/interface.h 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/interface.h 2008-04-21 01:20:22 UTC (rev 697) @@ -286,6 +286,7 @@ void set_opt_save_BaseFilename(); void opt_clearChannelMsgs(int id); void init_view_menu(); + void toggle_opt_UseUpdateRadius(); void toggleTypeFilter(int); void disableAllTypeFilters(); @@ -459,6 +460,7 @@ int m_id_net_sessiontrack; int m_packetStartTime; int m_initialcount; + int m_id_opt_useUpdateRadius; MenuIDList IDList_StyleMenu; @@ -477,6 +479,7 @@ bool m_selectOnConsider; bool m_selectOnTarget; + bool m_useUpdateRadius; }; #endif // EQINT_H Modified: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/s_everquest.h 2008-04-21 01:20:22 UTC (rev 697) @@ -46,6 +46,7 @@ AddStruct(spawnIllusionStruct); AddStruct(spawnShroudOther); AddStruct(spawnShroudSelf); +AddStruct(spawnCampfire); AddStruct(dbSpawnStruct); AddStruct(petStruct); AddStruct(sysMsgStruct); @@ -66,6 +67,7 @@ AddStruct(groupFollowStruct); AddStruct(groupAltFollowStruct); AddStruct(groupDisbandStruct); +AddStruct(deleteSpawnSelfStruct); AddStruct(deleteSpawnStruct); AddStruct(remDropStruct); AddStruct(considerStruct); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/spawnshell.cpp 2008-04-21 01:20:22 UTC (rev 697) @@ -96,7 +96,8 @@ m_spawns(701), m_drops(211), m_doors(307), - m_players(2) + m_players(2), + m_useUpdateRadius(0) { m_cntDeadSpawnIDs = 0; m_posDeadSpawnIDs = 0; @@ -480,29 +481,45 @@ } } -void SpawnShell::zoneEntry(const uint8_t* data) +void SpawnShell::zoneEntry(const uint8_t* data, size_t len) { const spawnStruct* spawn = (const spawnStruct*)data; #ifdef SPAWNSHELL_DIAG seqDebug("SpawnShell::zoneEntry(spawnStruct *(name='%s'))", spawn->name); #endif + // Zone Entry. This is a semi-filled in spawnStruct that we + // see for ourself when entering a zone. We also get sent this + // when shrouding and when respawning from corpse hover mode. Auras + // also get sent this sometimes. - // Zone Entry. This is a semi-filled in spawnStruct that we - // see for ourself when entering a zone. We also get sent this - // when shrouding and when respawning from corpse hover mode. Auras - // also get sent this sometimes. - if (spawn->NPC == 0) + /* Now all PCs are 0, including self + if (spawn->NPC==0) + { + // Align the player instance with these values + m_player->update(spawn); + + emit changeItem(m_player, tSpawnChangedALL); + }*/ + + if(len==sizeof(spawnStruct) || len==sizeof(spawnCampfire)) { - // Align the player instance with these values - m_player->update(spawn); - - emit changeItem(m_player, tSpawnChangedALL); + if(!strcmp(spawn->name,m_player->name())) + { + // Multiple zoneEntry packets are received for your spawn after you zone. + m_player->update(spawn); + emit changeItem(m_player, tSpawnChangedALL); + } + else + { + // Auras, all other PCs and NPCs + newSpawn(data); + } } else { - // Auras. - newSpawn(data); + seqWarn("OP_ZoneEntry (datalen: %d) doesn't match: sizeof(spawnStruct):%d or sizeof(spawnCampfire):%d", + len,sizeof(spawnStruct),sizeof(spawnCampfire)); } } @@ -1103,23 +1120,41 @@ } // else not yourself } // end consMessage() -void SpawnShell::deleteSpawn(const uint8_t* data) +void SpawnShell::deleteSpawn(const uint8_t* data, size_t len) { - const deleteSpawnStruct* delspawn = (const deleteSpawnStruct*)data; + const deleteSpawnStruct* delSpawn = (const deleteSpawnStruct*)data; #ifdef SPAWNSHELL_DIAG - seqDebug("SpawnShell::deleteSpawn(id=%d)", delspawn->spawnId); + seqDebug("SpawnShell::deleteSpawn(id=%d)", delSpawn->spawnId); #endif - if (m_posDeadSpawnIDs < (MAX_DEAD_SPAWNIDS - 1)) - m_posDeadSpawnIDs++; - else - m_posDeadSpawnIDs = 0; - - if (m_cntDeadSpawnIDs < MAX_DEAD_SPAWNIDS) - m_cntDeadSpawnIDs++; + if(len==sizeof(deleteSpawnStruct) || len==sizeof(deleteSpawnSelfStruct)) + { + if(len==sizeof(deleteSpawnStruct)) + { + if(delSpawn->removeSpawn) + { + if (m_posDeadSpawnIDs < (MAX_DEAD_SPAWNIDS - 1)) + m_posDeadSpawnIDs++; + else + m_posDeadSpawnIDs = 0; - m_deadSpawnID[m_posDeadSpawnIDs] = delspawn->spawnId; + if (m_cntDeadSpawnIDs < MAX_DEAD_SPAWNIDS) + m_cntDeadSpawnIDs++; - deleteItem(tSpawn, delspawn->spawnId); + m_deadSpawnID[m_posDeadSpawnIDs] = delSpawn->spawnId; + + deleteItem(tSpawn, delSpawn->spawnId); + } + else if(!delSpawn->removeSpawn && m_useUpdateRadius) + { + deleteItem(tSpawn, delSpawn->spawnId); + } + } + } + else + { + seqWarn("OP_DeleteSpawn (datalen: %d) doesn't match: sizeof(deleteSpawnStruct):%d or sizeof(deleteSpawnSelfStruct):%d", + len,sizeof(deleteSpawnStruct),sizeof(deleteSpawnSelfStruct)); + } } void SpawnShell::killSpawn(const uint8_t* data) Modified: showeq/trunk/src/spawnshell.h =================================================================== --- showeq/trunk/src/spawnshell.h 2008-01-23 21:43:17 UTC (rev 696) +++ showeq/trunk/src/spawnshell.h 2008-04-21 01:20:22 UTC (rev 697) @@ -84,6 +84,8 @@ const ItemMap& spawns(void) const; const ItemMap& drops(void) const; const ItemMap& doors(void) const; + void toggleUseUpdateRadius(void); + void setUseUpdateRadius(bool useUpdateRadius); signals: void addItem(const Item* item); void delItem(const Item* item); @@ -103,7 +105,7 @@ void newDoorSpawns(const uint8_t*, size_t, uint8_t); void newDoorSpawn(const doorStruct&, size_t, uint8_t); void zoneSpawns(const uint8_t* zspawns, size_t len); - void zoneEntry(const uint8_t* spawn); + void zoneEntry(const uint8_t* spawn, size_t len); void newSpawn(const uint8_t* spawn); void newSpawn(const spawnStruct& s); void playerUpdate(const uint8_t*pupdate, size_t, uint8_t); @@ -122,7 +124,7 @@ void updateNpcHP(const uint8_t* hpupdate); void spawnWearingUpdate(const uint8_t* wearing); void consMessage(const uint8_t* con, size_t, uint8_t); - void deleteSpawn(const uint8_t* delspawn); + void deleteSpawn(const uint8_t* delspawn, size_t len); void killSpawn(const uint8_t* deadspawn); void respawnFromHover(const uint8_t* respawn); void corpseLoc(const uint8_t* corpseLoc); @@ -161,6 +163,9 @@ // timer for saving spawns QTimer* m_timer; + + // flag for using the update radius + bool m_useUpdateRadius; }; inline @@ -217,6 +222,18 @@ return m_doors; } +inline +void SpawnShell::toggleUseUpdateRadius(void) +{ + m_useUpdateRadius=!m_useUpdateRadius; +} + +inline +void SpawnShell::setUseUpdateRadius(bool useUpdateRadius) +{ + m_useUpdateRadius=useUpdateRadius; +} + //-------------------------------------------------- #endif // SPAWNSHELL_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-01-23 21:43:24
|
Revision: 696 http://seq.svn.sourceforge.net/seq/?rev=696&view=rev Author: ieatacid Date: 2008-01-23 13:43:17 -0800 (Wed, 23 Jan 2008) Log Message: ----------- - Updated the position structs that are used for debugging in player.cpp and spawnshell.cpp --this line, and those below, will be ignored-- M configure.in M ChangeLog M src/spawnshell.cpp M src/player.cpp Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/player.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-23 00:06:42 UTC (rev 695) +++ showeq/trunk/ChangeLog 2008-01-23 21:43:17 UTC (rev 696) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +ieatacid (1/23/08) +---------------- ++ Updated version to 5.12.2 ++ Updated the position structs that are used for debugging in + player.cpp and spawnshell.cpp + ieatacid (1/21/08) ---------------- + Updated version to 5.12.1.0 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-23 00:06:42 UTC (rev 695) +++ showeq/trunk/configure.in 2008-01-23 21:43:17 UTC (rev 696) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.1.0) +AC_INIT(showeq, 5.12.2.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/player.cpp =================================================================== --- showeq/trunk/src/player.cpp 2008-01-23 00:06:42 UTC (rev 695) +++ showeq/trunk/src/player.cpp 2008-01-23 21:43:17 UTC (rev 696) @@ -845,22 +845,23 @@ #if 0 // Debug positioning without having to recompile everything... #pragma pack(1) - struct pos +struct pos { /*0000*/ uint16_t spawnId; // Player's spawn id /*0002*/ uint8_t unknown0002[2]; // ***Placeholder (update time counter?) /*0004*/ uint8_t unknown0004[4]; // ***Placeholder -/*0008*/ float deltaZ; // Change in z -/*0012*/ float x; // x coord (2nd loc value) +/*0008*/ float x; // x coord (2nd loc value) +/*0012*/ float y; // y coord (1st loc value) /*0016*/ signed deltaHeading:10; // change in heading - signed animation:10; // animation - unsigned padding0016:12; // ***Placeholder -/*0020*/ float y; // y coord (1st loc value) -/*0024*/ float deltaX; // Change in x -/*0028*/ unsigned heading:12; // Directional heading - unsigned padding0028:20; // ***Placeholder -/*0032*/ float deltaY; // Change in y -/*0036*/ float z; // z coord (3rd loc value) + unsigned animation:10; // animation + unsigned padding0016:12; // ***Placeholder +/*0020*/ float deltaX; // Change in x +/*0024*/ float deltaY; // Change in y +/*0028*/ float z; // z coord (3rd loc value) +/*0032*/ float deltaZ; // Change in z +/*0036*/ unsigned padding0036:10; // animation + unsigned heading:12; // Directional heading + unsigned padding0037:10; // ***Placeholder /*0040*/ }; #pragma pack(0) Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2008-01-23 00:06:42 UTC (rev 695) +++ showeq/trunk/src/spawnshell.cpp 2008-01-23 21:43:17 UTC (rev 696) @@ -448,34 +448,33 @@ #if 0 // Debug positioning without having to recompile everything... #pragma pack(1) - struct pos +struct pos { /*0002*/ signed padding0000:12; // ***Placeholder - signed x:19; // x coord - signed padding0002:1; // ***Placeholder -/*0006*/ signed deltaX:13; // change in x + signed deltaX:13; // change in x + signed padding0005:7; // ***Placeholder +/*0006*/ signed deltaHeading:10;// change in heading signed deltaY:13; // change in y - signed padding0006:6; // ***Placeholder -/*0010*/ signed z:19; // z coord - signed deltaHeading:10;// change in heading - signed padding0014:3; // ***Placeholder -/*0014*/ signed y:19; // y coord + signed padding0006:9; // ***Placeholder +/*0010*/ signed y:19; // y coord + signed animation:13; // animation +/*0014*/ unsigned heading:12; // heading + signed x:19; // x coord + signed padding0014:1; // ***Placeholder +/*0018*/ signed z:19; // z coord signed deltaZ:13; // change in z -/*0018*/ signed animation:10; // animation - unsigned heading:12; // heading - signed padding0018:10; // ***Placeholder /*0022*/ }; #pragma pack(0) struct pos *p = (struct pos *)(data + i*sizeof(spawnStruct) + 151); - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x, %x)\n", + printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", zspawns[i].spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0, float(p->deltaX)/4.0, float(p->deltaY)/4.0, float(p->deltaZ)/4.0, float(p->heading), float(p->deltaHeading), p->animation, p->padding0000, - p->padding0002, p->padding0006, p->padding0014, p->padding0018); + p->padding0005, p->padding0006, p->padding0014); #endif newSpawn(zspawns[i]); } @@ -632,30 +631,29 @@ { /*0000*/ uint16_t spawnId; /*0002*/ signed padding0000:12; // ***Placeholder - signed x:19; // x coord - signed padding0002:1; // ***Placeholder -/*0006*/ signed deltaX:13; // change in x + signed deltaX:13; // change in x + signed padding0005:7; // ***Placeholder +/*0006*/ signed deltaHeading:10;// change in heading signed deltaY:13; // change in y - signed padding0006:6; // ***Placeholder -/*0010*/ signed z:19; // z coord - signed deltaHeading:10;// change in heading - signed padding0014:3; // ***Placeholder -/*0014*/ signed y:19; // y coord + signed padding0006:9; // ***Placeholder +/*0010*/ signed y:19; // y coord + signed animation:13; // animation +/*0014*/ unsigned heading:12; // heading + signed x:19; // x coord + signed padding0014:1; // ***Placeholder +/*0018*/ signed z:19; // z coord signed deltaZ:13; // change in z -/*0018*/ signed animation:10; // animation - unsigned heading:12; // heading - signed padding0018:10; // ***Placeholder /*0022*/ }; #pragma pack(0) struct pos *p = (struct pos *)data; - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x, %x)\n", + printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", p->spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0, float(p->deltaX)/4.0, float(p->deltaY)/4.0, float(p->deltaZ)/4.0, float(p->heading), float(p->deltaHeading), - p->animation, p->padding0000, p->padding0002, - p->padding0006, p->padding0014, p->padding0018); + p->animation, p->padding0000, p->padding0005, + p->padding0006, p->padding0014); #endif updateSpawn(pupdate->spawnId, x, y, z, dx, dy, dz, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-01-23 00:06:43
|
Revision: 695 http://seq.svn.sourceforge.net/seq/?rev=695&view=rev Author: ieatacid Date: 2008-01-22 16:06:42 -0800 (Tue, 22 Jan 2008) Log Message: ----------- Tag for release 5.12.1 Added Paths: ----------- showeq/tags/v5_12_1_0/ Copied: showeq/tags/v5_12_1_0 (from rev 694, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <iea...@us...> - 2008-01-22 04:59:51
|
Revision: 694 http://seq.svn.sourceforge.net/seq/?rev=694&view=rev Author: ieatacid Date: 2008-01-21 20:59:49 -0800 (Mon, 21 Jan 2008) Log Message: ----------- - Updated version to 5.12.1 - Updated Opcodes - Updated structs Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/worldopcodes.xml showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-19 19:34:38 UTC (rev 693) +++ showeq/trunk/ChangeLog 2008-01-22 04:59:49 UTC (rev 694) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +ieatacid (1/21/08) +---------------- ++ Updated version to 5.12.1.0 ++ Updated Opcodes ++ Updated structs (thanks ksmith for help with playerSpawnPosStruct bit fields) + BlueAdept (12/16/07) ---------------- + Updated version to 5.12.0 Modified: showeq/trunk/conf/worldopcodes.xml =================================================================== --- showeq/trunk/conf/worldopcodes.xml 2008-01-19 19:34:38 UTC (rev 693) +++ showeq/trunk/conf/worldopcodes.xml 2008-01-22 04:59:49 UTC (rev 694) @@ -11,71 +11,70 @@ </opcode> --> - <opcode id="04fb" name="OP_GuildList" updated="03/14/07"> + <opcode id="5B0B" name="OP_GuildList" updated="01/17/08"> <comment>old GuildListCode</comment> <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> </opcode> - <opcode id="5711" name="OP_MOTD" updated="03/14/07"> + <opcode id="192E" name="OP_MOTD" updated="01/17/08"> <comment>old MOTDCode Server message of the day</comment> <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/> </opcode> - <!-- Not necessary for SEQ to run but here to name packets in logs --> - <opcode id="6c3c" name="OP_SendLoginInfo" updated="03/14/07"> + <opcode id="4892" name="OP_SendLoginInfo" updated="01/17/08"> <comment>Client starting world session by asking for login information</comment> </opcode> - <opcode id="129a" name="OP_LogServer" updated="03/14/07"> + <opcode id="4762" name="OP_LogServer" updated="01/17/08"> <comment></comment> </opcode> - <opcode id="7fc0" name="OP_ApproveWorld" updated="03/14/07"> + <opcode id="701F" name="OP_ApproveWorld" updated="01/17/08"> <comment></comment> </opcode> - <opcode id="1340" name="OP_EnterWorld" updated="03/14/07"> + <opcode id="399F" name="OP_EnterWorld" updated="01/17/08"> <comment>Server approval for client to enter world</comment> </opcode> - <opcode id="0a1b" name="OP_ExpansionInfo" updated="03/14/07"> + <opcode id="7519" name="OP_ExpansionInfo" updated="01/17/08"> <comment>Which expansions user has</comment> </opcode> - <opcode id="6040" name="OP_SendCharInfo" updated="03/14/07"> + <opcode id="0F14" name="OP_SendCharInfo" updated="01/17/08"> <comment>Send all chars visible @ char select</comment> </opcode> - <opcode id="7a9e" name="OP_SendSpellChecksum" updated="03/14/07"> + <opcode id="0CA5" name="OP_SendSpellChecksum" updated="01/17/08"> <comment>Contains a snippet of spell data</comment> </opcode> - <opcode id="3795" name="OP_SendExeChecksum" updated="03/14/07"> + <opcode id="1CB3" name="OP_SendExeChecksum" updated="01/17/08"> <comment>Second client verification packet</comment> </opcode> - <opcode id="45f9" name="OP_UnknownChecksum" updated="03/14/07"> + <opcode id="679D" name="OP_SendBaseDataChecksum" updated="01/17/08"> + <comment>Second client verification packet</comment> + </opcode> + <opcode id="21C7" name="OP_SendSkillCapsChecksum" updated="01/17/08"> <comment>Third client verification packet</comment> </opcode> - <opcode id="71b8" name="OP_SetChatServer" updated="03/14/07"> + <opcode id="26C4" name="OP_SetChatServer" updated="01/17/08"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> - <opcode id="32cc" name="OP_SetChatServer2" updated="03/14/07"> + <opcode id="1C20" name="OP_SetChatServer2" updated="01/17/08"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> - <opcode id="18b1" name="OP_ZoneServerInfo" updated="03/14/07"> + <opcode id="13DA" name="OP_ZoneServerInfo" updated="01/17/08"> <comment>old ZoneServerInfo</comment> </opcode> - <opcode id="2486" name="OP_WorldComplete" updated="03/14/07"> + <opcode id="3331" name="OP_WorldComplete" updated="01/17/08"> <comment>Client telling world server it is done. World replies by disconnecting.</comment> </opcode> - -<!-- - - <opcode id="26c9" name="OP_DeleteCharacter" updated="10/27/05"> + <opcode id="0254" name="OP_DeleteCharacter" updated="01/17/08"> <comment>Delete character @ char select</comment> </opcode> - <opcode id="6160" name="OP_CharacterCreate" updated="06/29/04"> + <opcode id="1513" name="OP_CharacterCreate" updated="01/17/08"> <comment>Create character @ char select</comment> </opcode> - <opcode id="3ea6" name="OP_ApproveName" updated="10/27/04"> + <opcode id="413F" name="OP_ApproveName" updated="01/17/08"> <comment>Approving new character name @ char creation</comment> </opcode> - <opcode id="23d4" name="OP_RandomNameGenerator" updated="06/29/05"> + <opcode id="4849" name="OP_RandomNameGenerator" updated="01/17/08"> <comment>Returns a random name</comment> </opcode> ---> + </seqopcodes> Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:34:38 UTC (rev 693) +++ showeq/trunk/conf/zoneopcodes.xml 2008-01-22 04:59:49 UTC (rev 694) @@ -2,259 +2,258 @@ <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> -<!-- Verified 12-1-2007 --> - <opcode id="0feb" name="OP_PlayerProfile" updated="03/14/07"> + <opcode id="6022" name="OP_PlayerProfile" updated="01/17/08"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> </opcode> - <opcode id="737e" name="OP_ZoneEntry" updated="03/14/07"> + <opcode id="7901" name="OP_ZoneEntry" updated="01/17/08"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="match"/> </opcode> - <opcode id="5af2" name="OP_ZoneSpawns" updated="03/14/07"> + <opcode id="72f8" name="OP_ZoneSpawns" updated="01/17/08"> <comment>old ZoneSpawnsCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="modulus"/> </opcode> - <opcode id="7274" name="OP_TimeOfDay" updated="03/14/07"> + <opcode id="6015" name="OP_TimeOfDay" updated="01/17/08"> <comment>old TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="5d22" name="OP_NewZone" updated="03/14/07"> + <opcode id="5CA5" name="OP_NewZone" updated="01/17/08"> <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="68c8" name="OP_SpawnDoor" updated="03/14/07"> + <opcode id="1890" name="OP_SpawnDoor" updated="01/17/08"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="30da" name="OP_GroundSpawn" updated="03/14/07"> + <opcode id="33E5" name="OP_GroundSpawn" updated="01/17/08"> <comment>old MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="2992" name="OP_SendZonePoints" updated="03/14/07"> + <opcode id="1932" name="OP_SendZonePoints" updated="01/17/08"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="3518" name="OP_AAExpUpdate" updated="03/14/07"> + <opcode id="3088" name="OP_AAExpUpdate" updated="01/17/08"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6d0b" name="OP_ExpUpdate" updated="03/14/07"> + <opcode id="0E98" name="OP_ExpUpdate" updated="01/17/08"> <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="317c" name="OP_GuildMemberList" updated="03/14/07"> + <opcode id="51BC" name="OP_GuildMemberList" updated="01/17/08"> <comment></comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3309" name="OP_GuildMOTD" updated="03/14/07"> + <opcode id="D677" name="OP_GuildMOTD" updated="01/17/08"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="5cf3" name="OP_ClientUpdate" updated="03/14/07"> + <opcode id="7062" name="OP_ClientUpdate" updated="01/17/08"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="1ee1" name="OP_NpcMoveUpdate" updated="10/20/07"> + <opcode id="664A" name="OP_NpcMoveUpdate" updated="01/17/08"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="7647" name="OP_MobUpdate" updated="03/14/07"> + <opcode id="4656" name="OP_MobUpdate" updated="01/17/08"> <comment>old MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="581a" name="OP_NewSpawn" updated="03/14/07"> + <opcode id="5C29" name="OP_NewSpawn" updated="01/17/08"> <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> - <opcode id="15da" name="OP_DeleteSpawn" updated="03/14/07"> + <opcode id="3164" name="OP_DeleteSpawn" updated="01/17/08"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="596f" name="OP_Death" updated="03/14/07"> + <opcode id="1B85" name="OP_Death" updated="01/17/08"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="7bf6" name="OP_RespawnFromHover" updated="03/14/07"> + <opcode id="72ad" name="OP_RespawnFromHover" updated="01/17/08"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="25f0" name="OP_WearChange" updated="03/14/07"> + <opcode id="231F" name="OP_WearChange" updated="01/17/08"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="50ec" name="OP_SpawnAppearance" updated="03/14/07"> + <opcode id="10B7" name="OP_SpawnAppearance" updated="01/17/08"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="45e2" name="OP_Stamina" updated="03/14/07"> + <opcode id="82D7" name="OP_Stamina" updated="01/17/08"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="62f6" name="OP_HPUpdate" updated="03/14/07"> + <opcode id="25F0" name="OP_HPUpdate" updated="01/17/08"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="71d1" name="OP_GuildMemberUpdate" updated="03/14/07"> + <opcode id="099D" name="OP_GuildMemberUpdate" updated="01/17/08"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="21b3" name="OP_ClickObject" updated="03/14/07"> + <opcode id="5F0D" name="OP_ClickObject" updated="01/17/08"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="5285" name="OP_Action" updated="03/14/07"> + <opcode id="2C27" name="OP_Action" updated="01/17/08"> <comment></comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="0ef2" name="OP_Action2" updated="03/14/07"> + <opcode id="7E4D" name="OP_Action2" updated="01/17/08"> <comment>old ActionCode</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="32e1" name="OP_Consider" updated="03/14/07"> + <opcode id="6024" name="OP_Consider" updated="01/17/08"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="4395" name="OP_TargetMouse" updated="03/14/07"> + <opcode id="7BBB" name="OP_TargetMouse" updated="01/17/08"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="6be5" name="OP_SpawnRename" updated="03/14/07"> + <opcode id="0A1D" name="OP_SpawnRename" updated="01/17/08"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="7f86" name="OP_Illusion" updated="10/20/07"> + <opcode id="48F9" name="OP_Illusion" updated="01/17/08"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="02c4" name="OP_Shroud" updated="12/01/07"> + <opcode id="53D4" name="OP_Shroud" updated="01/17/08"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="201e" name="OP_ZoneChange" updated="03/14/07"> + <opcode id="051B" name="OP_ZoneChange" updated="01/17/08"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="6321" name="OP_GroupInvite" updated="03/14/07"> + <opcode id="5F51" name="OP_GroupInvite" updated="01/17/08"> <payload dir="both" typename="groupInviteStruct" sizechecktype="match"/> <payload dir="both" typename="groupAltInviteStruct" sizechecktype="match"/> <comment></comment> </opcode> - <opcode id="596c" name="OP_GroupCancelInvite" updated="03/14/07"> + <opcode id="5251" name="OP_GroupCancelInvite" updated="01/17/08"> <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="59d4" name="OP_GroupFollow" updated="03/14/07"> + <opcode id="2736" name="OP_GroupFollow" updated="01/17/08"> <payload dir="both" typename="groupFollowStruct" sizechecktype="match"/> <payload dir="both" typename="groupAltFollowStruct" sizechecktype="match"/> <comment>Accepting to join a group</comment> </opcode> - <opcode id="2e5c" name="OP_GroupUpdate" updated="03/14/07"> + <opcode id="4B61" name="OP_GroupUpdate" updated="01/17/08"> <payload dir="server" typename="groupFullUpdateStruct" sizechecktype="match"/> <payload dir="server" typename="groupUpdateStruct" sizechecktype="match"/> <comment></comment> </opcode> - <opcode id="4b26" name="OP_GroupDisband" updated="03/14/07"> + <opcode id="47E7" name="OP_GroupDisband" updated="01/17/08"> <comment>Disband from group</comment> <payload dir="both" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="7bd6" name="OP_Buff" updated="03/14/07"> + <opcode id="7EA8" name="OP_Buff" updated="01/17/08"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="3bc7" name="OP_BuffFadeMsg" updated="03/14/07"> + <opcode id="569A" name="OP_BuffFadeMsg" updated="01/17/08"> <comment>old SpellFadeCode</comment> <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/> </opcode> - <opcode id="5a50" name="OP_BeginCast" updated="03/14/07"> + <opcode id="0D5A" name="OP_BeginCast" updated="01/17/08"> <comment>old BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="7f5d" name="OP_CastSpell" updated="03/14/07"> + <opcode id="3582" name="OP_CastSpell" updated="01/17/08"> <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="1418" name="OP_SwapSpell" updated="10/20/07"> + <opcode id="3FD2" name="OP_SwapSpell" updated="01/17/08"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="6a93" name="OP_MemorizeSpell" updated="10/20/07"> + <opcode id="8543" name="OP_MemorizeSpell" updated="01/17/08"> <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="084f" name="OP_InspectAnswer" updated="10/20/07"> + <opcode id="592D" name="OP_InspectAnswer" updated="01/17/08"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5f4d" name="OP_Emote" updated="03/14/07"> + <opcode id="7434" name="OP_Emote" updated="01/17/08"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="553e" name="OP_SimpleMessage" updated="03/14/07"> + <opcode id="5448" name="OP_SimpleMessage" updated="01/17/08"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="5b9e" name="OP_FormattedMessage" updated="03/14/07"> + <opcode id="1318" name="OP_FormattedMessage" updated="01/17/08"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="3c7d" name="OP_CommonMessage" updated="03/14/07"> + <opcode id="2E79" name="OP_CommonMessage" updated="01/17/08"> <comment>old ChannelMessageCode</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="1126" name="OP_SpecialMesg" updated="03/14/07"> + <opcode id="074F" name="OP_SpecialMesg" updated="01/17/08"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4e2d" name="OP_RandomReq" updated="03/14/07"> + <opcode id="777C" name="OP_RandomReq" updated="01/17/08"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="649c" name="OP_RandomReply" updated="03/14/07"> + <opcode id="6CDC" name="OP_RandomReply" updated="01/17/08"> <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> - <opcode id="4d30" name="OP_ConsentResponse" updated="03/14/07"> + <opcode id="4464" name="OP_ConsentResponse" updated="01/17/08"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="607e" name="OP_DenyResponse" updated="03/14/07"> + <opcode id="0DCD" name="OP_DenyResponse" updated="01/17/08"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="0659" name="OP_ManaChange" updated="03/14/07"> + <opcode id="50C2" name="OP_ManaChange" updated="01/17/08"> <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment> <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="14f2" name="OP_BazaarSearch" updated="10/20/07"> + <opcode id="4675" name="OP_BazaarSearch" updated="01/17/08"> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> <comment>Bazaar search tool</comment> </opcode> - <opcode id="51c9" name="OP_MoneyOnCorpse" updated="12/01/07"> + <opcode id="6546" name="OP_MoneyOnCorpse" updated="01/17/08"> <comment>old MoneyOnCorpseCode</comment> <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="29e0" name="OP_SkillUpdate" updated="12/01/07"> + <opcode id="7F01" name="OP_SkillUpdate" updated="01/17/08"> <comment>old SkillIncCode</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> - <opcode id="1036" name="OP_LevelUpdate" updated="12/01/07"> + <opcode id="6A99" name="OP_LevelUpdate" updated="01/17/08"> <comment>old LevelUpUpdateCode</comment> <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0292" name="OP_CorpseLocResponse" updated="12/01/07"> + <opcode id="083B" name="OP_CorpseLocResponse" updated="01/17/08"> <comment>old CorpseLocCode:</comment> <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> </opcode> -<!-- can't find this one (12-1-2007) - ieatacid --> - <opcode id="0000" name="OP_Logout" updated="12/01/07"> + <!-- this might be wrong --> + <opcode id="07EE" name="OP_Logout" updated="01/17/08"> <comment></comment> <payload dir="server" typename="none" sizechecktype="match"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-19 19:34:38 UTC (rev 693) +++ showeq/trunk/configure.in 2008-01-22 04:59:49 UTC (rev 694) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.12.0.0) +AC_INIT(showeq, 5.12.1.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-01-19 19:34:38 UTC (rev 693) +++ showeq/trunk/src/everquest.h 2008-01-22 04:59:49 UTC (rev 694) @@ -565,7 +565,7 @@ /* ** New Zone Code -** Length: 920 Octets +** Length: 924 Octets ** OpCode: NewZoneCode */ struct newZoneStruct @@ -602,7 +602,9 @@ /*0896*/ uint8_t unknown0892[12]; // *** Placeholder (12/05/2006) /*0908*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) /*0916*/ uint8_t unknown0916[4]; // *** Placeholder (11/24/2007) -}; /*0920*/ +/*0920*/ uint8_t unknown0920[4]; // *** Placeholder (01/17/2008) +/*0924*/ +}; /** * Player Profile. Common part of charProfileStruct shared between @@ -949,93 +951,90 @@ struct spawnStruct { -/*0000*/ uint8_t unknown0000[9]; -/*0009*/ int16_t deity; // Player's Deity -/*0011*/ uint8_t unknown0011[11]; -/*0022*/ uint8_t gender; // Gender (0=male, 1=female) -/*0023*/ uint8_t unknown0023[4]; -/*0027*/ union +/*0000*/ uint8_t unknown0000[132]; +/*0132*/ uint32_t race; // Spawn race +/*0136*/ uint8_t unknown0136[8]; +/*0144*/ uint8_t class_; // Player's class +/*0145*/ uint8_t unknown0145[69]; +/*0214*/ uint8_t bodytype; // Bodytype +/*0215*/ uint8_t unknown0215[39]; +/*0254*/ char name[64]; // Player's Name +/*0318*/ uint8_t unknown0318[4]; +/*0322*/ char lastName[32]; // Player's Lastname +/*0354*/ uint8_t unknown0354[12]; +/*0366*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay +/*0367*/ uint8_t unknown0367[3]; +/*0370*/ int16_t deity; // Player's Deity +/*0372*/ uint8_t unknown0372[45]; +/*0417*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0418*/ union { - struct - { - /*0027*/ EquipStruct equip_helmet; // Equiptment: Helmet visual - /*0039*/ EquipStruct equip_chest; // Equiptment: Chest visual - /*0051*/ EquipStruct equip_arms; // Equiptment: Arms visual - /*0063*/ EquipStruct equip_bracers; // Equiptment: Wrist visual - /*0075*/ EquipStruct equip_hands; // Equiptment: Hands visual - /*0087*/ EquipStruct equip_legs; // Equiptment: Legs visual - /*0099*/ EquipStruct equip_feet; // Equiptment: Boots visual - /*0111*/ EquipStruct equip_primary; // Equiptment: Main visual - /*0123*/ EquipStruct equip_secondary; // Equiptment: Off visual - } equip; - /*0027*/ EquipStruct equipment[9]; + struct + { + /*0418*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0430*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0442*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0454*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0466*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0478*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0490*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0502*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0514*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0418*/ EquipStruct equipment[9]; }; -/*0135*/ uint8_t state; // stand state -/*0136*/ uint8_t unknown0136; -/*0137*/ uint32_t guildID; // Current guild -/*0141*/ uint8_t unknown0141[24]; -/*0165*/ uint8_t class_; // Player's class -/*0166*/ uint8_t unknown0166[201]; -/*0367*/ uint8_t gm; -/*0368*/ uint8_t unknown0368[134]; -/*0502*/ float runspeed; // Speed when walking -/*0506*/ uint8_t light; // Spawn's lightsource -/*0507*/ uint8_t unknown0507[4]; -/*0511*/ uint8_t level; // Spawn Level -/*0512*/ uint8_t unknown0512[23]; -/*0535*/ uint32_t race; // Spawn race -/*0539*/ uint8_t unknown0539[41]; -/*0580*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0612*/ uint8_t unknown0612; -/*0613*/ uint8_t bodytype; // Bodytype -/*0614*/ uint8_t unknown0614[41]; -/*0655*/ uint8_t curHp; // Current hp -/*0656*/ uint8_t unknown0656[2]; -/*0658*/ char lastName[32]; // Player's Lastname -/*0690*/ uint8_t unknown0690[2]; -/*0692*/ char title[32]; // Title -/*0724*/ uint8_t unknown0724[6]; -/*0730*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse -/*0731*/ uint8_t unknown0731[12]; -/*0743*/ signed padding0000:12; // ***Placeholder - signed x:19; // x coord - signed padding0002:1; // ***Placeholder -/*0747*/ signed deltaX:13; // change in x - signed deltaY:13; // change in y - signed padding0006:6; // ***Placeholder -/*0751*/ signed z:19; // z coord - signed deltaHeading:10;// change in heading - signed padding0014:3; // ***Placeholder -/*0755*/ signed y:19; // y coord - signed deltaZ:13; // change in z -/*0759*/ signed animation:10; // animation - unsigned heading:12; // heading - signed padding0018:10; // ***Placeholder -/*0763*/ uint32_t spawnId; // Spawn Id -/*0767*/ uint8_t unknown0767[8]; -/*0775*/ char name[64]; // Player's Name -/*0839*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0843*/ uint8_t unknown0843; -/*0844*/ union +/*0526*/ uint8_t unknown0526[2]; +/*0528*/ uint8_t gm; +/*0529*/ char title[32]; // Title +/*0561*/ uint8_t unknown0561[7]; +/*0568*/ uint8_t light; // Spawn's lightsource +/*0569*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner +/*0573*/ uint8_t unknown0573[5]; +/*0578*/ uint8_t state; // stand state +/*0579*/ uint32_t spawnId; // Spawn Id +/*0583*/ uint8_t unknown0583[6]; +/*0589*/ uint32_t guildID; // Current guild +/*0593*/ uint8_t gender; // Gender (0=male, 1=female) +/*0594*/ signed padding0000:12; // ***Placeholder + signed deltaX:13; // change in x + signed padding0005:7; // ***Placeholder +/*0598*/ signed deltaHeading:10;// change in heading + signed deltaY:13; // change in y + signed padding0006:9; // ***Placeholder +/*0602*/ signed y:19; // y coord + signed animation:13; // animation +/*0606*/ unsigned heading:12; // heading + signed x:19; // x coord + signed padding0014:1; // ***Placeholder +/*0610*/ signed z:19; // z coord + signed deltaZ:13; // change in z +/*0614*/ float walkspeed; // Speed when running +/*0618*/ uint8_t unknown0618[43]; +/*0661*/ uint8_t curHp; // Current hp +/*0662*/ uint8_t unknown0662; +/*0663*/ uint8_t level; // Spawn Level +/*0664*/ uint8_t unknown0664[7]; +/*0671*/ float runspeed; // Speed when walking +/*0675*/ uint8_t unknown0675[7]; +/*0682*/ union { - struct - { - /*0844*/ Color_Struct color_helmet; // Color of helmet item - /*0848*/ Color_Struct color_chest; // Color of chest item - /*0852*/ Color_Struct color_arms; // Color of arms item - /*0856*/ Color_Struct color_bracers; // Color of bracers item - /*0860*/ Color_Struct color_hands; // Color of hands item - /*0864*/ Color_Struct color_legs; // Color of legs item - /*0868*/ Color_Struct color_feet; // Color of feet item - /*0872*/ Color_Struct color_primary; // Color of primary item - /*0876*/ Color_Struct color_secondary; // Color of secondary item + struct + { + /*0682*/ Color_Struct color_helmet; // Color of helmet item + /*0686*/ Color_Struct color_chest; // Color of chest item + /*0690*/ Color_Struct color_arms; // Color of arms item + /*0694*/ Color_Struct color_bracers; // Color of bracers item + /*0698*/ Color_Struct color_hands; // Color of hands item + /*0702*/ Color_Struct color_legs; // Color of legs item + /*0706*/ Color_Struct color_feet; // Color of feet item + /*0710*/ Color_Struct color_primary; // Color of primary item + /*0714*/ Color_Struct color_secondary; // Color of secondary item } equipment_colors; - /*0844*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above - }; -/*0880*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay -/*0881*/ uint8_t unknown0881[10]; -/*0891*/ float walkspeed; // Speed when running -/*0895*/ uint8_t unknown896[2]; + /*0682*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + }; +/*0718*/ uint8_t unknown0718[137]; +/*0855*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) +/*0887*/ uint8_t unknown0887[10]; /*0897*/ }; @@ -2051,19 +2050,18 @@ { /*0000*/ uint16_t spawnId; /*0002*/ signed padding0000:12; // ***Placeholder - signed x:19; // x coord - signed padding0002:1; // ***Placeholder -/*0006*/ signed deltaX:13; // change in x + signed deltaX:13; // change in x + signed padding0005:7; // ***Placeholder +/*0006*/ signed deltaHeading:10;// change in heading signed deltaY:13; // change in y - signed padding0006:6; // ***Placeholder -/*0010*/ signed z:19; // z coord - signed deltaHeading:10;// change in heading - signed padding0014:3; // ***Placeholder -/*0014*/ signed y:19; // y coord + signed padding0006:9; // ***Placeholder +/*0010*/ signed y:19; // y coord + signed animation:13; // animation +/*0014*/ unsigned heading:12; // heading + signed x:19; // x coord + signed padding0014:1; // ***Placeholder +/*0018*/ signed z:19; // z coord signed deltaZ:13; // change in z -/*0018*/ signed animation:10; // animation - unsigned heading:12; // heading - signed padding0018:10; // ***Placeholder /*0022*/ }; @@ -2078,17 +2076,18 @@ /*0000*/ uint16_t spawnId; // Player's spawn id /*0002*/ uint8_t unknown0002[2]; // ***Placeholder (update time counter?) /*0004*/ uint8_t unknown0004[4]; // ***Placeholder -/*0008*/ float deltaZ; // Change in z -/*0012*/ float x; // x coord (2nd loc value) +/*0008*/ float x; // x coord (2nd loc value) +/*0012*/ float y; // y coord (1st loc value) /*0016*/ signed deltaHeading:10; // change in heading - signed animation:10; // animation - unsigned padding0016:12; // ***Placeholder -/*0020*/ float y; // y coord (1st loc value) -/*0024*/ float deltaX; // Change in x -/*0028*/ unsigned heading:12; // Directional heading - unsigned padding0028:20; // ***Placeholder -/*0032*/ float deltaY; // Change in y -/*0036*/ float z; // z coord (3rd loc value) + unsigned animation:10; // animation + unsigned padding0016:12; // ***Placeholder +/*0020*/ float deltaX; // Change in x +/*0024*/ float deltaY; // Change in y +/*0028*/ float z; // z coord (3rd loc value) +/*0032*/ float deltaZ; // Change in z +/*0036*/ unsigned padding0036:10; // animation + unsigned heading:12; // Directional heading + unsigned padding0037:10; // ***Placeholder /*0040*/ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:34:39
|
Revision: 693 http://seq.svn.sourceforge.net/seq/?rev=693&view=rev Author: bonkersbobcat Date: 2008-01-19 11:34:38 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Tag for release 5.12.0 Added Paths: ----------- showeq/tags/v5_12_0_0/ Copied: showeq/tags/v5_12_0_0 (from rev 692, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:34:19
|
Revision: 692 http://seq.svn.sourceforge.net/seq/?rev=692&view=rev Author: bonkersbobcat Date: 2008-01-19 11:34:16 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Historical checkin for 12/16/07 - Updated Opcodes - Removed all the obfuscator stuff Version to 5.12.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/worldopcodes.xml showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/packet.cpp showeq/trunk/src/packet.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/ChangeLog 2008-01-19 19:34:16 UTC (rev 692) @@ -1,12 +1,10 @@ Version: $Id$ $Name$ -BlueAdept (11/27/07) +BlueAdept (12/16/07) ---------------- -+ Updated version to 5.11.1 -+ Updated structs (BlueAdept, Markdark and ieatacid) -+ Changed Opcode for CoprseLocResponse (ieatacid) -+ Updated spellshell.h to reflect current spells -+ Re-added spells_en2spellsh.pl to keep spellshell.h updated ++ Updated version to 5.12.0 ++ Updated Opcodes (ieatacid) ++ Removed all the obfuscator stuff (ieatacid) BlueAdept (11/21/07) ---------------- Modified: showeq/trunk/conf/worldopcodes.xml =================================================================== --- showeq/trunk/conf/worldopcodes.xml 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/conf/worldopcodes.xml 2008-01-19 19:34:16 UTC (rev 692) @@ -11,14 +11,21 @@ </opcode> --> + <opcode id="04fb" name="OP_GuildList" updated="03/14/07"> + <comment>old GuildListCode</comment> + <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> + </opcode> + <opcode id="5711" name="OP_MOTD" updated="03/14/07"> + <comment>old MOTDCode Server message of the day</comment> + <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/> + </opcode> + +<!-- Not necessary for SEQ to run but here to name packets in logs --> <opcode id="6c3c" name="OP_SendLoginInfo" updated="03/14/07"> <comment>Client starting world session by asking for login information</comment> </opcode> - <opcode id="04fb" name="OP_GuildList" updated="03/14/07"> - <comment>old GuildListCode</comment> - <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> - </opcode> + <opcode id="129a" name="OP_LogServer" updated="03/14/07"> <comment></comment> </opcode> @@ -43,10 +50,6 @@ <opcode id="45f9" name="OP_UnknownChecksum" updated="03/14/07"> <comment>Third client verification packet</comment> </opcode> - <opcode id="5711" name="OP_MOTD" updated="03/14/07"> - <comment>old MOTDCode Server message of the day</comment> - <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/> - </opcode> <opcode id="71b8" name="OP_SetChatServer" updated="03/14/07"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> @@ -60,9 +63,8 @@ <comment>Client telling world server it is done. World replies by disconnecting.</comment> </opcode> +<!-- - - <opcode id="26c9" name="OP_DeleteCharacter" updated="10/27/05"> <comment>Delete character @ char select</comment> </opcode> @@ -75,4 +77,5 @@ <opcode id="23d4" name="OP_RandomNameGenerator" updated="06/29/05"> <comment>Returns a random name</comment> </opcode> +--> </seqopcodes> Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:34:16 UTC (rev 692) @@ -1,16 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> - <opcode id="7930" name="OP_ObfuscatorInfo" updated="10/20/07"> - <comment>Obfuscator info</comment> - <payload dir="server" typename="worldObfuscatorStruct" sizechecktype="match"/> - </opcode> - <opcode id="71b9" name="OP_SendAATable" updated="03/14/07"> - <comment></comment> - </opcode> - <opcode id="6f05" name="OP_SendAAStats" updated="03/14/07"> - <comment></comment> - </opcode> + +<!-- Verified 12-1-2007 --> <opcode id="0feb" name="OP_PlayerProfile" updated="03/14/07"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> @@ -20,9 +12,6 @@ <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="match"/> </opcode> - <opcode id="4d38" name="OP_AckPacket" updated="03/14/07"> - <comment>Appears to be generic ack at the presentation level</comment> - </opcode> <opcode id="5af2" name="OP_ZoneSpawns" updated="03/14/07"> <comment>old ZoneSpawnsCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="modulus"/> @@ -31,38 +20,10 @@ <comment>old TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="71fb" name="OP_TributeUpdate" updated="03/14/07"> - <comment>Tribute information</comment> - </opcode> - <opcode id="08a3" name="OP_ItemPlayerPacket" updated="03/14/07"> - <comment>Inventory/bank items coming over during zone</comment> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> - </opcode> - <opcode id="0af9" name="OP_TaskDescription" updated="03/14/07"> - <comment>Task descriptions coming down for task window</comment> - </opcode> - <opcode id="2e60" name="OP_TaskActivity" updated="03/14/07"> - <comment>Task activity descriptions coming down for task window</comment> - </opcode> - <opcode id="5855" name="OP_CompletedTasks" updated="03/14/07"> - <comment>Task history for task window</comment> - </opcode> - <opcode id="70a5" name="OP_Weather" updated="03/14/07"> - <comment>old WeatherCode</comment> - </opcode> - <opcode id="5417" name="OP_ReqNewZone" updated="03/14/07"> - <comment>Client requesting NewZone_Struct</comment> - </opcode> <opcode id="5d22" name="OP_NewZone" updated="03/14/07"> <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="2e8f" name="OP_CustomTitles" updated="03/14/07"> - <comment>List of available titles</comment> - </opcode> - <opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07"> - <comment>Client requesting spawn data</comment> - </opcode> <opcode id="68c8" name="OP_SpawnDoor" updated="03/14/07"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> @@ -76,9 +37,6 @@ <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="3703" name="OP_SendExpZonein" updated="03/14/07"> - <comment>Both directions. Negotiating sending of exp info.</comment> - </opcode> <opcode id="3518" name="OP_AAExpUpdate" updated="03/14/07"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> @@ -87,21 +45,6 @@ <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="0a4f" name="OP_AAAction" updated="03/14/07"> - <comment>Used for changing percent, buying? and activating skills</comment> - </opcode> - <opcode id="7038" name="OP_SetServerFilter" updated="03/14/07"> - <comment>Client telling server /filter information</comment> - </opcode> - <opcode id="3854" name="OP_ClientReady" updated="03/14/07"> - <comment></comment> - </opcode> - <opcode id="0137" name="OP_TGB" updated="03/14/07"> - <comment>Client telling server to set targetgroupbuff</comment> - </opcode> - <opcode id="237e" name="OP_RaidJoin" updated="03/14/07"> - <comment></comment> - </opcode> <opcode id="317c" name="OP_GuildMemberList" updated="03/14/07"> <comment></comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> @@ -110,17 +53,6 @@ <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="7161" name="OP_GuildExtendedInfo" updated="03/14/07"> - <comment>Extra guild info (i.e. chat channel, url)</comment> - </opcode> - <opcode id="6774" name="OP_GuildTributeStatus" updated="03/14/07"> - <comment>Guild tribute stats send on zone</comment> - </opcode> - <opcode id="28c1" name="OP_GuildTributeInfo" updated="06/13/06"> - <comment>Guild tribute loadout, only if on</comment> - </opcode> - - <opcode id="5cf3" name="OP_ClientUpdate" updated="03/14/07"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> @@ -146,9 +78,6 @@ <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="063b" name="OP_RespawnWindow" updated="03/14/07"> - <comment>Server telling client enough to populate the respawn window when you die</comment> - </opcode> <opcode id="7bf6" name="OP_RespawnFromHover" updated="03/14/07"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> @@ -157,9 +86,6 @@ <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5c2f" name="OP_Animation" updated="03/14/07"> - <comment></comment> - </opcode> <opcode id="50ec" name="OP_SpawnAppearance" updated="03/14/07"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> @@ -172,15 +98,6 @@ <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="23f1" name="OP_InitialMobHealth" updated="03/14/07"> - <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment> - </opcode> - <opcode id="311a" name="OP_MobHealth" updated="03/14/07"> - <comment>health sent when a player clicks on the mob</comment> - </opcode> - <opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07"> - <comment>Client sending server delta information.</comment> - </opcode> <opcode id="71d1" name="OP_GuildMemberUpdate" updated="03/14/07"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> @@ -214,20 +131,14 @@ <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="61e2" name="OP_Shroud" updated="03/14/07"> + <opcode id="02c4" name="OP_Shroud" updated="12/01/07"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - - <opcode id="24d8" name="OP_RequestZoneChange" updated="10/20/07"> - <comment>Send by server when a click causes zone. Also, origin</comment> - <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/> - </opcode> <opcode id="201e" name="OP_ZoneChange" updated="03/14/07"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="6321" name="OP_GroupInvite" updated="03/14/07"> <payload dir="both" typename="groupInviteStruct" sizechecktype="match"/> <payload dir="both" typename="groupAltInviteStruct" sizechecktype="match"/> @@ -251,14 +162,6 @@ <comment>Disband from group</comment> <payload dir="both" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - - <opcode id="34d4" name="OP_WhoAllRequest" updated="03/14/07"> - <comment>old WhoAllReqCode</comment> - </opcode> - <opcode id="3817" name="OP_WhoAllResponse" updated="03/14/07"> - <comment>old sWhoAllOutputCode</comment> - </opcode> - <opcode id="7bd6" name="OP_Buff" updated="03/14/07"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> @@ -275,9 +178,6 @@ <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> - <opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07"> - <comment>/mem spellsetname</comment> - </opcode> <opcode id="1418" name="OP_SwapSpell" updated="10/20/07"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> @@ -286,15 +186,10 @@ <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - - <opcode id="5a79" name="OP_InspectRequest" updated="10/20/07"> - <comment>old InspectRequestCode</comment> - </opcode> <opcode id="084f" name="OP_InspectAnswer" updated="10/20/07"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="5f4d" name="OP_Emote" updated="03/14/07"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> @@ -323,10 +218,151 @@ <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> + <opcode id="4d30" name="OP_ConsentResponse" updated="03/14/07"> + <comment>Server replying with consent information after /consent</comment> + <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> + </opcode> + <opcode id="607e" name="OP_DenyResponse" updated="03/14/07"> + <comment>Server replying with deny information after /deny</comment> + <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> + </opcode> + <opcode id="0659" name="OP_ManaChange" updated="03/14/07"> + <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment> + <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/> + <payload dir="client" typename="uint8_t" sizechecktype="none"/> + </opcode> + <opcode id="14f2" name="OP_BazaarSearch" updated="10/20/07"> + <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> + <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> + <comment>Bazaar search tool</comment> + </opcode> + <opcode id="51c9" name="OP_MoneyOnCorpse" updated="12/01/07"> + <comment>old MoneyOnCorpseCode</comment> + <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> + </opcode> + <opcode id="29e0" name="OP_SkillUpdate" updated="12/01/07"> + <comment>old SkillIncCode</comment> + <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> + </opcode> + <opcode id="1036" name="OP_LevelUpdate" updated="12/01/07"> + <comment>old LevelUpUpdateCode</comment> + <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> + </opcode> + <opcode id="0292" name="OP_CorpseLocResponse" updated="12/01/07"> + <comment>old CorpseLocCode:</comment> + <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> + </opcode> +<!-- can't find this one (12-1-2007) - ieatacid --> + <opcode id="0000" name="OP_Logout" updated="12/01/07"> + <comment></comment> + <payload dir="server" typename="none" sizechecktype="match"/> + </opcode> + + + + <!-- + Not necessary for SEQ to run but here to name packets in logs. + Also unverified as of 12-1-2007. + --> + <opcode id="71b9" name="OP_SendAATable" updated="03/14/07"> + <comment></comment> + </opcode> + <opcode id="6f05" name="OP_SendAAStats" updated="03/14/07"> + <comment></comment> + </opcode> + <opcode id="4d38" name="OP_AckPacket" updated="03/14/07"> + <comment>Appears to be generic ack at the presentation level</comment> + </opcode> + <opcode id="71fb" name="OP_TributeUpdate" updated="03/14/07"> + <comment>Tribute information</comment> + </opcode> + <opcode id="08a3" name="OP_ItemPlayerPacket" updated="03/14/07"> + <comment>Inventory/bank items coming over during zone</comment> + <payload dir="server" typename="uint8_t" sizechecktype="none"/> + </opcode> + <opcode id="0af9" name="OP_TaskDescription" updated="03/14/07"> + <comment>Task descriptions coming down for task window</comment> + </opcode> + <opcode id="2e60" name="OP_TaskActivity" updated="03/14/07"> + <comment>Task activity descriptions coming down for task window</comment> + </opcode> + <opcode id="5855" name="OP_CompletedTasks" updated="03/14/07"> + <comment>Task history for task window</comment> + </opcode> + <opcode id="70a5" name="OP_Weather" updated="03/14/07"> + <comment>old WeatherCode</comment> + </opcode> + <opcode id="5417" name="OP_ReqNewZone" updated="03/14/07"> + <comment>Client requesting NewZone_Struct</comment> + </opcode> + <opcode id="2e8f" name="OP_CustomTitles" updated="03/14/07"> + <comment>List of available titles</comment> + </opcode> + <opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07"> + <comment>Client requesting spawn data</comment> + </opcode> + <opcode id="3703" name="OP_SendExpZonein" updated="03/14/07"> + <comment>Both directions. Negotiating sending of exp info.</comment> + </opcode> + <opcode id="0a4f" name="OP_AAAction" updated="03/14/07"> + <comment>Used for changing percent, buying? and activating skills</comment> + </opcode> + <opcode id="7038" name="OP_SetServerFilter" updated="03/14/07"> + <comment>Client telling server /filter information</comment> + </opcode> + <opcode id="3854" name="OP_ClientReady" updated="03/14/07"> + <comment></comment> + </opcode> + <opcode id="0137" name="OP_TGB" updated="03/14/07"> + <comment>Client telling server to set targetgroupbuff</comment> + </opcode> + <opcode id="237e" name="OP_RaidJoin" updated="03/14/07"> + <comment></comment> + </opcode> + <opcode id="7161" name="OP_GuildExtendedInfo" updated="03/14/07"> + <comment>Extra guild info (i.e. chat channel, url)</comment> + </opcode> + <opcode id="6774" name="OP_GuildTributeStatus" updated="03/14/07"> + <comment>Guild tribute stats send on zone</comment> + </opcode> + <opcode id="28c1" name="OP_GuildTributeInfo" updated="06/13/06"> + <comment>Guild tribute loadout, only if on</comment> + </opcode> + <opcode id="063b" name="OP_RespawnWindow" updated="03/14/07"> + <comment>Server telling client enough to populate the respawn window when you die</comment> + </opcode> + <opcode id="5c2f" name="OP_Animation" updated="03/14/07"> + <comment></comment> + </opcode> + <opcode id="23f1" name="OP_InitialMobHealth" updated="03/14/07"> + <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment> + </opcode> + <opcode id="311a" name="OP_MobHealth" updated="03/14/07"> + <comment>health sent when a player clicks on the mob</comment> + </opcode> + <opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07"> + <comment>Client sending server delta information.</comment> + </opcode> + <opcode id="24d8" name="OP_RequestZoneChange" updated="10/20/07"> + <comment>Send by server when a click causes zone. Also, origin</comment> + <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/> + </opcode> + <opcode id="34d4" name="OP_WhoAllRequest" updated="03/14/07"> + <comment>old WhoAllReqCode</comment> + </opcode> + <opcode id="3817" name="OP_WhoAllResponse" updated="03/14/07"> + <comment>old sWhoAllOutputCode</comment> + </opcode> + <opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07"> + <comment>/mem spellsetname</comment> + </opcode> + <opcode id="5a79" name="OP_InspectRequest" updated="10/20/07"> + <comment>old InspectRequestCode</comment> + </opcode> <opcode id="4289" name="OP_GetGuildMOTD" updated="02/13/07"> <comment></comment> </opcode> - <opcode id="2889" name="OP_TradeRequest" updated="06/13/06"> <comment>Client request trade session</comment> </opcode> @@ -345,24 +381,14 @@ <opcode id="2b8f" name="OP_TradeAcceptClick" updated="06/13/06"> <comment>One side clicks Accept on the trade</comment> </opcode> - <opcode id="0fb9" name="OP_Consent" updated="03/14/07"> <comment>/consent someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> - <opcode id="4d30" name="OP_ConsentResponse" updated="03/14/07"> - <comment>Server replying with consent information after /consent</comment> - <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> - </opcode> <opcode id="79d7" name="OP_ConsentDeny" updated="03/14/07"> <comment>/deny someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> - <opcode id="607e" name="OP_DenyResponse" updated="03/14/07"> - <comment>Server replying with deny information after /deny</comment> - <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> - </opcode> - <opcode id="78cd" name="OP_ItemPacket" updated="03/14/07"> <comment>old ItemCode</comment> <payload dir="server" typename="itemPacketStruct" sizechecktype="none"/> @@ -375,12 +401,6 @@ <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/> <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/> </opcode> - <opcode id="0659" name="OP_ManaChange" updated="03/14/07"> - <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment> - <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/> - <payload dir="client" typename="uint8_t" sizechecktype="none"/> - </opcode> - <opcode id="00de" name="OP_Dye" updated="10/27/05"> <comment></comment> </opcode> @@ -488,12 +508,6 @@ <opcode id="7c33" name="OP_Forage" updated="10/27/05"> <comment>old ForageCode</comment> </opcode> - <opcode id="14f2" name="OP_BazaarSearch" updated="10/20/07"> - <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> - <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> - <payload dir="server" typename="uint8_t" sizechecktype="none"/> - <comment>Bazaar search tool</comment> - </opcode> <opcode id="4298" name="OP_BoardBoat" updated="10/27/05"> <comment></comment> </opcode> @@ -512,10 +526,6 @@ <opcode id="6980" name="OP_GMKill" updated="10/27/05"> <comment>GM /kill - Insta kill mob/pc</comment> </opcode> - <opcode id="2316" name="OP_MoneyOnCorpse" updated="12/07/05"> - <comment>old MoneyOnCorpseCode</comment> - <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/> - </opcode> <opcode id="36e2" name="OP_ClickDoor" updated="02/13/07"> <comment>old DoorOpenCode</comment> <payload dir="both" typename="uint8_t" sizechecktype="none"/> @@ -580,18 +590,6 @@ <opcode id="4775" name="OP_TributeInfo" updated="02/13/07"> <comment>Tribute information</comment> </opcode> - <opcode id="03c0" name="OP_SkillUpdate" updated="02/13/07"> - <comment>old SkillIncCode</comment> - <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> - </opcode> - <opcode id="1442" name="OP_LevelUpdate" updated="02/13/07"> - <comment>old LevelUpUpdateCode</comment> - <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/> - </opcode> - <opcode id="0000" name="OP_Logout" updated="06/13/06"> - <comment></comment> - <payload dir="server" typename="none" sizechecktype="match"/> - </opcode> <opcode id="7416" name="OP_LeaderExpUpdate" updated="06/29/05"> <comment>Leadership AA Exp Update</comment> <payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/> @@ -600,16 +598,7 @@ <comment>Server telling client lockouts</comment> </opcode> -<!-- OLD OPCODES that must be uncommented because they have messageshell - handlers. These need to be refound again, but we'd see errors if they - were commented out. If you're looking for opcodes, find these first - if you're so inclined! --> - <opcode id="0292" name="OP_CorpseLocResponse" updated="05/26/04"> - <comment>old CorpseLocCode:</comment> - <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> - </opcode> - <!-- OLD OPCODES. These haven't been mapped in a post 1/26/2005 world. If you can find any of these in the current stream, please update them and let us know! @@ -804,4 +793,4 @@ <comment></comment> </opcode> --> -</seqopcodes> +</seqopcodes> \ No newline at end of file Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/configure.in 2008-01-19 19:34:16 UTC (rev 692) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.11.1.0) +AC_INIT(showeq, 5.12.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/src/everquest.h 2008-01-19 19:34:16 UTC (rev 692) @@ -565,7 +565,7 @@ /* ** New Zone Code -** Length: 916 Octets +** Length: 920 Octets ** OpCode: NewZoneCode */ struct newZoneStruct @@ -976,7 +976,6 @@ /*0141*/ uint8_t unknown0141[24]; /*0165*/ uint8_t class_; // Player's class /*0166*/ uint8_t unknown0166[201]; -/*%%% gm right this time? */ /*0367*/ uint8_t gm; /*0368*/ uint8_t unknown0368[134]; /*0502*/ float runspeed; // Speed when walking @@ -1697,7 +1696,7 @@ /* ** Battle Code -** Length: 24 Octets +** Length: 28 Octets ** OpCode: ActionCode */ Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/src/interface.cpp 2008-01-19 19:34:16 UTC (rev 692) @@ -226,7 +226,7 @@ PLAYBACK_OFF), pSEQPrefs->getPrefInt("PlaybackRate", vpsection, false), - this, "packet"); + this, "packet"); ipstr[0] = m_packet->ip(); //Retrieves last IP used in previous session for( int i = 1; i < 5; i++) @@ -2108,12 +2108,8 @@ connect(this, SIGNAL(saveAllPrefs(void)), m_combatWindow, SLOT(savePrefs(void))); } + - // Connect obfuscator slot to obfuscator signal - m_packet->connect2("OP_ObfuscatorInfo", SP_Zone, DIR_Server, - "worldObfuscatorStruct", SZC_Match, - m_packet, SLOT(obfuscateOpCodeDB(const uint8_t*))); - // // Geometry Configuration // Modified: showeq/trunk/src/packet.cpp =================================================================== --- showeq/trunk/src/packet.cpp 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/src/packet.cpp 2008-01-19 19:34:16 UTC (rev 692) @@ -19,6 +19,7 @@ #include <netinet/if_ether.h> #include <qtimer.h> +#include <qfileinfo.h> #include "everquest.h" #include "packet.h" @@ -1145,134 +1146,6 @@ return m_streams[stream]->arqSeqExp(); } -/////////////////////////////////////////////////////////////// -// These next two functions were made by purple to build -// our own version of the client's opcode table. -// opcodetable.h was generated from eqgame.exe -// with an IDA script - ieatacid -void EQPacket::obfuscateOpCodeDB(const uint8_t* data) -{ - const worldObfuscatorStruct* obfs=(const worldObfuscatorStruct*) data; - - //seqDebug("obfuscateOpCodeDB var1=%x",obfs->var1); - - int rawops[] = - { - #include "opcodetable.h" - }; - - int32_t ecx; - int32_t eax; - int32_t edx; - - int64_t qword = 0; - - int32_t var2 = 0; - int32_t var3 = 0x18; // 7530 / opcodeCount; calculated in obfuscator constructor - int32_t var4 = 0; - - // var2 = parm 1 from packet 0-3 0x077ffd18 - var2 = obfs->var1; - - // var4 = parm 2 from packet 16-19 - var4 = obfs->var2; - - edx = var4; - - // Process - for (int i=0; rawops[i]!=(int)0xFFFFFFFF; i++) - { - ecx = var2; - eax = 0x834e0b5f; - - qword = (int64_t) eax * ecx; - eax = qword & 0xffffffff; - edx = qword >> 32; - - edx = edx + ecx; - - ecx = ecx * 0x41a7; - edx = edx / 65536; - eax = edx; - eax = eax >> 0x1f; - - - eax = eax + edx; - qword = (int64_t) eax * 0x7fffffff; - eax = qword & 0xffffffff; - - ecx = ecx - eax; - - var2 = ecx; - - if (ecx < 0) - { - ecx = ecx + 0x7fffffff; - var2 = ecx; - } - - double st0 = var2; - - union - { - float flt; - uint32_t bits; - } constant; - - constant.bits = 0x30000000; - st0 = st0 * (double) constant.flt; - st0 = st0 * var3; - - // Convert top of fp stack to long. Assume float and not double - // so we can just cast... - eax = (long) st0; - edx = 0; - - ecx = var4; - eax++; - ecx = ecx + eax; - var4 = ecx; - var4 &= 0xffff; - - // Check for collision - var4 = incrementCollisions(var4, rawops); - - // push new record - ecx = var4; - - if(m_zoneOPCodeDB->find(rawops[i])) - { - //seqDebug("changing opcode %x to %x",rawops[i],ecx); - m_zoneOPCodeDB->move(rawops[i],ecx); - } - - eax = var4; - if (eax != ecx) - { - /* commenting out this increment made it work, along - with starting the opcode table at the first opcode - instead of 12 bytes in - ieatacid - */ - //eax++; - var4 = eax; - var4 &= 0xffff; - } - } -} - -uint32_t EQPacket::incrementCollisions(int inOp, int rawops[]) -{ - for (int i=0; rawops[i]!=(int)0xFFFFFFFF; i++) - { - if (rawops[i] == inOp) - { - return incrementCollisions(++inOp, rawops); - } - } - // No collide - return inOp; -} - #ifndef QMAKEBUILD #include "packet.moc" #endif Modified: showeq/trunk/src/packet.h =================================================================== --- showeq/trunk/src/packet.h 2008-01-19 19:29:08 UTC (rev 691) +++ showeq/trunk/src/packet.h 2008-01-19 19:34:16 UTC (rev 692) @@ -25,7 +25,7 @@ #endif #include <netinet/in.h> - + //---------------------------------------------------------------------- // enumerated types enum EQStreamPairs @@ -104,7 +104,6 @@ void setRealtime(bool val); void dispatchSessionKey(uint32_t sessionId, EQStreamID streamid, uint32_t sessionKey); - void obfuscateOpCodeDB(const uint8_t* data); protected slots: void closeStream(uint32_t sessionId, EQStreamID streamId); @@ -179,7 +178,6 @@ void connectStream(EQPacketStream* stream); void dispatchPacket (int size, unsigned char *buffer); void dispatchPacket(EQUDPIPPacketFormat& packet); - uint32_t incrementCollisions(int inOp, int rawops[]); protected slots: void resetEQPacket(); void dispatchWorldChatData (size_t len, uint8_t* data, uint8_t direction = 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:29:09
|
Revision: 691 http://seq.svn.sourceforge.net/seq/?rev=691&view=rev Author: bonkersbobcat Date: 2008-01-19 11:29:08 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Tag for release 5.11.1 Added Paths: ----------- showeq/tags/v5_11_1_0/ Copied: showeq/tags/v5_11_1_0 (from rev 690, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:28:51
|
Revision: 690 http://seq.svn.sourceforge.net/seq/?rev=690&view=rev Author: bonkersbobcat Date: 2008-01-19 11:28:48 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Historical checkin for 11/27/07 - Updated structs - Changed Opcode for CoprseLocResponse - Updated spellshell.h to reflect current spells - Re-added spells_en2spellsh.pl to keep spellshell.h updated Version to 5.11.1 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/staticspells.h Added Paths: ----------- showeq/trunk/spells_en2spellsh.pl Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-19 19:25:03 UTC (rev 689) +++ showeq/trunk/ChangeLog 2008-01-19 19:28:48 UTC (rev 690) @@ -1,5 +1,13 @@ Version: $Id$ $Name$ +BlueAdept (11/27/07) +---------------- ++ Updated version to 5.11.1 ++ Updated structs (BlueAdept, Markdark and ieatacid) ++ Changed Opcode for CoprseLocResponse (ieatacid) ++ Updated spellshell.h to reflect current spells ++ Re-added spells_en2spellsh.pl to keep spellshell.h updated + BlueAdept (11/21/07) ---------------- + Updated version to 5.11.0 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:25:03 UTC (rev 689) +++ showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:28:48 UTC (rev 690) @@ -604,7 +604,7 @@ handlers. These need to be refound again, but we'd see errors if they were commented out. If you're looking for opcodes, find these first if you're so inclined! --> - <opcode id="00d0" name="OP_CorpseLocResponse" updated="05/26/04"> + <opcode id="0292" name="OP_CorpseLocResponse" updated="05/26/04"> <comment>old CorpseLocCode:</comment> <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-19 19:25:03 UTC (rev 689) +++ showeq/trunk/configure.in 2008-01-19 19:28:48 UTC (rev 690) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.11.0.0) +AC_INIT(showeq, 5.11.1.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Added: showeq/trunk/spells_en2spellsh.pl =================================================================== --- showeq/trunk/spells_en2spellsh.pl (rev 0) +++ showeq/trunk/spells_en2spellsh.pl 2008-01-19 19:28:48 UTC (rev 690) @@ -0,0 +1,99 @@ +#!/usr/bin/perl + +# spells_en2spellsh.pl +# ShowEQ Distributed under GPL +# http://seq.sourceforge.net/ +# +# Copyright 2001-2003 Zaphod (do...@us...) +# +# Contributed to ShowEQ by Zaphod (do...@us...) +# for use under the terms of the GNU General Public Licence, +# incorporated herein by reference. +# + +# This is just a quicky little Perl 5 script to create a spells.h file from +# a spells_en.txt file. + +# Notes: +# + This Perl script requires the Unicode::String module that be retrieved off +# of CPAN from the URL: http://search.cpan.org/search?module=Unicode::String + +use Unicode::String qw(latin1 utf16 ucs2 utf8); + +$infile = "spells_us.txt"; +$outfile = "/tmp/staticspells.h"; + +# file fields +$spellIdField = 0; +$nameField = 1; + +# Target type ID +$targetSelf = 0x06; + +unless (open(SPELLSEN, "<$infile")) +{ + die "Can't open $infile: $!\n"; +} +print "Reading: $infile\n"; + +unless (open(SPELLSH, ">$outfile")) +{ + die "Can't open $outfile: $!\n"; +} +print "Writing: $outfile\n"; + +$maxSpellId = 0; +$header = "/* + * spells.h + * + * ShowEQ Distributed under GPL + * http://seq.sourceforge.net/ + */ + +/* File autogenerated from spells_en.txt */ +// Format: +"; + +print SPELLSH $header; + +print SPELLSH "// /* Spell ID */ { Spell Name },\n"; + +print SPELLSH "\n"; + +while($line = <SPELLSEN>) +{ +# print STDERR $count++, "\n"; + $u = utf8($line); + $latin1line = $u->latin1; +# print SPELLSH $latin1line; + @fields = split(/\^/, $latin1line); +# print STDERR "Fields: ", $#fields, "\n"; + $spellId = $fields[$spellIdField]; + $spellName = $fields[$nameField]; + + $records[$spellId] = sprintf("/* 0x%04x - %5d */ { \"%s\" }, ", + $spellId, + $spellId, + $spellName); + + $maxSpellId = $spellId if ($spellId > $maxSpellId); +} + +$emptyCount = 0; +for ($spellId = 0; $spellId < $maxSpellId; $spellId++) +{ + if ($records[$spellId]) + { + print SPELLSH $records[$spellId], "\n"; + } + else + { + printf SPELLSH "/* 0x%04x = %5d */ { NULL, },\n", $spellId, $spellId; + $emptyCount++; + } +} + +print SPELLSH "// \n"; +printf SPELLSH "// Max SpellId: 0x%04x = %5d\n", $maxSpellId, $maxSpellId; +print SPELLSH "// Number of Spells: ", $#records - $emptyCount, "\n"; +print SPELLSH "// Empty Entries: ", $emptyCount, "\n"; Property changes on: showeq/trunk/spells_en2spellsh.pl ___________________________________________________________________ Name: svn:executable + * Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-01-19 19:25:03 UTC (rev 689) +++ showeq/trunk/src/everquest.h 2008-01-19 19:28:48 UTC (rev 690) @@ -601,7 +601,8 @@ /*0860*/ uint8_t unknown0856[36]; // *** Placeholder (06/13/2006) /*0896*/ uint8_t unknown0892[12]; // *** Placeholder (12/05/2006) /*0908*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) -}; /*0916*/ +/*0916*/ uint8_t unknown0916[4]; // *** Placeholder (11/24/2007) +}; /*0920*/ /** * Player Profile. Common part of charProfileStruct shared between @@ -1709,7 +1710,8 @@ /*0005*/ int16_t spell; // SpellID /*0007*/ int32_t damage; /*0011*/ uint8_t unknown0011[13]; // ***Placeholder -/*0024*/ +/*0024*/ uint8_t unknown0024[4]; // ***Placeholder (11/24/07) +/*0028*/ }; // This can be used to gather info on spells cast on us Modified: showeq/trunk/src/staticspells.h =================================================================== --- showeq/trunk/src/staticspells.h 2008-01-19 19:25:03 UTC (rev 689) +++ showeq/trunk/src/staticspells.h 2008-01-19 19:28:48 UTC (rev 690) @@ -22,7 +22,7 @@ /* 0x000a - 10 */ { "Augmentation" }, /* 0x000b - 11 */ { "Holy Armor" }, /* 0x000c - 12 */ { "Healing" }, -/* 0x000d - 13 */ { "Complete Healing" }, +/* 0x000d - 13 */ { "Complete Heal" }, /* 0x000e - 14 */ { "Strike" }, /* 0x000f - 15 */ { "Greater Healing" }, /* 0x0010 - 16 */ { "Smite" }, @@ -181,7 +181,7 @@ /* 0x00a9 - 169 */ { "Pack Spirit" }, /* 0x00aa - 170 */ { "Alacrity" }, /* 0x00ab - 171 */ { "Celerity" }, -/* 0x00ac - 172 */ { "Swift like the Wind" }, +/* 0x00ac - 172 */ { "Swift Like the Wind" }, /* 0x00ad - 173 */ { "Benevolence" }, /* 0x00ae - 174 */ { "Clarity" }, /* 0x00af - 175 */ { "Insight" }, @@ -420,7 +420,7 @@ /* 0x0198 - 408 */ { "Curse of the Simple Mind" }, /* 0x0199 - 409 */ { "Rain of Spikes" }, /* 0x019a - 410 */ { "Rain of Swords" }, -/* 0x019b - 411 */ { "Shield of Flame" }, +/* 0x019b - 411 */ { "Fire Shield" }, /* 0x019c - 412 */ { "Shield of Lava" }, /* 0x019d - 413 */ { "Word of Shadow" }, /* 0x019e - 414 */ { "Word of Spirit" }, @@ -798,7 +798,7 @@ /* 0x0312 - 786 */ { "Wurm Blaze" }, /* 0x0313 - 787 */ { "Mind Grip" }, /* 0x0314 - 788 */ { "Reality Warp" }, -/* 0x0315 - 789 */ { "Dragon Roar" }, +/* 0x0315 - 789 */ { "Dragon Fear" }, /* 0x0316 - 790 */ { "Call of the Storm" }, /* 0x0317 - 791 */ { "Call of the Earth" }, /* 0x0318 - 792 */ { "Fist of Fire" }, @@ -853,7 +853,7 @@ /* 0x0349 - 841 */ { "Dragon Charm" }, /* 0x034a - 842 */ { "Healing Touch" }, /* 0x034b - 843 */ { "Immolating Breath" }, -/* 0x034c - 844 */ { "Edacious Cloud" }, +/* 0x034c - 844 */ { "Ceticious Cloud" }, /* 0x034d - 845 */ { "Freezing Breath" }, /* 0x034e - 846 */ { "Fist of Mastery" }, /* 0x034f - 847 */ { "Aura of Elemental Mastery" }, @@ -1029,7 +1029,7 @@ /* 0x03f9 - 1017 */ { "Fish Nova" }, /* 0x03fa - 1018 */ { "Innoruuk's Presence" }, /* 0x03fb - 1019 */ { "Innoruuk's Wrath" }, -/* 0x03fc - 1020 */ { "Air Elemental Strike" }, +/* 0x03fc - 1020 */ { "Air Elemental Strike I" }, /* 0x03fd - 1021 */ { "Water Elemental Strike" }, /* 0x03fe - 1022 */ { "Earth Elemental Strike" }, /* 0x03ff - 1023 */ { "Vengeance of the Ixt" }, @@ -1625,7 +1625,7 @@ /* 0x064d - 1613 */ { "Deflux" }, /* 0x064e - 1614 */ { "Chill Bones" }, /* 0x064f - 1615 */ { "Cessation of Cor" }, -/* 0x0650 - 1616 */ { "Vexing Mordinia" }, +/* 0x0650 - 1616 */ { "Vexing Replenishment" }, /* 0x0651 - 1617 */ { "Pyrocruor" }, /* 0x0652 - 1618 */ { "Touch of Night" }, /* 0x0653 - 1619 */ { "Devouring Darkness" }, @@ -1952,7 +1952,7 @@ /* 0x0794 - 1940 */ { "Celestial Tranquility" }, /* 0x0795 - 1941 */ { "Lava Breath" }, /* 0x0796 - 1942 */ { "Frost Breath" }, -/* 0x0797 - 1943 */ { "Molten Breath" }, +/* 0x0797 - 1943 */ { "Lava Breath" }, /* 0x0798 - 1944 */ { "Summon Orb" }, /* 0x0799 - 1945 */ { "Frostbite" }, /* 0x079a - 1946 */ { "Blessing of Nature" }, @@ -2760,36 +2760,36 @@ /* 0x0abc - 2748 */ { "Strong Root" }, /* 0x0abd - 2749 */ { "Cannibalization" }, /* 0x0abe - 2750 */ { "Rabid Bear" }, -/* 0x0abf - 2751 */ { "Manaburn" }, -/* 0x0ac0 - 2752 */ { "Restore Companion" }, +/* 0x0abf - 2751 */ { "Mana Burn" }, +/* 0x0ac0 - 2752 */ { "Mend Companion" }, /* 0x0ac1 - 2753 */ { "Gather Mana" }, /* 0x0ac2 - 2754 */ { "Frenzied Burnout" }, -/* 0x0ac3 - 2755 */ { "Lifeburn" }, -/* 0x0ac4 - 2756 */ { "Words of the Undead King" }, -/* 0x0ac5 - 2757 */ { "Wave of Revulsion" }, +/* 0x0ac3 - 2755 */ { "Life Burn" }, +/* 0x0ac4 - 2756 */ { "Dead Mesmerization" }, +/* 0x0ac5 - 2757 */ { "Fear Storm" }, /* 0x0ac6 - 2758 */ { "Improved Familiar" }, -/* 0x0ac7 - 2759 */ { "Undead Pact" }, -/* 0x0ac8 - 2760 */ { "Servant of Nature" }, -/* 0x0ac9 - 2761 */ { "Dominating Gaze" }, +/* 0x0ac7 - 2759 */ { "Dire Charm" }, +/* 0x0ac8 - 2760 */ { "Dire Charm" }, +/* 0x0ac9 - 2761 */ { "Dire Charm" }, /* 0x0aca - 2762 */ { "Disease Touch" }, /* 0x0acb - 2763 */ { "Poison Touch" }, /* 0x0acc - 2764 */ { "Call to Corpse" }, /* 0x0acd - 2765 */ { "Camouflage" }, -/* 0x0ace - 2766 */ { "Life Curse" }, +/* 0x0ace - 2766 */ { "Leech Touch" }, /* 0x0acf - 2767 */ { "Dragon Force" }, /* 0x0ad0 - 2768 */ { "Grimling LT 30" }, /* 0x0ad1 - 2769 */ { "Spreading Crud" }, /* 0x0ad2 - 2770 */ { "Rain of Spores" }, /* 0x0ad3 - 2771 */ { "Exodus" }, -/* 0x0ad4 - 2772 */ { "Transmute Flesh to Bone" }, +/* 0x0ad4 - 2772 */ { "Flesh to Bone" }, /* 0x0ad5 - 2773 */ { "Sonic Feedback" }, -/* 0x0ad6 - 2774 */ { "Harmful Touch" }, +/* 0x0ad6 - 2774 */ { "Harm Touch" }, /* 0x0ad7 - 2775 */ { "Act of Valor" }, /* 0x0ad8 - 2776 */ { "Turn Undead" }, /* 0x0ad9 - 2777 */ { "Turn Undead" }, /* 0x0ada - 2778 */ { "Turn Undead" }, /* 0x0adb - 2779 */ { "Rebuke Summoned" }, -/* 0x0adc - 2780 */ { "Rebuke Summoned" }, +/* 0x0adc - 2780 */ { "Turn Summoned" }, /* 0x0add - 2781 */ { "Rebuke Summoned" }, /* 0x0ade - 2782 */ { "Holy Steed" }, /* 0x0adf - 2783 */ { "Unholy Steed" }, @@ -2798,18 +2798,18 @@ /* 0x0ae2 - 2786 */ { "In Irons" }, /* 0x0ae3 - 2787 */ { "Rhag`Zhezum's Deathly Embrace" }, /* 0x0ae4 - 2788 */ { "Breath of Rhag`Mozdezh" }, -/* 0x0ae5 - 2789 */ { "Air Elemental Form I" }, -/* 0x0ae6 - 2790 */ { "Air Elemental Form II" }, -/* 0x0ae7 - 2791 */ { "Air Elemental Form III" }, -/* 0x0ae8 - 2792 */ { "Earth Elemental Form I" }, -/* 0x0ae9 - 2793 */ { "Earth Elemental Form II" }, -/* 0x0aea - 2794 */ { "Earth Elemental Form III" }, -/* 0x0aeb - 2795 */ { "Fire Elemental Form I" }, -/* 0x0aec - 2796 */ { "Fire Elemental Form II" }, -/* 0x0aed - 2797 */ { "Fire Elemental Form III" }, -/* 0x0aee - 2798 */ { "Water Elemental Form I" }, -/* 0x0aef - 2799 */ { "Water Elemental Form II" }, -/* 0x0af0 - 2800 */ { "Water Elemental Form III" }, +/* 0x0ae5 - 2789 */ { "Elemental Form: Air" }, +/* 0x0ae6 - 2790 */ { "Elemental Form: Air" }, +/* 0x0ae7 - 2791 */ { "Elemental Form: Air" }, +/* 0x0ae8 - 2792 */ { "Elemental Form: Earth" }, +/* 0x0ae9 - 2793 */ { "Elemental Form: Earth" }, +/* 0x0aea - 2794 */ { "Elemental Form: Earth" }, +/* 0x0aeb - 2795 */ { "Elemental Form: Fire" }, +/* 0x0aec - 2796 */ { "Elemental Form: Fire" }, +/* 0x0aed - 2797 */ { "Elemental Form: Fire" }, +/* 0x0aee - 2798 */ { "Elemental Form: Water" }, +/* 0x0aef - 2799 */ { "Elemental Form: Water" }, +/* 0x0af0 - 2800 */ { "Elemental Form: Water" }, /* 0x0af1 - 2801 */ { "Miner Plague" }, /* 0x0af2 - 2802 */ { "Flurry of Pebbles" }, /* 0x0af3 - 2803 */ { "Granite Crush" }, @@ -3257,10 +3257,10 @@ /* 0x0cad - 3245 */ { "Force of Akilae" }, /* 0x0cae - 3246 */ { "Shackles of Tunare" }, /* 0x0caf - 3247 */ { "Aura of the Crusader" }, -/* 0x0cb0 - 3248 */ { "Suspended Minion I" }, -/* 0x0cb1 - 3249 */ { "Suspended Minion II" }, -/* 0x0cb2 - 3250 */ { "Celestial Renewal" }, -/* 0x0cb3 - 3251 */ { "Celestial Renewal" }, +/* 0x0cb0 - 3248 */ { "Suspended Minion" }, +/* 0x0cb1 - 3249 */ { "Suspended Minion" }, +/* 0x0cb2 - 3250 */ { "Celestial Regeneration" }, +/* 0x0cb3 - 3251 */ { "Celestial Regeneration" }, /* 0x0cb4 - 3252 */ { "Divine Arbitration" }, /* 0x0cb5 - 3253 */ { "Divine Arbitration" }, /* 0x0cb6 - 3254 */ { "Divine Arbitration" }, @@ -3273,7 +3273,7 @@ /* 0x0cbd - 3261 */ { "Hand of Piety" }, /* 0x0cbe - 3262 */ { "Hand of Piety" }, /* 0x0cbf - 3263 */ { "Hand of Piety" }, -/* 0x0cc0 - 3264 */ { "Allegiant Familiar" }, +/* 0x0cc0 - 3264 */ { "Improved Familiar" }, /* 0x0cc1 - 3265 */ { "Servant of Ro" }, /* 0x0cc2 - 3266 */ { "Servant of Ro" }, /* 0x0cc3 - 3267 */ { "Servant of Ro" }, @@ -3292,9 +3292,9 @@ /* 0x0cd0 - 3280 */ { "Hobble of Spirits Effect" }, /* 0x0cd1 - 3281 */ { "Servant's Bolt" }, /* 0x0cd2 - 3282 */ { "Boastful Bellow" }, -/* 0x0cd3 - 3283 */ { "Spirit Call I" }, -/* 0x0cd4 - 3284 */ { "Spirit Call II" }, -/* 0x0cd5 - 3285 */ { "Spirit Call III" }, +/* 0x0cd3 - 3283 */ { "Spirit Call" }, +/* 0x0cd4 - 3284 */ { "Spirit Call" }, +/* 0x0cd5 - 3285 */ { "Spirit Call" }, /* 0x0cd6 - 3286 */ { "Host of the Elements" }, /* 0x0cd7 - 3287 */ { "Host of the Elements" }, /* 0x0cd8 - 3288 */ { "Host of the Elements" }, @@ -3306,9 +3306,9 @@ /* 0x0cde - 3294 */ { "Call of Xuzl" }, /* 0x0cdf - 3295 */ { "Legacy of Bracken" }, /* 0x0ce0 - 3296 */ { "Faith" }, -/* 0x0ce1 - 3297 */ { "Radiant Cure1" }, -/* 0x0ce2 - 3298 */ { "Radiant Cure2" }, -/* 0x0ce3 - 3299 */ { "Radiant Cure3" }, +/* 0x0ce1 - 3297 */ { "Radiant Cure" }, +/* 0x0ce2 - 3298 */ { "Radiant Cure" }, +/* 0x0ce3 - 3299 */ { "Radiant Cure" }, /* 0x0ce4 - 3300 */ { "Shield of the Arcane" }, /* 0x0ce5 - 3301 */ { "Force Shield" }, /* 0x0ce6 - 3302 */ { "Shield of Maelin" }, @@ -4530,9 +4530,9 @@ /* 0x11a6 - 4518 */ { "Sanctification Discipline" }, /* 0x11a7 - 4519 */ { "Weapon Shield Discipline" }, /* 0x11a8 - 4520 */ { "Unholy Aura Discipline" }, -/* 0x11a9 - 4521 */ { "Bestial Alignment I" }, -/* 0x11aa - 4522 */ { "Bestial Alignment II" }, -/* 0x11ab - 4523 */ { "Bestial Alignment III" }, +/* 0x11a9 - 4521 */ { "Bestial Alignment" }, +/* 0x11aa - 4522 */ { "Bestial Alignment" }, +/* 0x11ab - 4523 */ { "Bestial Alignment" }, /* 0x11ac - 4524 */ { "Bestial Alignment I" }, /* 0x11ad - 4525 */ { "Bestial Alignment II" }, /* 0x11ae - 4526 */ { "Bestial Alignment III" }, @@ -4558,12 +4558,12 @@ /* 0x11c2 - 4546 */ { "Touch of the Divine III" }, /* 0x11c3 - 4547 */ { "Touch of the Divine IV" }, /* 0x11c4 - 4548 */ { "Touch of the Divine V" }, -/* 0x11c5 - 4549 */ { "Divine Avatar I" }, -/* 0x11c6 - 4550 */ { "Divine Avatar II" }, -/* 0x11c7 - 4551 */ { "Divine Avatar III" }, -/* 0x11c8 - 4552 */ { "Doppelganger I" }, -/* 0x11c9 - 4553 */ { "Doppelganger II" }, -/* 0x11ca - 4554 */ { "Doppelganger III" }, +/* 0x11c5 - 4549 */ { "Divine Avatar" }, +/* 0x11c6 - 4550 */ { "Divine Avatar" }, +/* 0x11c7 - 4551 */ { "Divine Avatar" }, +/* 0x11c8 - 4552 */ { "Doppelganger" }, +/* 0x11c9 - 4553 */ { "Doppelganger" }, +/* 0x11ca - 4554 */ { "Doppelganger" }, /* 0x11cb - 4555 */ { "Elemental Domination" }, /* 0x11cc - 4556 */ { "Air Elemental Form IV" }, /* 0x11cd - 4557 */ { "Air Elemental Form V" }, @@ -4573,9 +4573,9 @@ /* 0x11d1 - 4561 */ { "Fire Elemental Form V" }, /* 0x11d2 - 4562 */ { "Water Elemental Form IV" }, /* 0x11d3 - 4563 */ { "Water Elemental Form V" }, -/* 0x11d4 - 4564 */ { "Swarm of Decay I" }, -/* 0x11d5 - 4565 */ { "Swarm of Decay II" }, -/* 0x11d6 - 4566 */ { "Swarm of Decay III" }, +/* 0x11d4 - 4564 */ { "Swarm of Decay" }, +/* 0x11d5 - 4565 */ { "Swarm of Decay" }, +/* 0x11d6 - 4566 */ { "Swarm of Decay" }, /* 0x11d7 - 4567 */ { "Aneuk Grasp" }, /* 0x11d8 - 4568 */ { "Call of Discord" }, /* 0x11d9 - 4569 */ { "Call of Chaos" }, @@ -4799,24 +4799,24 @@ /* 0x12b3 - 4787 */ { "Icy Grasp Effect" }, /* 0x12b4 - 4788 */ { "Feral Swipe" }, /* 0x12b5 - 4789 */ { "Touch of the Divine" }, -/* 0x12b6 - 4790 */ { "Exquisite Benediction I" }, -/* 0x12b7 - 4791 */ { "Exquisite Benediction II" }, -/* 0x12b8 - 4792 */ { "Exquisite Benediction III" }, -/* 0x12b9 - 4793 */ { "Exquisite Benediction IV" }, -/* 0x12ba - 4794 */ { "Exquisite Benediction V" }, +/* 0x12b6 - 4790 */ { "Exquisite Benediction" }, +/* 0x12b7 - 4791 */ { "Exquisite Benediction" }, +/* 0x12b8 - 4792 */ { "Exquisite Benediction" }, +/* 0x12b9 - 4793 */ { "Exquisite Benediction" }, +/* 0x12ba - 4794 */ { "Exquisite Benediction" }, /* 0x12bb - 4795 */ { "Aura of Restoration" }, -/* 0x12bc - 4796 */ { "Nature's Boon I" }, -/* 0x12bd - 4797 */ { "Nature's Boon II" }, -/* 0x12be - 4798 */ { "Nature's Boon III" }, -/* 0x12bf - 4799 */ { "Nature's Boon IV" }, -/* 0x12c0 - 4800 */ { "Nature's Boon V" }, +/* 0x12bc - 4796 */ { "Nature's Boon" }, +/* 0x12bd - 4797 */ { "Nature's Boon" }, +/* 0x12be - 4798 */ { "Nature's Boon" }, +/* 0x12bf - 4799 */ { "Nature's Boon" }, +/* 0x12c0 - 4800 */ { "Nature's Boon" }, /* 0x12c1 - 4801 */ { "Doppelganger Recourse" }, -/* 0x12c2 - 4802 */ { "Flames of Kesh`yk I" }, -/* 0x12c3 - 4803 */ { "Flames of Kesh`yk II" }, -/* 0x12c4 - 4804 */ { "Flames of Kesh`yk III" }, -/* 0x12c5 - 4805 */ { "Frost of Kesh`yk I" }, -/* 0x12c6 - 4806 */ { "Frost of Kesh`yk II" }, -/* 0x12c7 - 4807 */ { "Frost of Kesh`yk III" }, +/* 0x12c2 - 4802 */ { "Flaming Arrows" }, +/* 0x12c3 - 4803 */ { "Flaming Arrows" }, +/* 0x12c4 - 4804 */ { "Flaming Arrows" }, +/* 0x12c5 - 4805 */ { "Frost Arrows" }, +/* 0x12c6 - 4806 */ { "Frost Arrows" }, +/* 0x12c7 - 4807 */ { "Frost Arrows" }, /* 0x12c8 - 4808 */ { "Lightning of Kesh`yk I" }, /* 0x12c9 - 4809 */ { "Lightning of Kesh`yk II" }, /* 0x12ca - 4810 */ { "Lightning of Kesh`yk III" }, @@ -4835,27 +4835,27 @@ /* 0x12d7 - 4823 */ { "Rabid Companion Effect I" }, /* 0x12d8 - 4824 */ { "Rabid Companion Effect II" }, /* 0x12d9 - 4825 */ { "Rabid Companion Effect III" }, -/* 0x12da - 4826 */ { "Spirit Call IV" }, -/* 0x12db - 4827 */ { "Spirit Call V" }, -/* 0x12dc - 4828 */ { "Call of the Ancients I" }, -/* 0x12dd - 4829 */ { "Call of the Ancients II" }, -/* 0x12de - 4830 */ { "Call of the Ancients III" }, -/* 0x12df - 4831 */ { "Call of the Ancients IV" }, -/* 0x12e0 - 4832 */ { "Call of the Ancients V" }, +/* 0x12da - 4826 */ { "Spirit Call" }, +/* 0x12db - 4827 */ { "Spirit Call" }, +/* 0x12dc - 4828 */ { "Call of the Ancients" }, +/* 0x12dd - 4829 */ { "Call of the Ancients" }, +/* 0x12de - 4830 */ { "Call of the Ancients" }, +/* 0x12df - 4831 */ { "Call of the Ancients" }, +/* 0x12e0 - 4832 */ { "Call of the Ancients" }, /* 0x12e1 - 4833 */ { "Ro's Flaming Familiar" }, -/* 0x12e2 - 4834 */ { "E`ci's Icy Familiar" }, +/* 0x12e2 - 4834 */ { "E'ci's Icy Familiar" }, /* 0x12e3 - 4835 */ { "Druzzil's Mystical Familiar" }, -/* 0x12e4 - 4836 */ { "Flaming Ward of Ro I" }, -/* 0x12e5 - 4837 */ { "Flaming Ward of Ro II" }, -/* 0x12e6 - 4838 */ { "Flaming Ward of Ro III" }, -/* 0x12e7 - 4839 */ { "Flaming Ward of Ro IV" }, -/* 0x12e8 - 4840 */ { "Flaming Ward of Ro V" }, +/* 0x12e4 - 4836 */ { "Ward of Destruction" }, +/* 0x12e5 - 4837 */ { "Ward of Destruction" }, +/* 0x12e6 - 4838 */ { "Ward of Destruction" }, +/* 0x12e7 - 4839 */ { "Ward of Destruction" }, +/* 0x12e8 - 4840 */ { "Ward of Destruction" }, /* 0x12e9 - 4841 */ { "Aura of Fire" }, -/* 0x12ea - 4842 */ { "Exultant Bellow I" }, -/* 0x12eb - 4843 */ { "Exultant Bellow II" }, -/* 0x12ec - 4844 */ { "Exultant Bellow III" }, -/* 0x12ed - 4845 */ { "Exultant Bellow IV" }, -/* 0x12ee - 4846 */ { "Exultant Bellow V" }, +/* 0x12ea - 4842 */ { "Boastful Bellow" }, +/* 0x12eb - 4843 */ { "Boastful Bellow" }, +/* 0x12ec - 4844 */ { "Boastful Bellow" }, +/* 0x12ed - 4845 */ { "Boastful Bellow" }, +/* 0x12ee - 4846 */ { "Boastful Bellow" }, /* 0x12ef - 4847 */ { "EtherealCleansingSP" }, /* 0x12f0 - 4848 */ { "Malevolent Retribution" }, /* 0x12f1 - 4849 */ { "Heartstopper" }, @@ -4913,7 +4913,7 @@ /* 0x1325 - 4901 */ { "Daluda's Mending" }, /* 0x1326 - 4902 */ { "Mental Horror" }, /* 0x1327 - 4903 */ { "Black Shroud" }, -/* 0x1328 - 4904 */ { "Miasmic spear" }, +/* 0x1328 - 4904 */ { "Miasmic Spear" }, /* 0x1329 - 4905 */ { "Black Ice" }, /* 0x132a - 4906 */ { "White Fire" }, /* 0x132b - 4907 */ { "Telaka" }, @@ -4934,9 +4934,9 @@ /* 0x133a - 4922 */ { "Daluda's Health" }, /* 0x133b - 4923 */ { "Plagued Darkness" }, /* 0x133c - 4924 */ { "Clear Fire" }, -/* 0x133d - 4925 */ { "Warlord's Tenacity I" }, -/* 0x133e - 4926 */ { "Warlord's Tenacity II" }, -/* 0x133f - 4927 */ { "Warlord's Tenacity III" }, +/* 0x133d - 4925 */ { "Warlord's Tenacity" }, +/* 0x133e - 4926 */ { "Warlord's Tenacity" }, +/* 0x133f - 4927 */ { "Warlord's Tenacity" }, /* 0x1340 - 4928 */ { "Leg Strike" }, /* 0x1341 - 4929 */ { "Leg Cut" }, /* 0x1342 - 4930 */ { "Leg Slice" }, @@ -5119,11 +5119,11 @@ /* 0x13f3 - 5107 */ { "Tainted Axe of Hatred" }, /* 0x13f4 - 5108 */ { "Discordant Healing" }, /* 0x13f5 - 5109 */ { "Discordant Health" }, -/* 0x13f6 - 5110 */ { "Wrath of Xuzl I" }, -/* 0x13f7 - 5111 */ { "Wrath of Xuzl II" }, -/* 0x13f8 - 5112 */ { "Improved Hand of Piety I" }, -/* 0x13f9 - 5113 */ { "Improved Hand of Piety II" }, -/* 0x13fa - 5114 */ { "Improved Hand of Piety III" }, +/* 0x13f6 - 5110 */ { "Call of Xuzl" }, +/* 0x13f7 - 5111 */ { "Call of Xuzl" }, +/* 0x13f8 - 5112 */ { "Hand of Piety" }, +/* 0x13f9 - 5113 */ { "Hand of Piety" }, +/* 0x13fa - 5114 */ { "Hand of Piety" }, /* 0x13fb - 5115 */ { "Destructive Will" }, /* 0x13fc - 5116 */ { "Afterthoughts of Anger" }, /* 0x13fd - 5117 */ { "Wave of Fury" }, @@ -5236,27 +5236,27 @@ /* 0x1468 - 5224 */ { "Temperance SP" }, /* 0x1469 - 5225 */ { "Throw Stone" }, /* 0x146a - 5226 */ { "Arias' Guard" }, -/* 0x146b - 5227 */ { "Illusion Other" }, +/* 0x146b - 5227 */ { "Project Illusion" }, /* 0x146c - 5228 */ { "Mass Group Buff" }, -/* 0x146d - 5229 */ { "War Cry 1" }, -/* 0x146e - 5230 */ { "War Cry 2" }, -/* 0x146f - 5231 */ { "War Cry 3" }, +/* 0x146d - 5229 */ { "War Cry" }, +/* 0x146e - 5230 */ { "War Cry" }, +/* 0x146f - 5231 */ { "War Cry" }, /* 0x1470 - 5232 */ { "Purge Poison" }, /* 0x1471 - 5233 */ { "Rampage" }, -/* 0x1472 - 5234 */ { "AE Taunt" }, -/* 0x1473 - 5235 */ { "Pet Shield 1" }, -/* 0x1474 - 5236 */ { "Pet Shield 2" }, -/* 0x1475 - 5237 */ { "Pet Shield 3" }, -/* 0x1476 - 5238 */ { "Pet Shield 4" }, -/* 0x1477 - 5239 */ { "Pet Shield 5" }, -/* 0x1478 - 5240 */ { "AE Melee 1" }, -/* 0x1479 - 5241 */ { "AE Melee 2" }, -/* 0x147a - 5242 */ { "AE Melee 3" }, +/* 0x1472 - 5234 */ { "Area Taunt" }, +/* 0x1473 - 5235 */ { "Shared Health" }, +/* 0x1474 - 5236 */ { "Shared Health" }, +/* 0x1475 - 5237 */ { "Shared Health" }, +/* 0x1476 - 5238 */ { "Shared Health" }, +/* 0x1477 - 5239 */ { "Shared Health" }, +/* 0x1478 - 5240 */ { "Destructive Force" }, +/* 0x1479 - 5241 */ { "Destructive Force" }, +/* 0x147a - 5242 */ { "Destructive Force" }, /* 0x147b - 5243 */ { "Fading Memories" }, /* 0x147c - 5244 */ { "Escape" }, -/* 0x147d - 5245 */ { "Frenzied Devastation 1" }, -/* 0x147e - 5246 */ { "Frenzied Devastation 2" }, -/* 0x147f - 5247 */ { "Frenzied Devastation 3" }, +/* 0x147d - 5245 */ { "Frenzied Devastation" }, +/* 0x147e - 5246 */ { "Frenzied Devastation" }, +/* 0x147f - 5247 */ { "Frenzied Devastation" }, /* 0x1480 - 5248 */ { "Purification" }, /* 0x1481 - 5249 */ { "Resurrection Effects" }, /* 0x1482 - 5250 */ { "Confidence" }, @@ -5834,11 +5834,11 @@ /* 0x16be - 5822 */ { "Reflective Sheen" }, /* 0x16bf - 5823 */ { "Whipping Dust" }, /* 0x16c0 - 5824 */ { "Origin" }, -/* 0x16c1 - 5825 */ { "Fortified Bellowing" }, -/* 0x16c2 - 5826 */ { "Fortified Bellowing" }, -/* 0x16c3 - 5827 */ { "Fortified Bellowing" }, -/* 0x16c4 - 5828 */ { "Fortified Bellowing" }, -/* 0x16c5 - 5829 */ { "Fortified Bellowing" }, +/* 0x16c1 - 5825 */ { "Boastful Bellow" }, +/* 0x16c2 - 5826 */ { "Boastful Bellow" }, +/* 0x16c3 - 5827 */ { "Boastful Bellow" }, +/* 0x16c4 - 5828 */ { "Boastful Bellow" }, +/* 0x16c5 - 5829 */ { "Boastful Bellow" }, /* 0x16c6 - 5830 */ { "Dance of Blades" }, /* 0x16c7 - 5831 */ { "Dance of Blades" }, /* 0x16c8 - 5832 */ { "Dance of Blades" }, @@ -5863,26 +5863,26 @@ /* 0x16db - 5851 */ { "Suspension of Slime" }, /* 0x16dc - 5852 */ { "Suspension of Pestilence" }, /* 0x16dd - 5853 */ { "Desperation" }, -/* 0x16de - 5854 */ { "Perfection of Spirit" }, -/* 0x16df - 5855 */ { "Perfection of Spirit" }, -/* 0x16e0 - 5856 */ { "Perfection of Spirit" }, +/* 0x16de - 5854 */ { "Paragon of Spirit" }, +/* 0x16df - 5855 */ { "Paragon of Spirit" }, +/* 0x16e0 - 5856 */ { "Paragon of Spirit" }, /* 0x16e1 - 5857 */ { "Blood Pact" }, /* 0x16e2 - 5858 */ { "Blood Pact" }, /* 0x16e3 - 5859 */ { "Blood Pact" }, -/* 0x16e4 - 5860 */ { "Resplendent Cure" }, -/* 0x16e5 - 5861 */ { "Resplendent Cure" }, -/* 0x16e6 - 5862 */ { "Resplendent Cure" }, +/* 0x16e4 - 5860 */ { "Radiant Cure" }, +/* 0x16e5 - 5861 */ { "Radiant Cure" }, +/* 0x16e6 - 5862 */ { "Radiant Cure" }, /* 0x16e7 - 5863 */ { "Celestial Hammer" }, /* 0x16e8 - 5864 */ { "Celestial Hammer" }, /* 0x16e9 - 5865 */ { "Celestial Hammer" }, /* 0x16ea - 5866 */ { "Divine Retribution" }, -/* 0x16eb - 5867 */ { "Suspension of Flame" }, -/* 0x16ec - 5868 */ { "Suspension of Frost" }, -/* 0x16ed - 5869 */ { "Celestial Rejuvenation" }, -/* 0x16ee - 5870 */ { "Celestial Rejuvenation" }, -/* 0x16ef - 5871 */ { "Fervent Benediction" }, -/* 0x16f0 - 5872 */ { "Fervent Benediction" }, -/* 0x16f1 - 5873 */ { "Fervent Benediction" }, +/* 0x16eb - 5867 */ { "Strike of Flame" }, +/* 0x16ec - 5868 */ { "Strike of Frost" }, +/* 0x16ed - 5869 */ { "Celestial Regeneration" }, +/* 0x16ee - 5870 */ { "Celestial Regeneration" }, +/* 0x16ef - 5871 */ { "Exquisite Benediction" }, +/* 0x16f0 - 5872 */ { "Exquisite Benediction" }, +/* 0x16f1 - 5873 */ { "Exquisite Benediction" }, /* 0x16f2 - 5874 */ { "Advanced Dire Charm" }, /* 0x16f3 - 5875 */ { "Advanced Dire Charm Animal" }, /* 0x16f4 - 5876 */ { "Advanced Dire Charm Undead" }, @@ -5890,9 +5890,9 @@ /* 0x16f6 - 5878 */ { "Boon of the Forest" }, /* 0x16f7 - 5879 */ { "Boon of the Forest" }, /* 0x16f8 - 5880 */ { "Call of the Wild" }, -/* 0x16f9 - 5881 */ { "Spirit of the Grove" }, -/* 0x16fa - 5882 */ { "Spirit of the Grove" }, -/* 0x16fb - 5883 */ { "Spirit of the Grove" }, +/* 0x16f9 - 5881 */ { "Spirit of the Wood" }, +/* 0x16fa - 5882 */ { "Spirit of the Wood" }, +/* 0x16fb - 5883 */ { "Spirit of the Wood" }, /* 0x16fc - 5884 */ { "Adept's Standard of Benefit Conservation II" }, /* 0x16fd - 5885 */ { "Adept's Standard of Benefit Conservation III" }, /* 0x16fe - 5886 */ { "Adept's Standard of Benefit Conservation IV" }, @@ -5913,8 +5913,8 @@ /* 0x170d - 5901 */ { "Rune of Discord" }, /* 0x170e - 5902 */ { "Rune of Discord" }, /* 0x170f - 5903 */ { "Color Shock" }, -/* 0x1710 - 5904 */ { "Suspension of Crystal" }, -/* 0x1711 - 5905 */ { "Suspension of Toxin" }, +/* 0x1710 - 5904 */ { "Strike of Crystal" }, +/* 0x1711 - 5905 */ { "Strike of Toxin" }, /* 0x1712 - 5906 */ { "Mind Over Matter" }, /* 0x1713 - 5907 */ { "Mind Over Matter" }, /* 0x1714 - 5908 */ { "Mind Over Matter" }, @@ -5926,29 +5926,29 @@ /* 0x171a - 5914 */ { "Heart of Stone" }, /* 0x171b - 5915 */ { "Heart of Flame" }, /* 0x171c - 5916 */ { "Heart of Ice" }, -/* 0x171d - 5917 */ { "Suspension of Contagion" }, +/* 0x171d - 5917 */ { "Strike of Contagion" }, /* 0x171e - 5918 */ { "Imitate Death" }, /* 0x171f - 5919 */ { "Death Peace" }, /* 0x1720 - 5920 */ { "Distillate of Regeneration" }, /* 0x1721 - 5921 */ { "Army of the Dead" }, /* 0x1722 - 5922 */ { "Army of the Dead" }, /* 0x1723 - 5923 */ { "Army of the Dead" }, -/* 0x1724 - 5924 */ { "Celestial Stun" }, +/* 0x1724 - 5924 */ { "Divine Stun" }, /* 0x1725 - 5925 */ { "Sullon's Wrath" }, /* 0x1726 - 5926 */ { "Sullon's Ferocity" }, -/* 0x1727 - 5927 */ { "Hand of Devotion" }, -/* 0x1728 - 5928 */ { "Hand of Devotion" }, -/* 0x1729 - 5929 */ { "Hand of Devotion" }, +/* 0x1727 - 5927 */ { "Hand of Piety" }, +/* 0x1728 - 5928 */ { "Hand of Piety" }, +/* 0x1729 - 5929 */ { "Hand of Piety" }, /* 0x172a - 5930 */ { "Shadow Meld" }, /* 0x172b - 5931 */ { "Embrace of Shadows" }, /* 0x172c - 5932 */ { "Spiritual Channeling" }, /* 0x172d - 5933 */ { "Ancestral Aid" }, /* 0x172e - 5934 */ { "Ancestral Aid" }, /* 0x172f - 5935 */ { "Ancestral Aid" }, -/* 0x1730 - 5936 */ { "Resolute Defiance" }, -/* 0x1731 - 5937 */ { "Resolute Defiance" }, -/* 0x1732 - 5938 */ { "Resolute Defiance" }, -/* 0x1733 - 5939 */ { "Press The Attack" }, +/* 0x1730 - 5936 */ { "Warlord's Tenacity" }, +/* 0x1731 - 5937 */ { "Warlord's Tenacity" }, +/* 0x1732 - 5938 */ { "Warlord's Tenacity" }, +/* 0x1733 - 5939 */ { "Press the Attack" }, /* 0x1734 - 5940 */ { "Apprentice's Standard of Alacrity III" }, /* 0x1735 - 5941 */ { "Apprentice's Standard of Alacrity IV" }, /* 0x1736 - 5942 */ { "Neophyte's Standard of Alacrity I" }, @@ -5958,10 +5958,10 @@ /* 0x173a - 5946 */ { "Prolonged Destruction" }, /* 0x173b - 5947 */ { "Prolonged Destruction" }, /* 0x173c - 5948 */ { "Prolonged Destruction" }, -/* 0x173d - 5949 */ { "Devoted Familiar" }, -/* 0x173e - 5950 */ { "Ro's Greater Familiar" }, -/* 0x173f - 5951 */ { "E`ci's Greater Familiar" }, -/* 0x1740 - 5952 */ { "Druzzil's Greater Familiar" }, +/* 0x173d - 5949 */ { "Improved Familiar" }, +/* 0x173e - 5950 */ { "Ro's Flaming Familiar" }, +/* 0x173f - 5951 */ { "E'ci's Icy Familiar" }, +/* 0x1740 - 5952 */ { "Druzzil's Mystical Familiar" }, /* 0x1741 - 5953 */ { "Teleport Bind" }, /* 0x1742 - 5954 */ { "Neophyte's Standard of Alacrity II" }, /* 0x1743 - 5955 */ { "Neophyte's Standard of Alacrity III" }, @@ -5997,7 +5997,7 @@ /* 0x1761 - 5985 */ { "Blood Pact Recourse" }, /* 0x1762 - 5986 */ { "Blood Pact Recourse" }, /* 0x1763 - 5987 */ { "Divine Retribution" }, -/* 0x1764 - 5988 */ { "Celestial Rejuvenation" }, +/* 0x1764 - 5988 */ { "Celestial Regeneration" }, /* 0x1765 - 5989 */ { "Gloom Toxin" }, /* 0x1766 - 5990 */ { "Shade Mantle" }, /* 0x1767 - 5991 */ { "Binding Cloud" }, @@ -6039,9 +6039,9 @@ /* 0x178b - 6027 */ { "Chaotica" }, /* 0x178c - 6028 */ { "Seething Bite" }, /* 0x178d - 6029 */ { "Sinking Fangs" }, -/* 0x178e - 6030 */ { "Boon of the Ancients" }, -/* 0x178f - 6031 */ { "Boon of the Ancients" }, -/* 0x1790 - 6032 */ { "Boon of the Ancients" }, +/* 0x178e - 6030 */ { "Call of the Ancients" }, +/* 0x178f - 6031 */ { "Call of the Ancients" }, +/* 0x1790 - 6032 */ { "Call of the Ancients" }, /* 0x1791 - 6033 */ { "Color Shock" }, /* 0x1792 - 6034 */ { "Touch of the Cursed I" }, /* 0x1793 - 6035 */ { "Touch of the Cursed II" }, @@ -6088,9 +6088,9 @@ /* 0x17bc - 6076 */ { "Apprentice's Standard of Benefit Alacrity III" }, /* 0x17bd - 6077 */ { "Apprentice's Standard of Benefit Alacrity IV" }, /* 0x17be - 6078 */ { "Neophyte's Standard of Benefit Alacrity I" }, -/* 0x17bf - 6079 */ { "Guardian of the Glade" }, -/* 0x17c0 - 6080 */ { "Guardian of the Glade" }, -/* 0x17c1 - 6081 */ { "Guardian of the Glade" }, +/* 0x17bf - 6079 */ { "Guardian of the Forest" }, +/* 0x17c0 - 6080 */ { "Guardian of the Forest" }, +/* 0x17c1 - 6081 */ { "Guardian of the Forest" }, /* 0x17c2 - 6082 */ { "Neophyte's Standard of Benefit Alacrity II" }, /* 0x17c3 - 6083 */ { "Neophyte's Standard of Benefit Alacrity III" }, /* 0x17c4 - 6084 */ { "Neophyte's Standard of Benefit Alacrity IV" }, @@ -6235,9 +6235,9 @@ /* 0x184f - 6223 */ { "Rift of Grobb" }, /* 0x1850 - 6224 */ { "Rift of Cabeast" }, /* 0x1851 - 6225 */ { "Rift of Draniksscar" }, -/* 0x1852 - 6226 */ { "Elemental Swarm" }, -/* 0x1853 - 6227 */ { "Elemental Swarm" }, -/* 0x1854 - 6228 */ { "Elemental Swarm" }, +/* 0x1852 - 6226 */ { "Host of the Elements" }, +/* 0x1853 - 6227 */ { "Host of the Elements" }, +/* 0x1854 - 6228 */ { "Host of the Elements" }, /* 0x1855 - 6229 */ { "Double Attack Tribute I" }, /* 0x1856 - 6230 */ { "Double Attack Tribute II" }, /* 0x1857 - 6231 */ { "Double Attack Tribute III" }, @@ -6847,7 +6847,7 @@ /* 0x1ab3 - 6835 */ { "Ancient Plague" }, /* 0x1ab4 - 6836 */ { "Savil's Time Portal" }, /* 0x1ab5 - 6837 */ { "Kessdona's Roar" }, -/* 0x1ab6 - 6838 */ { "Fear" }, +/* 0x1ab6 - 6838 */ { "Intimidation" }, /* 0x1ab7 - 6839 */ { "Static Strike" }, /* 0x1ab8 - 6840 */ { "Firestrike" }, /* 0x1ab9 - 6841 */ { "Bolt of Flame" }, @@ -6894,7 +6894,7 @@ /* 0x1ae2 - 6882 */ { "Chaotic Jester" }, /* 0x1ae3 - 6883 */ { "Expedient Recovery" }, /* 0x1ae4 - 6884 */ { "Steadfast Servant" }, -/* 0x1ae5 - 6885 */ { "Ardent Renewal" }, +/* 0x1ae5 - 6885 */ { "Staunch Recovery" }, /* 0x1ae6 - 6886 */ { "Intensity of the Resolute" }, /* 0x1ae7 - 6887 */ { "Ithiasor's Aura" }, /* 0x1ae8 - 6888 */ { "Putrid Cloud of Decay" }, @@ -7189,9 +7189,9 @@ /* 0x1c09 - 7177 */ { "Blind Fury I" }, /* 0x1c0a - 7178 */ { "Blind Fury II" }, /* 0x1c0b - 7179 */ { "Blind Fury III" }, -/* 0x1c0c - 7180 */ { "Orc Smash I" }, -/* 0x1c0d - 7181 */ { "Orc Smash II" }, -/* 0x1c0e - 7182 */ { "Orc Smash III" }, +/* 0x1c0c - 7180 */ { "Smash I" }, +/* 0x1c0d - 7181 */ { "Smash II" }, +/* 0x1c0e - 7182 */ { "Smash III" }, /* 0x1c0f - 7183 */ { "Blood Rage I" }, /* 0x1c10 - 7184 */ { "Blood Rage II" }, /* 0x1c11 - 7185 */ { "Blood Rage III" }, @@ -7220,11 +7220,11 @@ /* 0x1c28 - 7208 */ { "Arachnae Scream" }, /* 0x1c29 - 7209 */ { "Voice of Vule" }, /* 0x1c2a - 7210 */ { "Speed of the Spider" }, -/* 0x1c2b - 7211 */ { "Skinwalker's Mindwave" }, +/* 0x1c2b - 7211 */ { "Skinwalker's Mindreave" }, /* 0x1c2c - 7212 */ { "Dire Musings" }, /* 0x1c2d - 7213 */ { "Thoughtraze" }, /* 0x1c2e - 7214 */ { "Dark Messenger" }, -/* 0x1c2f - 7215 */ { "Bite of Night" }, +/* 0x1c2f - 7215 */ { "Bite of the Night" }, /* 0x1c30 - 7216 */ { "Chanted Doom" }, /* 0x1c31 - 7217 */ { "Vile Spirit" }, /* 0x1c32 - 7218 */ { "Spiteful Hex" }, @@ -7465,30 +7465,30 @@ /* 0x1d1d - 7453 */ { "Thunder XII" }, /* 0x1d1e - 7454 */ { "Thunder XIII" }, /* 0x1d1f - 7455 */ { "Thunder XIV" }, -/* 0x1d20 - 7456 */ { "Enraging Bellow I" }, -/* 0x1d21 - 7457 */ { "Enraging Bellow II" }, -/* 0x1d22 - 7458 */ { "Enraging Bellow III" }, -/* 0x1d23 - 7459 */ { "Enraging Bellow IV" }, -/* 0x1d24 - 7460 */ { "Enraging Bellow V" }, +/* 0x1d20 - 7456 */ { "Enraging Bellow" }, +/* 0x1d21 - 7457 */ { "Enraging Bellow" }, +/* 0x1d22 - 7458 */ { "Enraging Bellow" }, +/* 0x1d23 - 7459 */ { "Enraging Bellow" }, +/* 0x1d24 - 7460 */ { "Enraging Bellow" }, /* 0x1d25 - 7461 */ { "Beta Raid Token" }, /* 0x1d26 - 7462 */ { "Curse of the Lich" }, /* 0x1d27 - 7463 */ { "Draygun's Touch" }, /* 0x1d28 - 7464 */ { "General's Charge" }, -/* 0x1d29 - 7465 */ { "Smoke Bomb I" }, -/* 0x1d2a - 7466 */ { "Smoke Bomb II" }, -/* 0x1d2b - 7467 */ { "Smoke Bomb III" }, -/* 0x1d2c - 7468 */ { "Smoke Bomb IV" }, -/* 0x1d2d - 7469 */ { "Smoke Bomb V" }, -/* 0x1d2e - 7470 */ { "Smoke Bomb VI" }, -/* 0x1d2f - 7471 */ { "Smoke Bomb VII" }, -/* 0x1d30 - 7472 */ { "Smoke Bomb VIII" }, -/* 0x1d31 - 7473 */ { "Smoke Bomb IX" }, -/* 0x1d32 - 7474 */ { "Smoke Bomb X" }, +/* 0x1d29 - 7465 */ { "Goblin Smoke Bomb I" }, +/* 0x1d2a - 7466 */ { "Goblin Smoke Bomb II" }, +/* 0x1d2b - 7467 */ { "Goblin Smoke Bomb III" }, +/* 0x1d2c - 7468 */ { "Goblin Smoke Bomb IV" }, +/* 0x1d2d - 7469 */ { "Goblin Smoke Bomb V" }, +/* 0x1d2e - 7470 */ { "Goblin Smoke Bomb VI" }, +/* 0x1d2f - 7471 */ { "Goblin Smoke Bomb VII" }, +/* 0x1d30 - 7472 */ { "Goblin Smoke Bomb VIII" }, +/* 0x1d31 - 7473 */ { "Goblin Smoke Bomb IX" }, +/* 0x1d32 - 7474 */ { "Goblin Smoke Bomb X" }, /* 0x1d33 - 7475 */ { "Smoke Screen" }, /* 0x1d34 - 7476 */ { "Pain Tolerance" }, /* 0x1d35 - 7477 */ { "Cazic Touch II" }, /* 0x1d36 - 7478 */ { "Destroy II" }, -/* 0x1d37 - 7479 */ { "Ghost's Vengeance Strike" }, +/* 0x1d37 - 7479 */ { "Shadow Wave" }, /* 0x1d38 - 7480 */ { "Ghost's Vengeance Doom" }, /* 0x1d39 - 7481 */ { "Hamstring I" }, /* 0x1d3a - 7482 */ { "Hamstring II" }, @@ -7628,88 +7628,88 @@ /* 0x1dc0 - 7616 */ { "Standard of Faerune" }, /* 0x1dc1 - 7617 */ { "Standard of the Dead Man" }, /* 0x1dc2 - 7618 */ { "Fellowship Calling" }, -/* 0x1dc3 = 7619 */ { NULL, }, -/* 0x1dc4 = 7620 */ { NULL, }, -/* 0x1dc5 = 7621 */ { NULL, }, -/* 0x1dc6 = 7622 */ { NULL, }, -/* 0x1dc7 = 7623 */ { NULL, }, -/* 0x1dc8 = 7624 */ { NULL, }, -/* 0x1dc9 = 7625 */ { NULL, }, -/* 0x1dca = 7626 */ { NULL, }, -/* 0x1dcb = 7627 */ { NULL, }, -/* 0x1dcc = 7628 */ { NULL, }, -/* 0x1dcd = 7629 */ { NULL, }, -/* 0x1dce = 7630 */ { NULL, }, -/* 0x1dcf = 7631 */ { NULL, }, -/* 0x1dd0 = 7632 */ { NULL, }, -/* 0x1dd1 = 7633 */ { NULL, }, -/* 0x1dd2 = 7634 */ { NULL, }, -/* 0x1dd3 = 7635 */ { NULL, }, -/* 0x1dd4 = 7636 */ { NULL, }, -/* 0x1dd5 = 7637 */ { NULL, }, -/* 0x1dd6 = 7638 */ { NULL, }, -/* 0x1dd7 = 7639 */ { NULL, }, -/* 0x1dd8 = 7640 */ { NULL, }, -/* 0x1dd9 = 7641 */ { NULL, }, -/* 0x1dda = 7642 */ { NULL, }, -/* 0x1ddb = 7643 */ { NULL, }, -/* 0x1ddc = 7644 */ { NULL, }, -/* 0x1ddd = 7645 */ { NULL, }, -/* 0x1dde = 7646 */ { NULL, }, -/* 0x1ddf = 7647 */ { NULL, }, -/* 0x1de0 = 7648 */ { NULL, }, -/* 0x1de1 = 7649 */ { NULL, }, -/* 0x1de2 = 7650 */ { NULL, }, -/* 0x1de3 = 7651 */ { NULL, }, -/* 0x1de4 = 7652 */ { NULL, }, -/* 0x1de5 = 7653 */ { NULL, }, -/* 0x1de6 = 7654 */ { NULL, }, -/* 0x1de7 = 7655 */ { NULL, }, -/* 0x1de8 = 7656 */ { NULL, }, -/* 0x1de9 = 7657 */ { NULL, }, -/* 0x1dea = 7658 */ { NULL, }, -/* 0x1deb = 7659 */ { NULL, }, -/* 0x1dec = 7660 */ { NULL, }, -/* 0x1ded = 7661 */ { NULL, }, -/* 0x1dee = 7662 */ { NULL, }, -/* 0x1def = 7663 */ { NULL, }, -/* 0x1df0 = 7664 */ { NULL, }, -/* 0x1df1 = 7665 */ { NULL, }, -/* 0x1df2 = 7666 */ { NULL, }, -/* 0x1df3 = 7667 */ { NULL, }, -/* 0x1df4 = 7668 */ { NULL, }, -/* 0x1df5 = 7669 */ { NULL, }, -/* 0x1df6 = 7670 */ { NULL, }, -/* 0x1df7 = 7671 */ { NULL, }, -/* 0x1df8 = 7672 */ { NULL, }, -/* 0x1df9 = 7673 */ { NULL, }, -/* 0x1dfa = 7674 */ { NULL, }, -/* 0x1dfb = 7675 */ { NULL, }, -/* 0x1dfc = 7676 */ { NULL, }, -/* 0x1dfd = 7677 */ { NULL, }, -/* 0x1dfe = 7678 */ { NULL, }, -/* 0x1dff = 7679 */ { NULL, }, -/* 0x1e00 = 7680 */ { NULL, }, -/* 0x1e01 = 7681 */ { NULL, }, -/* 0x1e02 = 7682 */ { NULL, }, -/* 0x1e03 = 7683 */ { NULL, }, -/* 0x1e04 = 7684 */ { NULL, }, -/* 0x1e05 = 7685 */ { NULL, }, -/* 0x1e06 = 7686 */ { NULL, }, -/* 0x1e07 = 7687 */ { NULL, }, -/* 0x1e08 = 7688 */ { NULL, }, -/* 0x1e09 = 7689 */ { NULL, }, -/* 0x1e0a = 7690 */ { NULL, }, -/* 0x1e0b = 7691 */ { NULL, }, -/* 0x1e0c = 7692 */ { NULL, }, -/* 0x1e0d = 7693 */ { NULL, }, -/* 0x1e0e = 7694 */ { NULL, }, -/* 0x1e0f = 7695 */ { NULL, }, -/* 0x1e10 = 7696 */ { NULL, }, -/* 0x1e11 = 7697 */ { NULL, }, -/* 0x1e12 = 7698 */ { NULL, }, -/* 0x1e13 = 7699 */ { NULL, }, -/* 0x1e14 = 7700 */ { NULL, }, +/* 0x1dc3 - 7619 */ { "Armor of Experience" }, +/* 0x1dc4 - 7620 */ { "Armor of Experience II" }, +/* 0x1dc5 - 7621 */ { "Armor of Experience III" }, +/* 0x1dc6 - 7622 */ { "Armor of Experience IV" }, +/* 0x1dc7 - 7623 */ { "Jet of Flame" }, +/* 0x1dc8 - 7624 */ { "Jet of Flame" }, +/* 0x1dc9 - 7625 */ { "Power Drain" }, +/* 0x1dca - 7626 */ { "Power Drain" }, +/* 0x1dcb - 7627 */ { "Parts Storm" }, +/* 0x1dcc - 7628 */ { "Parts Storm" }, +/* 0x1dcd - 7629 */ { "Oil Slick" }, +/* 0x1dce - 7630 */ { "Static Bolt" }, +/* 0x1dcf - 7631 */ { "Static Bolt" }, +/* 0x1dd0 - 7632 */ { "Corrupted Oil" }, +/* 0x1dd1 - 7633 */ { "Corrupted Oil" }, +/* 0x1dd2 - 7634 */ { "Corrupted Oil" }, +/* 0x1dd3 - 7635 */ { "Corrupted Oil" }, +/* 0x1dd4 - 7636 */ { "Static Shielding" }, +/* 0x1dd5 - 7637 */ { "Static Shielding" }, +/* 0x1dd6 - 7638 */ { "Explosion" }, +/* 0x1dd7 - 7639 */ { "Small Explosion" }, +/* 0x1dd8 - 7640 */ { "Sonic Dissonance" }, +/* 0x1dd9 - 7641 */ { "Sonic Dissonance" }, +/* 0x1dda - 7642 */ { "Static Shock" }, +/* 0x1ddb - 7643 */ { "Static Shock" }, +/* 0x1ddc - 7644 */ { "Brownie Poison" }, +/* 0x1ddd - 7645 */ { "Brownie Poison" }, +/* 0x1dde - 7646 */ { "Boiling Oil" }, +/* 0x1ddf - 7647 */ { "Cleaning Fluid" }, +/* 0x1de0 - 7648 */ { "Cleaning Fluid" }, +/* 0x1de1 - 7649 */ { "Clockwork Poison" }, +/* 0x1de2 - 7650 */ { "Blast of Steam" }, +/* 0x1de3 - 7651 */ { "Use Ability" }, +/* 0x1de4 - 7652 */ { "Use Ability" }, +/* 0x1de5 - 7653 */ { "Use Ability" }, +/* 0x1de6 - 7654 */ { "Benefit Awareness VI" }, +/* 0x1de7 - 7655 */ { "Benefit Awareness VII" }, +/* 0x1de8 - 7656 */ { "Cold Awareness VI" }, +/* 0x1de9 - 7657 */ { "Cold Awareness VII" }, +/* 0x1dea - 7658 */ { "Disease Awareness VI" }, +/* 0x1deb - 7659 */ { "Disease Awareness VII" }, +/* 0x1dec - 7660 */ { "Heat Awareness VI" }, +/* 0x1ded - 7661 */ { "Heat Awareness VII" }, +/* 0x1dee - 7662 */ { "Magic Awareness VI" }, +/* 0x1def - 7663 */ { "Magic Awareness VII" }, +/* 0x1df0 - 7664 */ { "Poison Awareness VI" }, +/* 0x1df1 - 7665 */ { "Poison Awareness VII" }, +/* 0x1df2 - 7666 */ { "Distance Awareness VI" }, +/* 0x1df3 - 7667 */ { "Distance Awareness VII" }, +/* 0x1df4 - 7668 */ { "Efficiency Awareness VI" }, +/* 0x1df5 - 7669 */ { "Efficiency Awareness VII" }, +/* 0x1df6 - 7670 */ { "Regeneration Awareness VI" }, +/* 0x1df7 - 7671 */ { "Regeneration Awareness VII" }, +/* 0x1df8 - 7672 */ { "Ghost's Vengeance Strike" }, +/* 0x1df9 - 7673 */ { "Ghost's Vengeance Strike SK" }, +/* 0x1dfa - 7674 */ { "Focus Primitive Spellcaster's Empowering Essence" }, +/* 0x1dfb - 7675 */ { "Focus Rudimentary Spellcaster's Empowering Essence" }, +/* 0x1dfc - 7676 */ { "Focus Crude Spellcaster's Empowering Essence" }, +/* 0x1dfd - 7677 */ { "Focus Makeshift Spellcaster's Empowering Essence" }, +/* 0x1dfe - 7678 */ { "Focus Elementary Spellcaster's Empowering Essence" }, +/* 0x1dff - 7679 */ { "Focus Modest Spellcaster's Empowering Essence" }, +/* 0x1e00 - 7680 */ { "Focus Simple Spellcaster's Empowering Essence" }, +/* 0x1e01 - 7681 */ { "Focus Spellcaster's Empowering Essence" }, +/* 0x1e02 - 7682 */ { "Focus Refined Spellcaster's Empowering Essence" }, +/* 0x1e03 - 7683 */ { "Focus Intricate Spellcaster's Empowering Essence" }, +/* 0x1e04 - 7684 */ { "Focus Elaborate Spellcaster's Empowering Essence" }, +/* 0x1e05 - 7685 */ { "Focus Ornate Spellcaster's Empowering Essence" }, +/* 0x1e06 - 7686 */ { "Focus Runed Spellcaster's Empowering Essence" }, +/* 0x1e07 - 7687 */ { "Focus Mass Primitive Spellcaster's Empowering Essence" }, +/* 0x1e08 - 7688 */ { "Focus Mass Rudimentary Spellcaster's Empowering Essence" }, +/* 0x1e09 - 7689 */ { "Focus Mass Crude Spellcaster's Empowering Essence" }, +/* 0x1e0a - 7690 */ { "Focus Mass Makeshift Spellcaster's Empowering Essence" }, +/* 0x1e0b - 7691 */ { "Focus Mass Elementary Spellcaster's Empowering Essence" }, +/* 0x1e0c - 7692 */ { "Focus Mass Modest Spellcaster's Empowering Essence" }, +/* 0x1e0d - 7693 */ { "Focus Mass Simple Spellcaster's Empowering Essence" }, +/* 0x1e0e - 7694 */ { "Focus Mass Spellcaster's Empowering Essence" }, +/* 0x1e0f - 7695 */ { "Focus Mass Refined Spellcaster's Empowering Essence" }, +/* 0x1e10 - 7696 */ { "Focus Mass Intricate Spellcaster's Empowering Essence" }, +/* 0x1e11 - 7697 */ { "Focus Mass Elaborate Spellcaster's Empowering Essence" }, +/* 0x1e12 - 7698 */ { "Focus Mass Ornate Spellcaster's Empowering Essence" }, +/* 0x1e13 - 7699 */ { "Focus Mass Runed Spellcaster's Empowering Essence" }, +/* 0x1e14 - 7700 */ { "Midnight Oil" }, /* 0x1e15 - 7701 */ { "Weakening Roots" }, /* 0x1e16 - 7702 */ { "Root Rage" }, /* 0x1e17 - 7703 */ { "Fungal Rejuvenation" }, @@ -7717,7 +7717,7 @@ /* 0x1e19 - 7705 */ { "Fungal Coat" }, /* 0x1e1a - 7706 */ { "Spore Shower" }, /* 0x1e1b - 7707 */ { "Spore Yaulp" }, -/* 0x1e1c - 7708 */ { "Diseased Sporelings" }, +/* 0x1e1c - 7708 */ { "Diseased Sporeling" }, /* 0x1e1d - 7709 */ { "Fairy Freeze" }, /* 0x1e1e - 7710 */ { "Fairy Fire" }, /* 0x1e1f - 7711 */ { "Fairy Fright" }, @@ -7740,15 +7740,15 @@ /* 0x1e30 - 7728 */ { "Bloodeye's Bellow" }, /* 0x1e31 - 7729 */ { "Stealth" }, /* 0x1e32 - 7730 */ { "Striking Wind" }, -/* 0x1e33 = 7731 */ { NULL, }, -/* 0x1e34 = 7732 */ { NULL, }, -/* 0x1e35 = 7733 */ { NULL, }, -/* 0x1e36 = 7734 */ { NULL, }, -/* 0x1e37 = 7735 */ { NULL, }, -/* 0x1e38 = 7736 */ { NULL, }, -/* 0x1e39 = 7737 */ { NULL, }, -/* 0x1e3a = 7738 */ { NULL, }, -/* 0x1e3b = 7739 */ { NULL, }, +/* 0x1e33 - 7731 */ { "Enchant Palladium" }, +/* 0x1e34 - 7732 */ { "Enchant Dwerium" }, +/* 0x1e35 - 7733 */ { "Mass Enchant Palladium" }, +/* 0x1e36 - 7734 */ { "Mass Enchant Dwerium" }, +/* 0x1e37 - 7735 */ { "Air Blast" }, +/* 0x1e38 - 7736 */ { "Air Blast of the Collector" }, +/* 0x1e39 - 7737 */ { "Life Lure" }, +/* 0x1e3a - 7738 */ { "Life Lure of the Collector" }, +/* 0x1e3b - 7739 */ { "Release of Steam" }, /* 0x1e3c - 7740 */ { "Confining Web" }, /* 0x1e3d - 7741 */ { "Explosive Poison" }, /* 0x1e3e - 7742 */ { "Holding Strands" }, @@ -7800,15 +7800,15 @@ /* 0x1e6c - 7788 */ { "Mana Bolt XIII" }, /* 0x1e6d - 7789 */ { "Mana Bolt XIV" }, /* 0x1e6e - 7790 */ { "Spirit Sending" }, -/* 0x1e6f = 7791 */ { NULL, }, -/* 0x1e70 = 7792 */ { NULL, }, -/* 0x1e71 = 7793 */ { NULL, }, -/* 0x1e72 = 7794 */ { NULL, }, -/* 0x1e73 = 7795 */ { NULL, }, -/* 0x1e74 = 7796 */ { NULL, }, -/* 0x1e75 = 7797 */ { NULL, }, -/* 0x1e76 = 7798 */ { NULL, }, -/* 0x1e77 = 7799 */ { NULL, }, +/* 0x1e6f - 7791 */ { "Rotor Wash" }, +/* 0x1e70 - 7792 */ { "Dust Blast" }, +/* 0x1e71 - 7793 */ { "Spring-Loaded Pneumatic Tether" }, +/* 0x1e72 - 7794 */ { "Ventilation Blast" }, +/* 0x1e73 - 7795 */ { "Poison Gas" }, +/* 0x1e74 - 7796 */ { "Explosive Charge" }, +/* 0x1e75 - 7797 */ { "Clockwork Explosion" }, +/* 0x1e76 - 7798 */ { "Sealed Discordant Health" }, +/* 0x1e77 - 7799 */ { "Claim Reward" }, /* 0x1e78 - 7800 */ { "Draygun's Touch" }, /* 0x1e79 - 7801 */ { "Draygun's Touch" }, /* 0x1e7a - 7802 */ { "Draygun's Touch" }, @@ -7873,9 +7873,9 @@ /* 0x1eb5 - 7861 */ { "Empowerment of Shadows" }, /* 0x1eb6 - 7862 */ { "Empowerment of Shadows" }, /* 0x1eb7 - 7863 */ { "Anger IV" }, -/* 0x1eb8 = 7864 */ { NULL, }, -/* 0x1eb9 = 7865 */ { NULL, }, -/* 0x1eba = 7866 */ { NULL, }, +/* 0x1eb8 - 7864 */ { "Guardian Kick" }, +/* 0x1eb9 - 7865 */ { "Enchant Palladium Trio" }, +/* 0x1eba - 7866 */ { "Corrosive Steam Blast" }, /* 0x1ebb - 7867 */ { "Fiddletinks' Fortuitous Fury" }, /* 0x1ebc - 7868 */ { "Empowered Strengthening" }, /* 0x1ebd - 7869 */ { "Empowered Enfeeblement" }, @@ -7885,124 +7885,124 @@ /* 0x1ec1 - 7873 */ { "Arcane Frost" }, /* 0x1ec2 - 7874 */ { "Mystic Venom" }, /* 0x1ec3 - 7875 */ { "Mystic Malady" }, -/* 0x1ec4 = 7876 */ { NULL, }, -/* 0x1ec5 = 7877 */ { NULL, }, -/* 0x1ec6 = 7878 */ { NULL, }, -/* 0x1ec7 = 7879 */ { NULL, }, -/* 0x1ec8 = 7880 */ { NULL, }, -/* 0x1ec9 = 7881 */ { NULL, }, -/* 0x1eca = 7882 */ { NULL, }, -/* 0x1ecb = 7883 */ { NULL, }, -/* 0x1ecc = 7884 */ { NULL, }, -/* 0x1ecd = 7885 */ { NULL, }, -/* 0x1ece = 7886 */ { NULL, }, -/* 0x1ecf = 7887 */ { NULL, }, -/* 0x1ed0 = 7888 */ { NULL, }, -/* 0x1ed1 = 7889 */ { NULL, }, -/* 0x1ed2 = 7890 */ { NULL, }, -/* 0x1ed3 = 7891 */ { NULL, }, -/* 0x1ed4 = 7892 */ { NULL, }, -/* 0x1ed5 = 7893 */ { NULL, }, -/* 0x1ed6 = 7894 */ { NULL, }, -/* 0x1ed7 = 7895 */ { NULL, }, -/* 0x1ed8 = 7896 */ { NULL, }, -/* 0x1ed9 = 7897 */ { NULL, }, -/* 0x1eda = 7898 */ { NULL, }, -/* 0x1edb = 7899 */ { NULL, }, -/* 0x1edc = 7900 */ { NULL, }, -/* 0x1edd = 7901 */ { NULL, }, -/* 0x1ede = 7902 */ { NULL, }, -/* 0x1edf = 7903 */ { NULL, }, -/* 0x1ee0 = 7904 */ { NULL, }, -/* 0x1ee1 = 7905 */ { NULL, }, -/* 0x1ee2 = 7906 */ { NULL, }, -/* 0x1ee3 = 7907 */ { NULL, }, -/* 0x1ee4 = 7908 */ { NULL, }, -/* 0x1ee5 = 7909 */ { NULL, }, -/* 0x1ee6 = 7910 */ { NULL, }, -/* 0x1ee7 = 7911 */ { NULL, }, -/* 0x1ee8 = 7912 */ { NULL, }, -/* 0x1ee9 = 7913 */ { NULL, }, -/* 0x1eea = 7914 */ { NULL, }, -/* 0x1eeb = 7915 */ { NULL, }, -/* 0x1eec = 7916 */ { NULL, }, +/* 0x1ec4 - 7876 */ { "Gore" }, +/* 0x1ec5 - 7877 */ { "War Stomp" }, +/* 0x1ec6 - 7878 */ { "Slaver's Lash" }, +/* 0x1ec7 - 7879 */ { "Discipline of Slaves" }, +/* 0x1ec8 - 7880 */ { "Detainment Apparatus" }, +/* 0x1ec9 - 7881 */ { "Rusty Bite" }, +/* 0x1eca - 7882 */ { "Clonk" }, +/* 0x1ecb - 7883 */ { "Blinding Oil" }, +/* 0x1ecc - 7884 */ { "Suffocating Goo" }, +/* 0x1ecd - 7885 */ { "Steam Burst" }, +/* 0x1ece - 7886 */ { "Explosive Failure" }, +/* 0x1ecf - 7887 */ { "Buzz Saw" }, +/* 0x1ed0 - 7888 */ { "Slag Bolt" }, +/* 0x1ed1 - 7889 */ { "Foundry Blast" }, +/* 0x1ed2 - 7890 */ { "Crystal Shock" }, +/* 0x1ed3 - 7891 */ { "Steam Cannon" }, +/* 0x1ed4 - 7892 */ { "Kinetic Shield I" }, +/* 0x1ed5 - 7893 */ { "Kinetic Shield II" }, +/* 0x1ed6 - 7894 */ { "Kinetic Shield III" }, +/* 0x1ed7 - 7895 */ { "Kinetic Shield IV" }, +/* 0x1ed8 - 7896 */ { "Aether Blast I" }, +/* 0x1ed9 - 7897 */ { "Aether Blast II" }, +/* 0x1eda - 7898 */ { "Aether Blast III" }, +/* 0x1edb - 7899 */ { "Aether Blast IV" }, +/* 0x1edc - 7900 */ { "Aether Blast V" }, +/* 0x1edd - 7901 */ { "Kinetic Blast I" }, +/* 0x1ede - 7902 */ { "Kinetic Blast II" }, +/* 0x1edf - 7903 */ { "Kinetic Blast III" }, +/* 0x1ee0 - 7904 */ { "Kinetic Blast IV" }, +/* 0x1ee1 - 7905 */ { "Kinetic Blast V" }, +/* 0x1ee2 - 7906 */ { "Jump Start" }, +/* 0x1ee3 - 7907 */ { "Steam Jet" }, +/* 0x1ee4 - 7908 */ { "Brownie Cling" }, +/* 0x1ee5 - 7909 */ { "Power Surge" }, +/* 0x1ee6 - 7910 */ { "Static Charge" }, +/* 0x1ee7 - 7911 */ { "Aery Gale" }, +/* 0x1ee8 - 7912 */ { "Aery Vortex" }, +/* 0x1ee9 - 7913 */ { "Windstorm" }, +/* 0x1eea - 7914 */ { "Windstorm" }, +/* 0x1eeb - 7915 */ { "Stormfury" }, +/* 0x1eec - 7916 */ { "Stormfury" }, /* 0x1eed - 7917 */ { "Spreading Stone" }, /* 0x1eee - 7918 */ { "Spreading Stone Trigger" }, -/* 0x1eef = 7919 */ { NULL, }, -/* 0x1ef0 = 7920 */ { NULL, }, -/* 0x1ef1 = 7921 */ { NULL, }, -/* 0x1ef2 = 7922 */ { NULL, }, -/* 0x1ef3 = 7923 */ { NULL, }, -/* 0x1ef4 = 7924 */ { NULL, }, -/* 0x1ef5 = 7925 */ { NULL, }, -/* 0x1ef6 = 7926 */ { NULL, }, -/* 0x1ef7 = 7927 */ { NULL, }, -/* 0x1ef8 = 7928 */ { NULL, }, -/* 0x1ef9 = 7929 */ { NULL, }, -/* 0x1efa = 7930 */ { NULL, }, -/* 0x1efb = 7931 */ { NULL, }, -/* 0x1efc = 7932 */ { NULL, }, -/* 0x1efd = 7933 */ { NULL, }, -/* 0x1efe = 7934 */ { NULL, }, -/* 0x1eff = 7935 */ { NULL, }, -/* 0x1f00 = 7936 */ { NULL, }, -/* 0x1f01 = 7937 */ { NULL, }, -/* 0x1f02 = 7938 */ { NULL, }, -/* 0x1f03 = 7939 */ { NULL, }, -/* 0x1f04 = 7940 */ { NULL, }, -/* 0x1f05 = 7941 */ { NULL, }, -/* 0x1f06 = 7942 */ { NULL, }, -/* 0x1f07 = 7943 */ { NULL, }, -/* 0x1f08 = 7944 */ { NULL, }, -/* 0x1f09 = 7945 */ { NULL, }, -/* 0x1f0a = 7946 */ { NULL, }, -/* 0x1f0b = 7947 */ { NULL, }, -/* 0x1f0c = 7948 */ { NULL, }, -/* 0x1f0d = 7949 */ { NULL, }, -/* 0x1f0e = 7950 */ { NULL, }, -/* 0x1f0f = 7951 */ { NULL, }, -/* 0x1f10 = 7952 */ { NULL, }, -/* 0x1f11 = 7953 */ { NULL, }, -/* 0x1f12 = 7954 */ { NULL, }, -/* 0x1f13 = 7955 */ { NULL, }, -/* 0x1f14 = 7956 */ { NULL, }, -/* 0x1f15 = 7957 */ { NULL, }, -/* 0x1f16 = 7958 */ { NULL, }, -/* 0x1f17 = 7959 */ { NULL, }, -/* 0x1f18 = 7960 */ { NULL, }, -/* 0x1f19 = 7961 */ { NULL, }, -/* 0x1f1a = 7962 */ { NULL, }, -/* 0x1f1b = 7963 */ { NULL, }, -/* 0x1f1c = 7964 */ { NULL, }, -/* 0x1f1d = 7965 */ { NULL, }, -/* 0x1f1e = 7966 */ { NULL, }, -/* 0x1f1f = 7967 */ { NULL, }, -/* 0x1f20 = 7968 */ { NULL, }, -/* 0x1f21 = 7969 */ { NULL, }, -/* 0x1f22 = 7970 */ { NULL, }, -/* 0x1f23 = 7971 */ { NULL, }, -/* 0x1f24 = 7972 */ { NULL, }, -/* 0x1f25 = 7973 */ { NULL, }, -/* 0x1f26 = 7974 */ { NULL, }, -/* 0x1f27 = 7975 */ { NULL, }, -/* 0x1f28 = 7976 */ { NULL, }, -/* 0x1f29 = 7977 */ { NULL, }, -/* 0x1f2a = 7978 */ { NULL, }, -/* 0x1f2b = 7979 */ { NULL, }, -/* 0x1f2c = 7980 */ { NULL, }, -/* 0x1f2d = 7981 */ { NULL, }, -/* 0x1f2e = 7982 */ { NULL, }, -/* 0x1f2f = 7983 */ { NULL, }, -/* 0x1f30 = 7984 */ { NULL, }, -/* 0x1f31 = 7985 */ { NULL, }, -/* 0x1f32 = 7986 */ { NULL, }, -/* 0x1f33 = 7987 */ { NULL, }, -/* 0x1f34 = 7988 */ { NULL, }, -/* 0x1f35 = 7989 */ { NULL, }, -/* 0x1f36 = 7990 */ { NULL, }, -/* 0x1f37 = 7991 */ { NULL, }, -/* 0x1f38 = 7992 */ { NULL, }, -/* 0x1f39 = 7993 */ { NULL, }, +/* 0x1eef - 7919 */ { "Eye Swipe" }, +/* 0x1ef0 - 7920 */ { "Neck Strike" }, +/* 0x1ef1 - 7921 */ { "Rust Poison I" }, +/* 0x1ef2 - 7922 */ { "Rust Poison II" }, +/* 0x1ef3 - 7923 */ { "Rust Poison III" }, +/* 0x1ef4 - 7924 */ { "Rust Poison IV" }, +/* 0x1ef5 - 7925 */ { "Rust Poison V" }, +/* 0x1ef6 - 7926 */ { "Rust Poison VI" }, +/* 0x1ef7 - 7927 */ { "Wireweb I" }, +/* 0x1ef8 - 7928 */ { "Wireweb II" }, +/* 0x1ef9 - 7929 */ { "Wireweb III" }, +/* 0x1efa - 7930 */ { "Wireweb IV" }, +/* 0x1efb - 7931 */ { "Wireweb V" }, +/* 0x1efc - 7932 */ { "Wireweb VI" }, +/* 0x1efd - 7933 */ { "Bureaucratic Mind" }, +/* 0x1efe - 7934 */ { "Steam Shield" }, +/* 0x1eff - 7935 */ { "Teleportation Malfunction" }, +/* 0x1f00 - 7936 */ { "Ignition Spark" }, +/* 0x1f01 - 7937 */ { "Fiery Explosion" }, +/* 0x1f02 - 7938 */ { "Part Projectile" }, +/* 0x1f03 - 7939 */ { "Freezing Mist" }, +/* 0x1f04 - 7940 */ { "Chaotic Gravitation" }, +/* 0x1f05 - 7941 */ { "Wall Breaker" }, +/* 0x1f06 - 7942 */ { "Spray of Filth" }, +/* 0x1f07 - 7943 */ { "Rusty Bite" }, +/* 0x1f08 - 7944 */ { "Oil Slop" }, +/* 0x1f09 - 7945 */ { "Crushing Kick" }, +/* 0x1f0a - 7946 */ { "Fire Breath" }, +/* 0x1f0b - 7947 */ { "Corrosive Steam Blast" }, +/* 0x1f0c - 7948 */ { "Call of the Grave" }, +/* 0x1f0d - 7949 */ { "Crippling Terror" }, +/* 0x1f0e - 7950 */ { "Mind Bleed" }, +/* 0x1f0f - 7951 */ { "Soul Wrench" }, +/* 0x1f10 - 7952 */ { "Jagged Shards" }, +/* 0x1f11 - 7953 */ { "Backlash" }, +/* 0x1f12 - 7954 */ { "Oppressive Cloud" }, +/* 0x1f13 - 7955 */ { "Grasping Tendrils" }, +/* 0x1f14 - 7956 */ { "Dark Pulse" }, +/* 0x1f15 - 7957 */ { "Wrench Toss" }, +/* 0x1f16 - 7958 */ { "Wrench Throw" }, +/* 0x1f17 - 7959 */ { "Crowbar Smash" }, +/* 0x1f18 - 7960 */ { "Crowbar Slam" }, +/* 0x1f19 - 7961 */ { "Implosion" }, +/* 0x1f1a - 7962 */ { "Berserk Speed" }, +/* 0x1f1b - 7963 */ { "Healing Curse" }, +/* 0x1f1c - 7964 */ { "Healing Curse Effect" }, +/* 0x1f1d - 7965 */ { "Double Horn Gore" }, +/* 0x1f1e - 7966 */ { "Axe Throw" }, +/* 0x1f1f - 7967 */ { "Icy Grip" }, +/* 0x1f20 - 7968 */ { "Conversion" }, +/* 0x1f21 - 7969 */ { "Rust-Tainted Bite" }, +/* 0x1f22 - 7970 */ { "Echoing Explosion" }, +/* 0x1f23 - 7971 */ { "Echoing Explosion Resonation" }, +/* 0x1f24 - 7972 */ { "Mechanomagical Punch" }, +/* 0x1f25 - 7973 */ { "Ooze Swarm" }, +/* 0x1f26 - 7974 */ { "Corrosive Acid" }, +/* 0x1f27 - 7975 */ { "Rusty Claw" }, +/* 0x1f28 - 7976 */ { "Oil Spots" }, +/* 0x1f29 - 7977 */ { "Spider Net" }, +/* 0x1f2a - 7978 */ { "Soot Blast" }, +/* 0x1f2b - 7979 */ { "Abdominal Slam" }, +/* 0x1f2c - 7980 */ { "Razor Leg Strike" }, +/* 0x1f2d - 7981 */ { "Soul Drain" }, +/* 0x1f2e - 7982 */ { "Ventilation Gust" }, +/* 0x1f2f - 7983 */ { "Zeixshi`Kar's Icy Breath" }, +/* 0x1f30 - 7984 */ { "Zeixshi`Kar's Icy Claw" }, +/* 0x1f31 - 7985 */ { "Greater Mass Enchant Electrum" }, +/* 0x1f32 - 7986 */ { "Greater Mass Enchant Gold" }, +/* 0x1f33 - 7987 */ { "Greater Mass Enchant Platinum" }, +/* 0x1f34 - 7988 */ { "Greater Mass Enchant Silver" }, +/* 0x1f35 - 7989 */ { "Greater Mass Enchant Velium" }, +/* 0x1f36 - 7990 */ { "Greater Mass Enchant Palladium" }, +/* 0x1f37 - 7991 */ { "Zeixshi`Kar's Freezing Strike" }, +/* 0x1f38 - 7992 */ { "Zeixshi`Kar's Freezing Strike" }, +/* 0x1f39 - 7993 */ { "Zeixshi`Kar's Freezing Strike" }, /* 0x1f3a - 7994 */ { "Dread Pyre" }, /* 0x1f3b - 7995 */ { "Call for Blood" }, /* 0x1f3c - 7996 */ { "Call for Blood Recourse" }, @@ -8061,8 +8061,8 @@ /* 0x1f71 - 8049 */ { "Turn Undead" }, /* 0x1f72 - 8050 */ { "Turn Undead" }, /* 0x1f73 - 8051 */ { "Infusion of Light" }, -/* 0x1f74 - 8052 */ { "Wrack Undead" }, -/* 0x1f75 - 8053 */ { "Eradicate Undead" }, +/* 0x1f74 - 8052 */ { "Turn Undead" }, +/* 0x1f75 - 8053 */ { "Turn Undead" }, /* 0x1f76 - 8054 */ { "Silent Casting" }, /* 0x1f77 - 8055 */ { "Silent Casting" }, /* 0x1f78 - 8056 */ { "Silent Casting" }, @@ -8109,20 +8109,20 @@ /* 0x1fa1 - 8097 */ { "Armor Cleave VIII" }, /* 0x1fa2 - 8098 */ { "Armor Cleave IX" }, /* 0x1fa3 - 8099 */ { "Armor Cleave X" }, -/* 0x1fa4 = 8100 */ { NULL, }, -/* 0x1fa5 = 8101 */ { NULL, }, -/* 0x1fa6 = 8102 */ { NULL, }, -/* 0x1fa7 = 8103 */ { NULL, }, -/* 0x1fa8 = 8104 */ { NULL, }, +/* 0x1fa4 - 8100 */ { "Breath of the Brood Mother" }, +/* 0x1fa5 - 8101 */ { "Tail Sweep II" }, +/* 0x1fa6 - 8102 */ { "Clawed Swipe II" }, +/* 0x1fa7 - 8103 */ { "Clawed Swipe II" }, +/* 0x1fa8 - 8104 */ { "Zeixshi`Kar's Freezing Strike" }, /* 0x1fa9 - 8105 */ { "Gift of Mana" }, /* 0x1faa - 8106 */ { "Perfected Heal" }, /* 0x1fab - 8107 */ { "Dire Ice Spray" }, /* 0x1fac - 8108 */ { "Arcane Raze" }, -/* 0x1fad - 8109 */ { "Rune of Shadows" }, -/* 0x1fae - 8110 */ { "Rune of Shadows" }, -/* 0x1faf - 8111 */ { "Rune of Shadows" }, -/* 0x1fb0 - 8112 */ { "Rune of Shadows" }, -/* 0x1fb1 - 8113 */ { "Rune of Shadows" }, +/* 0x1fad - 8109 */ { "Eldritch Rune" }, +/* 0x1fae - 8110 */ { "Eldritch Rune" }, +/* 0x1faf - 8111 */ { "Eldritch Rune" }, +/* 0x1fb0 - 8112 */ { "Eldritch Rune" }, +/* 0x1fb1 - 8113 */ { "Eldritch Rune" }, /* 0x1fb2 - 8114 */ { "Shrieker Sonic Wave" }, /* 0x1fb3 - 8115 */ { "Shrieker Sonic Wave" }, /* 0x1fb4 - 8116 */ { "Shrieker Sonic Wave" }, @@ -8146,13 +8146,13 @@ /* 0x1fc6 - 8134 */ { "Turn Summoned" }, /* 0x1fc7 - 8135 */ { "Turn Summoned" }, /* 0x1fc8 - 8136 */ { "Elemental Infusion" }, -/* 0x1fc9 - 8137 */ { "Wrack Summoned" }, -/* 0x1fca - 8138 */ { "Eradicate Summoned" }, -/* 0x1fcb = 8139... [truncated message content] |
From: <bon...@us...> - 2008-01-19 19:25:05
|
Revision: 689 http://seq.svn.sourceforge.net/seq/?rev=689&view=rev Author: bonkersbobcat Date: 2008-01-19 11:25:03 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Tag for release 5.11.0 Added Paths: ----------- showeq/tags/v5_11_0_0/ Copied: showeq/tags/v5_11_0_0 (from rev 688, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:24:47
|
Revision: 688 http://seq.svn.sourceforge.net/seq/?rev=688&view=rev Author: bonkersbobcat Date: 2008-01-19 11:24:46 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Historical checkin for 11/21/07 - Updated structs - Updated character level to 80 Version to 5.11.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2008-01-19 19:17:35 UTC (rev 687) +++ showeq/trunk/ChangeLog 2008-01-19 19:24:46 UTC (rev 688) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +BlueAdept (11/21/07) +---------------- ++ Updated version to 5.11.0 ++ Updated structs (ieatacid) ++ Updated character level to 80 (ieatacid) + BlueAdept (11/05/07) ---------------- + Updated version to 5.10.0 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2008-01-19 19:17:35 UTC (rev 687) +++ showeq/trunk/configure.in 2008-01-19 19:24:46 UTC (rev 688) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.10.0.0) +AC_INIT(showeq, 5.11.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2008-01-19 19:17:35 UTC (rev 687) +++ showeq/trunk/src/everquest.h 2008-01-19 19:24:46 UTC (rev 688) @@ -102,7 +102,7 @@ //Maximum limits of certain types of data #define MAX_KNOWN_SKILLS 75 -#define MAX_SPELL_SLOTS 9 +#define MAX_SPELL_SLOTS 10 #define MAX_KNOWN_LANGS 25 #define MAX_SPELLBOOK_SLOTS 400 #define MAX_GROUP_MEMBERS 6 @@ -603,7 +603,6 @@ /*0908*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) }; /*0916*/ - /** * Player Profile. Common part of charProfileStruct shared between * shrouding and zoning profiles. @@ -624,146 +623,146 @@ /*00160*/ uint32_t deity; // deity /*00164*/ uint32_t intoxication; // Alcohol level (in ticks till sober?) /*00168*/ uint32_t spellSlotRefresh[MAX_SPELL_SLOTS]; // Refresh time (millis) -/*00204*/ uint8_t unknown0204[4]; -/*00208*/ uint8_t haircolor; // Player hair color -/*00209*/ uint8_t beardcolor; // Player beard color -/*00210*/ uint8_t eyecolor1; // Player left eye color -/*00211*/ uint8_t eyecolor2; // Player right eye color -/*00212*/ uint8_t hairstyle; // Player hair style -/*00213*/ uint8_t beard; // Player beard type -/*00214*/ uint8_t unknown00214[10]; -/*00224*/ uint32_t item_material[9]; // Item texture/material of worn items -/*00260*/ uint8_t unknown00260[232]; -/*00492*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*00528*/ AA_Array aa_array[MAX_AA]; // AAs -/*03400*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) -/*04128*/ uint32_t points; // Unspent Practice points -/*04132*/ uint32_t MANA; // Current MANA -/*04136*/ uint32_t curHp; // Current HP without +HP equipment -/*04140*/ uint32_t STR; // Strength -/*04144*/ uint32_t STA; // Stamina -/*04148*/ uint32_t CHA; // Charisma -/*04152*/ uint32_t DEX; // Dexterity -/*04156*/ uint32_t INT; // Intelligence -/*04160*/ uint32_t AGI; // Agility -/*04164*/ uint32_t WIS; // Wisdom -/*04168*/ uint8_t face; // Player face -/*04169*/ uint8_t unknown04169[147]; -/*04316*/ int32_t sSpellBook[400]; // List of the Spells in spellbook -/*05916*/ uint8_t unknown5916[448]; // all 0xff after last spell -/*06364*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*06400*/ uint8_t unknown06400[32]; -/*06432*/ uint32_t platinum; // Platinum Pieces on player -/*06436*/ uint32_t gold; // Gold Pieces on player -/*06440*/ uint32_t silver; // Silver Pieces on player -/*06444*/ uint32_t copper; // Copper Pieces on player -/*06448*/ uint32_t platinum_cursor; // Platinum Pieces on cursor -/*06452*/ uint32_t gold_cursor; // Gold Pieces on cursor -/*06456*/ uint32_t silver_cursor; // Silver Pieces on cursor -/*06460*/ uint32_t copper_cursor; // Copper Pieces on cursor -/*06464*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills -/*06764*/ uint8_t unknown06764[236]; -/*07000*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*07004*/ uint32_t thirst; // Drink (ticks till next drink) -/*07008*/ uint32_t hunger; // Food (ticks till next eat) -/*07012*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*07612*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*08012*/ uint8_t unknown08012[160]; -/*08172*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) -/*08252*/ uint32_t endurance; // Current endurance -/*08256*/ uint32_t aa_spent; // Number of spent AA points -/*08260*/ uint32_t aa_unspent; // Unspent AA points -/*08264*/ uint8_t unknown08264[4]; -/*08268*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*14668*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*15028*/ uint8_t unknown15028[92]; -/*15120*/ +/*00208*/ uint8_t unknown0208[4]; +/*00212*/ uint8_t haircolor; // Player hair color +/*00213*/ uint8_t beardcolor; // Player beard color +/*00214*/ uint8_t eyecolor1; // Player left eye color +/*00215*/ uint8_t eyecolor2; // Player right eye color +/*00216*/ uint8_t hairstyle; // Player hair style +/*00217*/ uint8_t beard; // Player beard type +/*00218*/ uint8_t unknown00218[10]; +/*00228*/ uint32_t item_material[9]; // Item texture/material of worn items +/*00264*/ uint8_t unknown00260[232]; +/*00496*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00532*/ AA_Array aa_array[MAX_AA]; // AAs +/*03404*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) +/*04132*/ uint32_t points; // Unspent Practice points +/*04136*/ uint32_t MANA; // Current MANA +/*04140*/ uint32_t curHp; // Current HP without +HP equipment +/*04144*/ uint32_t STR; // Strength +/*04148*/ uint32_t STA; // Stamina +/*04152*/ uint32_t CHA; // Charisma +/*04156*/ uint32_t DEX; // Dexterity +/*04160*/ uint32_t INT; // Intelligence +/*04164*/ uint32_t AGI; // Agility +/*04168*/ uint32_t WIS; // Wisdom +/*04172*/ uint8_t face; // Player face +/*04173*/ uint8_t unknown04173[175]; +/*04348*/ int32_t sSpellBook[400]; // List of the Spells in spellbook +/*05948*/ uint8_t unknown5948[448]; // all 0xff after last spell +/*06396*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized +/*06436*/ uint8_t unknown06436[28]; +/*06464*/ uint32_t platinum; // Platinum Pieces on player +/*06468*/ uint32_t gold; // Gold Pieces on player +/*06472*/ uint32_t silver; // Silver Pieces on player +/*06476*/ uint32_t copper; // Copper Pieces on player +/*06480*/ uint32_t platinum_cursor; // Platinum Pieces on cursor +/*06484*/ uint32_t gold_cursor; // Gold Pieces on cursor +/*06488*/ uint32_t silver_cursor; // Silver Pieces on cursor +/*06492*/ uint32_t copper_cursor; // Copper Pieces on cursor +/*06496*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills +/*06796*/ uint8_t unknown06796[236]; +/*07032*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*07036*/ uint32_t thirst; // Drink (ticks till next drink) +/*07040*/ uint32_t hunger; // Food (ticks till next eat) +/*07044*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*07644*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*08044*/ uint8_t unknown08044[160]; +/*08204*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*08284*/ uint32_t endurance; // Current endurance +/*08288*/ uint32_t aa_spent; // Number of spent AA points +/*08292*/ uint32_t aa_unspent; // Unspent AA points +/*08296*/ uint8_t unknown08296[4]; +/*08300*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*14700*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*15060*/ uint8_t unknown15060[92]; +/*15152*/ }; /* ** Player Profile -** Length: 23576 Octets +** Length: 23608 Octets ** OpCode: CharProfileCode */ struct charProfileStruct { /*00000*/ uint32_t checksum; // /*00004*/ playerProfileStruct profile; // Profile -/*15120*/ char name[64]; // Name of player -/*15184*/ char lastName[32]; // Last name of player -/*15216*/ uint8_t unknown15216[12]; //***Placeholder (1/18/2006) -/*15228*/ int32_t guildID; // guildID -/*15232*/ uint32_t birthdayTime; // character birthday -/*15236*/ uint32_t lastSaveTime; // character last save time -/*15240*/ uint32_t timePlayedMin; // time character played -/*15244*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*15245*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*15246*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*15247*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*15248*/ uint8_t unknown15248[12]; -/*15260*/ uint32_t exp; // Current Experience -/*15264*/ uint8_t unknown15264[12]; -/*15276*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages -/*15301*/ uint8_t unknown15301[7]; // All 0x00 (language buffer?) -/*15308*/ float y; // Players y position -/*15312*/ float x; // Players x position -/*15316*/ float z; // Players z position -/*15320*/ float heading; // Players heading -/*15324*/ uint8_t unknown15324[4]; // ***Placeholder -/*15328*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*15332*/ uint32_t gold_bank; // Gold Pieces in Bank -/*15336*/ uint32_t silver_bank; // Silver Pieces in Bank -/*15340*/ uint32_t copper_bank; // Copper Pieces in Bank -/*15344*/ uint32_t platinum_shared; // Shared platinum pieces -/*15348*/ uint8_t unknown15348[716]; -/*16064*/ uint32_t expansions; // Bitmask for expansions -/*16068*/ uint8_t unknown16068[12]; -/*16080*/ uint32_t autosplit; // 0 = off, 1 = on -/*16084*/ uint8_t unknown16084[16]; -/*16100*/ uint16_t zoneId; // see zones.h -/*16102*/ uint16_t zoneInstance; // Instance id -/*16104*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self -/*16488*/ char groupLeader[64]; // Leader of the group ? -/*16552*/ uint8_t unknown16552[792]; -/*17344*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*17348*/ uint8_t unknown17348[4]; -/*17352*/ uint32_t ldon_guk_points; // Earned GUK points -/*17356*/ uint32_t ldon_mir_points; // Earned MIR points -/*17360*/ uint32_t ldon_mmc_points; // Earned MMC points -/*17364*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*17368*/ uint32_t ldon_tak_points; // Earned TAK points -/*17372*/ uint32_t ldon_avail_points; // Available LDON points -/*17376*/ uint8_t unknown17376[136]; -/*17512*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*17516*/ uint32_t careerTribute; // Total favor points for this char -/*17520*/ uint32_t unknown17520; // *** Placeholder -/*17524*/ uint32_t currentTribute; // Current tribute points -/*17528*/ uint32_t unknown17528; // *** Placeholder -/*17532*/ uint32_t tributeActive; // 0 = off, 1=on -/*17536*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*17576*/ uint8_t unknown17576[8]; -/*17584*/ float expGroupLeadAA; // Current group lead exp points -/*17588*/ uint32_t unknown17588; -/*17592*/ float expRaidLeadAA; // Current raid lead AA exp points -/*17596*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*17600*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*17604*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*17732*/ uint8_t unknown17732[128]; -/*17860*/ uint32_t airRemaining; // Air supply (seconds) -/*17864*/ uint8_t unknown17864[4608]; -/*22472*/ uint32_t expAA; // Exp earned in current AA point -/*22476*/ uint8_t unknown22476[40]; -/*22516*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*22520*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*22524*/ uint32_t currentEbonCrystals;// Current count of ebon crystals -/*22528*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*22532*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*22533*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*22534*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*22535*/ uint8_t unknown22535[5]; // ***Placeholder (6/29/2005) -/*22540*/ uint32_t showhelm; // 0=no, 1=yes -/*22544*/ uint8_t unknown22544[1032]; // ***Placeholder (2/13/2007) -/*23576*/ +/*15152*/ char name[64]; // Name of player +/*15216*/ char lastName[32]; // Last name of player +/*15248*/ uint8_t unknown15248[12]; //***Placeholder (1/18/2006) +/*15260*/ int32_t guildID; // guildID +/*15264*/ uint32_t birthdayTime; // character birthday +/*15268*/ uint32_t lastSaveTime; // character last save time +/*15272*/ uint32_t timePlayedMin; // time character played +/*15276*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*15277*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*15278*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*15279*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*15280*/ uint8_t unknown15280[12]; +/*15292*/ uint32_t exp; // Current Experience +/*15296*/ uint8_t unknown15296[12]; +/*15308*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*15333*/ uint8_t unknown15333[7]; // All 0x00 (language buffer?) +/*15340*/ float y; // Players y position +/*15344*/ float x; // Players x position +/*15348*/ float z; // Players z position +/*15352*/ float heading; // Players heading +/*15356*/ uint8_t unknown15356[4]; // ***Placeholder +/*15360*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*15364*/ uint32_t gold_bank; // Gold Pieces in Bank +/*15368*/ uint32_t silver_bank; // Silver Pieces in Bank +/*15372*/ uint32_t copper_bank; // Copper Pieces in Bank +/*15376*/ uint32_t platinum_shared; // Shared platinum pieces +/*15380*/ uint8_t unknown15380[716]; +/*16096*/ uint32_t expansions; // Bitmask for expansions +/*16100*/ uint8_t unknown16100[12]; +/*16112*/ uint32_t autosplit; // 0 = off, 1 = on +/*16116*/ uint8_t unknown16116[16]; +/*16132*/ uint16_t zoneId; // see zones.h +/*16134*/ uint16_t zoneInstance; // Instance id +/*16136*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self +/*16520*/ char groupLeader[64]; // Leader of the group ? +/*16584*/ uint8_t unknown16584[792]; +/*17376*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*17380*/ uint8_t unknown17380[4]; +/*17384*/ uint32_t ldon_guk_points; // Earned GUK points +/*17388*/ uint32_t ldon_mir_points; // Earned MIR points +/*17392*/ uint32_t ldon_mmc_points; // Earned MMC points +/*17396*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*17400*/ uint32_t ldon_tak_points; // Earned TAK points +/*17404*/ uint32_t ldon_avail_points; // Available LDON points +/*17408*/ uint8_t unknown17408[136]; +/*17544*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*17548*/ uint32_t careerTribute; // Total favor points for this char +/*17552*/ uint32_t unknown17552; // *** Placeholder +/*17556*/ uint32_t currentTribute; // Current tribute points +/*17560*/ uint32_t unknown17560; // *** Placeholder +/*17564*/ uint32_t tributeActive; // 0 = off, 1=on +/*17568*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*17608*/ uint8_t unknown17608[8]; +/*17616*/ float expGroupLeadAA; // Current group lead exp points +/*17620*/ uint32_t unknown17620; +/*17624*/ float expRaidLeadAA; // Current raid lead AA exp points +/*17628*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*17632*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*17636*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*17764*/ uint8_t unknown17764[128]; +/*17892*/ uint32_t airRemaining; // Air supply (seconds) +/*17896*/ uint8_t unknown17896[4608]; +/*22504*/ uint32_t expAA; // Exp earned in current AA point +/*22508*/ uint8_t unknown22508[40]; +/*22548*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*22552*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*22556*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*22560*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*22564*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*22565*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*22566*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*22567*/ uint8_t unknown22567[5]; // ***Placeholder (6/29/2005) +/*22572*/ uint32_t showhelm; // 0=no, 1=yes +/*22576*/ uint8_t unknown22576[1032]; // ***Placeholder (2/13/2007) +/*23608*/ }; #if 0 Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2008-01-19 19:17:35 UTC (rev 687) +++ showeq/trunk/src/interface.cpp 2008-01-19 19:24:46 UTC (rev 688) @@ -1079,7 +1079,7 @@ // Character -> Level m_charLevelMenu = new QPopupMenu; m_charMenu->insertItem("Choose &Level", m_charLevelMenu); - m_levelSpinBox = new QSpinBox(1, 75, 1, this, "m_levelSpinBox"); + m_levelSpinBox = new QSpinBox(1, 80, 1, this, "m_levelSpinBox"); m_charLevelMenu->insertItem( m_levelSpinBox ); m_levelSpinBox->setWrapping( true ); m_levelSpinBox->setButtonSymbols(QSpinBox::PlusMinus); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:17:36
|
Revision: 687 http://seq.svn.sourceforge.net/seq/?rev=687&view=rev Author: bonkersbobcat Date: 2008-01-19 11:17:35 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Tag for release 5.10.0 Added Paths: ----------- showeq/tags/v5_10_0_0/ Copied: showeq/tags/v5_10_0_0 (from rev 686, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bon...@us...> - 2008-01-19 19:11:01
|
Revision: 686 http://seq.svn.sourceforge.net/seq/?rev=686&view=rev Author: bonkersbobcat Date: 2008-01-19 11:10:59 -0800 (Sat, 19 Jan 2008) Log Message: ----------- Historical checkin for 11/05/07 - Added opcode decryption - Updated opcodes to current build - Changed version to correct numbering Version to 5.10.0 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/interface.cpp showeq/trunk/src/packet.cpp showeq/trunk/src/packet.h showeq/trunk/src/races.h showeq/trunk/src/zones.h Added Paths: ----------- showeq/trunk/src/opcodetable.h showeq/trunk/src/s_everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/ChangeLog 2008-01-19 19:10:59 UTC (rev 686) @@ -1,5 +1,12 @@ Version: $Id$ $Name$ +BlueAdept (11/05/07) +---------------- ++ Updated version to 5.10.0 ++ Added opcode decryption (purple, ieatacid) ++ Updated opcodes to current build ++ Changed version to correct numbering + purple (3/24/07) ---------------- + Updated version to 5.9.1 Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/conf/zoneopcodes.xml 2008-01-19 19:10:59 UTC (rev 686) @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> + <opcode id="7930" name="OP_ObfuscatorInfo" updated="10/20/07"> + <comment>Obfuscator info</comment> + <payload dir="server" typename="worldObfuscatorStruct" sizechecktype="match"/> + </opcode> <opcode id="71b9" name="OP_SendAATable" updated="03/14/07"> <comment></comment> </opcode> @@ -122,7 +126,7 @@ <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="9ef3" name="OP_NpcMoveUpdate" updated="03/14/07"> + <opcode id="1ee1" name="OP_NpcMoveUpdate" updated="10/20/07"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> @@ -206,7 +210,7 @@ <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="78f6" name="OP_Illusion" updated="03/14/07"> + <opcode id="7f86" name="OP_Illusion" updated="10/20/07"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> @@ -215,7 +219,7 @@ <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="7899" name="OP_RequestZoneChange" updated="03/14/07"> + <opcode id="24d8" name="OP_RequestZoneChange" updated="10/20/07"> <comment>Send by server when a click causes zone. Also, origin</comment> <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/> </opcode> @@ -274,19 +278,19 @@ <opcode id="61ac" name="OP_LoadSpellSet" updated="02/13/07"> <comment>/mem spellsetname</comment> </opcode> - <opcode id="518a" name="OP_SwapSpell" updated="02/13/07"> + <opcode id="1418" name="OP_SwapSpell" updated="10/20/07"> <comment>old TradeSpellBookSlotsCode</comment> <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/> </opcode> - <opcode id="509f" name="OP_MemorizeSpell" updated="02/13/07"> + <opcode id="6a93" name="OP_MemorizeSpell" updated="10/20/07"> <comment>old MemSpellCode</comment> <payload dir="both" typename="memSpellStruct" sizechecktype="match"/> </opcode> - <opcode id="0d0b" name="OP_InspectRequest" updated="02/13/07"> + <opcode id="5a79" name="OP_InspectRequest" updated="10/20/07"> <comment>old InspectRequestCode</comment> </opcode> - <opcode id="0ec7" name="OP_InspectAnswer" updated="02/13/07"> + <opcode id="084f" name="OP_InspectAnswer" updated="10/20/07"> <comment>old InspectDataCode</comment> <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> @@ -484,7 +488,7 @@ <opcode id="7c33" name="OP_Forage" updated="10/27/05"> <comment>old ForageCode</comment> </opcode> - <opcode id="1ee9" name="OP_BazaarSearch" updated="10/27/05"> + <opcode id="14f2" name="OP_BazaarSearch" updated="10/20/07"> <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/> <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/> <payload dir="server" typename="uint8_t" sizechecktype="none"/> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/configure.in 2008-01-19 19:10:59 UTC (rev 686) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.9.1.0) +AC_INIT(showeq, 5.10.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/everquest.h 2008-01-19 19:10:59 UTC (rev 686) @@ -110,7 +110,7 @@ #define MAX_GUILDS 1500 #define MAX_AA 359 #define MAX_BANDOLIERS 20 -#define MAX_POTIONS_IN_BELT 4 +#define MAX_POTIONS_IN_BELT 5 #define MAX_TRIBUTES 5 #define MAX_DISCIPLINES 100 @@ -425,9 +425,9 @@ /* ** Buffs -** Length: 32 Octets +** Length: 24 Octets ** Used in: -** charProfileStruct(2d20) +** charProfileStruct(07012) */ struct spellBuff { @@ -438,8 +438,9 @@ /*0004*/ int32_t spellid; // Spell /*0008*/ int32_t duration; // Time remaining in ticks /*0012*/ int32_t effect; // holds the dmg absorb amount on runes -/*0016*/ uint32_t playerId; // Global id of caster (for wear off) -/*0020*/ +/*0016*/ uint8_t unknown0016[4]; // *** this might need to be swapped with playerId +/*0020*/ uint32_t playerId; // Global id of caster (for wear off) +/*0024*/ }; @@ -564,7 +565,7 @@ /* ** New Zone Code -** Length: 912 Octets +** Length: 916 Octets ** OpCode: NewZoneCode */ struct newZoneStruct @@ -585,21 +586,22 @@ /*0592*/ float safe_x; // Zone Safe X /*0596*/ float safe_z; // Zone Safe Z /*0600*/ float unknown0600; // *** Placeholder -/*0604*/ float underworld; // Underworld -/*0608*/ float minclip; // Minimum view distance -/*0612*/ float maxclip; // Maximum view distance -/*0616*/ uint8_t unknown0616[84]; // *** Placeholder -/*0700*/ char zonefile[64]; // Zone file name? -/*0764*/ uint8_t unknown0764[36]; // *** Placeholder (12/05/2006) -/*0800*/ uint8_t unknown0800[32]; // *** Placeholder (02/13/2007) -/*0832*/ uint8_t unknown0832[12]; // *** Placeholder -/*0844*/ uint8_t unknown0844[4]; // *** Placeholder (06/29/2005) -/*0848*/ uint8_t unknown0848[4]; // *** Placeholder (09/13/2005) -/*0852*/ uint8_t unknown0852[4]; // *** Placeholder (02/21/2006) -/*0856*/ uint8_t unknown0856[36]; // *** Placeholder (06/13/2006) -/*0892*/ uint8_t unknown0892[12]; // *** Placeholder (12/05/2006) -/*0904*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) -}; /*0912*/ +/*0604*/ float unknown0604; // *** Placeholder +/*0608*/ float underworld; // Underworld +/*0612*/ float minclip; // Minimum view distance +/*0616*/ float maxclip; // Maximum view distance +/*0620*/ uint8_t unknown0616[84]; // *** Placeholder +/*0704*/ char zonefile[64]; // Zone file name? +/*0768*/ uint8_t unknown0764[36]; // *** Placeholder (12/05/2006) +/*0804*/ uint8_t unknown0800[32]; // *** Placeholder (02/13/2007) +/*0836*/ uint8_t unknown0832[12]; // *** Placeholder +/*0848*/ uint8_t unknown0844[4]; // *** Placeholder (06/29/2005) +/*0852*/ uint8_t unknown0848[4]; // *** Placeholder (09/13/2005) +/*0856*/ uint8_t unknown0852[4]; // *** Placeholder (02/21/2006) +/*0860*/ uint8_t unknown0856[36]; // *** Placeholder (06/13/2006) +/*0896*/ uint8_t unknown0892[12]; // *** Placeholder (12/05/2006) +/*0908*/ uint8_t unknown0904[8]; // *** Placeholder (02/13/2007) +}; /*0916*/ /** @@ -631,137 +633,137 @@ /*00213*/ uint8_t beard; // Player beard type /*00214*/ uint8_t unknown00214[10]; /*00224*/ uint32_t item_material[9]; // Item texture/material of worn items -/*00260*/ uint8_t unknown00260[224]; -/*00484*/ Color_Struct item_tint[9]; // RR GG BB 00 -/*00520*/ AA_Array aa_array[MAX_AA]; // AAs -/*03392*/ uint8_t unknown03392[16]; -/*03408*/ uint32_t points; // Unspent Practice points -/*03412*/ uint32_t MANA; // Current MANA -/*03416*/ uint32_t curHp; // Current HP without +HP equipment -/*03420*/ uint32_t STR; // Strength -/*03424*/ uint32_t STA; // Stamina -/*03428*/ uint32_t CHA; // Charisma -/*03432*/ uint32_t DEX; // Dexterity -/*03436*/ uint32_t INT; // Intelligence -/*03440*/ uint32_t AGI; // Agility -/*03444*/ uint32_t WIS; // Wisdom -/*03448*/ uint8_t face; // Player face -/*03449*/ uint8_t unknown03449[147]; -/*03596*/ int32_t sSpellBook[400]; // List of the Spells in spellbook -/*05196*/ uint8_t unknown5196[448]; // all 0xff after last spell -/*05644*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized -/*05680*/ uint8_t unknown05680[32]; -/*05712*/ uint32_t platinum; // Platinum Pieces on player -/*05716*/ uint32_t gold; // Gold Pieces on player -/*05720*/ uint32_t silver; // Silver Pieces on player -/*05724*/ uint32_t copper; // Copper Pieces on player -/*05728*/ uint32_t platinum_cursor; // Platinum Pieces on cursor -/*05732*/ uint32_t gold_cursor; // Gold Pieces on cursor -/*05736*/ uint32_t silver_cursor; // Silver Pieces on cursor -/*05740*/ uint32_t copper_cursor; // Copper Pieces on cursor -/*05744*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills -/*06044*/ uint8_t unknown06044[236]; -/*06280*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) -/*06284*/ uint32_t thirst; // Drink (ticks till next drink) -/*06288*/ uint32_t hunger; // Food (ticks till next eat) -/*06292*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player -/*06792*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines -/*07192*/ uint8_t unknown07492[160]; -/*07352*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) -/*07432*/ uint32_t endurance; // Current endurance -/*07436*/ uint32_t aa_spent; // Number of spent AA points -/*07440*/ uint32_t aa_unspent; // Unspent AA points -/*07444*/ uint8_t unknown07744[4]; -/*07448*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents -/*13848*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt -/*14136*/ uint8_t unknown14436[92]; -/*14228*/ +/*00260*/ uint8_t unknown00260[232]; +/*00492*/ Color_Struct item_tint[9]; // RR GG BB 00 +/*00528*/ AA_Array aa_array[MAX_AA]; // AAs +/*03400*/ uint8_t unknown03400[728]; // ***** this may be wrong or aa_array might be wrong (10/21/07) +/*04128*/ uint32_t points; // Unspent Practice points +/*04132*/ uint32_t MANA; // Current MANA +/*04136*/ uint32_t curHp; // Current HP without +HP equipment +/*04140*/ uint32_t STR; // Strength +/*04144*/ uint32_t STA; // Stamina +/*04148*/ uint32_t CHA; // Charisma +/*04152*/ uint32_t DEX; // Dexterity +/*04156*/ uint32_t INT; // Intelligence +/*04160*/ uint32_t AGI; // Agility +/*04164*/ uint32_t WIS; // Wisdom +/*04168*/ uint8_t face; // Player face +/*04169*/ uint8_t unknown04169[147]; +/*04316*/ int32_t sSpellBook[400]; // List of the Spells in spellbook +/*05916*/ uint8_t unknown5916[448]; // all 0xff after last spell +/*06364*/ int32_t sMemSpells[MAX_SPELL_SLOTS]; // List of spells memorized +/*06400*/ uint8_t unknown06400[32]; +/*06432*/ uint32_t platinum; // Platinum Pieces on player +/*06436*/ uint32_t gold; // Gold Pieces on player +/*06440*/ uint32_t silver; // Silver Pieces on player +/*06444*/ uint32_t copper; // Copper Pieces on player +/*06448*/ uint32_t platinum_cursor; // Platinum Pieces on cursor +/*06452*/ uint32_t gold_cursor; // Gold Pieces on cursor +/*06456*/ uint32_t silver_cursor; // Silver Pieces on cursor +/*06460*/ uint32_t copper_cursor; // Copper Pieces on cursor +/*06464*/ uint32_t skills[MAX_KNOWN_SKILLS]; // List of skills +/*06764*/ uint8_t unknown06764[236]; +/*07000*/ uint32_t toxicity; // Potion Toxicity (15=too toxic, each potion adds 3) +/*07004*/ uint32_t thirst; // Drink (ticks till next drink) +/*07008*/ uint32_t hunger; // Food (ticks till next eat) +/*07012*/ spellBuff buffs[MAX_BUFFS]; // Buffs currently on the player +/*07612*/ uint32_t disciplines[MAX_DISCIPLINES]; // Known disciplines +/*08012*/ uint8_t unknown08012[160]; +/*08172*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use) +/*08252*/ uint32_t endurance; // Current endurance +/*08256*/ uint32_t aa_spent; // Number of spent AA points +/*08260*/ uint32_t aa_unspent; // Unspent AA points +/*08264*/ uint8_t unknown08264[4]; +/*08268*/ BandolierStruct bandoliers[MAX_BANDOLIERS]; // bandolier contents +/*14668*/ InlineItem potionBelt[MAX_POTIONS_IN_BELT]; // potion belt +/*15028*/ uint8_t unknown15028[92]; +/*15120*/ }; /* ** Player Profile -** Length: 21328 Octets +** Length: 23576 Octets ** OpCode: CharProfileCode */ struct charProfileStruct { /*00000*/ uint32_t checksum; // /*00004*/ playerProfileStruct profile; // Profile -/*14228*/ char name[64]; // Name of player -/*14292*/ char lastName[32]; // Last name of player -/*14324*/ uint8_t unknown14324[8]; //***Placeholder (1/18/2006) -/*14332*/ int32_t guildID; // guildID -/*14336*/ uint32_t birthdayTime; // character birthday -/*14340*/ uint32_t lastSaveTime; // character last save time -/*14344*/ uint32_t timePlayedMin; // time character played -/*14348*/ uint8_t pvp; // 1=pvp, 0=not pvp -/*14349*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon -/*14350*/ uint8_t gm; // 0=no, 1=yes (guessing!) -/*14351*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader -/*14352*/ uint8_t unknown14352[12]; -/*14364*/ uint32_t exp; // Current Experience -/*14368*/ uint8_t unknown14368[12]; -/*14380*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages -/*14405*/ uint8_t unknown14405[7]; // All 0x00 (language buffer?) -/*14412*/ float y; // Players y position -/*14416*/ float x; // Players x position -/*14420*/ float z; // Players z position -/*14424*/ float heading; // Players heading -/*14428*/ uint8_t unknown14428[4]; // ***Placeholder -/*14432*/ uint32_t platinum_bank; // Platinum Pieces in Bank -/*14436*/ uint32_t gold_bank; // Gold Pieces in Bank -/*14440*/ uint32_t silver_bank; // Silver Pieces in Bank -/*14444*/ uint32_t copper_bank; // Copper Pieces in Bank -/*14448*/ uint32_t platinum_shared; // Shared platinum pieces -/*14452*/ uint8_t unknown14452[84]; -/*14536*/ uint32_t expansions; // Bitmask for expansions -/*14540*/ uint8_t unknown14540[12]; -/*14552*/ uint32_t autosplit; // 0 = off, 1 = on -/*14556*/ uint8_t unknown14556[16]; -/*14572*/ uint16_t zoneId; // see zones.h -/*14574*/ uint16_t zoneInstance; // Instance id -/*14576*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self -/*14960*/ char groupLeader[64]; // Leader of the group ? -/*15024*/ uint8_t unknown15024[660]; -/*15684*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on -/*15688*/ uint8_t unknown15688[136]; -/*15824*/ uint32_t ldon_guk_points; // Earned GUK points -/*15828*/ uint32_t ldon_mir_points; // Earned MIR points -/*15832*/ uint32_t ldon_mmc_points; // Earned MMC points -/*15836*/ uint32_t ldon_ruj_points; // Earned RUJ points -/*15840*/ uint32_t ldon_tak_points; // Earned TAK points -/*15844*/ uint32_t ldon_avail_points; // Available LDON points -/*15848*/ uint8_t unknown15848[136]; -/*15984*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) -/*15988*/ uint32_t careerTribute; // Total favor points for this char -/*15992*/ uint32_t unknown15992; // *** Placeholder -/*15996*/ uint32_t currentTribute; // Current tribute points -/*16000*/ uint32_t unknown16000; // *** Placeholder -/*16004*/ uint32_t tributeActive; // 0 = off, 1=on -/*16008*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout -/*16048*/ uint8_t unknown16048[8]; -/*16056*/ uint32_t expGroupLeadAA; // Current group lead exp points (format though??) -/*16060*/ uint32_t unknown16060; -/*16064*/ uint32_t expRaidLeadAA; // Current raid lead AA exp points (format though??) -/*16068*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points -/*16072*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points -/*16076*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks -/*16204*/ uint8_t unknown16204[128]; -/*16332*/ uint32_t airRemaining; // Air supply (seconds) -/*16336*/ uint8_t unknown16336[4608]; -/*20944*/ uint32_t expAA; // Exp earned in current AA point -/*20948*/ uint8_t unknown21252[40]; -/*20988*/ uint32_t currentRadCrystals; // Current count of radiant crystals -/*20992*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever -/*20996*/ uint32_t currentEbonCrystals; // Current count of ebon crystals -/*21000*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever -/*21004*/ uint8_t groupAutoconsent; // 0=off, 1=on -/*21005*/ uint8_t raidAutoconsent; // 0=off, 1=on -/*21006*/ uint8_t guildAutoconsent; // 0=off, 1=on -/*21007*/ uint8_t unknown21311[5]; // ***Placeholder (6/29/2005) -/*21012*/ uint32_t showhelm; // 0=no, 1=yes -/*21016*/ uint8_t unknown21016[1032]; // ***Placeholder (2/13/2007) -/*22048*/ +/*15120*/ char name[64]; // Name of player +/*15184*/ char lastName[32]; // Last name of player +/*15216*/ uint8_t unknown15216[12]; //***Placeholder (1/18/2006) +/*15228*/ int32_t guildID; // guildID +/*15232*/ uint32_t birthdayTime; // character birthday +/*15236*/ uint32_t lastSaveTime; // character last save time +/*15240*/ uint32_t timePlayedMin; // time character played +/*15244*/ uint8_t pvp; // 1=pvp, 0=not pvp +/*15245*/ uint8_t anon; // 2=roleplay, 1=anon, 0=not anon +/*15246*/ uint8_t gm; // 0=no, 1=yes (guessing!) +/*15247*/ int8_t guildstatus; // 0=member, 1=officer, 2=guildleader +/*15248*/ uint8_t unknown15248[12]; +/*15260*/ uint32_t exp; // Current Experience +/*15264*/ uint8_t unknown15264[12]; +/*15276*/ uint8_t languages[MAX_KNOWN_LANGS]; // List of languages +/*15301*/ uint8_t unknown15301[7]; // All 0x00 (language buffer?) +/*15308*/ float y; // Players y position +/*15312*/ float x; // Players x position +/*15316*/ float z; // Players z position +/*15320*/ float heading; // Players heading +/*15324*/ uint8_t unknown15324[4]; // ***Placeholder +/*15328*/ uint32_t platinum_bank; // Platinum Pieces in Bank +/*15332*/ uint32_t gold_bank; // Gold Pieces in Bank +/*15336*/ uint32_t silver_bank; // Silver Pieces in Bank +/*15340*/ uint32_t copper_bank; // Copper Pieces in Bank +/*15344*/ uint32_t platinum_shared; // Shared platinum pieces +/*15348*/ uint8_t unknown15348[716]; +/*16064*/ uint32_t expansions; // Bitmask for expansions +/*16068*/ uint8_t unknown16068[12]; +/*16080*/ uint32_t autosplit; // 0 = off, 1 = on +/*16084*/ uint8_t unknown16084[16]; +/*16100*/ uint16_t zoneId; // see zones.h +/*16102*/ uint16_t zoneInstance; // Instance id +/*16104*/ char groupMembers[MAX_GROUP_MEMBERS][64];// all the members in group, including self +/*16488*/ char groupLeader[64]; // Leader of the group ? +/*16552*/ uint8_t unknown16552[792]; +/*17344*/ uint32_t leadAAActive; // 0 = leader AA off, 1 = leader AA on +/*17348*/ uint8_t unknown17348[4]; +/*17352*/ uint32_t ldon_guk_points; // Earned GUK points +/*17356*/ uint32_t ldon_mir_points; // Earned MIR points +/*17360*/ uint32_t ldon_mmc_points; // Earned MMC points +/*17364*/ uint32_t ldon_ruj_points; // Earned RUJ points +/*17368*/ uint32_t ldon_tak_points; // Earned TAK points +/*17372*/ uint32_t ldon_avail_points; // Available LDON points +/*17376*/ uint8_t unknown17376[136]; +/*17512*/ uint32_t tributeTime; // Time remaining on tribute (millisecs) +/*17516*/ uint32_t careerTribute; // Total favor points for this char +/*17520*/ uint32_t unknown17520; // *** Placeholder +/*17524*/ uint32_t currentTribute; // Current tribute points +/*17528*/ uint32_t unknown17528; // *** Placeholder +/*17532*/ uint32_t tributeActive; // 0 = off, 1=on +/*17536*/ TributeStruct tributes[MAX_TRIBUTES]; // Current tribute loadout +/*17576*/ uint8_t unknown17576[8]; +/*17584*/ float expGroupLeadAA; // Current group lead exp points +/*17588*/ uint32_t unknown17588; +/*17592*/ float expRaidLeadAA; // Current raid lead AA exp points +/*17596*/ uint32_t groupLeadAAUnspent; // Unspent group lead AA points +/*17600*/ uint32_t raidLeadAAUnspent; // Unspent raid lead AA points +/*17604*/ uint32_t leadershipAAs[MAX_LEAD_AA]; // Leader AA ranks +/*17732*/ uint8_t unknown17732[128]; +/*17860*/ uint32_t airRemaining; // Air supply (seconds) +/*17864*/ uint8_t unknown17864[4608]; +/*22472*/ uint32_t expAA; // Exp earned in current AA point +/*22476*/ uint8_t unknown22476[40]; +/*22516*/ uint32_t currentRadCrystals; // Current count of radiant crystals +/*22520*/ uint32_t careerRadCrystals; // Total count of radiant crystals ever +/*22524*/ uint32_t currentEbonCrystals;// Current count of ebon crystals +/*22528*/ uint32_t careerEbonCrystals; // Total count of ebon crystals ever +/*22532*/ uint8_t groupAutoconsent; // 0=off, 1=on +/*22533*/ uint8_t raidAutoconsent; // 0=off, 1=on +/*22534*/ uint8_t guildAutoconsent; // 0=off, 1=on +/*22535*/ uint8_t unknown22535[5]; // ***Placeholder (6/29/2005) +/*22540*/ uint32_t showhelm; // 0=no, 1=yes +/*22544*/ uint8_t unknown22544[1032]; // ***Placeholder (2/13/2007) +/*23576*/ }; #if 0 @@ -937,7 +939,7 @@ /* ** Generic Spawn Struct -** Length: 896 Octets +** Length: 897 Octets ** Used in: ** dbSpawnStruct ** petStruct @@ -947,93 +949,95 @@ struct spawnStruct { -/*0000*/ float walkspeed; // Speed when walking -/*0004*/ uint8_t unknown0004[4]; -/*0008*/ uint8_t light; // Spawn's lightsource -/*0009*/ uint8_t unknown0009[142]; -/*0151*/ signed padding0000:12; // ***Placeholder - signed x:19; // x coord - signed padding0002:1; // ***Placeholder -/*0155*/ signed deltaX:13; // change in x - signed deltaY:13; // change in y - signed padding0006:6; // ***Placeholder -/*0159*/ signed z:19; // z coord - signed deltaHeading:10;// change in heading - signed padding0014:3; // ***Placeholder -/*0163*/ signed y:19; // y coord - signed deltaZ:13; // change in z -/*0167*/ signed animation:10; // animation - unsigned heading:12; // heading - signed padding0018:10; // ***Placeholder -/*0171*/ union - { - struct - { - /*0171*/ Color_Struct color_helmet; // Color of helmet item - /*0175*/ Color_Struct color_chest; // Color of chest item - /*0179*/ Color_Struct color_arms; // Color of arms item - /*0183*/ Color_Struct color_bracers; // Color of bracers item - /*0187*/ Color_Struct color_hands; // Color of hands item - /*0191*/ Color_Struct color_legs; // Color of legs item - /*0195*/ Color_Struct color_feet; // Color of feet item - /*0199*/ Color_Struct color_primary; // Color of primary item - /*0203*/ Color_Struct color_secondary; // Color of secondary item - } equipment_colors; - /*0171*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above - }; -/*0207*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0239*/ uint8_t unknown0239[2]; -/*0241*/ char name[64]; // Player's Name -/*0305*/ uint8_t unknown0305[9]; -/*0314*/ char title[32]; // Title -/*0346*/ uint8_t unknown0346[1]; -/*0347*/ uint32_t spawnId; // Spawn Id -/*0351*/ uint8_t unknown0351[9]; -/*0360*/ uint8_t bodytype; // Bodytype -/*0361*/ uint8_t unknown0361[43]; -/*0404*/ int16_t deity; // Player's Deity -/*0406*/ uint8_t unknown0406[19]; -/*0425*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0429*/ uint8_t unknown0429[4]; -/*0433*/ uint8_t gender; // Gender (0=male, 1=female) -/*0434*/ uint8_t unknown0434[3]; -/*0437*/ uint32_t guildID; // Current guild -/*0441*/ uint8_t unknown0441[28]; -/*0469*/ float runspeed; // Speed when running -/*0473*/ uint8_t unknown0473[43]; -/*0516*/ union - { - struct - { - /*0516*/ EquipStruct equip_helmet; // Equiptment: Helmet visual - /*0528*/ EquipStruct equip_chest; // Equiptment: Chest visual - /*0540*/ EquipStruct equip_arms; // Equiptment: Arms visual - /*0552*/ EquipStruct equip_bracers; // Equiptment: Wrist visual - /*0564*/ EquipStruct equip_hands; // Equiptment: Hands visual - /*0576*/ EquipStruct equip_legs; // Equiptment: Legs visual - /*0588*/ EquipStruct equip_feet; // Equiptment: Boots visual - /*0600*/ EquipStruct equip_primary; // Equiptment: Main visual - /*0612*/ EquipStruct equip_secondary; // Equiptment: Off visual - } equip; - /*0516*/ EquipStruct equipment[9]; - }; -/*0624*/ uint8_t unknown0624[15]; -/*0639*/ uint8_t curHp; // Current hp -/*0640*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse -/*0641*/ uint8_t unknown0641[135]; -/*0776*/ uint8_t level; // Spawn Level -/*0777*/ uint8_t unknown0777[9]; -/*0786*/ char lastName[32]; // Player's Lastname -/*0818*/ uint8_t unknown818[71]; - -/*%%% gm wrong as usual.... */ -/*0889*/ uint8_t gm; - - -/*0890*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay -/*0891*/ uint32_t race; // Spawn race -/*0895*/ uint8_t class_; // Player's class -/*0896*/ +/*0000*/ uint8_t unknown0000[9]; +/*0009*/ int16_t deity; // Player's Deity +/*0011*/ uint8_t unknown0011[11]; +/*0022*/ uint8_t gender; // Gender (0=male, 1=female) +/*0023*/ uint8_t unknown0023[4]; +/*0027*/ union + { + struct + { + /*0027*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0039*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0051*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0063*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0075*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0087*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0099*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0111*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0123*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0027*/ EquipStruct equipment[9]; + }; +/*0135*/ uint8_t state; // stand state +/*0136*/ uint8_t unknown0136; +/*0137*/ uint32_t guildID; // Current guild +/*0141*/ uint8_t unknown0141[24]; +/*0165*/ uint8_t class_; // Player's class +/*0166*/ uint8_t unknown0166[201]; +/*%%% gm right this time? */ +/*0367*/ uint8_t gm; +/*0368*/ uint8_t unknown0368[134]; +/*0502*/ float runspeed; // Speed when walking +/*0506*/ uint8_t light; // Spawn's lightsource +/*0507*/ uint8_t unknown0507[4]; +/*0511*/ uint8_t level; // Spawn Level +/*0512*/ uint8_t unknown0512[23]; +/*0535*/ uint32_t race; // Spawn race +/*0539*/ uint8_t unknown0539[41]; +/*0580*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) +/*0612*/ uint8_t unknown0612; +/*0613*/ uint8_t bodytype; // Bodytype +/*0614*/ uint8_t unknown0614[41]; +/*0655*/ uint8_t curHp; // Current hp +/*0656*/ uint8_t unknown0656[2]; +/*0658*/ char lastName[32]; // Player's Lastname +/*0690*/ uint8_t unknown0690[2]; +/*0692*/ char title[32]; // Title +/*0724*/ uint8_t unknown0724[6]; +/*0730*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0731*/ uint8_t unknown0731[12]; +/*0743*/ signed padding0000:12; // ***Placeholder + signed x:19; // x coord + signed padding0002:1; // ***Placeholder +/*0747*/ signed deltaX:13; // change in x + signed deltaY:13; // change in y + signed padding0006:6; // ***Placeholder +/*0751*/ signed z:19; // z coord + signed deltaHeading:10;// change in heading + signed padding0014:3; // ***Placeholder +/*0755*/ signed y:19; // y coord + signed deltaZ:13; // change in z +/*0759*/ signed animation:10; // animation + unsigned heading:12; // heading + signed padding0018:10; // ***Placeholder +/*0763*/ uint32_t spawnId; // Spawn Id +/*0767*/ uint8_t unknown0767[8]; +/*0775*/ char name[64]; // Player's Name +/*0839*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner +/*0843*/ uint8_t unknown0843; +/*0844*/ union + { + struct + { + /*0844*/ Color_Struct color_helmet; // Color of helmet item + /*0848*/ Color_Struct color_chest; // Color of chest item + /*0852*/ Color_Struct color_arms; // Color of arms item + /*0856*/ Color_Struct color_bracers; // Color of bracers item + /*0860*/ Color_Struct color_hands; // Color of hands item + /*0864*/ Color_Struct color_legs; // Color of legs item + /*0868*/ Color_Struct color_feet; // Color of feet item + /*0872*/ Color_Struct color_primary; // Color of primary item + /*0876*/ Color_Struct color_secondary; // Color of secondary item + } equipment_colors; + /*0844*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + }; +/*0880*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay +/*0881*/ uint8_t unknown0881[10]; +/*0891*/ float walkspeed; // Speed when running +/*0895*/ uint8_t unknown896[2]; +/*0897*/ }; @@ -1973,20 +1977,19 @@ /* ** Inspecting Information -** Length: 1792 Octets +** Length: 1860 Octets ** OpCode: InspectDataCode */ struct inspectDataStruct { -/*0000*/ uint8_t unknown0002[72]; // ***Placeholder -/*0068*/ char itemNames[21][64]; // 21 items with names +/*0000*/ uint8_t unknown0000[8]; // ***Placeholder +/*0008*/ char itemNames[23][64]; // 23 items with names // 64 characters long. -/*1416*/ uint8_t unknown1416[46]; // ***placeholder -/*1462*/ int16_t icons[21]; // Icon Information -/*1504*/ char mytext[200]; // Player Defined Text Info -/*1704*/ uint8_t unknown0958[88]; // ***Placeholder -/*1792*/ +/*1480*/ int32_t icons[23]; // Icon Information +/*1572*/ char mytext[200]; // Player Defined Text Info +/*1772*/ uint8_t unknown1772[88]; // ***Placeholder +/*1860*/ }; /* @@ -2246,7 +2249,7 @@ /* ** buffStruct -** Length: 44 Octets +** Length: 34 Octets ** */ @@ -2256,11 +2259,11 @@ /*0004*/ uint8_t unknown0004[4]; /*0008*/ uint32_t spellid; // spellid /*0012*/ uint32_t duration; // duration -/*0016*/ uint8_t unknown0012[4]; -/*0020*/ uint32_t playerId; // Player id who cast the buff -/*0024*/ uint32_t spellslot; // spellslot -/*0028*/ uint32_t changetype; // 1=buff fading,2=buff duration -/*0032*/ +/*0016*/ uint8_t unknown0012[8]; +/*0024*/ uint32_t playerId; // Player id who cast the buff +/*0028*/ uint32_t spellslot; // spellslot +/*0032*/ uint32_t changetype; // 1=buff fading,2=buff duration +/*0034*/ }; /* @@ -2355,6 +2358,17 @@ /*???*/ uint8_t unknownXXX[3]; }; +struct worldObfuscatorStruct +{ + /*000*/ uint32_t var1; + /*004*/ uint32_t Unknown1; + /*008*/ uint32_t Unknown2; + /*012*/ uint32_t Unknown3; + /*016*/ uint32_t var2; + /*020*/ uint32_t Unknown4; + /*024*/ +}; + // Restore structure packing to default #pragma pack() Modified: showeq/trunk/src/interface.cpp =================================================================== --- showeq/trunk/src/interface.cpp 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/interface.cpp 2008-01-19 19:10:59 UTC (rev 686) @@ -2108,7 +2108,12 @@ connect(this, SIGNAL(saveAllPrefs(void)), m_combatWindow, SLOT(savePrefs(void))); } - + + // Connect obfuscator slot to obfuscator signal + m_packet->connect2("OP_ObfuscatorInfo", SP_Zone, DIR_Server, + "worldObfuscatorStruct", SZC_Match, + m_packet, SLOT(obfuscateOpCodeDB(const uint8_t*))); + // // Geometry Configuration // Added: showeq/trunk/src/opcodetable.h =================================================================== --- showeq/trunk/src/opcodetable.h (rev 0) +++ showeq/trunk/src/opcodetable.h 2008-01-19 19:10:59 UTC (rev 686) @@ -0,0 +1,1224 @@ +// Generated by DumpOpcodeTable.idc +0x10ff, +0x32d3, +0x0cfb, +0x4a4b, +0x4ef3, +0x6b5e, +0x366b, +0x560d, +0x0fb9, +0x082f, +0x20cf, +0x3996, +0x4d38, +0x26a0, +0x12ec, +0x042c, +0x6ef2, +0x1040, +0x6fe8, +0x0cea, +0x2de4, +0x1f23, +0x5a50, +0x19b6, +0x6fad, +0x3c7d, +0x0860, +0x7274, +0x5cf3, +0x2d6f, +0x2d7e, +0x3479, +0x3703, +0x2221, +0x1d07, +0x7a43, +0x30b7, +0x3b11, +0x0a4e, +0x2b67, +0x4e9d, +0x78ab, +0x09e2, +0x08ca, +0x1255, +0x4919, +0x3810, +0x4914, +0x753b, +0x285c, +0x28a9, +0x5962, +0x7647, +0x069c, +0x0406, +0x163c, +0x3f31, +0x68bc, +0x7548, +0x10c6, +0x24d8, +0x7732, +0x4de4, +0x343a, +0x06e4, +0x6f16, +0x0260, +0x5f95, +0x52aa, +0x2978, +0x6457, +0x4791, +0x2d51, +0x2cf7, +0x3dc3, +0x34d4, +0x0933, +0x7d8f, +0x317c, +0x7267, +0x2a86, +0x1eb3, +0x04fb, +0x069, +0x5f3c, +0x7b9c, +0x3764, +0x5f05, +0x6e27, +0x29e0, +0x09c4, +0x05a1, +0x0161, +0x3a46, +0x5c96, +0x5a58, +0x0feb, +0x0bd9, +0x068d, +0x3dab, +0x0a94, +0x553b, +0x088d, +0x7e73, +0x501d, +0x583c, +0x42fa, +0x4a1a, +0x2c9a, +0x73ab, +0x1036, +0x6d0b, +0x681b, +0x076d, +0x6865, +0x7767, +0x288c, +0x5ecb, +0x8c6e, +0x2ada, +0x1510, +0x2659, +0x4f6d, +0x1758, +0x2854, +0x649c, +0x25bd, +0x7560, +0x2e93, +0x2716, +0x3bec, +0x023d, +0x6102, +0x2ef9, +0x47f6, +0x6f48, +0x71a2, +0x5410, +0x3906, +0x4b52, +0x5f15, +0x5948, +0x49ea, +0x1b42, +0x3ab1, +0x6a70, +0x17c4, +0x65ff, +0x14d3, +0x273d, +0x1103, +0x3791, +0x0375, +0x5f91, +0x5092, +0x5f83, +0x7703, +0x64fc, +0x394f, +0x6e8b, +0x516b, +0x1584, +0x65bf, +0x376d, +0x7374, +0x03a1, +0x4000, +0x571c, +0x3450, +0x5f8c, +0x55ff, +0x0822, +0x7774, +0x05b9, +0x3deb, +0x4543, +0x54a7, +0x56a2, +0x1ee9, +0x7f5d, +0x0659, +0x3bc7, +0x3209, +0x6a93, +0x1237, +0x7df3, +0x4f78, +0x26aa, +0x5ffc, +0x50c0, +0x5bf8, +0x46b3, +0x328a, +0x375d, +0x2a8e, +0x7beb, +0x3739, +0x268f, +0x267a, +0x67df, +0x1f6f, +0x07f6, +0x596c, +0x59d4, +0x7871, +0x0292, +0x21f5, +0x7b65, +0x3578, +0x2c86, +0x2e3c, +0x306e, +0x2008, +0x0a1b, +0x0ef2, +0x2e29, +0x227d, +0x7e07, +0x7688, +0x0d97, +0x20e7, +0x0ef0, +0x789f, +0x5d22, +0x5417, +0x262c, +0x5dc0, +0x7580, +0x5afa, +0x2bcb, +0x5f4d, +0x15da, +0x7626, +0x23d7, +0x5fb7, +0x0b2e, +0x21b3, +0x30da, +0x72f2, +0x66f2, +0x014c, +0x1fa1, +0x4b26, +0x08fa, +0x5285, +0x6040, +0x5da8, +0x09b, +0x596f, +0x1056, +0x5428, +0x0911, +0x7b6b, +0x7a92, +0x1e2c, +0x251e, +0x7c3b, +0x2f76, +0x36bd, +0x1df4, +0x115f, +0x1b5b, +0x725f, +0x6955, +0x3f9e, +0x3db6, +0x6947, +0x3af9, +0x36e3, +0x6599, +0x51c9, +0x4530, +0x204a, +0x177d, +0x5f10, +0x6cc8, +0x127b, +0x03e, +0x7811, +0x7431, +0x2037, +0x1967, +0x5ac1, +0x61df, +0x3530, +0x62b0, +0x7f86, +0x25f0, +0x351e, +0x54c5, +0x50ec, +0x430f, +0x110f, +0x7149, +0x0b9a, +0x7e98, +0x46fe, +0x141b, +0x5a84, +0x5bfc, +0x7fa8, +0x69d8, +0x0362, +0x6768, +0x3e9b, +0x2fa1, +0x3760, +0x13a1, +0x5890, +0x201e, +0x5c17, +0x2f33, +0x23fa, +0x31c2, +0x60bc, +0x34ca, +0x17df, +0x0a51, +0x7397, +0x7ae0, +0x4ce7, +0x4ba0, +0x2bb7, +0x0698, +0x14b3, +0x1d9d, +0x7ae5, +0x05ea, +0x1b6f, +0x198e, +0x7bd6, +0x3501, +0x47ab, +0x7a9e, +0x70a5, +0x32e1, +0x4c66, +0x3795, +0x0580, +0x094d, +0x216c, +0x69e7, +0x2ba1, +0x6be8, +0x55e3, +0x466f, +0x729a, +0x7120, +0x287e, +0x7546, +0x5335, +0x55bf, +0x7d90, +0x2a85, +0x5e59, +0x5af2, +0x045d, +0x3427, +0x4395, +0x1019, +0x7498, +0x79a5, +0x60ce, +0x5e93, +0x48f3, +0x475f, +0x7dd4, +0x32e2, +0x5ed6, +0x2d94, +0x6db8, +0x7ba1, +0x2c96, +0x7899, +0x6b17, +0x7678, +0x3874, +0x6017, +0x129a, +0x683e, +0x237b, +0x7239, +0x25cd, +0x081c, +0x14bf, +0x1418, +0x2675, +0x7d93, +0x4f4a, +0x0fdf, +0x3c23, +0x7fc0, +0x6459, +0x4e2d, +0x1809, +0x79df, +0x55c9, +0x3eba, +0x4b0d, +0x590f, +0x3ccc, +0x343e, +0x421c, +0x6754, +0x48e0, +0x378e, +0x5cc1, +0x57e2, +0x2b02, +0x1608, +0x51f6, +0x6899, +0x411e, +0x2f32, +0x573a, +0x5297, +0x459e, +0x3de3, +0x5546, +0x0835, +0x5711, +0x7ab6, +0x498f, +0x305a, +0x3fe3, +0x4bb5, +0x266b, +0x537a, +0x2da9, +0x7038, +0x15a4, +0x7cc8, +0x2512, +0x273f, +0x3309, +0x0e66, +0x1f0f, +0x6807, +0x32b7, +0x5e90, +0x0137, +0x08db, +0x3c97, +0x3518, +0x7569, +0x482d, +0x2128, +0x3d12, +0x64b3, +0x6be5, +0x4b7f, +0x3ed0, +0x1972, +0x6af9, +0x148c, +0x3611, +0x4cbb, +0x553e, +0x5b9e, +0x1875, +0x22fa, +0x6d7e, +0x0829, +0x6034, +0x5bd9, +0x29ca, +0x58c8, +0x2f10, +0x3964, +0x0e11, +0x237e, +0x1d88, +0x626a, +0x14f2, +0x6b41, +0x0a4f, +0x4426, +0x1acf, +0x6eb9, +0x7dfc, +0x371e, +0x7f23, +0x1445, +0xe24f, +0x7015, +0x573f, +0x31e4, +0x5f7c, +0x144d, +0x1a81, +0x41a2, +0x67f5, +0x0706, +0x0427, +0x0c77, +0x085b, +0x5a64, +0x4697, +0x0c6, +0x24d4, +0x1408, +0x7abf, +0x1651, +0x4e6a, +0x57e3, +0x6f9e, +0x6fac, +0x2eb1, +0x3547, +0x1306, +0x2ff2, +0x56a9, +0x4a44, +0x57a0, +0x58b6, +0x74e5, +0x3131, +0x3c30, +0x443c, +0x36ed, +0x6c89, +0x581a, +0x0fe9, +0x59e2, +0x44f9, +0x1126, +0x0af9, +0x2e60, +0x4db6, +0x5e80, +0x7d70, +0x13a8, +0x0314, +0x3d03, +0x5b53, +0x2dff, +0x3755, +0x38b6, +0x3817, +0x5c51, +0x41be, +0x2f97, +0x0e5a, +0x311a, +0x23f1, +0x3198, +0x2fd1, +0x7287, +0x1976, +0x21e8, +0x7182, +0x65d8, +0x459b, +0x7d73, +0x6833, +0x6a08, +0x737e, +0x6aac, +0x4922, +0x25b0, +0x1c68, +0x768a, +0x42f6, +0x4c29, +0x4b2c, +0x62f6, +0x3df0, +0x1cf0, +0x2992, +0x5a79, +0x084f, +0x2e5c, +0x19f5, +0x389d, +0x083a, +0x66d1, +0x3236, +0x6c3c, +0x3478, +0x580c, +0x1aee, +0x221c, +0x5303, +0x0b2a, +0x6794, +0x5366, +0x1db0, +0x22be, +0x043, +0x185a, +0x1a12, +0x6321, +0x58bd, +0x1340, +0x289c, +0x1509, +0x18b1, +0x07a2, +0x0f07, +0x765d, +0x1939, +0x71b8, +0x01f3, +0x2d48, +0x5ba7, +0x3224, +0x71d1, +0x718d, +0x5d81, +0x21e0, +0x1f00, +0x601a, +0x6dca, +0x2274, +0x3936, +0x2cdf, +0x6783, +0x7e6c, +0x0e22, +0x26e0, +0x7572, +0x2e09, +0x0b50, +0x4289, +0x4322, +0x5437, +0x174c, +0x1e42, +0x3f2b, +0x07bf, +0x060a, +0x3544, +0x52b3, +0x3cbe, +0x2c85, +0x34ab, +0x3235, +0x6256, +0x57a7, +0x26cc, +0x2b82, +0x08a3, +0x2a69, +0x68c8, +0x1505, +0x22f0, +0x273b, +0x1e62, +0x424a, +0x3a2b, +0x68a6, +0x180d, +0x21c2, +0x2397, +0x4d30, +0x5f49, +0x67c0, +0x0fc1, +0x1a80, +0x5d30, +0x6ac8, +0x05b5, +0x5bc2, +0x4f4c, +0x337a, +0x7f4d, +0x7eac, +0x0f28, +0x149a, +0x7783, +0x6d37, +0x083f, +0x7c6e, +0x62f9, +0x6d40, +0x3f26, +0x37fa, +0x7fd9, +0x575a, +0x30f1, +0x7b8d, +0x6e84, +0x526d, +0x10b9, +0x766c, +0x077b, +0x6209, +0x6ca0, +0x73c7, +0x487f, +0x2efb, +0x240f, +0x07ec, +0x1cf7, +0x3e1e, +0x1342, +0x1dbb, +0x0593, +0x0974, +0x1807, +0x785a, +0x632f, +0x2f75, +0x53c2, +0x7d2a, +0x68fa, +0x2ca7, +0x4eb5, +0x59f9, +0x79d7, +0x536f, +0x607e, +0x5b79, +0x7503, +0x7627, +0x01e1, +0x07f0, +0x35f8, +0x7770, +0x6bc8, +0x5232, +0x4b92, +0x5c52, +0x78cd, +0x2a71, +0x7f62, +0x7466, +0x6583, +0x5e9e, +0x172a, +0x265a, +0x20fd, +0x071, +0x5c2f, +0x6213, +0x2ebd, +0x70b2, +0x2a28, +0x5a3a, +0x6555, +0x1ffe, +0x124a, +0x71fb, +0x16d6, +0x656c, +0x6764, +0x68c2, +0x1d8c, +0x2871, +0x5027, +0x7342, +0x20e8, +0x6201, +0x53c5, +0x65bc, +0x26be, +0x38f7, +0x683d, +0x44b1, +0x3db7, +0x2df7, +0x47aa, +0x05eb, +0x0912, +0x660d, +0x7b38, +0x5911, +0x426a, +0x2ce8, +0x2c3e, +0x1a75, +0x5116, +0x1793, +0x7a6f, +0x0e8e, +0x3d07, +0x4e4b, +0x6ce2, +0x60a6, +0x02ac, +0x20d6, +0x0516, +0x79d3, +0x5e14, +0x3516, +0x0332, +0x4428, +0x5153, +0x03dd, +0x3f91, +0x2e2c, +0x6a26, +0x1803, +0x3d7d, +0x028b, +0x0ada, +0x43b6, +0x5b3b, +0x680c, +0x3a69, +0x4012, +0x4349, +0x1dc3, +0x3fe7, +0x6af1, +0x02e3, +0x4788, +0x0d1c, +0x1705, +0x69cb, +0x5ea8, +0x3c73, +0x2224, +0x174a, +0x1ada, +0x2613, +0x45e2, +0x5872, +0x6774, +0x504b, +0x5665, +0x3ba7, +0x38de, +0x3f33, +0x6375, +0x7d5e, +0x5647, +0x6790, +0x6fd3, +0x3223, +0x6b98, +0x48f9, +0x32cc, +0x51e1, +0x77a6, +0x7338, +0x206b, +0xe59f, +0x71b9, +0x6f05, +0x08f8, +0x218c, +0x24a1, +0x65e4, +0x3445, +0x3754, +0x7205, +0x0b08, +0x66a8, +0x19ff, +0x3ec8, +0x1fae, +0x2c26, +0x6276, +0x30d2, +0x2486, +0x54fe, +0x690b, +0x23f9, +0x179c, +0x7260, +0x183e, +0x3e90, +0x1486, +0x45d2, +0x2e8f, +0x7be8, +0x44e2, +0x3fd4, +0x5290, +0x4016, +0x3500, +0x51bf, +0x2d3e, +0x58f7, +0x60db, +0x16f3, +0x7e91, +0x1072, +0x0d4e, +0x1931, +0x6052, +0x33fd, +0x4184, +0x3446, +0x2b2d, +0x3563, +0x74b1, +0x5cea, +0x3207, +0x48c4, +0x43ff, +0x4ee7, +0x4792, +0x23dd, +0x44cc, +0x667e, +0x421e, +0x899b, +0x2906, +0x71b2, +0x5488, +0x1c26, +0x40d6, +0x3c5b, +0x3880, +0x35a6, +0x7065, +0x54c4, +0x2841, +0x30ac, +0x40b0, +0x3f07, +0x7a4d, +0x2148, +0x6edc, +0x17c3, +0x1c98, +0x322e, +0x5d1d, +0x516f, +0x2c8c, +0x6cab, +0x0ad6, +0x5bed, +0x5050, +0x3cde, +0x5802, +0x6a62, +0x354a, +0x0624, +0x17d2, +0x4b46, +0xb3b7, +0x3697, +0x06b7, +0x788a, +0x322d, +0x76e3, +0x3713, +0x61fb, +0x1b8c, +0x09eb, +0x4fc5, +0x64c1, +0x65e2, +0x0730, +0x465f, +0x2bf9, +0x2c66, +0x075f, +0x51ea, +0x4f5a, +0x3187, +0x6675, +0x7aeb, +0x1525, +0x7126, +0x4305, +0x2132, +0x3b00, +0x0180, +0x1f74, +0x29ad, +0x7571, +0x4ecc, +0x58fb, +0x531d, +0x4858, +0x74b5, +0x66a6, +0x1a27, +0x5855, +0x75ac, +0x3035, +0x3a60, +0x5a3b, +0x3c8a, +0x192a, +0x5d0f, +0x16c1, +0x6177, +0x4220, +0x2535, +0x567b, +0x360b, +0x745e, +0x3cca, +0x4a09, +0x5cb4, +0x6bac, +0x474a, +0x428f, +0x6f58, +0x7266, +0x5d70, +0x4e65, +0x793b, +0x03ce, +0x7641, +0x0e0f, +0x4822, +0xc9f3, +0x556f, +0x58b9, +0x01ff, +0x3632, +0x6d39, +0x6232, +0x364c, +0x5d61, +0x08a8, +0x452f, +0x34ba, +0x1625, +0x436f, +0x61e2, +0x02c4, +0x1de1, +0x3bf3, +0x2173, +0x5c99, +0x1db7, +0x7ea1, +0x0c41, +0x3ab3, +0x3017, +0x79ad, +0x5fd8, +0x3d3a, +0x6373, +0x063b, +0x7bf6, +0x6542, +0x5bda, +0x6aca, +0x073f, +0x31c5, +0x5f6f, +0x1664, +0x7d81, +0x604d, +0x4060, +0x7e32, +0x044b, +0x6640, +0x0ad2, +0x083d, +0x2f49, +0x7a2a, +0x3fac, +0x0a27, +0x7161, +0x60a5, +0x7930, +0x3cff, +0x47f1, +0x67e9, +0x39c4, +0x125e, +0x33c1, +0x4cf1, +0x4c8c, +0x62a9, +0x3e36, +0x7bd9, +0x143e, +0x5090, +0x5ec8, +0x2f8b, +0x3c32, +0x05da, +0x54b5, +0x349a, +0x7fb9, +0x2d65, +0x48f7, +0x536e, +0x7bb0, +0x4e68, +0x4c74, +0x25a2, +0x3e55, +0x6cfc, +0x0676, +0x5aaa, +0x0959, +0x13db, +0x275a, +0x2fb9, +0x7a36, +0x9ef3, +0x1ee1, +0x0cc2, +0x41ee, +0x7ab3, +0x097d, +0x2c04, +0x292c, +0x4f28, +0x61cc, +0x4547, +0x0d11, +0x51ad, +0x17de, +0x116e, +0x67c5, +0x655c, +0x4db4, +0x0887, +0x76ea, +0x1fdd, +0x16a3, +0x33a3, +0x1621, +0x49dc, +0x45f9, +0x50e4, +0x22cf, +0x43ba, +0x10e3, +0x7dd7, +0x4d21, +0x2283, +0x078e, +0x5c04, +0x936e, +0x298d, +0x63c4, +0x1c1b, +0x01cf, +0x197b, +0x5953, +0x21a5, +0x1bd0, +0x33e1, +0x1826, +0x655a, +0x5160, +0x0d59, +0x287f, +0x3c49, +0x19eb, +0x1bf4, +0x533e, +0x0a9d, +0x4c7d, +0x0fda, +0x27fa, +0x0163, +0x767a, +0x1f30, +0x2950, +0x6994, +0x0a8f, +0x493f, +0x137b, +0x204f, +0xd0ba, +0x7125, +0x2866, +0x19a3, +0x0ddf, +0x727d, +0x751c, +0x3e85, +0x066a, +0x3a8a, +0x522d, +0x28ec, +0x5ea7, +0x16bf, +0x0d0f, +0x0f05, +0x585f, +0x54cf, +0x4378, +0x433f, +0x3994, +0x2ac3, +0x7b20, +0x7d00, +0x4268, +0x6549, +0x66c8, +0x1996, +0x3a3b, +0x504f, +0x7c7b, +0x6970, +0x5814, +0x0dd0, +0x4114, +0x5d8e, +0x0a42, +0x4eee, +0x6d00, +0x2936, +0x6143, +0x2342, +0x4e45, +0x2be9, +0x21e4, +0x5270, +0x0bc3, +0x7a3f, +0x73fe, +0x2dba, +0x070c, +0x5871, +0x3966, +0x0f8d, +0x78b5, +0x3653, +0x1e69, +0x1ec6, +0x6181, +0x44cb, +0x73a7, +0xFFFFFFFF, + +// 1219 (0x4c3) opcodes counted + Modified: showeq/trunk/src/packet.cpp =================================================================== --- showeq/trunk/src/packet.cpp 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/packet.cpp 2008-01-19 19:10:59 UTC (rev 686) @@ -1145,6 +1145,134 @@ return m_streams[stream]->arqSeqExp(); } +/////////////////////////////////////////////////////////////// +// These next two functions were made by purple to build +// our own version of the client's opcode table. +// opcodetable.h was generated from eqgame.exe +// with an IDA script - ieatacid +void EQPacket::obfuscateOpCodeDB(const uint8_t* data) +{ + const worldObfuscatorStruct* obfs=(const worldObfuscatorStruct*) data; + + //seqDebug("obfuscateOpCodeDB var1=%x",obfs->var1); + + int rawops[] = + { + #include "opcodetable.h" + }; + + int32_t ecx; + int32_t eax; + int32_t edx; + + int64_t qword = 0; + + int32_t var2 = 0; + int32_t var3 = 0x18; // 7530 / opcodeCount; calculated in obfuscator constructor + int32_t var4 = 0; + + // var2 = parm 1 from packet 0-3 0x077ffd18 + var2 = obfs->var1; + + // var4 = parm 2 from packet 16-19 + var4 = obfs->var2; + + edx = var4; + + // Process + for (int i=0; rawops[i]!=(int)0xFFFFFFFF; i++) + { + ecx = var2; + eax = 0x834e0b5f; + + qword = (int64_t) eax * ecx; + eax = qword & 0xffffffff; + edx = qword >> 32; + + edx = edx + ecx; + + ecx = ecx * 0x41a7; + edx = edx / 65536; + eax = edx; + eax = eax >> 0x1f; + + + eax = eax + edx; + qword = (int64_t) eax * 0x7fffffff; + eax = qword & 0xffffffff; + + ecx = ecx - eax; + + var2 = ecx; + + if (ecx < 0) + { + ecx = ecx + 0x7fffffff; + var2 = ecx; + } + + double st0 = var2; + + union + { + float flt; + uint32_t bits; + } constant; + + constant.bits = 0x30000000; + st0 = st0 * (double) constant.flt; + st0 = st0 * var3; + + // Convert top of fp stack to long. Assume float and not double + // so we can just cast... + eax = (long) st0; + edx = 0; + + ecx = var4; + eax++; + ecx = ecx + eax; + var4 = ecx; + var4 &= 0xffff; + + // Check for collision + var4 = incrementCollisions(var4, rawops); + + // push new record + ecx = var4; + + if(m_zoneOPCodeDB->find(rawops[i])) + { + //seqDebug("changing opcode %x to %x",rawops[i],ecx); + m_zoneOPCodeDB->move(rawops[i],ecx); + } + + eax = var4; + if (eax != ecx) + { + /* commenting out this increment made it work, along + with starting the opcode table at the first opcode + instead of 12 bytes in - ieatacid + */ + //eax++; + var4 = eax; + var4 &= 0xffff; + } + } +} + +uint32_t EQPacket::incrementCollisions(int inOp, int rawops[]) +{ + for (int i=0; rawops[i]!=(int)0xFFFFFFFF; i++) + { + if (rawops[i] == inOp) + { + return incrementCollisions(++inOp, rawops); + } + } + // No collide + return inOp; +} + #ifndef QMAKEBUILD #include "packet.moc" #endif Modified: showeq/trunk/src/packet.h =================================================================== --- showeq/trunk/src/packet.h 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/packet.h 2008-01-19 19:10:59 UTC (rev 686) @@ -104,6 +104,7 @@ void setRealtime(bool val); void dispatchSessionKey(uint32_t sessionId, EQStreamID streamid, uint32_t sessionKey); + void obfuscateOpCodeDB(const uint8_t* data); protected slots: void closeStream(uint32_t sessionId, EQStreamID streamId); @@ -178,6 +179,7 @@ void connectStream(EQPacketStream* stream); void dispatchPacket (int size, unsigned char *buffer); void dispatchPacket(EQUDPIPPacketFormat& packet); + uint32_t incrementCollisions(int inOp, int rawops[]); protected slots: void resetEQPacket(); void dispatchWorldChatData (size_t len, uint8_t* data, uint8_t direction = 0); Modified: showeq/trunk/src/races.h =================================================================== --- showeq/trunk/src/races.h 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/races.h 2008-01-19 19:10:59 UTC (rev 686) @@ -552,7 +552,7 @@ "Stone Jug", // 543 "Elven Boat", // 544 "Gnomish Boat", // 545 - "Undead Boat", // 546 + "Barrel Barge Ship", // 546 "Goo", // 547 "Goo", // 548 "Goo", // 549 @@ -574,4 +574,25 @@ "Sphinx", // 565 "Human", // 566 "Campfire", // 567 + "Brownie", // 568 + "Dragon", // 569 + "Exoskeleton", // 570 + "Ghoul", // 571 + "Clockwork Guardian", // 572 + "Mantrap", // 573 + "Minotaur", // 574 + "Scarecrow", // 575 + "Shade", // 576 + "Rotocopter", // 577 + "Tentacle Terror", // 578 + "Wereorc", // 579 + "Worg", // 580 + "Wyvern", // 581 + "Chimera", // 582 + "Kirin", // 583 + "Puma", // 584 + "Boulder", // 585 + "Banner", // 586 + "Elven Ghost", // 587 + "Human Ghost", // 588 #endif Added: showeq/trunk/src/s_everquest.h =================================================================== --- showeq/trunk/src/s_everquest.h (rev 0) +++ showeq/trunk/src/s_everquest.h 2008-01-19 19:10:59 UTC (rev 686) @@ -0,0 +1,124 @@ +/* + * s_everquest.h + * + * ShowEQ Distributed under GPL + * http://seq.sf.net/ + * + * Copyright 2001-2003 Zaphod (do...@us...). + * + * This file is automatically generated by packeth2structs.pl from the + * forward declaration of structures is everquest.h + * + * **** Do Not Hand Edit ********* + * + */ +AddStruct(opCodeStruct); +AddStruct(SessionRequestStruct); +AddStruct(SessionResponseStruct); +AddStruct(SessionDisconnectStruct); +AddStruct(Color_Struct); +AddStruct(spellBuff); +AddStruct(AA_Array); +AddStruct(InlineItem); +AddStruct(BandolierStruct); +AddStruct(TributeStruct); +AddStruct(BindStruct); +AddStruct(EquipStruct); +AddStruct(zoneChangeStruct); +AddStruct(requestZoneChangeStruct); +AddStruct(ClientZoneEntryStruct); +AddStruct(newZoneStruct); +AddStruct(playerProfileStruct); +AddStruct(charProfileStruct); +AddStruct(playerAAStruct); +AddStruct(spawnStruct); +AddStruct(ServerZoneEntryStruct); +AddStruct(doorStruct); +AddStruct(makeDropStruct); +AddStruct(zonePointStruct); +AddStruct(zonePointsStruct); +AddStruct(timeOfDayStruct); +AddStruct(itemPacketStruct); +AddStruct(itemInfoReqStruct); +AddStruct(itemInfoStruct); +AddStruct(spawnPositionUpdate); +AddStruct(spawnRenameStruct); +AddStruct(spawnIllusionStruct); +AddStruct(spawnShroudOther); +AddStruct(spawnShroudSelf); +AddStruct(dbSpawnStruct); +AddStruct(petStruct); +AddStruct(sysMsgStruct); +AddStruct(emoteTextStruct); +AddStruct(channelMessageStruct); +AddStruct(formattedMessageStruct); +AddStruct(simpleMessageStruct); +AddStruct(specialMessageStruct); +AddStruct(guildMOTDStruct); +AddStruct(corpseLocStruct); +AddStruct(consentRequestStruct); +AddStruct(consentResponseStruct); +AddStruct(groupUpdateStruct); +AddStruct(groupFullUpdateStruct); +AddStruct(groupInviteStruct); +AddStruct(groupAltInviteStruct); +AddStruct(groupDeclineStruct); +AddStruct(groupFollowStruct); +AddStruct(groupAltFollowStruct); +AddStruct(groupDisbandStruct); +AddStruct(deleteSpawnStruct); +AddStruct(remDropStruct); +AddStruct(considerStruct); +AddStruct(castOnStruct); +AddStruct(newCorpseStruct); +AddStruct(environmentDamageStruct); +AddStruct(moneyOnCorpseStruct); +AddStruct(staminaStruct); +AddStruct(action2Struct); +AddStruct(actionStruct); +AddStruct(actionAltStruct); +AddStruct(clientTargetStruct); +AddStruct(startCastStruct); +AddStruct(manaDecrementStruct); +AddStruct(spMesgStruct); +AddStruct(spellFadedStruct); +AddStruct(beginCastStruct); +AddStruct(memSpellStruct); +AddStruct(skillTrainStruct); +AddStruct(skillIncStruct); +AddStruct(wearChangeStruct); +AddStruct(levelUpUpdateStruct); +AddStruct(expUpdateStruct); +AddStruct(altExpUpdateStruct); +AddStruct(leadExpUpdateStruct); +AddStruct(SpawnUpdateStruct); +AddStruct(hpNpcUpdateStruct); +AddStruct(inspectDataStruct); +AddStruct(bookTextStruct); +AddStruct(badCastStruct); +AddStruct(randomReqStruct); +AddStruct(randomStruct); +AddStruct(playerSpawnPosStruct); +AddStruct(playerSelfPosStruct); +AddStruct(spawnAppearanceStruct); +AddStruct(bindWoundStruct); +AddStruct(inspectedStruct); +AddStruct(attack1Struct); +AddStruct(attack2Struct); +AddStruct(newGuildInZoneStruct); +AddStruct(moneyUpdateStruct); +AddStruct(memorizeSlotStruct); +AddStruct(cRunToggleStruct); +AddStruct(cChatFiltersStruct); +AddStruct(cOpenSpellBookStruct); +AddStruct(tradeSpellBookSlotsStruct); +AddStruct(serverLFGStruct); +AddStruct(clientLFGStruct); +AddStruct(buffStruct); +AddStruct(GuildMemberUpdate); +AddStruct(bazaarTraderRequest); +AddStruct(bazaarSearchQueryStruct); +AddStruct(bazaarSearchResponseStruct); +AddStruct(guildListStruct); +AddStruct(worldGuildListStruct); +AddStruct(worldMOTDStruct); Modified: showeq/trunk/src/zones.h =================================================================== --- showeq/trunk/src/zones.h 2007-03-25 00:08:57 UTC (rev 685) +++ showeq/trunk/src/zones.h 2008-01-19 19:10:59 UTC (rev 686) @@ -443,20 +443,20 @@ { "shippvu", "The Open Sea" }, // 433 { "shipuvu", "The Open Sea" }, // 434 { "shipmvm", "The Open Sea" }, // 435 -{ NULL, NULL }, // 436 -{ NULL, NULL }, // 437 -{ NULL, NULL }, // 438 -{ NULL, NULL }, // 439 -{ NULL, NULL }, // 440 -{ NULL, NULL }, // 441 -{ NULL, NULL }, // 442 -{ NULL, NULL }, // 443 -{ NULL, NULL }, // 444 -{ NULL, NULL }, // 445 -{ NULL, NULL }, // 446 -{ NULL, NULL }, // 447 -{ NULL, NULL }, // 448 -{ NULL, NULL }, // 449 +{ "mechanotus", "Fortress Mechanotus" }, // 436 +{ "mansion", "Meldrath's Majestic Mansion" }, // 437 +{ "steamfactory", "The Steam Factory" }, // 438 +{ "shipworkshop", "S.H.I.P. Workshop" }, // 439 +{ "gyrospireb", "Gyrospire Beza" }, // 440 +{ "gyrospirez", "Gyrospire Zeka" }, // 441 +{ "dragonscale", "Dragonscale Hills" }, // 442 +{ "lopingplains", "Loping Plains" }, // 443 +{ "hillsofshade", "Hills of Shade" }, // 444 +{ "bloodmoon", "Bloodmoon Keep" }, // 445 +{ "crystallos", "Crystallos, Lair of the Awakened" }, // 446 +{ "guardian", "The Mechamatic Guardian" }, // 447 +{ "steamfontmts", "Steamfont Mountains" }, // 448 +{ "cryptofshade", "Crypt of Shade" }, // 449 { NULL, NULL }, // 450 { NULL, NULL }, // 451 { NULL, NULL }, // 452 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-03-25 00:08:59
|
Revision: 685 http://seq.svn.sourceforge.net/seq/?rev=685&view=rev Author: cmmalone Date: 2007-03-24 17:08:57 -0700 (Sat, 24 Mar 2007) Log Message: ----------- Tag for release 5.9.1 Added Paths: ----------- showeq/tags/v5_9_1_0/ Copied: showeq/tags/v5_9_1_0 (from rev 684, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-03-25 00:00:34
|
Revision: 684 http://seq.svn.sourceforge.net/seq/?rev=684&view=rev Author: cmmalone Date: 2007-03-24 17:00:28 -0700 (Sat, 24 Mar 2007) Log Message: ----------- Updated worldopcodes for 3/14 Fixed OP_DeleteSpawn Moved gm to a less used random wrong position in spawnStruct Version to 5.9.1 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/worldopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2007-03-18 17:26:58 UTC (rev 683) +++ showeq/trunk/ChangeLog 2007-03-25 00:00:28 UTC (rev 684) @@ -1,5 +1,13 @@ Version: $Id$ $Name$ +purple (3/24/07) +---------------- ++ Updated version to 5.9.1 ++ Fixed OP_DeleteSpawn ++ Moved gm flag to a less common place for less false positive *gm* marks. It + still isn't correct. ++ Updated all world opcodes. Guild List should build again. + purple (3/18/07) ---------------- + Udpated version to 5.9 Modified: showeq/trunk/conf/worldopcodes.xml =================================================================== --- showeq/trunk/conf/worldopcodes.xml 2007-03-18 17:26:58 UTC (rev 683) +++ showeq/trunk/conf/worldopcodes.xml 2007-03-25 00:00:28 UTC (rev 684) @@ -12,51 +12,51 @@ --> - <opcode id="61c9" name="OP_SendLoginInfo" updated="02/13/07"> + <opcode id="6c3c" name="OP_SendLoginInfo" updated="03/14/07"> <comment>Client starting world session by asking for login information</comment> </opcode> - <opcode id="4465" name="OP_GuildList" updated="02/13/07"> + <opcode id="04fb" name="OP_GuildList" updated="03/14/07"> <comment>old GuildListCode</comment> <payload dir="server" typename="worldGuildListStruct" sizechecktype="match"/> </opcode> - <opcode id="050d" name="OP_LogServer" updated="02/13/07"> + <opcode id="129a" name="OP_LogServer" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="3e54" name="OP_ApproveWorld" updated="02/13/07"> + <opcode id="7fc0" name="OP_ApproveWorld" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="431e" name="OP_EnterWorld" updated="02/13/07"> + <opcode id="1340" name="OP_EnterWorld" updated="03/14/07"> <comment>Server approval for client to enter world</comment> </opcode> - <opcode id="4ed2" name="OP_ExpansionInfo" updated="02/13/07"> + <opcode id="0a1b" name="OP_ExpansionInfo" updated="03/14/07"> <comment>Which expansions user has</comment> </opcode> - <opcode id="66bd" name="OP_SendCharInfo" updated="02/13/07"> + <opcode id="6040" name="OP_SendCharInfo" updated="03/14/07"> <comment>Send all chars visible @ char select</comment> </opcode> - <opcode id="3d4b" name="OP_SendSpellChecksum" updated="02/13/07"> + <opcode id="7a9e" name="OP_SendSpellChecksum" updated="03/14/07"> <comment>Contains a snippet of spell data</comment> </opcode> - <opcode id="398d" name="OP_SendExeChecksum" updated="02/13/07"> + <opcode id="3795" name="OP_SendExeChecksum" updated="03/14/07"> <comment>Second client verification packet</comment> </opcode> - <opcode id="2024" name="OP_UnknownChecksum" updated="02/13/07"> + <opcode id="45f9" name="OP_UnknownChecksum" updated="03/14/07"> <comment>Third client verification packet</comment> </opcode> - <opcode id="2398" name="OP_MOTD" updated="02/13/07"> + <opcode id="5711" name="OP_MOTD" updated="03/14/07"> <comment>old MOTDCode Server message of the day</comment> <payload dir="server" typename="worldMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="1007" name="OP_SetChatServer" updated="02/13/07"> + <opcode id="71b8" name="OP_SetChatServer" updated="03/14/07"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> - <opcode id="07e5" name="OP_SetChatServer2" updated="02/13/07"> + <opcode id="32cc" name="OP_SetChatServer2" updated="03/14/07"> <comment>Chatserver? IP,Port,servername.Charname,password(?)</comment> </opcode> - <opcode id="7250" name="OP_ZoneServerInfo" updated="02/13/07"> + <opcode id="18b1" name="OP_ZoneServerInfo" updated="03/14/07"> <comment>old ZoneServerInfo</comment> </opcode> - <opcode id="69ef" name="OP_WorldComplete" updated="02/13/07"> + <opcode id="2486" name="OP_WorldComplete" updated="03/14/07"> <comment>Client telling world server it is done. World replies by disconnecting.</comment> </opcode> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2007-03-18 17:26:58 UTC (rev 683) +++ showeq/trunk/configure.in 2007-03-25 00:00:28 UTC (rev 684) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.9.0.0) +AC_INIT(showeq, 5.9.1.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2007-03-18 17:26:58 UTC (rev 683) +++ showeq/trunk/src/everquest.h 2007-03-25 00:00:28 UTC (rev 684) @@ -1024,12 +1024,13 @@ /*0776*/ uint8_t level; // Spawn Level /*0777*/ uint8_t unknown0777[9]; /*0786*/ char lastName[32]; // Player's Lastname -/*0818*/ uint8_t unknown818[72]; +/*0818*/ uint8_t unknown818[71]; -/*0889*/ /*%%% gm wrong as usual.... */ -/*0447*/ uint8_t gm; // 0=no, 1=gm +/*0889*/ uint8_t gm; + +/*0890*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay /*0891*/ uint32_t race; // Spawn race /*0895*/ uint8_t class_; // Player's class /*0896*/ @@ -1055,7 +1056,6 @@ /*0501*/ uint8_t helm; // Helm texture /*0660*/ uint8_t hairstyle; // Hair style /*0090*/ uint8_t eyecolor1; // Player's left eye color -/*0729*/ uint8_t anon; // 0=normal, 1=anon, 2=roleplay /*0542*/ uint8_t eyecolor2; // Left eye color /*0547*/ uint8_t haircolor; // Hair color /*0574*/ uint8_t is_npc; // 0=no, 1=yes This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-03-18 23:55:26
|
Revision: 683 http://seq.svn.sourceforge.net/seq/?rev=683&view=rev Author: cmmalone Date: 2007-03-18 10:26:58 -0700 (Sun, 18 Mar 2007) Log Message: ----------- Fixed OP_DeleteSpawn Modified Paths: -------------- showeq/trunk/conf/zoneopcodes.xml Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2007-03-18 05:35:27 UTC (rev 682) +++ showeq/trunk/conf/zoneopcodes.xml 2007-03-18 17:26:58 UTC (rev 683) @@ -134,7 +134,7 @@ <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> - <opcode id="2871" name="OP_DeleteSpawn" updated="03/14/07"> + <opcode id="15da" name="OP_DeleteSpawn" updated="03/14/07"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-03-18 14:55:10
|
Revision: 682 http://seq.svn.sourceforge.net/seq/?rev=682&view=rev Author: cmmalone Date: 2007-03-17 22:35:27 -0700 (Sat, 17 Mar 2007) Log Message: ----------- Tag for 5.9 release Added Paths: ----------- showeq/tags/v5_9_0_0/ Copied: showeq/tags/v5_9_0_0 (from rev 681, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-03-18 13:33:40
|
Revision: 681 http://seq.svn.sourceforge.net/seq/?rev=681&view=rev Author: cmmalone Date: 2007-03-17 22:31:20 -0700 (Sat, 17 Mar 2007) Log Message: ----------- Updated for live compatibility 3/14 - Redid most opcodes until I got bored - Redid spawnStruct (only the used fields, gm is wrong) - Redid movement packets Version -> 5.9 Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/conf/zoneopcodes.xml showeq/trunk/configure.in showeq/trunk/src/everquest.h showeq/trunk/src/player.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/ChangeLog 2007-03-18 05:31:20 UTC (rev 681) @@ -1,5 +1,11 @@ Version: $Id$ $Name$ +purple (3/18/07) +---------------- ++ Udpated version to 5.9 ++ Compatiblity with live 3/14 ++ Redid spawnStruct, positioning struts, all opcodes + purple (2/15/07) + Updated version to 5.8 + Compatibility with TBS expansion Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/conf/zoneopcodes.xml 2007-03-18 05:31:20 UTC (rev 681) @@ -1,115 +1,115 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd"> <seqopcodes> - <opcode id="3f32" name="OP_SendAATable" updated="02/13/07"> + <opcode id="71b9" name="OP_SendAATable" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="1be9" name="OP_SendAAStats" updated="02/13/07"> + <opcode id="6f05" name="OP_SendAAStats" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="4057" name="OP_PlayerProfile" updated="02/13/07"> + <opcode id="0feb" name="OP_PlayerProfile" updated="03/14/07"> <comment>old CharProfileCode</comment> <payload dir="server" typename="charProfileStruct" sizechecktype="match"/> </opcode> - <opcode id="61d6" name="OP_ZoneEntry" updated="02/13/07"> + <opcode id="737e" name="OP_ZoneEntry" updated="03/14/07"> <comment>old ZoneEntryCode</comment> <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/> <payload dir="server" typename="ServerZoneEntryStruct" sizechecktype="match"/> </opcode> - <opcode id="740b" name="OP_AckPacket" updated="02/13/07"> + <opcode id="4d38" name="OP_AckPacket" updated="03/14/07"> <comment>Appears to be generic ack at the presentation level</comment> </opcode> - <opcode id="0e13" name="OP_ZoneSpawns" updated="02/13/07"> + <opcode id="5af2" name="OP_ZoneSpawns" updated="03/14/07"> <comment>old ZoneSpawnsCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="modulus"/> </opcode> - <opcode id="08cf" name="OP_TimeOfDay" updated="02/13/07"> + <opcode id="7274" name="OP_TimeOfDay" updated="03/14/07"> <comment>old TimeOfDayCode</comment> <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/> </opcode> - <opcode id="0e45" name="OP_TributeUpdate" updated="02/13/07"> + <opcode id="71fb" name="OP_TributeUpdate" updated="03/14/07"> <comment>Tribute information</comment> </opcode> - <opcode id="4d26" name="OP_ItemPlayerPacket" updated="02/13/07"> + <opcode id="08a3" name="OP_ItemPlayerPacket" updated="03/14/07"> <comment>Inventory/bank items coming over during zone</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="3f0b" name="OP_TaskDescription" updated="02/13/07"> + <opcode id="0af9" name="OP_TaskDescription" updated="03/14/07"> <comment>Task descriptions coming down for task window</comment> </opcode> - <opcode id="0e8b" name="OP_TaskActivity" updated="02/13/07"> + <opcode id="2e60" name="OP_TaskActivity" updated="03/14/07"> <comment>Task activity descriptions coming down for task window</comment> </opcode> - <opcode id="5226" name="OP_CompletedTasks" updated="02/13/07"> + <opcode id="5855" name="OP_CompletedTasks" updated="03/14/07"> <comment>Task history for task window</comment> </opcode> - <opcode id="09ea" name="OP_Weather" updated="02/13/07"> + <opcode id="70a5" name="OP_Weather" updated="03/14/07"> <comment>old WeatherCode</comment> </opcode> - <opcode id="30b7" name="OP_ReqNewZone" updated="02/13/07"> + <opcode id="5417" name="OP_ReqNewZone" updated="03/14/07"> <comment>Client requesting NewZone_Struct</comment> </opcode> - <opcode id="5d3e" name="OP_NewZone" updated="02/13/07"> + <opcode id="5d22" name="OP_NewZone" updated="03/14/07"> <comment>old NewZoneCode</comment> <payload dir="server" typename="newZoneStruct" sizechecktype="match"/> </opcode> - <opcode id="3665" name="OP_CustomTitles" updated="02/13/07"> + <opcode id="2e8f" name="OP_CustomTitles" updated="03/14/07"> <comment>List of available titles</comment> </opcode> - <opcode id="02f4" name="OP_ReqClientSpawn" updated="02/13/07"> + <opcode id="45d2" name="OP_ReqClientSpawn" updated="03/14/07"> <comment>Client requesting spawn data</comment> </opcode> - <opcode id="6f73" name="OP_SpawnDoor" updated="02/13/07"> + <opcode id="68c8" name="OP_SpawnDoor" updated="03/14/07"> <comment>old DoorSpawnsCode</comment> <payload dir="server" typename="doorStruct" sizechecktype="modulus"/> </opcode> - <opcode id="2f4b" name="OP_GroundSpawn" updated="02/13/07"> + <opcode id="30da" name="OP_GroundSpawn" updated="03/14/07"> <comment>old MakeDropCode</comment> <payload dir="server" typename="makeDropStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="4654" name="OP_SendZonePoints" updated="02/13/07"> + <opcode id="2992" name="OP_SendZonePoints" updated="03/14/07"> <comment>Coords in a zone that will port you to another zone</comment> <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/> </opcode> - <opcode id="5051" name="OP_SendExpZonein" updated="02/13/07"> + <opcode id="3703" name="OP_SendExpZonein" updated="03/14/07"> <comment>Both directions. Negotiating sending of exp info.</comment> </opcode> - <opcode id="499e" name="OP_AAExpUpdate" updated="02/13/07"> + <opcode id="3518" name="OP_AAExpUpdate" updated="03/14/07"> <comment>Receiving AA experience. Also when percent to AA changes.</comment> <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="4e0a" name="OP_ExpUpdate" updated="02/13/07"> + <opcode id="6d0b" name="OP_ExpUpdate" updated="03/14/07"> <comment>old ExpUpdateCode</comment> <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5f4f" name="OP_AAAction" updated="02/13/07"> + <opcode id="0a4f" name="OP_AAAction" updated="03/14/07"> <comment>Used for changing percent, buying? and activating skills</comment> </opcode> - <opcode id="1c3c" name="OP_SetServerFilter" updated="02/13/07"> + <opcode id="7038" name="OP_SetServerFilter" updated="03/14/07"> <comment>Client telling server /filter information</comment> </opcode> - <opcode id="5e9c" name="OP_ClientReady" updated="02/13/07"> + <opcode id="3854" name="OP_ClientReady" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="78ed" name="OP_TGB" updated="02/13/07"> + <opcode id="0137" name="OP_TGB" updated="03/14/07"> <comment>Client telling server to set targetgroupbuff</comment> </opcode> - <opcode id="2fd1" name="OP_RaidJoin" updated="02/13/07"> + <opcode id="237e" name="OP_RaidJoin" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="0cef" name="OP_GuildMemberList" updated="02/13/07"> + <opcode id="317c" name="OP_GuildMemberList" updated="03/14/07"> <comment></comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="66a4" name="OP_GuildMOTD" updated="02/13/07"> + <opcode id="3309" name="OP_GuildMOTD" updated="03/14/07"> <comment>GuildMOTD</comment> <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/> </opcode> - <opcode id="3891" name="OP_GuildExtendedInfo" updated="02/13/07"> + <opcode id="7161" name="OP_GuildExtendedInfo" updated="03/14/07"> <comment>Extra guild info (i.e. chat channel, url)</comment> </opcode> - <opcode id="7049" name="OP_GuildTributeStatus" updated="02/13/07"> + <opcode id="6774" name="OP_GuildTributeStatus" updated="03/14/07"> <comment>Guild tribute stats send on zone</comment> </opcode> <opcode id="28c1" name="OP_GuildTributeInfo" updated="06/13/06"> @@ -117,155 +117,157 @@ </opcode> - <opcode id="178a" name="OP_ClientUpdate" updated="02/13/07"> + <opcode id="5cf3" name="OP_ClientUpdate" updated="03/14/07"> <comment>Position updates</comment> <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/> <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/> </opcode> - <opcode id="578a" name="OP_NpcMoveUpdate" updated="02/13/07"> + <opcode id="9ef3" name="OP_NpcMoveUpdate" updated="03/14/07"> <comment>Position updates</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1399" name="OP_MobUpdate" updated="02/13/07"> + <opcode id="7647" name="OP_MobUpdate" updated="03/14/07"> <comment>old MobUpdateCode</comment> <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/> </opcode> - <opcode id="2bf1" name="OP_NewSpawn" updated="02/13/07"> + <opcode id="581a" name="OP_NewSpawn" updated="03/14/07"> <comment>old NewSpawnCode</comment> <payload dir="server" typename="spawnStruct" sizechecktype="match"/> </opcode> - <opcode id="79a0" name="OP_DeleteSpawn" updated="02/13/07"> + <opcode id="2871" name="OP_DeleteSpawn" updated="03/14/07"> <comment>old DeleteSpawnCode</comment> <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/> </opcode> - <opcode id="1c0c" name="OP_Death" updated="02/13/07"> + <opcode id="596f" name="OP_Death" updated="03/14/07"> <comment>old NewCorpseCode</comment> <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/> </opcode> - <opcode id="17ad" name="OP_RespawnWindow" updated="02/13/07"> + <opcode id="063b" name="OP_RespawnWindow" updated="03/14/07"> <comment>Server telling client enough to populate the respawn window when you die</comment> </opcode> - <opcode id="3f8e" name="OP_RespawnFromHover" updated="02/13/07"> + <opcode id="7bf6" name="OP_RespawnFromHover" updated="03/14/07"> <comment>Server telling client that it is coming back from hover death</comment> <payload dir="server" typename="uint8_t" sizechecktype="none"/> </opcode> - <opcode id="1c8d" name="OP_WearChange" updated="02/13/07"> + <opcode id="25f0" name="OP_WearChange" updated="03/14/07"> <comment>old SpawnUpdateCode</comment> <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="5369" name="OP_Animation" updated="02/13/07"> + <opcode id="5c2f" name="OP_Animation" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="0973" name="OP_SpawnAppearance" updated="02/13/07"> + <opcode id="50ec" name="OP_SpawnAppearance" updated="03/14/07"> <comment>old SpawnAppearanceCode</comment> <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/> </opcode> - <opcode id="2cec" name="OP_Stamina" updated="02/13/07"> + <opcode id="45e2" name="OP_Stamina" updated="03/14/07"> <comment>Server updating on hunger/thirst</comment> <payload dir="server" typename="staminaStruct" sizechecktype="match"/> </opcode> - <opcode id="1128" name="OP_HPUpdate" updated="02/13/07"> + <opcode id="62f6" name="OP_HPUpdate" updated="03/14/07"> <comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment> <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/> </opcode> - <opcode id="6263" name="OP_InitialMobHealth" updated="02/13/07"> + <opcode id="23f1" name="OP_InitialMobHealth" updated="03/14/07"> <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment> </opcode> - <opcode id="2cdc" name="OP_MobHealth" updated="02/13/07"> + <opcode id="311a" name="OP_MobHealth" updated="03/14/07"> <comment>health sent when a player clicks on the mob</comment> </opcode> - <opcode id="41a9" name="OP_DeltaCheck" updated="02/13/07"> + <opcode id="16c1" name="OP_DeltaCheck" updated="03/14/07"> <comment>Client sending server delta information.</comment> </opcode> - <opcode id="1f4b" name="OP_GuildMemberUpdate" updated="02/13/07"> + <opcode id="71d1" name="OP_GuildMemberUpdate" updated="03/14/07"> <comment></comment> <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/> </opcode> - <opcode id="76f0" name="OP_ClickObject" updated="02/13/07"> + <opcode id="21b3" name="OP_ClickObject" updated="03/14/07"> <comment>old RemDropCode</comment> <payload dir="both" typename="remDropStruct" sizechecktype="match"/> </opcode> - <opcode id="72d2" name="OP_Action" updated="02/13/07"> + <opcode id="5285" name="OP_Action" updated="03/14/07"> <comment></comment> <payload dir="both" typename="actionStruct" sizechecktype="match"/> <payload dir="both" typename="actionAltStruct" sizechecktype="match"/> </opcode> - <opcode id="67b4" name="OP_Action2" updated="02/13/07"> + <opcode id="0ef2" name="OP_Action2" updated="03/14/07"> <comment>old ActionCode</comment> <payload dir="both" typename="action2Struct" sizechecktype="match"/> </opcode> - <opcode id="02f8" name="OP_Consider" updated="02/13/07"> + <opcode id="32e1" name="OP_Consider" updated="03/14/07"> <comment>old ConsiderCode</comment> <payload dir="both" typename="considerStruct" sizechecktype="match"/> </opcode> - <opcode id="3d8e" name="OP_TargetMouse" updated="02/13/07"> + <opcode id="4395" name="OP_TargetMouse" updated="03/14/07"> <comment>Targeting a person - old ClientTargetCode</comment> <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/> </opcode> - <opcode id="6226" name="OP_SpawnRename" updated="02/13/07"> + <opcode id="6be5" name="OP_SpawnRename" updated="03/14/07"> <comment>Spawns getting renamed after initial NewSpawn</comment> <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/> </opcode> - <opcode id="4195" name="OP_Illusion" updated="02/13/07"> + <opcode id="78f6" name="OP_Illusion" updated="03/14/07"> <comment>Spawn being illusioned (changing forms)</comment> <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/> </opcode> - <opcode id="3494" name="OP_Shroud" updated="02/13/07"> + <opcode id="61e2" name="OP_Shroud" updated="03/14/07"> <comment>Server putting players into shroud form</comment> <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/> </opcode> - <opcode id="3c27" name="OP_RequestZoneChange" updated="02/13/07"> + <opcode id="7899" name="OP_RequestZoneChange" updated="03/14/07"> <comment>Send by server when a click causes zone. Also, origin</comment> <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="273a" name="OP_ZoneChange" updated="02/13/07"> + <opcode id="201e" name="OP_ZoneChange" updated="03/14/07"> <comment>old ZoneChangeCode</comment> <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/> </opcode> - <opcode id="6625" name="OP_GroupInvite" updated="02/13/07"> + <opcode id="6321" name="OP_GroupInvite" updated="03/14/07"> <payload dir="both" typename="groupInviteStruct" sizechecktype="match"/> + <payload dir="both" typename="groupAltInviteStruct" sizechecktype="match"/> <comment></comment> </opcode> - <opcode id="24aa" name="OP_GroupCancelInvite" updated="02/13/07"> + <opcode id="596c" name="OP_GroupCancelInvite" updated="03/14/07"> <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/> <comment>Declining to join a group</comment> </opcode> - <opcode id="6f21" name="OP_GroupFollow" updated="02/13/07"> + <opcode id="59d4" name="OP_GroupFollow" updated="03/14/07"> <payload dir="both" typename="groupFollowStruct" sizechecktype="match"/> + <payload dir="both" typename="groupAltFollowStruct" sizechecktype="match"/> <comment>Accepting to join a group</comment> </opcode> - <opcode id="5660" name="OP_GroupUpdate" updated="02/13/07"> + <opcode id="2e5c" name="OP_GroupUpdate" updated="03/14/07"> <payload dir="server" typename="groupFullUpdateStruct" sizechecktype="match"/> <payload dir="server" typename="groupUpdateStruct" sizechecktype="match"/> <comment></comment> </opcode> - <opcode id="2462" name="OP_GroupDisband" updated="02/13/07"> + <opcode id="4b26" name="OP_GroupDisband" updated="03/14/07"> <comment>Disband from group</comment> <payload dir="both" typename="groupDisbandStruct" sizechecktype="match"/> </opcode> - <opcode id="55e8" name="OP_WhoAllRequest" updated="02/13/07"> + <opcode id="34d4" name="OP_WhoAllRequest" updated="03/14/07"> <comment>old WhoAllReqCode</comment> </opcode> - <opcode id="4581" name="OP_WhoAllResponse" updated="02/13/07"> + <opcode id="3817" name="OP_WhoAllResponse" updated="03/14/07"> <comment>old sWhoAllOutputCode</comment> </opcode> - <opcode id="6c49" name="OP_Buff" updated="02/13/07"> + <opcode id="7bd6" name="OP_Buff" updated="03/14/07"> <comment>old BuffDropCode</comment> <payload dir="both" typename="buffStruct" sizechecktype="match"/> </opcode> - <opcode id="2618" name="OP_BuffFadeMsg" updated="02/13/07"> + <opcode id="3bc7" name="OP_BuffFadeMsg" updated="03/14/07"> <comment>old SpellFadeCode</comment> <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/> </opcode> - <opcode id="6a86" name="OP_BeginCast" updated="02/13/07"> + <opcode id="5a50" name="OP_BeginCast" updated="03/14/07"> <comment>old BeginCastCode</comment> <payload dir="both" typename="beginCastStruct" sizechecktype="match"/> </opcode> - <opcode id="60f2" name="OP_CastSpell" updated="02/13/07"> + <opcode id="7f5d" name="OP_CastSpell" updated="03/14/07"> <comment>old StartCastCode</comment> <payload dir="both" typename="startCastStruct" sizechecktype="match"/> </opcode> @@ -289,35 +291,35 @@ <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/> </opcode> - <opcode id="40d0" name="OP_Emote" updated="02/13/07"> + <opcode id="5f4d" name="OP_Emote" updated="03/14/07"> <comment>old EmoteTextCode</comment> <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/> </opcode> - <opcode id="771d" name="OP_SimpleMessage" updated="02/13/07"> + <opcode id="553e" name="OP_SimpleMessage" updated="03/14/07"> <comment>old SimpleMessageCode</comment> <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/> </opcode> - <opcode id="1dab" name="OP_FormattedMessage" updated="02/13/07"> + <opcode id="5b9e" name="OP_FormattedMessage" updated="03/14/07"> <comment>old FormattedMessageCode</comment> <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="0b5a" name="OP_CommonMessage" updated="02/13/07"> + <opcode id="3c7d" name="OP_CommonMessage" updated="03/14/07"> <comment>old ChannelMessageCode</comment> <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="4135" name="OP_SpecialMesg" updated="02/13/07"> + <opcode id="1126" name="OP_SpecialMesg" updated="03/14/07"> <comment>Communicate textual info to client</comment> <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/> </opcode> - <opcode id="7c7c" name="OP_RandomReq" updated="02/13/07"> + <opcode id="4e2d" name="OP_RandomReq" updated="03/14/07"> <comment>old RandomReqCode</comment> <payload dir="client" typename="randomReqStruct" sizechecktype="match"/> </opcode> - <opcode id="3c48" name="OP_RandomReply" updated="02/13/07"> + <opcode id="649c" name="OP_RandomReply" updated="03/14/07"> <comment>old RandomCode</comment> <payload dir="server" typename="randomStruct" sizechecktype="match"/> </opcode> - <opcode id="6c71" name="OP_GetGuildMOTD" updated="02/13/07"> + <opcode id="4289" name="OP_GetGuildMOTD" updated="02/13/07"> <comment></comment> </opcode> @@ -340,36 +342,36 @@ <comment>One side clicks Accept on the trade</comment> </opcode> - <opcode id="4f27" name="OP_Consent" updated="02/13/07"> + <opcode id="0fb9" name="OP_Consent" updated="03/14/07"> <comment>/consent someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> - <opcode id="7f1c" name="OP_ConsentResponse" updated="02/13/07"> + <opcode id="4d30" name="OP_ConsentResponse" updated="03/14/07"> <comment>Server replying with consent information after /consent</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="0a6f" name="OP_ConsentDeny" updated="02/13/07"> + <opcode id="79d7" name="OP_ConsentDeny" updated="03/14/07"> <comment>/deny someone</comment> <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/> </opcode> - <opcode id="648d" name="OP_DenyResponse" updated="02/13/07"> + <opcode id="607e" name="OP_DenyResponse" updated="03/14/07"> <comment>Server replying with deny information after /deny</comment> <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/> </opcode> - <opcode id="6bd7" name="OP_ItemPacket" updated="02/13/07"> + <opcode id="78cd" name="OP_ItemPacket" updated="03/14/07"> <comment>old ItemCode</comment> <payload dir="server" typename="itemPacketStruct" sizechecktype="none"/> </opcode> - <opcode id="63f9" name="OP_ItemLinkClick" updated="02/13/07"> + <opcode id="2de4" name="OP_ItemLinkClick" updated="03/14/07"> <comment></comment> </opcode> - <opcode id="5dc5" name="OP_ItemLinkResponse" updated="02/13/07"> + <opcode id="1394" name="OP_ItemLinkResponse" updated="03/14/07"> <comment>old ItemInfoCode</comment> <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/> <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/> </opcode> - <opcode id="129c" name="OP_ManaChange" updated="02/13/07"> + <opcode id="0659" name="OP_ManaChange" updated="03/14/07"> <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment> <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/> <payload dir="client" typename="uint8_t" sizechecktype="none"/> @@ -431,7 +433,7 @@ <opcode id="4ed9" name="OP_SetRunMode" updated="02/13/07"> <comment>old cRunToggleCode</comment> </opcode> - <opcode id="0c9d" name="OP_SaveOnZoneReq" updated="02/13/07"> + <opcode id="1103" name="OP_SaveOnZoneReq" updated="03/14/07"> <comment></comment> </opcode> <opcode id="7e03" name="OP_ShopEnd" updated="10/27/05"> Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/configure.in 2007-03-18 05:31:20 UTC (rev 681) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.8.0.0) +AC_INIT(showeq, 5.9.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/everquest.h =================================================================== --- showeq/trunk/src/everquest.h 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/src/everquest.h 2007-03-18 05:31:20 UTC (rev 681) @@ -937,7 +937,7 @@ /* ** Generic Spawn Struct -** Length: 900 Octets +** Length: 896 Octets ** Used in: ** dbSpawnStruct ** petStruct @@ -947,98 +947,103 @@ struct spawnStruct { -/*0000*/ uint8_t unknown0000[4]; -/*0004*/ float size; // Model size -/*0008*/ uint8_t unknown0008[4]; -/*0012*/ char lastName[32]; // Player's Lastname -/*0044*/ uint32_t race; // Spawn race -/*0048*/ uint8_t unknown0048[7]; -/*0055*/ float runspeed; // Speed when running -/*0059*/ uint8_t unknown0059[9]; -/*0068*/ float walkspeed; // Speed when walking -/*0072*/ int16_t deity; // Player's Deity -/*0074*/ uint8_t unknown0074[2]; -/*0076*/ uint8_t curHp; // Current hp -/*0077*/ uint8_t unknown0077; -/*0078*/ int8_t aa_title; // 0=none, 1=general, 2=archtype, 3=class -/*0079*/ uint8_t unknown0079[26]; -/*0105*/ uint8_t class_; // Player's class -/*0106*/ uint8_t unknown0106[16]; -/*0122*/ char title[32]; // Title -/*0154*/ uint8_t unknown0154; -/*0155*/ union - { - struct - { - /*0155*/ EquipStruct equip_helmet; // Equiptment: Helmet visual - /*0167*/ EquipStruct equip_chest; // Equiptment: Chest visual - /*0179*/ EquipStruct equip_arms; // Equiptment: Arms visual - /*0191*/ EquipStruct equip_bracers; // Equiptment: Wrist visual - /*0203*/ EquipStruct equip_hands; // Equiptment: Hands visual - /*0215*/ EquipStruct equip_legs; // Equiptment: Legs visual - /*0227*/ EquipStruct equip_feet; // Equiptment: Boots visual - /*0239*/ EquipStruct equip_primary; // Equiptment: Main visual - /*0251*/ EquipStruct equip_secondary; // Equiptment: Off visual - } equip; - /*0155*/ EquipStruct equipment[9]; - }; -/*0263*/ uint8_t unknown0263[14]; -/*0277*/ uint32_t guildID; // Current guild -/*0281*/ uint8_t unknown0281[5]; -/*0286*/ signed y:19; // y coord +/*0000*/ float walkspeed; // Speed when walking +/*0004*/ uint8_t unknown0004[4]; +/*0008*/ uint8_t light; // Spawn's lightsource +/*0009*/ uint8_t unknown0009[142]; +/*0151*/ signed padding0000:12; // ***Placeholder + signed x:19; // x coord + signed padding0002:1; // ***Placeholder +/*0155*/ signed deltaX:13; // change in x + signed deltaY:13; // change in y + signed padding0006:6; // ***Placeholder +/*0159*/ signed z:19; // z coord + signed deltaHeading:10;// change in heading + signed padding0014:3; // ***Placeholder +/*0163*/ signed y:19; // y coord signed deltaZ:13; // change in z -/*0290*/ signed z:19; // z coord - signed animation:10; // animation - signed padding0290:3; // ***Placeholder -/*0294*/ signed deltaHeading:10;// change in heading - signed deltaY:13; // change in y - signed padding0294:9; // ***Placeholder -/*0298*/ signed x:19; // x coord - signed padding0298:1; // ***Placeholder +/*0167*/ signed animation:10; // animation unsigned heading:12; // heading -/*0302*/ signed deltaX:13; // change in x - signed padding0302:19; // ***Placeholder -/*0306*/ uint8_t unknown0306[2]; -/*0308*/ uint8_t gender; // Gender (0=male, 1=female) -/*0309*/ uint8_t unknown0309[138]; -/*0447*/ uint8_t gm; // 0=no, 1=gm -/*0448*/ uint8_t unknown0448[11]; -/*0459*/ union + signed padding0018:10; // ***Placeholder +/*0171*/ union { struct { - /*0459*/ Color_Struct color_helmet; // Color of helmet item - /*0463*/ Color_Struct color_chest; // Color of chest item - /*0467*/ Color_Struct color_arms; // Color of arms item - /*0471*/ Color_Struct color_bracers; // Color of bracers item - /*0475*/ Color_Struct color_hands; // Color of hands item - /*0479*/ Color_Struct color_legs; // Color of legs item - /*0483*/ Color_Struct color_feet; // Color of feet item - /*0487*/ Color_Struct color_primary; // Color of primary item - /*0491*/ Color_Struct color_secondary; // Color of secondary item + /*0171*/ Color_Struct color_helmet; // Color of helmet item + /*0175*/ Color_Struct color_chest; // Color of chest item + /*0179*/ Color_Struct color_arms; // Color of arms item + /*0183*/ Color_Struct color_bracers; // Color of bracers item + /*0187*/ Color_Struct color_hands; // Color of hands item + /*0191*/ Color_Struct color_legs; // Color of legs item + /*0195*/ Color_Struct color_feet; // Color of feet item + /*0199*/ Color_Struct color_primary; // Color of primary item + /*0203*/ Color_Struct color_secondary; // Color of secondary item } equipment_colors; - /*0459*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above + /*0171*/ Color_Struct colors[9]; // Array elements correspond to struct equipment_colors above }; -/*0495*/ uint8_t unknown0495[200]; -/*0695*/ char name[64]; // Player's Name -/*0759*/ uint8_t level; // Spawn Level -/*0760*/ uint8_t unknown0760; -/*0761*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner -/*0765*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse -/*0766*/ uint8_t unknown0766[9]; -/*0775*/ uint32_t spawnId; // Spawn Id -/*0779*/ uint8_t unknown0779[40]; -/*0819*/ uint8_t bodytype; // Bodytype -/*0820*/ uint8_t unknown0820[11]; -/*0831*/ uint8_t light; // Spawn's lightsource -/*0832*/ uint8_t unknown0832[36]; -/*0868*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) -/*0900*/ +/*0207*/ char suffix[32]; // Player's suffix (of Veeshan, etc.) +/*0239*/ uint8_t unknown0239[2]; +/*0241*/ char name[64]; // Player's Name +/*0305*/ uint8_t unknown0305[9]; +/*0314*/ char title[32]; // Title +/*0346*/ uint8_t unknown0346[1]; +/*0347*/ uint32_t spawnId; // Spawn Id +/*0351*/ uint8_t unknown0351[9]; +/*0360*/ uint8_t bodytype; // Bodytype +/*0361*/ uint8_t unknown0361[43]; +/*0404*/ int16_t deity; // Player's Deity +/*0406*/ uint8_t unknown0406[19]; +/*0425*/ uint32_t petOwnerId; // If this is a pet, the spawn id of owner +/*0429*/ uint8_t unknown0429[4]; +/*0433*/ uint8_t gender; // Gender (0=male, 1=female) +/*0434*/ uint8_t unknown0434[3]; +/*0437*/ uint32_t guildID; // Current guild +/*0441*/ uint8_t unknown0441[28]; +/*0469*/ float runspeed; // Speed when running +/*0473*/ uint8_t unknown0473[43]; +/*0516*/ union + { + struct + { + /*0516*/ EquipStruct equip_helmet; // Equiptment: Helmet visual + /*0528*/ EquipStruct equip_chest; // Equiptment: Chest visual + /*0540*/ EquipStruct equip_arms; // Equiptment: Arms visual + /*0552*/ EquipStruct equip_bracers; // Equiptment: Wrist visual + /*0564*/ EquipStruct equip_hands; // Equiptment: Hands visual + /*0576*/ EquipStruct equip_legs; // Equiptment: Legs visual + /*0588*/ EquipStruct equip_feet; // Equiptment: Boots visual + /*0600*/ EquipStruct equip_primary; // Equiptment: Main visual + /*0612*/ EquipStruct equip_secondary; // Equiptment: Off visual + } equip; + /*0516*/ EquipStruct equipment[9]; + }; +/*0624*/ uint8_t unknown0624[15]; +/*0639*/ uint8_t curHp; // Current hp +/*0640*/ uint8_t NPC; // 0=player,1=npc,2=pc corpse,3=npc corpse +/*0641*/ uint8_t unknown0641[135]; +/*0776*/ uint8_t level; // Spawn Level +/*0777*/ uint8_t unknown0777[9]; +/*0786*/ char lastName[32]; // Player's Lastname +/*0818*/ uint8_t unknown818[72]; -}; +/*0889*/ +/*%%% gm wrong as usual.... */ +/*0447*/ uint8_t gm; // 0=no, 1=gm +/*0891*/ uint32_t race; // Spawn race +/*0895*/ uint8_t class_; // Player's class +/*0896*/ +}; + + + + #if 0 +// Old stuff from spawnStruct seq doesn't actually use at all.. +// +/*0004*/ float size; // Model size +/*0078*/ int8_t aa_title; // 0=none, 1=general, 2=archtype, 3=class /*0074*/ uint8_t invis; // Invis (0=not, 1=invis) /*0117*/ uint8_t lfg; // 0=off, 1=lfg on /*0196*/ uint8_t afk; // 0=no, 1=afk @@ -1496,7 +1501,7 @@ /* ** Grouping Invite -** Length 128 Octets +** Length 128 Octets (or 132 sometimes) ** Opcode OP_GroupInvite */ @@ -1506,6 +1511,14 @@ /*0064*/ char inviter[64]; // Inviter's Name /*0128*/ }; +// Sometimes there's an extra byte on the end... +struct groupAltInviteStruct +{ +/*0000*/ char invitee[64]; // Invitee's Name +/*0064*/ char inviter[64]; // Inviter's Name +/*0128*/ uint8_t unknown0132[4]; // ***Placeholder (not always there) +/*0132*/ +}; /* ** Grouping Invite Answer - Decline @@ -1523,7 +1536,7 @@ /* ** Grouping Invite Answer - Accept -** Length 128 Octets +** Length 128 Octets (or sometimes 132) ** Opcode OP_GroupFollow */ @@ -1533,6 +1546,14 @@ /*0064*/ char invitee[64]; // Invitee's Member Name /*0128*/ }; +// Sometimes there's an extra 4 bytes on the end +struct groupAltFollowStruct +{ +/*0000*/ char inviter[64]; // Inviter's Name +/*0064*/ char invitee[64]; // Invitee's Member Name +/*0128*/ uint8_t unknown0132[4]; // ***Placeholder (not always there) +/*0132*/ +}; /* ** Group Disbanding @@ -2019,30 +2040,28 @@ /* ** Player Position Update -** Length: 26 Octets +** Length: 22 Octets ** OpCode: PlayerPosCode */ struct playerSpawnPosStruct { -/*0000*/ uint16_t spawnId; // spawn id of the thing moving -/*0002*/ signed padding1:12; // ***Placeholder +/*0000*/ uint16_t spawnId; +/*0002*/ signed padding0000:12; // ***Placeholder + signed x:19; // x coord + signed padding0002:1; // ***Placeholder +/*0006*/ signed deltaX:13; // change in x + signed deltaY:13; // change in y + signed padding0006:6; // ***Placeholder +/*0010*/ signed z:19; // z coord + signed deltaHeading:10;// change in heading + signed padding0014:3; // ***Placeholder +/*0014*/ signed y:19; // y coord signed deltaZ:13; // change in z - signed padding2:7; // ***Placeholder -/*0006*/ signed y:19; // y coord - signed padding3:13; // ***Placeholder -/*0010*/ signed z:19; // z coord - signed animation:10; // animation - signed padding4:3; // ***Placeholder -/*0014*/ signed deltaHeading:10;// change in heading - signed deltaY:13; // change in y - signed padding5:9; // ***Placeholder -/*0018*/ signed x:19; // x coord +/*0018*/ signed animation:10; // animation unsigned heading:12; // heading - signed padding6:1; // ***Placeholder -/*0022*/ signed deltaX:13; // change in x - signed padding7:19; // ***Placeholder -/*0026*/ + signed padding0018:10; // ***Placeholder +/*0022*/ }; /* @@ -2055,20 +2074,18 @@ { /*0000*/ uint16_t spawnId; // Player's spawn id /*0002*/ uint8_t unknown0002[2]; // ***Placeholder (update time counter?) -/*0004*/ unsigned padding1:12; // ***Placeholder - unsigned heading:12; // Directional heading - unsigned padding2:8; // ***Placeholder -/*0008*/ float deltaY; // Change in y -/*0012*/ signed animation:10; // animation - unsigned padding3:22; // ***Placeholder -/*0016*/ float deltaX; // Change in x -/*0020*/ float y; // y coord -/*0024*/ signed deltaHeading:10; // change in heading - signed padding4:6; // ***Placeholder (mostly 1) -/*0026*/ uint8_t unknown0026[2]; // ***Placeholder -/*0028*/ float deltaZ; // Change in z -/*0032*/ float z; // z coord -/*0036*/ float x; // x coord +/*0004*/ uint8_t unknown0004[4]; // ***Placeholder +/*0008*/ float deltaZ; // Change in z +/*0012*/ float x; // x coord (2nd loc value) +/*0016*/ signed deltaHeading:10; // change in heading + signed animation:10; // animation + unsigned padding0016:12; // ***Placeholder +/*0020*/ float y; // y coord (1st loc value) +/*0024*/ float deltaX; // Change in x +/*0028*/ unsigned heading:12; // Directional heading + unsigned padding0028:20; // ***Placeholder +/*0032*/ float deltaY; // Change in y +/*0036*/ float z; // z coord (3rd loc value) /*0040*/ }; Modified: showeq/trunk/src/player.cpp =================================================================== --- showeq/trunk/src/player.cpp 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/src/player.cpp 2007-03-18 05:31:20 UTC (rev 681) @@ -849,30 +849,29 @@ { /*0000*/ uint16_t spawnId; // Player's spawn id /*0002*/ uint8_t unknown0002[2]; // ***Placeholder (update time counter?) -/*0004*/ unsigned heading:12; // Directional heading - unsigned padding0004:20; // ***Placeholder -/*0008*/ float deltaX; // Change in x -/*0012*/ signed animation:10; // animation - unsigned padding0012:22; // ***Placeholder -/*0016*/ float deltaY; // Change in y -/*0020*/ float x; // x coord -/*0024*/ signed deltaHeading:10; // change in heading - signed padding0024:6; // ***Placeholder (mostly 1) -/*0026*/ uint8_t unknown0026[2]; // ***Placeholder -/*0028*/ float deltaZ; // Change in z -/*0032*/ float z; // z coord -/*0036*/ float y; // y coord +/*0004*/ uint8_t unknown0004[4]; // ***Placeholder +/*0008*/ float deltaZ; // Change in z +/*0012*/ float x; // x coord (2nd loc value) +/*0016*/ signed deltaHeading:10; // change in heading + signed animation:10; // animation + unsigned padding0016:12; // ***Placeholder +/*0020*/ float y; // y coord (1st loc value) +/*0024*/ float deltaX; // Change in x +/*0028*/ unsigned heading:12; // Directional heading + unsigned padding0028:20; // ***Placeholder +/*0032*/ float deltaY; // Change in y +/*0036*/ float z; // z coord (3rd loc value) /*0040*/ }; #pragma pack(0) struct pos *p = (struct pos *)data; - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x, %x)\n", + printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", p->spawnId, p->x, p->y, p->z, p->deltaX, p->deltaY, p->deltaZ, float(p->heading), float(p->deltaHeading), - p->animation, *(uint16_t*) p->unknown0002, p->padding0004, - p->padding0012, - p->padding0024, *(uint16_t*) p->unknown0026); + p->animation, *(uint16_t*) p->unknown0002, p->padding0016, + p->padding0028, + *(uint32_t*) p->unknown0004); #endif setPos(px, py, pz, showeq_params->walkpathrecord, showeq_params->walkpathlength); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2007-02-16 04:52:36 UTC (rev 680) +++ showeq/trunk/src/spawnshell.cpp 2007-03-18 05:31:20 UTC (rev 681) @@ -450,31 +450,32 @@ #pragma pack(1) struct pos { -/*0054*/ signed deltaHeading:10; // change in heading - signed x:19; // x coord - signed padding0054:3; // ***Placeholder -/*0058*/ signed y:19; // y coord - signed animation:10; // ***Placeholder (seems like speed) - signed padding0058:3; // animation -/*0062*/ signed z:19; // z coord - signed deltaY:13; // change in y -/*0066*/ signed deltaX:13; // change in x - unsigned heading:12; // heading - signed padding0066:7; // ***Placeholder -/*0070*/ signed deltaZ:13; // change in z - signed padding0070:19; // ***Placeholder -/*0074*/ +/*0002*/ signed padding0000:12; // ***Placeholder + signed x:19; // x coord + signed padding0002:1; // ***Placeholder +/*0006*/ signed deltaX:13; // change in x + signed deltaY:13; // change in y + signed padding0006:6; // ***Placeholder +/*0010*/ signed z:19; // z coord + signed deltaHeading:10;// change in heading + signed padding0014:3; // ***Placeholder +/*0014*/ signed y:19; // y coord + signed deltaZ:13; // change in z +/*0018*/ signed animation:10; // animation + unsigned heading:12; // heading + signed padding0018:10; // ***Placeholder +/*0022*/ }; #pragma pack(0) - struct pos *p = (struct pos *)(data + i*sizeof(spawnStruct) + 54); - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", + struct pos *p = (struct pos *)(data + i*sizeof(spawnStruct) + 151); + printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x, %x)\n", zspawns[i].spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0, float(p->deltaX)/4.0, float(p->deltaY)/4.0, float(p->deltaZ)/4.0, float(p->heading), float(p->deltaHeading), - p->animation, p->padding0054, p->padding0058, - p->padding0066, p->padding0070); + p->animation, p->padding0000, + p->padding0002, p->padding0006, p->padding0014, p->padding0018); #endif newSpawn(zspawns[i]); } @@ -629,37 +630,32 @@ #pragma pack(1) struct pos { -/*0000*/ uint16_t spawnId; // spawn id of the thing moving - - signed deltaZ:13; // change in z - signed y:19; // y coord - - signed z:19; // z coord - signed animation:10; // animation - signed padding0054:3; // ***Placeholder - - signed deltaHeading:10;// change in heading - signed deltaX:13; // change in x - signed padding0070:3; // ***Placeholder - signed padding00xx:6; // ***Placeholder - +/*0000*/ uint16_t spawnId; +/*0002*/ signed padding0000:12; // ***Placeholder signed x:19; // x coord - signed padding0058:1; // ***Placeholder - unsigned heading:12; // heading - + signed padding0002:1; // ***Placeholder +/*0006*/ signed deltaX:13; // change in x signed deltaY:13; // change in y - signed padding0066:19; // ***Placeholder + signed padding0006:6; // ***Placeholder +/*0010*/ signed z:19; // z coord + signed deltaHeading:10;// change in heading + signed padding0014:3; // ***Placeholder +/*0014*/ signed y:19; // y coord + signed deltaZ:13; // change in z +/*0018*/ signed animation:10; // animation + unsigned heading:12; // heading + signed padding0018:10; // ***Placeholder /*0022*/ }; #pragma pack(0) struct pos *p = (struct pos *)data; - printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x)\n", + printf("[%.2x](%f, %f, %f), dx %f dy %f dz %f head %f dhead %f anim %d (%x, %x, %x, %x, %x)\n", p->spawnId, float(p->x)/8.0, float(p->y/8.0), float(p->z)/8.0, float(p->deltaX)/4.0, float(p->deltaY)/4.0, float(p->deltaZ)/4.0, float(p->heading), float(p->deltaHeading), - p->animation, p->padding0054, p->padding0070, - p->padding0058, p->padding0066); + p->animation, p->padding0000, p->padding0002, + p->padding0006, p->padding0014, p->padding0018); #endif updateSpawn(pupdate->spawnId, x, y, z, dx, dy, dz, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-02-16 04:52:39
|
Revision: 680 http://seq.svn.sourceforge.net/seq/?rev=680&view=rev Author: cmmalone Date: 2007-02-15 20:52:36 -0800 (Thu, 15 Feb 2007) Log Message: ----------- Tag for release 5.8.0.0. Added Paths: ----------- showeq/tags/v5_8_0_0/ Copied: showeq/tags/v5_8_0_0 (from rev 679, showeq/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-02-16 04:47:04
|
Revision: 679 http://seq.svn.sourceforge.net/seq/?rev=679&view=rev Author: cmmalone Date: 2007-02-15 20:47:02 -0800 (Thu, 15 Feb 2007) Log Message: ----------- Hacked out itemdb. make distcheck was failing since it didn't put the itemdb header out there but it was still being included. Modified Paths: -------------- showeq/trunk/src/main.cpp showeq/trunk/src/spawnshell.cpp Modified: showeq/trunk/src/main.cpp =================================================================== --- showeq/trunk/src/main.cpp 2007-02-16 04:24:20 UTC (rev 678) +++ showeq/trunk/src/main.cpp 2007-02-16 04:47:02 UTC (rev 679) @@ -46,7 +46,9 @@ #include "packetcommon.h" #include "xmlpreferences.h" // prefrence file class #include "config.h" // autoconf/configure definitions +#ifdef ITEM_DB #include "itemdb.h" +#endif #include "datalocationmgr.h" static const char *id="@(#) $Id$ $Name$"; @@ -144,11 +146,13 @@ {"log-raw", no_argument, NULL, RAW_LOG_OPTION}, {"systime-spawntime", no_argument, NULL, SYSTIME_SPAWNTIME_OPTION}, {"spawnlog-filename", required_argument, NULL, SPAWNLOG_FILENAME_OPTION}, +#ifdef ITEM_DB {"itemdb-data-filename", required_argument, NULL, ITEMDB_DATA_FILENAME_OPTION}, {"itemdb-raw-data-filename", required_argument, NULL, ITEMDB_RAW_FILENAME_OPTION}, {"itemdb-databases-enabled", required_argument, NULL, ITEMDB_DATABASES_ENABLED}, {"itemdb-disable", no_argument, NULL, ITEMDB_DISABLE}, {"itemdb-enable", no_argument, NULL, ITEMDB_ENABLE}, +#endif {"restore-player-state", no_argument, NULL, RESTORE_PLAYER_STATE}, {"restore-zone", no_argument, NULL, RESTORE_ZONE_STATE}, {"restore-spawns", no_argument, NULL, RESTORE_SPAWNS}, @@ -836,12 +840,14 @@ printf (" --unknown-zone-log-filename=FILE Use FILE for above packet logging\n"); printf (" --log-raw Log some unprocessed raw data\n"); printf (" --spawnlog-filename=FILE Use FILE instead of spawnlog.txt\n"); +#ifdef ITEM_DB printf (" --itemdb-data-filename=FILE Use FILE instead of itemdata\n"); printf (" --itemdb-raw-data-filename=FILE Use FILE instead of itemrawdata\n"); printf (" --itemdb-databases-enabled=DBS Use DBS to enable different item\n"); printf (" databases.\n"); printf (" --itemdb-disable Disable use of the item DB.\n"); printf (" --itemdb-enable Enable use of the item DB.\n"); +#endif printf (" -W, --dont-autodetectcharsettings Don't auto-detect your character's\n"); printf (" Level/Race/Class.\n"); printf (" -X, --default-level=## Default player level. (1-70)\n"); Modified: showeq/trunk/src/spawnshell.cpp =================================================================== --- showeq/trunk/src/spawnshell.cpp 2007-02-16 04:24:20 UTC (rev 678) +++ showeq/trunk/src/spawnshell.cpp 2007-02-16 04:47:02 UTC (rev 679) @@ -18,7 +18,6 @@ #include "zonemgr.h" #include "player.h" #include "util.h" -#include "itemdb.h" #include "guild.h" #include "packetcommon.h" #include "diagnosticmessages.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-02-16 04:24:22
|
Revision: 678 http://seq.svn.sourceforge.net/seq/?rev=678&view=rev Author: cmmalone Date: 2007-02-15 20:24:20 -0800 (Thu, 15 Feb 2007) Log Message: ----------- Filled in some bodytypes from the exe, but these are just ones where there exists items with bane data. So still some missing, most notably, 32. Updated release and changelog. Modified Paths: -------------- showeq/trunk/ChangeLog showeq/trunk/configure.in showeq/trunk/src/typenames.h Modified: showeq/trunk/ChangeLog =================================================================== --- showeq/trunk/ChangeLog 2007-02-16 03:04:57 UTC (rev 677) +++ showeq/trunk/ChangeLog 2007-02-16 04:24:20 UTC (rev 678) @@ -1,5 +1,12 @@ Version: $Id$ $Name$ +purple (2/15/07) ++ Updated version to 5.8 ++ Compatibility with TBS expansion ++ Opcodes updated (Zaphod, purple, ieatacid) ++ Structs updated (Zaphod, purple) ++ Regenerated zones, bodytypes, races, staticspells + dohpaZ (2/2/07) ------------------------ + Updated version to 5.7.0.1 Modified: showeq/trunk/configure.in =================================================================== --- showeq/trunk/configure.in 2007-02-16 03:04:57 UTC (rev 677) +++ showeq/trunk/configure.in 2007-02-16 04:24:20 UTC (rev 678) @@ -2,7 +2,7 @@ dnl $Id$ $Name$ AC_PREREQ(2.59) -AC_INIT(showeq, 5.7.0.1) +AC_INIT(showeq, 5.8.0.0) AC_CONFIG_SRCDIR(src/main.cpp) AC_CANONICAL_SYSTEM Modified: showeq/trunk/src/typenames.h =================================================================== --- showeq/trunk/src/typenames.h 2007-02-16 03:04:57 UTC (rev 677) +++ showeq/trunk/src/typenames.h 2007-02-16 04:24:20 UTC (rev 678) @@ -8,20 +8,20 @@ #ifndef DOXYGEN_SHOULD_SKIP_THIS NULL, // 0 "Humanoid", // 1 - NULL, // 2 + "Lycanthrope", // 2 "Undead", // 3 "Giant", // 4 - "Golem", // 5 - NULL, // 6 - "Shissar", // 7 + "Construct", // 5 + "Extraplanar", // 6 + "Magical", // 7 "UndeadPet", // 8 "BaneGiant", // 9 NULL, // 10 "Untargetable", // 11 "Vampyre", // 12 - NULL, // 13 + "Atenha Ra", // 13 "Greater Akheva", // 14 - NULL, // 15 + "Khati Sha", // 15 "Seru", // 16 NULL, // 17 NULL, // 18 @@ -29,10 +29,10 @@ "Luggald", // 20 "Animal", // 21 "Insect", // 22 - "ExtraPlanar", // 23 - "Summoned", // 24 + "Monster", // 23 + "Elemental", // 24 "Plant", // 25 - "Dragonkin", // 26 + "Dragon", // 26 "Elemental", // 27 "Summoned Creature", // 28 "Dragon", // 29 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmm...@us...> - 2007-02-16 03:05:03
|
Revision: 677 http://seq.svn.sourceforge.net/seq/?rev=677&view=rev Author: cmmalone Date: 2007-02-15 19:04:57 -0800 (Thu, 15 Feb 2007) Log Message: ----------- OP_LevelUpdate from ieatacid Modified Paths: -------------- showeq/trunk/conf/zoneopcodes.xml Modified: showeq/trunk/conf/zoneopcodes.xml =================================================================== --- showeq/trunk/conf/zoneopcodes.xml 2007-02-16 02:48:52 UTC (rev 676) +++ showeq/trunk/conf/zoneopcodes.xml 2007-02-16 03:04:57 UTC (rev 677) @@ -574,7 +574,7 @@ <opcode id="4775" name="OP_TributeInfo" updated="02/13/07"> <comment>Tribute information</comment> </opcode> - <opcode id="6a93" name="OP_SkillUpdate" updated="12/07/05"> + <opcode id="03c0" name="OP_SkillUpdate" updated="02/13/07"> <comment>old SkillIncCode</comment> <payload dir="server" typename="skillIncStruct" sizechecktype="match"/> </opcode> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |