PDA

View Full Version : Partial fix for 6/16 SEQ Beta



Cryonic
06-16-2004, 11:52 PM
from those of us in IRC, this looks to be a partial fix for SEQ Beta.

Updated a few more opcodes.

This only works if you are patching against the zoneopcodes.xml that is actually in CVS, else you will probably have to hunt down the changes manually.

ThanosOfTitan
06-17-2004, 04:37 AM
For those of us who keep forgetting (me) you apply it like this:

patch -p0 < cvsdiff.patch

jesterbam
06-17-2004, 05:33 AM
When I run patch -p0 < cvsdiff.patch

from /root/showeq/conf/

I get:

patching file zoneopcodes.xml
Hunk #2 FAILED at 221
Hunk #3 FAILED at 225
Hunk #4 FAILED at 228
Hunk #5 FAILED at 232
4 out of 8 hunks failed-saving to zoneopcodes.xml.rej

Same from usr/local/share/showeq

Idea?

Thanks in advance.

MotleyC
06-17-2004, 05:35 AM
Do I download this into my install directory then patch and reinstall or do I download it into the bin directory where showeq is installed to then run the patch?

Pascal7
06-17-2004, 05:35 AM
Humm, 7 out of 8 hunks failed on mine.
Guess I'll just add them the old fashon way with GEdit.

Thank you for putting this togeather. :)

BlueAdept
06-17-2004, 06:12 AM
Thanks Cryonic for the fixes.
FYI this is for the Beta version just so everyone knows.

jesterbam
06-17-2004, 06:51 AM
In attempting to understand how a .patch file works it correct to think the patch:

Removes this line-> < <opcode id="00d8" name="OP_CancelInvite" updated="05/26/04">
---
Replaces it with this line-> > <opcode id="00d6" name="OP_CancelInvite" updated="06/16/04">
221c221

If this is correct I will follow with a few more questions that will help me understand this and at the same time hopefully help others. Thanks in advance.

uRit1u2CBBA=
06-17-2004, 07:56 AM
For those getting errors, that's normal:

I did a fresh CVS install the night before the patch .. and some of the opcodes match what he has as being correct today.

So you get the error because the line that we are telling patch it should be now, isn't -- so isn't changing anything -- which is where we want it left ;)

I did the patch by hand since it was small, and I forgot the patch syntax :)

reaver
06-17-2004, 09:43 AM
Looking from the diff at work, this looks like just a change to the zone xml file and nothing to the source (to require a recompile).

Am I reading that correctly? :)

-reaver

kae9
06-17-2004, 03:03 PM
when i ran the patch, it rejected 7 out of 8.
then i did:
make -f Makefile.dist

and

./configure && make && make install

and now seq wont run, it kicks out and tells me this:

Warning: Error loading '/usr/local/share/showeq/zoneopcodes.xml'!



i initially wanted to patch this in the hopes it would fix the no new spawns showing properly, but at this point would love suggestions on either:

1. getting back to where i was before patching this in, and at least running with errors

or

2. loading this properly or wahtever it takes to get the new spawns to show up.


i had to do the last patch fixes (5/26 i believe it was) manually because for some reason, cvs never seems to work properly for me - it just sits at the login screen or never does anything.

Joemama
06-17-2004, 07:18 PM
Hey, I have a pretty old cvs checkout, and the opcode changes don't line up with this latest fix, it will end up giving me double id= lines.


Can someone possibly post the zoneopcodes.xml file after the new changes have been applied to it?

I can't seem to log in to cvs to get the latest file to work with.

Thanks,

Joe

OgerSEQ
06-17-2004, 09:28 PM
Here is the working zoneopcodes.xml for the 6/16 patch.

To answer a previous question, you have to recompile with the new xml file.

Joemama
06-17-2004, 09:33 PM
Thanks Oger

Cryonic
06-17-2004, 09:54 PM
Changes to the xml configs DO NOT REQUIRE REBUILDS OF SEQ

That is the whole point of Zaphod adding that functionality. The only time SEQ needs to be rebuilt is to deal with Struct changes (either size or position of data) and that is obvious because patches will be for certain .h files to make those changes.

OgerSEQ
06-17-2004, 11:49 PM
Odd, after making the changes, they didnt work until I recompiled.



EDIT: I made the changes to the wrong zoneopcodes.xml /bonk

reaver
06-18-2004, 12:47 AM
Using the new zoneopcodes.xml - works real good :)

Here is one I noticed on my shell:

OP_Spawndoor (0x291) (dataLen:62916) doesn't match: modules of size(doorStruct): 64

I get that each time after zoning.

-reaver

kae9
06-18-2004, 10:20 AM
thx for posting the new zoneopcodes, going to slot that in and see if it works! i had reverted in the meantime to an old zoneopcode.xml file, and seq would launch again, but still had the problem of no new spawns/pcs etc.

if i understand the above posts, putting in the zoneopcodes just posted here should fix that?

uRit1u2CBBA=
06-18-2004, 12:23 PM
It is read in from /usr/local/share/showeq.

If you've updated that copy, it will work, but don't make install or else you will overwrite it with the copy from src.

If you copy the one from src, then you'll have to make install to get it working again.

reaver
06-18-2004, 05:03 PM
Originally posted by reaver
OP_Spawndoor (0x291) (dataLen:62916) doesn't match: modules of size(doorStruct): 64


Ok, the dataLen is a different number for each zone, and it appears to be related to the number of objects and people in a zone. IE that number varies if there are less people in the zone than last zone.

Soooo.. not being an expert on this, I poked around in the Zoneopcodes.xml file and searched for op codes that would have to do with zoning...

I believe 0291 is actually the OpCode for OP_ReqZoneObjects (previously 01ba) Comment on this OpCode is "Client requesting zone objects" - seems likely

Sooo.. I changed 01ba to 0291 in my zoneopcodes.xml and then I found the old 0291 (OP_Spawndoor) and nuked it.

It hasn't crashed and is not giving me an opcode error on zoning now.

Would appreciate any guidance as to my method and (in)correctness of my assumption and fix :)

Hopefully I can learn more about opcodes as we go and try and contribute when I can.

-reaver

Cryonic
06-18-2004, 08:48 PM
That is way to hack the new opcodes out.

SEQ beta has a number of logging features to help find missing/new/changed opcodes. The basics are, go to a quiet zone (e.g. the Arena) do something, watch what opcodes go by, repeat action till you isolate the opcode for the action, rinse repeat...

reaver
06-18-2004, 10:03 PM
Okies.. so how would you find the new opcode for OP_Spawndoor hehe, never seen a door spawn before ;)

-reaver

junk
06-19-2004, 11:51 AM
I'd guess that you'd need to know the exact number of doors in a zone. Then you could zone into that zone and look for a particular opcode that flashes by the same number of times as the number of doors in the zone. Is anyone who has actually done this able to share if this is the way to do it?

Circles
06-25-2004, 04:23 PM
Originally posted by Cryonic
That is way to hack the new opcodes out.

SEQ beta has a number of logging features to help find missing/new/changed opcodes. The basics are, go to a quiet zone (e.g. the Arena) do something, watch what opcodes go by, repeat action till you isolate the opcode for the action, rinse repeat...

I thought to try this.. so i went into network and click monitor opcodes... got a box asking me which ones...

im a complete linux idiot in this sense.. um how do i get the console to just show all op codes (hopefully those it just doesnt understand) so i can figure them out?

is there a faq for the beta version of show eq that covers this?

(and yes, im runnig in console mode, so seeing the normal messages go by, just not op codes!)