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
(2) |
Sep
(11) |
Oct
(6) |
Nov
(9) |
Dec
(4) |
| 2026 |
Jan
(5) |
Feb
(6) |
Mar
(3) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <iea...@us...> - 2008-06-11 21:31:39
|
Revision: 704
http://seq.svn.sourceforge.net/seq/?rev=704&view=rev
Author: ieatacid
Date: 2008-06-11 14:31:38 -0700 (Wed, 11 Jun 2008)
Log Message:
-----------
Tag for release 5.12.4.1
Added Paths:
-----------
showeq/tags/v5_12_4_1/
Copied: showeq/tags/v5_12_4_1 (from rev 703, showeq/trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <iea...@us...> - 2008-06-11 21:30:21
|
Revision: 703
http://seq.svn.sourceforge.net/seq/?rev=703&view=rev
Author: ieatacid
Date: 2008-06-11 14:30:19 -0700 (Wed, 11 Jun 2008)
Log Message:
-----------
+ Updated version to 5.12.4.1
+ The variable-length spawn data should be handled properly now
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/spawnshell.cpp
showeq/trunk/src/spawnshell.h
Modified: showeq/trunk/ChangeLog
===================================================================
--- showeq/trunk/ChangeLog 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/ChangeLog 2008-06-11 21:30:19 UTC (rev 703)
@@ -1,5 +1,10 @@
Version: $Id$ $Name$
+ieatacid (6/11/08)
+----------------
++ Updated version to 5.12.4.1
++ The variable-length spawn data should be handled properly now
+
ieatacid (6/8/08)
----------------
+ Updated version to 5.12.4
Modified: showeq/trunk/conf/zoneopcodes.xml
===================================================================
--- showeq/trunk/conf/zoneopcodes.xml 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/conf/zoneopcodes.xml 2008-06-11 21:30:19 UTC (rev 703)
@@ -75,7 +75,7 @@
</opcode>
<opcode id="3164" name="OP_RemoveSpawn" updated="04/17/08">
<comment>Remove spawn from zone</comment>
- <payload dir="server" typename="removeSpawnStruct" sizechecktype="none"/>
+ <payload dir="both" typename="removeSpawnStruct" 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-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/configure.in 2008-06-11 21:30:19 UTC (rev 703)
@@ -2,7 +2,7 @@
dnl $Id$ $Name$
AC_PREREQ(2.59)
-AC_INIT(showeq, 5.12.4.0)
+AC_INIT(showeq, 5.12.4.1)
AC_CONFIG_SRCDIR(src/main.cpp)
AC_CANONICAL_SYSTEM
Modified: showeq/trunk/src/everquest.h
===================================================================
--- showeq/trunk/src/everquest.h 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/src/everquest.h 2008-06-11 21:30:19 UTC (rev 703)
@@ -984,7 +984,7 @@
};
int32_t miscData;
};
-/*0000*/ uint8_t hasTitleOrSuffix;
+/*0000*/ uint8_t otherData; // & 4 - has title, & 8 - has suffix, & 1 - it's a chest or untargetable
/*0000*/ uint32_t race;
/*0000*/ uint8_t charProperties;
/*0000*/ uint32_t bodytype;
@@ -1085,7 +1085,7 @@
unsigned padding1:2;
unsigned trader:1;
unsigned buyer:1;
-/*0000*/ uint8_t hasTitleOrSuffix; // & 4=title, & 8=suffix, & 1 - it's a chest
+/*0000*/ uint8_t otherData; // & 4 - has title, & 8 - has suffix, & 1 - it's a chest or untargetable
/*0000*/ uint32_t unknown3;
/*0000*/ uint32_t unknown4;
/*0000*/ uint32_t unknown5;
Modified: showeq/trunk/src/interface.cpp
===================================================================
--- showeq/trunk/src/interface.cpp 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/src/interface.cpp 2008-06-11 21:30:19 UTC (rev 703)
@@ -1962,9 +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,
+ m_packet->connect2("OP_RemoveSpawn", SP_Zone, DIR_Server|DIR_Client,
"removeSpawnStruct", SZC_None,
- m_spawnShell, SLOT(removeSpawn(const uint8_t*, size_t)));
+ m_spawnShell, SLOT(removeSpawn(const uint8_t*, size_t, uint8_t)));
#if 0 // ZBTEMP
connect(m_packet, SIGNAL(spawnWearingUpdate(const uint8_t*, size_t, uint8_t)),
m_spawnShell, SLOT(spawnWearingUpdate(const uint8_t*)));
Modified: showeq/trunk/src/spawnshell.cpp
===================================================================
--- showeq/trunk/src/spawnshell.cpp 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/src/spawnshell.cpp 2008-06-11 21:30:19 UTC (rev 703)
@@ -423,7 +423,7 @@
{
NetStream netStream(data,len);
spawnStruct *spawn = new spawnStruct;
- uint32_t spawnStructSize;
+ int32_t spawnStructSize;
uint16_t parm1;
while(!netStream.end())
@@ -433,16 +433,22 @@
if(parm1==0x1ff)
parm1=netStream.readUInt16NC();
+ // skip 0x79 before name
netStream.skipBytes(1);
+
spawnStructSize=fillSpawnStruct(spawn,netStream.pos(),len,false);
newSpawn(*spawn);
- netStream.skipBytes(spawnStructSize);
+ if(spawnStructSize)
+ netStream.skipBytes(spawnStructSize);
}
}
-uint32_t SpawnShell::fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen)
+int32_t SpawnShell::fillSpawnStruct(spawnStruct *spawn, const uint8_t *data, size_t len, bool checkLen)
{
NetStream netStream(data,len);
+ int32_t retVal;
+ uint32_t race;
+ uint8_t i;
QString name=netStream.readText();
@@ -464,25 +470,49 @@
spawn->miscData=netStream.readUInt32NC();
- spawn->hasTitleOrSuffix=netStream.readUInt8();
+ spawn->otherData=netStream.readUInt8();
-// seqDebug("miscData: %x hasTitleOrSuffix: %x",spawn->miscData,spawn->hasTitleOrSuffix);
+// seqDebug("miscData: %x otherData: %x",spawn->miscData,spawn->otherData);
// 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)
+ // skip unknown3, unknown4
+ netStream.skipBytes(8);
+
+ if(spawn->otherData & 1)
{
- // it's a chest. skip usual 21 plus extra 56
- netStream.skipBytes(77);
+ // it's a chest or untargetable
+
+ do
+ i=netStream.readUInt8();
+ while(i);
+
+ do
+ i=netStream.readUInt8();
+ while(i);
+
+ do
+ i=netStream.readUInt8();
+ while(i);
+
+ // skip next 3 longs
+ netStream.skipBytes(12);
+
+ // next it loops through 9 longs, but we can just skip them
+ netStream.skipBytes(36);
+
+ // skip 1 byte
+ netStream.skipBytes(1);
+
+ // skip the last long
+ netStream.skipBytes(4);
}
- else
- {
- // skip facestyle, walk/run speeds, unknowns
- netStream.skipBytes(21);
- }
+ // skip facestyle, walk/run speeds, unknown5
+ netStream.skipBytes(13);
+
spawn->race=netStream.readUInt32NC();
// seqDebug("race=%d",spawn->race);
@@ -493,11 +523,10 @@
{
spawn->bodytype=netStream.readUInt32NC();
// seqDebug("bodytype=%d",spawn->bodytype);
- for(int i=1; i < spawn->charProperties; i++)
+ for(i=1; i < spawn->charProperties; i++)
{
// extra character properties
- int j=netStream.readUInt32NC();
-// netStream.skipBytes(4);
+ netStream.skipBytes(4);
}
}
@@ -544,20 +573,19 @@
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,
+// 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;
+ 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++)
+ for(i=0; i<9; i++)
{
spawn->equipment[i].itemId=netStream.readUInt32NC();
spawn->equipment[i].equip1=netStream.readUInt32NC();
@@ -565,14 +593,14 @@
}
}
- if(spawn->hasTitleOrSuffix & 4)
+ if(spawn->otherData & 4)
{
name=netStream.readText();
strcpy(spawn->title,name.latin1());
// seqDebug("title=%s",spawn->title);
}
- if(spawn->hasTitleOrSuffix & 8)
+ if(spawn->otherData & 8)
{
name=netStream.readText();
strcpy(spawn->suffix,name.latin1());
@@ -583,12 +611,13 @@
// now we're at the end
- uint32_t retVal=netStream.pos()-netStream.data();
+ retVal=netStream.pos()-netStream.data();
if(checkLen && (int32_t)len!=retVal)
{
seqDebug("SpawnShell::fillSpawnStruct - expected length: %d, read: %d",len,retVal);
}
+
return retVal;
}
@@ -1241,13 +1270,17 @@
} // else not yourself
} // end consMessage()
-void SpawnShell::removeSpawn(const uint8_t* data, size_t len)
+void SpawnShell::removeSpawn(const uint8_t* data, size_t len, uint8_t dir)
{
+ if(dir==DIR_Client)
+ return;
const removeSpawnStruct* rmSpawn = (const removeSpawnStruct*)data;
#ifdef SPAWNSHELL_DIAG
seqDebug("SpawnShell::removeSpawn(id=%d)", rmSpawn->spawnId);
#endif
+
Item *item;
+
if(len==sizeof(removeSpawnStruct))
{
if(!rmSpawn->removeSpawn)
@@ -1268,10 +1301,6 @@
}
}
}
- else
- {
-
- }
}
else if((len+1)!=sizeof(removeSpawnStruct))
{
Modified: showeq/trunk/src/spawnshell.h
===================================================================
--- showeq/trunk/src/spawnshell.h 2008-06-09 00:54:25 UTC (rev 702)
+++ showeq/trunk/src/spawnshell.h 2008-06-11 21:30:19 UTC (rev 703)
@@ -122,7 +122,7 @@
void updateNpcHP(const uint8_t* hpupdate);
void spawnWearingUpdate(const uint8_t* wearing);
void consMessage(const uint8_t* con, size_t, uint8_t);
- void removeSpawn(const uint8_t* rmSpawn, size_t len);
+ void removeSpawn(const uint8_t* rmSpawn, size_t len, uint8_t dir);
void deleteSpawn(const uint8_t* delSpawn);
void killSpawn(const uint8_t* deadspawn);
void respawnFromHover(const uint8_t* respawn);
@@ -140,7 +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);
+ int32_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-06-09 00:54:27
|
Revision: 702
http://seq.svn.sourceforge.net/seq/?rev=702&view=rev
Author: ieatacid
Date: 2008-06-08 17:54:25 -0700 (Sun, 08 Jun 2008)
Log Message:
-----------
Tag for release 5.12.4
Added Paths:
-----------
showeq/tags/v5_12_4_0/
Copied: showeq/tags/v5_12_4_0 (from rev 701, showeq/trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|