PDA

View Full Version : big Thanx



Slager
06-10-2008, 04:46 AM
Great work on the 5.12.4 folks. I have eyes again.
just a FYI:
There seems to be some problem with the playerskittles. Sometime is doesnt get updated as much as it should.
If i find out more specific details i will report back

ieatacid
06-10-2008, 05:14 AM
What zone? How might I go about reproducing this so I can see what the problem is?

ManOnTheMoon
06-10-2008, 12:02 PM
Yes big thanks from me as well.

There are a few zones I've noticed strange behavior as well. Cresent reach and MMM I have seen player skittles off the map and with huge run speed lines, theses skittles also have wired info for the players name and level etc.

Other zones I have been in since SEQ patch that I remember being fine are Blightfire Moors. Fortress Mechanotus and guild lobby/Hall

And once again Thanks For your hard work.

bonkersbobcat
06-10-2008, 03:12 PM
I have observed this as well in MMM and Bloodmoon Keep. It seems that upon initial zone in, a couple of the spawns come in wrong with messed up coordinates and data. This causes the scaling of the map to be wrong. I have not seen it occur after the initial zone in.

ieatacid
06-10-2008, 05:02 PM
I'm not flagged for MMM, but I'll see if I can get the same thing to happen in Bloodmoon. I tried Crescent Reach but didn't get anything usual to happen.

coffeencream
06-10-2008, 05:17 PM
I've noticed the opposite in Crescent Reach, my first zone in was fine, but went to Blightfire, then zoned back into CR, and the scaling was off then

ieatacid
06-10-2008, 08:12 PM
I was able to get it to do what you're describing in Dragonscale Hills and tracked it down to this:

if(spawn->hasTitleOrSuffix & 1)
{
// it's a chest. skip usual 21 plus extra 56
netStream.skipBytes(77);
}

It should be skipping 78 bytes there, but if you just change the number it'll make the same thing happen for some chests (I tested on the ones in Feerrot). I'll have to figure out what makes the client decide to to parse that data and how much to parse.

Edit: The spawn is an invisible one. The name is simply "_11" if you look in the zonespawns data in zone.log (or if you use MQ you can /echo ${Spawn[_11]}).

ieatacid
06-10-2008, 10:23 PM
This should do it, if some of you can test before I commit the changes and make a new tarball.


Index: src/everquest.h
================================================== =================
--- src/everquest.h (revision 701)
+++ src/everquest.h (working copy)
@@ -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;
Index: src/spawnshell.cpp
================================================== =================
--- src/spawnshell.cpp (revision 701)
+++ src/spawnshell.cpp (working copy)
@@ -464,25 +464,50 @@

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
+ uint8_t j;
+
+ do
+ j=netStream.readUInt8();
+ while(j);
+
+ do
+ j=netStream.readUInt8();
+ while(j);
+
+ do
+ j=netStream.readUInt8();
+ while(j);
+
+ // 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);

@@ -565,14 +589,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();

bonkersbobcat
06-10-2008, 11:13 PM
Looks good so far, I zoned in and out of a bunch of zones that had weirdness before and they all look good.

uRit1u2CBBA=
06-11-2008, 08:24 AM
I'm compiling things now. Hope they don't make things more strange with today's update.

coffeencream
06-11-2008, 11:15 AM
I'll test it as well when I get home from work tonight

ieatacid
06-11-2008, 02:43 PM
Seems we're unaffected.

uRit1u2CBBA=
06-11-2008, 05:08 PM
aye . works well. woohoo!

bonkersbobcat
06-11-2008, 08:53 PM
Seeing the corrupted spawns and weird map scaling again. It all seemed to be working earlier with the manual code patch, but now that I have re-checked out the latest SVN (and Sony patched again), I am seeing the weirdness again. Steamfront is a zone with difficulty.

uRit1u2CBBA=
06-11-2008, 08:55 PM
I'm using the manual updates, not the new tarball, and saw a little problem in Solteris. But wasn't nearly as bad as it was

bonkersbobcat
06-11-2008, 10:25 PM
I am wondering if it might be guild banners. I went back to steamfont again and all was good. There were a couple of guild banners up earlier when it is messed up.

ManOnTheMoon
06-11-2008, 10:36 PM
The Diff patch worked for the most part, it did flake out in steamfont (with a couple of banners up) and in soltaris, think we had a banner up as well.

ieatacid
06-12-2008, 02:18 PM
I'll have to see if I can find one. What are some good zones to look for one in that I don't need flags for?

Also, what are they named? I use a MQ plugin to make me crash on certain spawn names so that I can step through the function and see what's going on.

bonkersbobcat
06-12-2008, 02:34 PM
Steamfont is a pretty good place to look, There is a new guild / raid event that starts there and many guilds have been trying it. Folks are planting the banner in the big pit by the Dragonscale Hills and Loping Plains zone lines. I will get you an exact name next time I am on, but I believe they are called "guild standard" along with the name of the guild.

ieatacid
06-12-2008, 06:46 PM
"GBN-General-NoEffect"

uRit1u2CBBA=
06-12-2008, 08:31 PM
A fellowship campfire that has no effect is named:

FSP-General-NoEffect

I'll try to note what the fire and banners that have effects are named so you can search for the pattern in case it helps.

uRit1u2CBBA=
06-12-2008, 08:55 PM
FSP-Buff-Formal-HP is a hp fire
GBN-Buff-Formal-ManaRgn is a mana regen banner

ieatacid
06-21-2008, 11:26 PM
I did a new SVN commit tonight if anyone want's to test it. Purple was kind enough to help fix some of the net opcode handling, and hopefully this will fix the issues posted above.

uRit1u2CBBA=
06-22-2008, 04:42 PM
Now to figure out how to pull out that svn code again :) lol

ieatacid
06-22-2008, 04:58 PM
svn checkout https://seq.svn.sf.net/svnroot/seq/showeq/trunk

You may also need to do

make -f Makefile.dist

uRit1u2CBBA=
06-22-2008, 06:47 PM
Thanks. That worked. Running the .2 version so far, and I've not seen any problems.

fransick
06-22-2008, 07:12 PM
I did a new SVN commit tonight if anyone want's to test it. Purple was kind enough to help fix some of the net opcode handling, and hopefully this will fix the issues posted above.

Same... running .2 without any noticeable issues thus far.