Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-25-2014, 10:09 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default ZEQClient - yet another client project

I needed something to do between semesters, so I decided to start working on a client type thing. There isn't very much to see yet (mobs spawning in their ragdoll positions, then teleporting around a bit), but some encouraging progress has been made.

Source: https://github.com/Zaela/ZEQClient
Download of what's made so far: https://dl.dropboxusercontent.com/u/.../ZEQClient.zip (Windows)

It's written in C++ and, of course, fully open source.

I'm using Irrlicht as the rendering library, mostly because it's lightweight and easy to work with. Provisionally looking at using CEGUI as a GUI library, although it's decidedly less lightweight... haven't actually used it yet so I'm open to suggestions there. Currently only set up for Windows, but in principle it should be possible to build and run on Linux, though I haven't tried it yet -- may need some tweaks.

If you want to log in to your server with it and see what there is to see, you should be able to do that. You'll need to run it from the command line, since there is currently no GUI. For the same reason the only way to log in is the very fast way, straight to zone. You'll need to specify your account name, password, the long name of the server you want to connect to, the name of the character to log in, and the path to your EQ folder (recommend you keep the ZEQClient files separate). A configuration file (config.lua) is provided in case you don't want to have to type all of that on the command line every time (also allows you to change window width and height and whether to use DirectX or OpenGL). You'll still have to pass your password with -p <password> though.

The longname of a server is almost exactly what appears on server select on a real client - just probably with [R] in front of it, not [[R] ]. The long names of all servers are dumped to the terminal when a connection to the loginserver is made; these are the names that are matched against, in case you have trouble figuring our the exact string for your server.

It's recommended that you log in on a GM character in a pre-GoD zone. Currently no input is actually sent to the server, which is good because collision (except for gravity) and proper movespeed settings aren't enabled yet. It may take a few tries to get in -- the client isn't very patient about waiting for zones to be booted up. If you get hangs after EntityID: # is written to the terminal, wait a few minutes before trying again and you should have more luck.



There's a looooooooooooooooooot of work left to do, but I'm hoping that what I've got so far can stand up as a reasonably solid foundation. There are still plenty of things that need to be figured out, but a lot of them are things that have been figured out before. Other than that, most things that need to be done are just a matter of stepwise refinement. A lot of it.

All in all, not bad for a little under three weeks of work.

Oh, and the client can be used as a zone viewer by passing -z <zone shortname> on the command line. Pre-GoD (wld-based) zones are currently better supported than later ones (mostly because I couldn't figure out exactly how object coordinates are supposed to work for later ones), although neither are perfect yet.

edit: oh also, the client currently identifies itself as a Titanium client.

edit2: it's early days yet -- bugs are a certainty, crashes are inevitable!
Reply With Quote
  #2  
Old 12-26-2014, 12:20 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Great job, so that's why you wanted to know how animation worked for.
Reply With Quote
  #3  
Old 12-26-2014, 07:37 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by KLS View Post
Great job, so that's why you wanted to know how animation worked for.
Still working on that part. Made a skeleton class for WLD-based models that works well, but I'm doing something wrong as far as reading in rotation values for each frame. The animations tend to over-rotate the longer the anim goes and the further down the bone hierarchy, so there's some clues at least.

Pretty sure other people have figured this stuff out before though, so shouldn't be too tough to find the solution.
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 01:42 PM.


 

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