Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #106  
Old 02-04-2009, 06:36 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

I can help a little here.

Code:
/*0020*/ sint32 animation:10,     // animation
         		delta_heading:10,  // change in heading
         		padding0020:12;   // ***Placeholder (mostly 1)
This is a bit packed signed integer 4 bytes long. that's 32 bits. The first 10 bits are the animation, hence the animation:10, the second 10 is delta_heading and the last 12 is padding.
Reply With Quote
  #107  
Old 02-04-2009, 06:43 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Oh, so I need to break that stuff down into actual bits to figure it out? LOL, that is gonna suck. Maybe hexvis will help me lol... I will have to try it later tonight.

I think part of the problem is that I don't know how to calculate stuff like floats. So, when an X, Y, or Z gets sent, they are always floats, but how do I make that into an actual X Y or Z location? If I try converting the hex into decimal, it almost always shows something like 17,000 or higher. I don't know how to figure out the actual loc from that. If I could figure that out, it would probably be easier to break this stuff down. Then, I should be able to just compare my /loc in game with the hex in the packet and figure out what matches with what. The way I was doing it was by moving around and watching what changed more when I did certain things. Needless to say, that was sloppy at best.

It truly is amazing how much of a noob I am with this stuff to have come this far even! :P
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #108  
Old 02-04-2009, 06:54 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

And I'll add for signed and unsigned and this is how I look at them, maybe not a technical definition:

signed and unsigned integers are integers that can be positive and negative. A signed integer of a certain size can go from a certain negative value to a certain positive value, depending on the size of the integer so -n to +n. Now an unsigned integer is only positive and can go from 0 to n. In the case above where you have unsigned and signed in the same 4-byte block, you have say the first 10 bits are signed so the value can go from -2^9 to 2^9-1. And then you have the unsigned piece that can go from 0 to 2^20 -1 since it is 20 bits.

Any help?
Reply With Quote
  #109  
Old 02-04-2009, 07:30 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

On a semi-related note. SoF at NewEgg is $6. I just got a copy of it. As soon as I get it I might try to run a separate instance and fool around with it some myself.
Reply With Quote
  #110  
Old 02-04-2009, 07:45 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by Andrew80k View Post
On a semi-related note. SoF at NewEgg is $6. I just got a copy of it. As soon as I get it I might try to run a separate instance and fool around with it some myself.
Thank you very much, sir!
Reply With Quote
  #111  
Old 02-04-2009, 08:13 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Wow...

http://www.newegg.com/Product/Produc...20of%20faydwer

Very nice find, Andrew80k! Free shipping too! Honestly, I would recommend that anyone who thinks they will be playing the emulator for a while to come should pick this up now. If you may only be playing it for a short time from now, you probably shouldn't bother, as SoF probably won't be fully playable quite that soon. But, at 6$ on a brand new retail copy with free shipping, I think it is a good idea to pick them up while supplies last! At the very worst, you are out 6$, so it is hard to argue with that, lol.

The only reason I would even consider pushing that people start buying it now is because it is only a matter of time before it is nearly impossible to get a legal retail copy of just like Titanium is now. And even then, it will almost certainly cost more than 6$ to get a legal copy (shipped).

I think the fact that not many people actually have SoF yet is part of the reason I have been solo working on the project so far. The stuff I have been doing isn't rocket science. Sure, some of it is a bit complex, especially for someone who has no idea what to do, but I was able to figure it all out up to this point. I am persistent and consider myself to be a good trouble-shooter/problem solver, so that helps alot. But as you can see, my knowledge of this stuff is very crude. I am certain that others would be able to look at it and figure things out in no time that would have taken me considerably longer. One example is getting items to work. I have already laid out the structure of how the info needs to be sent. All someone has to do is figure out how to send it properly without effecting how the other clients handle items. I can probably figure it out eventually, but someone with more knowledge could probably do it pretty quickly. I don't mind doing any of this work, but with help from others, it can all get done much quicker. Packet structures are pretty simple for the most part. I am still planning to get a simple wiki page up that explains them enough that almost anyone with some technical skill can understand.

And before anyone asks, no I won't be giving refunds to anyone that buys SoF in the case that it never gets completed!
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #112  
Old 02-04-2009, 08:42 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by Andrew80k View Post
And I'll add for signed and unsigned and this is how I look at them, maybe not a technical definition:

signed and unsigned integers are integers that can be positive and negative. A signed integer of a certain size can go from a certain negative value to a certain positive value, depending on the size of the integer so -n to +n. Now an unsigned integer is only positive and can go from 0 to n. In the case above where you have unsigned and signed in the same 4-byte block, you have say the first 10 bits are signed so the value can go from -2^9 to 2^9-1. And then you have the unsigned piece that can go from 0 to 2^20 -1 since it is 20 bits.

Any help?
Yeah, some of that stuff is sounding vaguely familiar from reading I have done on it in the past. I just have to figure out how to calculate this stuff. It does look like Hexvis can be a little helpful. I am guessing that the "Real" field in Hexvis is for floats? I don't really understand how to convert X Y Z info into floats to compare my /loc to verify which section might be what. And converting the combined signed and unsigned stuff is even harder. I can just guess and test different structure orders, but I don't even know what size to break up the int32s into for signed and unsigned.

I wouldn't mind reading up on this stuff, but it is really hard to find a good site that explains ints and floats and unions and stuff. Searching for those things yields way too many coding posts, lol.

One thing I am not 100% sure about, but I think I have figured out is that it seems like uints send the hex starting on the left and sints send it starting on the right, though both still read the bits from right to left. What I mean by that is when looking at the hex output from packet collects, I see that some int32 fields of the packet structure are sent like 01 00 00 00, and some are send like 00 00 00 01. Though, maybe it is the floats that are sent backwards like that now that I think about it more. It seems like it is normally X Y Z coordinates or something that is sent that way (00 00 CD AB vs CD AB 00 00).
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #113  
Old 02-04-2009, 11:32 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I just started working on a wiki page for packet structures. It still needs to be formatted and have alot more info added to it, but I think it is a good start. I will try to fill in as much info as I can think of. Feel free to edit it and correct anything that might be wrong, or add to it. Also, feel free to format it so it is easy to read and with an index. I will probably do that at some point, but haven't gotten to it just yet. Here is the link:

http://www.eqemulator.net/wiki/wikka...=PacketStructs
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #114  
Old 02-04-2009, 11:52 PM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

Quote:
Originally Posted by Andrew80k View Post
On a semi-related note. SoF at NewEgg is $6. I just got a copy of it. As soon as I get it I might try to run a separate instance and fool around with it some myself.
Score~ it was $10 at Amazon but I still didn't want to fork it up just yet...but the $6 + free DHL smart mail = win. I'll help when I can!
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
Reply With Quote
  #115  
Old 02-05-2009, 12:09 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by Yeormom View Post
Score~ it was $10 at Amazon but I still didn't want to fork it up just yet...but the $6 + free DHL smart mail = win. I'll help when I can!
Great to hear! Knowing that some other people might actually start trying to help soon, I will make sure to get any progress I make updated to the SVN nightly if it is important enough for an update.

Also, once a couple people are working on it, I will probably start a new thread to keep track of what needs work and what is being worked on by who. This thread is getting a bit long, but it served my needs to keep people updated and maybe explain a little of the process I have taken to progress this far with it

I am really excited to be using SoF content hopefully soon
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #116  
Old 02-05-2009, 12:26 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I'll spare whatever time I can to this project once my client arrives. PEQ and general EQEmu stuff keeps me busy, but I'd like to see this succeed.
Reply With Quote
  #117  
Old 02-05-2009, 12:46 AM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

I was wondering why you went for the Secrets of Faydwer expansion pack instead of the new Seeds of Destruction that also is a complete all expansions package.
Reply With Quote
  #118  
Old 02-05-2009, 12:57 AM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Quote:
Originally Posted by Congdar View Post
I was wondering why you went for the Secrets of Faydwer expansion pack instead of the new Seeds of Destruction that also is a complete all expansions package.
SoF is currently download only. There is no disk. So you don't have a static client to work from. Working with live is problematic in that it changes so often and it's difficult to keep up. SoF would be a LARGE step toward bringing the emu up to (more) modern EQ. That's quite a bit of additional content and functionality to add. Should keep us busy for a while...
Reply With Quote
  #119  
Old 02-05-2009, 01:02 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by Congdar View Post
I was wondering why you went for the Secrets of Faydwer expansion pack instead of the new Seeds of Destruction that also is a complete all expansions package.
The reason to use SoF instead of SoD is because as far as I have read and heard, SoD is a digital download only. That means you patch to get it. Basically, it means that we would be trying to keep up with Live in order to use SoD unless we picked a certain patch revision and stuck with it, but that brings up legal issues since there is no way for new players to get an old patch legally. And since SoD is digital download only, then I think it is fairly safe to assume that all future expansions probably will be as well.

It was all of that that pushed me to finally decide that this was our last option as an upgrade and it was time to start working on it :P

Also, another reason is that EQLive apparently does something new with their Login Server and will not connect to the server list of EQEmu anymore. I am sure we could fix that if we had access to the source code of the Login Server, but that isn't much of an option. Plus, chasing live is way more work than anyone around here have time for. Otherwise, it would be a million times easier for me to get the emu working with EQLive than it is to get it working with SoF.

I think SoF is a pretty huge upgrade and will be worth all of the work. We are getting almost 2 years of updates over what Titanium has.

BTW, I am going to try to get the zonechange and requestclientzonechange structs working tonight. That way, at least once you guys get your copies of SoF, you will be able to zone around to check out the new zones, and spawn the new races and fun stuff like that. Those structs may depend on clientpositionupdate being correct though, so no guarantees. I was having a blast last night just checking out the new global races. Having a global dragon race is just awesome, and he looks great too! Oh, and I will update #race and #fixmob to both go up to 600 or whatever I find the max race to be. I know it is well into the 500s now at least.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 02-05-2009 at 09:24 AM..
Reply With Quote
  #120  
Old 02-05-2009, 01:36 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

This is going really fast so I apologize, I didn't see either of these issues resolved but maybe I missed it:

Quote:
I don't see texture as one of the fields in Titanium
equip_chest2 is the field that we fill with "texture".

Also you talked some about serializing items and I'm not sure I understand the problem. We pass an internal serialized item struct to the struct strategy which is:

signed short
ItemInst*

Which we then proceed to turn into a string, turning it into a binary structure instead would be trivial in theory. Is there something I'm missing?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:26 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3