You'd be much better off porting parts of the OpenZone source. It can already write client data files (and it technically has the code to read them, though that code isn't called). I would recommend porting S3D.pas and EQWldData.pas, which would get you a good start (and Ethernet.pas, which S3D.pas requires, but that's trivial). Then bolt it to any good 3D engine (e.g. OGRE), and write a little bit of netcode (you could borrow heavily from the EQEmu source for this). FNW is right in that writing a client is a monumental task for one person, but one thing you can do is design and submit some code that would at least lower the bar towards that.
|