PDA

View Full Version : Competent Software Engineer Seeks to Contribute



Xith
07-23-2003, 01:05 PM
The problem I'm having is contacting individuals that can help me get started with the SEQ code. I realize that this is GPL and the world of do it yourself, but a little expertise that you can hit up with little questions here and there dramatically decreases the learning curve.

I tried #showeq on irc.trifocus.net but it was only assholes that don't even play EQ anymore (they are all on Star Wars). It doesn't take much for me to get going on stuff like this, but some expertise can be immensely helpful

You can send me an email or private message too.

Thanks
Xith

user387
07-23-2003, 02:57 PM
what do you want to know? just post your questions here, and somebody who knows will answer them

Mr. Suspicious
07-23-2003, 02:58 PM
but a little expertise that you can hit up with little questions here and there dramatically decreases the learning curve.

You'll find people here and there most helpfull if you'd specify the "little questions" instead of asking for a general direction (which can only be answered with: "read dah code" or "learn C++" =))

Xith
07-23-2003, 08:57 PM
Originally posted by Mr. Suspicious
You'll find people here and there most helpfull if you'd specify the "little questions" instead of asking for a general direction (which can only be answered with: "read dah code" or "learn C++" =))

Ok, let me start with some easy ones then. Can you teach me how to fix showeq?

Sorry, it begged it! :)

suseuser7341
07-24-2003, 05:52 AM
Sure.

At best start off with getting a little familiar, how Seq decodes Packets.

The major work is done in EQPacket. First off are some UDP, IP unpackers and so on., but the interesting stuff is in "dispatchZoneData". Try to understand that method first. (note: you should be familiar with Qt's slot/signal handling to find called methods of the data objects that receive their network data structures from EQPacket::dispatchZoneData. If you are not, go to doc.trolltech.com there is a quite good introduction to it.)
You don't need to follow the handling for every single packet, but maybe new spawns would be something to look deeper into Seq and how data makes it into the actual spawn objects.


Once you know how packets are decoded go and look for packets that it couldn't handle or packets that are not even passed to dispatchZoneData (this is the point I can't help you any further, because anyone who knows where to look for the missing stuff could fix it *g*)

user387
07-24-2003, 07:16 PM
tell me what you want to fix?

most of it is working at the moment...

Xith
07-24-2003, 09:28 PM
WOOT! Thanks so much! That sounds like great fun!

Fortunately, I landed a few contracts so I'm busy as heck now (unfortunately for me contributing right away). But they are short term so I'll prolly have more free time in a week or so.

in response to user387, I think that the unhandled packets that suseuser7341 pointed out sound like a great place to start. I'm familiary with the EQpackets from the EthernalQuest project from 2 years back but I'm sure much has changed since then. If you are curious, I attached most of the code I wrote for my portion of the project at the time (EQServerSocket). I'm sure it wouldn't work now without major tweaking on top of the new packet descrambling, but IMO it's interesting history.

I'll have to read up on the QT stuff, I have no experties there at all, thanks again.

Xith

Dedpoet
07-25-2003, 06:02 AM
tell me what you want to fix?

most of it is working at the moment...

It's a small thing, but the EQ Time on the statusbar isn't working properly. Only an issue to me when waiting on gametime-based spawns, which isn't often. Just something I noticed.

suseuser7341
07-25-2003, 07:19 AM
most important thing to detect would be "mob stop" packets. As someone else posted in another thread there seems to be some new movement packet since Seq and EQ (and therefor MySeq) are not synchron.
Other thing that comes into my mind is some static respawns not appearing on Seq.

Spaz
07-25-2003, 08:05 PM
Figure out / post the opcode and struct changes on Test and you'd make a few people happy.

Cheshire_Dragon
08-05-2003, 01:40 PM
I agree with suseuser...that "mob stop" packet really needs to be found. It is really difficult to avoid mobs while kiting/fear kiting with my Necro...."oh I better turn this way cause that mob is almost here." then I end up running into another mob that I had no clue was there because it took a 90º turn a while back toward my direction.. its really only a niusence in tight places when kiting in general is not a good idea hehe

uncleubb
08-05-2003, 01:53 PM
I agree with Spaz...
Figure out / post the opcode and struct changes on Test and you'd make a few people happy.

Xith
08-05-2003, 05:30 PM
Yes, I agree that's the mostly needy spot ATM. Fortuantely for me I am now doing two contracts at once, so it looks like my contributions will have to wait :( But hey! I'll be able to make rent! :)

My seq hangs on some of these bad packets still. Maybe the weekend after next I'll have a chance to work on that some tho.

Xith

BTW, have these opcode changes gone live yet? (or still on test?)

Jel321
08-06-2003, 12:59 PM
I agree with uncleubb and Spaz, and i suspect it would make a lot of people happy heheh

LordCrush
08-07-2003, 12:38 AM
This is from an other thread, but i think it will be everyones problem when LoDN goes life...


Originally posted by Tardiss
But its not working at all on the LDoN beta server.

http://seq.sourceforge.net/forums/showthread.php?s=&threadid=3825

Fantastik
08-12-2003, 03:06 PM
I've been thinking of playing with SEQ's code a bit. My problem is I only have time at work. Sometims I have an hour or two free at work to mess around, but we dont have any windows boxes here, and obviously no EQ.

I with thinking of capturing a stream and taking it to work to play with, but the whole thing seems kinda unwieldy. Any suggestions?

BlueAdept
08-12-2003, 05:07 PM
Well when you play EQ at home. Set SEQ to capture all the packets. Then you put it to a floppy and look them over when your bored at work :)