PDA

View Full Version : Opcodes



user387
05-19-2003, 04:50 PM
since the patch didn't change anything....

#define StartCastCode 0x00C6

quackrabbit
05-19-2003, 07:32 PM
#define RemDropCode 0x00fe

Wildcat
05-20-2003, 01:08 AM
#define BeginCastCode 0x0017

in everquest.h change uint32_t for spawnId/spellId to be uint16_t

Ratt
05-20-2003, 10:18 AM
in everquest.h change uint32_t for spawnId/spellId to be uint16_t

In all structs or specific ones?

Wildcat
05-20-2003, 10:39 AM
Sigh,

I had a longer post written up but the forums timed out on posting it and I lost it.

I'm not sure if it is all opcodes or not, it was the case for the opcode and structure that I modified, and before I did modify it, I noticed that it was split about 50/50 when I greped everquest.h to see the size of spawnId. Maybe that split is based on working OpCodes vs nonworking?

I was planning on spending some time later this week that I have off from work with adding some better logging functionality, but it turns out that the feature I was looking for is already present in SEQ just very well hidden. ;) So I can spend a bit more time decdoding opcodes/structures then assuming it hasn't already been done.

Quark
05-20-2003, 12:19 PM
Patch to fix guildlists:

#define GuildListCode 0x005c


diff -u -r1.51 packet.cpp
--- packet.cpp 19 Apr 2003 03:23:03 -0000 1.51
+++ packet.cpp 20 May 2003 18:16:17 -0000
@@ -1670,8 +1670,8 @@
emit toggle_log_WorldData(); //untoggle the GUI checkmark


- uint16_t opCode = eqntohuint16(data);
-
+ uint16_t opCode = *((uint16_t *)data);
+
bool unk = true;

switch (opCode)

diff -u -r1.3 guild.cpp
--- guild.cpp 18 Apr 2003 04:26:12 -0000 1.3
+++ guild.cpp 20 May 2003 19:01:03 -0000
@@ -80,6 +80,7 @@
{
QFile guildsfile(guildsFileName);

+ m_guildMap.clear();
if (guildsfile.open(IO_ReadOnly))
{
worldGuildListStruct tmp;
@@ -95,7 +96,6 @@
while (!guildsfile.atEnd())
{
guildsfile.readBlock(reinterpret_cast<char*>(&gl), sizeof(gl));
- if (strlen(gl.guildName) > 0)
m_guildMap.push_back(gl.guildName);
}

@@ -125,7 +125,7 @@
return;
}

- for (int i =0 ; i < MAXGUILDS; i++)
+ for (unsigned int i =0 ; i < m_guildMap.size(); i++)
{
if (m_guildMap[i])
guildtext << i << "\t" << m_guildMap[i] << "\n";
@@ -139,7 +139,7 @@

void GuildMgr::listGuildInfo()
{
- for (int i = 0; i < MAXGUILDS; i++)
+ for (unsigned int i = 0; i < m_guildMap.size(); i++)
{
if (m_guildMap[i])
printf("%d %s\n", i, (const char*)m_guildMap[i]);

Quark
05-21-2003, 06:39 AM
@@ -95,7 +96,6 @@
while (!guildsfile.atEnd())
{
guildsfile.readBlock(reinterpret_cast<char*>(&gl), sizeof(gl));
- if (strlen(gl.guildName) > 0)
m_guildMap.push_back(gl.guildName);
}

I see that part of the patch was commited, this portion also needs to be commited.

If there is a guildID that has no associated guildname, it wont get pushed into the list and all the following guilds will be off by one each time this happens.

Hope this makes sense, if it doesnt I will post some world.log examples to illustrate

user387
05-26-2003, 10:08 AM
#define GroupInfoCode 0x0263

Elyon
05-26-2003, 11:39 AM
Originally posted by user387
#define GroupInfoCode 0x0263

The above, 0x0263, is also shown as #define NpcHpUpdateCode in opcodes.h

:confused:

user387
05-26-2003, 03:41 PM
Originally posted by Elyon
The above, 0x0263, is also shown as #define NpcHpUpdateCode in opcodes.h

:confused:

which is wrong.

Quark
05-26-2003, 04:19 PM
#define GuildListCode 0x005c

still needs to be added to cvs

TrainSpotter
05-26-2003, 10:28 PM
Originally posted by user387
which is wrong.


If thats wrong, whats the right opcode?

spiceman
05-27-2003, 12:24 AM
I changed the #define GroupInfoCode 0x0263 to 0x2640 and it worked for me and i left the #define NpcHpUpdateCode as 0x0263.

However, with the latest DL from CVS the ground spawns still do not disapear for me when they are picked up

bonkersbobcat
05-27-2003, 01:27 AM
Ground spawns are disappearing for me.

user387
05-27-2003, 02:07 AM
Originally posted by spiceman
I changed the #define GroupInfoCode 0x0263 to 0x2640 and it worked for me and i left the #define NpcHpUpdateCode as 0x0263.

However, with the latest DL from CVS the ground spawns still do not disapear for me when they are picked up

which is the wrong way around!

as I said:

#define GroupInfoCode 0x0263

that one is right. and if there is another #define with that number, it MUST be wrong. change it to any other value which isn't used yet, or go find the correct opcode.

Elyon
05-27-2003, 12:01 PM
When someone other than yourself casts a spell and you are close enough to them to see it in your chat window, in the Terminal Window on SEQ you get:

WARNING: BeginCastCode (0017) (datalen:10 != sizeof(begincaststruct):14)!

In the Channel Messages window on SEQ you get:


SPELL: UNKNOWN (ID: 127075735) has begun casting '1770' - Casting time is 0 seconds

Wish I was a programmer, but I am obviously not. I also know this is not that important. I was just made aware of it because twice my Dire Charemed Pet lost it's Charmed effect, well after the mob was killed, so I wanted to see if someone had cast an AE Annul type spell, that uncharmed it.

user387
06-02-2003, 09:37 AM
#define FormattedMessageCode 0x0204

Shadow_Walker
06-04-2003, 11:33 AM
Originally posted by Elyon
When someone other than yourself casts a spell and you are close enough to them to see it in your chat window, in the Terminal Window on SEQ you get:

WARNING: BeginCastCode (0017) (datalen:10 != sizeof(begincaststruct):14)!

In the Channel Messages window on SEQ you get:


SPELL: UNKNOWN (ID: 127075735) has begun casting '1770' - Casting time is 0 seconds

Wish I was a programmer, but I am obviously not. I also know this is not that important. I was just made aware of it because twice my Dire Charemed Pet lost it's Charmed effect, well after the mob was killed, so I wanted to see if someone had cast an AE Annul type spell, that uncharmed it.

If you are still getting this.. Edit the everquest.h file under the secation beginCastStruct

uint16_t SpawnId;
uint16_t SpellId;

The uint32_t * is used in some other places.. For the Begain Cast it is not needed other location.. unless there is another Opcode that will define it in some other place.. But here is the solation..

Sorry for the delay in this.. Been away for a bit

Elyon
06-05-2003, 11:39 AM
Thanks Shadow_Walker, that did correct the problem. I saw that in an earlier post with Ratt asking if it was for all occurences, but thought it was corrected in the cvs.

user387
06-07-2003, 03:32 PM
#define InspectdataCode 0x0262


struct inspectDataStruct
{
/*0000*/ uint8_t opCode; // 0xb6
/*0001*/ uint8_t version; // 0x20
/*0002*/ uint8_t unknown0002[72]; // ***Placeholder
/*0074*/ char itemNames[21][64]; // 21 items with names
// 64 characters long.
/*1418*/ uint8_t unknown1344[46]; // ***placeholder
/*1464*/ int16_t icons[21]; // Icon Information
/*1506*/ char mytext[200]; // Player Defined Text Info
/*1662*/ uint8_t unknown0958[88]; // ***Placeholder
};