DirectPlay Emulation Project

DirectPlay Emulation Project; support/discussion/questions

Moderator: thunderchero

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Fri Oct 28, 2011 11:04 am

yes, wrapping it was relatively easy but my first steps to dll wrapping ;)
I began an own network engine, but didn't finish it when rl problems crossed my way.
The work I've done to implement an own network engine isn't in a state to publicate, but I can give you the directplay wrapper code if you want, just have to rummage my disk. :)

p.s. I never forgot on this project, there are just some things with higher priority right now

User avatar
QuasarDonkey
Code Analyst
Code Analyst
Posts: 433
Joined: Tue Jul 26, 2011 8:29 pm
Location: Ireland

Re: DirectPlay Emulation Project

Post by QuasarDonkey » Fri Oct 28, 2011 11:14 am

Flocke wrote:I can give you the directplay wrapper code if you want, just have to rummage my disk.
Yeah that'd be sweet, take your time. It's been a while since I've done any network coding myself, but I'll see what I can muster together. I'd very much like to play BotF multiplayer, but it's such a pain in asymptote :P

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Fri Oct 28, 2011 12:08 pm

QuasarDonkey wrote:
Flocke wrote:I can give you the directplay wrapper code if you want, just have to rummage my disk.
Yeah that'd be sweet, take your time. It's been a while since I've done any network coding myself, but I'll see what I can muster together. I'd very much like to play BotF multiplayer, but it's such a pain in asymptote :P
you have mail :)

User avatar
Rhiyo
Cadet 1st Year
Cadet 1st Year
Posts: 4
Joined: Sun Jan 13, 2013 2:20 pm

Re: DirectPlay Emulation Project

Post by Rhiyo » Sun Jan 13, 2013 2:25 pm

Sorry to bring back this thread again, after ages. I too have been looking for a DirectPlay wrapper, but haven't found anything yet.

I'm trying to fix Freelancers IP's not working, and Baldur's Gates.

I'm having a look at a bunch of peoples differant source codes, a few people have half finished projects:
http://code.google.com/p/dpwrapper/

DP4
http://www.ttlg.com/forums/showthread.p ... ost2020579

Do you mind if I take a look at yours if you still have it?

I'm no coder, but I'm trying to study this as much as I can and hopefully find some others to help, this would be a great thing to get working for a lot of older games.

Thanks

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Sun Jan 13, 2013 3:03 pm

interesting, what happened to cannon?
take a look a few posts ahead in this topic, he asked me before for re-implementing the networking of freelancer.

well, wrapping the directplay code turned out to be not too much of an issue as the interface is well documented.
What troubled me was implementing my own network engine and time and RL.

What I can send you is an early wrapper attempt, dirty and unfinished. It won't help you being no coder and as a coder reading old directplay documentation you'll easily reproduce the dll interface. Very helpful however I found following site, as there you still can download the old directx7 sdk including documentation:
http://www.vb-fun.de/cgi-bin/loadframe. ... ctx7.shtml
even now the download still seems to work :roll:

Right now I'm working on replacing the graphics engine of BotF instead, which is an even more challenging project.
I opted for the graphics as I found this more important to BotF for now and I was curious about what can be done.

good luck on your search, if you find something that might work with BotF too, let us know :)

User avatar
QuasarDonkey
Code Analyst
Code Analyst
Posts: 433
Joined: Tue Jul 26, 2011 8:29 pm
Location: Ireland

Re: DirectPlay Emulation Project

Post by QuasarDonkey » Sun Jan 13, 2013 3:52 pm

Also, I should add that the wine project has it's own implementation of DirectPlay (fairly complete), but BotF's networking seems just as buggy with that. The header files dplay.h, dplobby.h, etc. contain all the data structure definitions, functions, etc.

I looked at the source code for it before :shock:

Flocke, I think MPR++ is a much simpler project compared to DirectPlay.

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Sun Jan 13, 2013 4:13 pm

QuasarDonkey wrote:Flocke, I think MPR++ is a much simpler project compared to DirectPlay.
That I can't agree, DirectPlay is well documented and getting the wrapper to work was rather easy and FAR less code compared to what I am challenged with Mpr++. What makes DirectPlay challenging is building your own network engine if not adapting an already complete one.
But as you already have experience with networking, you probably agree that's not too hard either.
I did not take a look at wine code but they need to support each and every feature for each direct play version which ofc results in alot of additional code. But yes that's the ultimate wrapper, and sad if they still didn't complete it. :)

edit: you must take into account, botf only uses a very small subset of the whole directplay library, as most other games will too

User avatar
QuasarDonkey
Code Analyst
Code Analyst
Posts: 433
Joined: Tue Jul 26, 2011 8:29 pm
Location: Ireland

Re: DirectPlay Emulation Project

Post by QuasarDonkey » Sun Jan 13, 2013 4:28 pm

Yeah, I suppose. I took a look at the headers again. They do define a bunch of different versions of the IDirectPlay and IDirectPlayLobby interfaces. I guess we could try figure out exactly which functions are used by BotF, and work from there.

It wouldn't be too hard to find out. We could create dummy IDirectPlay and IDirectPlayLobby interfaces in the wrapper, build it as a DLL, and see which functions BotF calls. Implement each function as needed.

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Sun Jan 13, 2013 4:43 pm

right, that I started with that wrapper I sent you before, just forwarding the calls
what I did not go into further are pointers to structures and classes being used, but shouldn't be too hard either
so give it a go if you want, I could take another look if I find some old documentation, but if I recall correct that wrapper protocols all functions already wrapped. ;)
I just overdid with my network engine attempt by that time. Shall not happen again. :mad:

User avatar
Rhiyo
Cadet 1st Year
Cadet 1st Year
Posts: 4
Joined: Sun Jan 13, 2013 2:20 pm

Re: DirectPlay Emulation Project

Post by Rhiyo » Sun Jan 13, 2013 5:37 pm

Flocke wrote:interesting, what happened to cannon?
take a look a few posts ahead in this topic, he asked me before for re-implementing the networking of freelancer.

well, wrapping the directplay code turned out to be not too much of an issue as the interface is well documented.
What troubled me was implementing my own network engine and time and RL.

What I can send you is an early wrapper attempt, dirty and unfinished. It won't help you being no coder and as a coder reading old directplay documentation you'll easily reproduce the dll interface. Very helpful however I found following site, as there you still can download the old directx7 sdk including documentation:
http://www.vb-fun.de/cgi-bin/loadframe. ... ctx7.shtml
even now the download still seems to work :roll:

Right now I'm working on replacing the graphics engine of BotF instead, which is an even more challenging project.
I opted for the graphics as I found this more important to BotF for now and I was curious about what can be done.

good luck on your search, if you find something that might work with BotF too, let us know :)
I unfortunately don't have this game, though coming to this site I looked into it and wish I was a bit older when it came out to get into it.

Thanks for all this information, I shouldn't have said I'm not a coder, I'm just not a very good coder. I'll study this when I have free time, if this were to turn into a project for me I'd like it to have compatibility with all games that need it. So this would be included. If you want to start doing work on it Quasser, I'll help in anyway possible, even though there probably isn't much I can offer, probably just troubleshoot for errors.

May I ask what's wrong with the graphics for the game?

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Sun Jan 13, 2013 6:23 pm

Rhiyo wrote:I unfortunately don't have this game
that would be easy to come about if you take a look into download section or read site index ;)
Rhiyo wrote:May I ask what's wrong with the graphics for the game?
BotF came out back in 1999, with old BSP software 3D emulation, rendering 3D scenes in 2D with old DirectDraw interface or complete in software. Graphics were not bad by that time but on modern systems people have more and more troubles to get it work at all and moddability is quite limited. It seemed predictable that if graphics aren't upgraded, this game would not survive the next few system upgrades.

User avatar
Rhiyo
Cadet 1st Year
Cadet 1st Year
Posts: 4
Joined: Sun Jan 13, 2013 2:20 pm

Re: DirectPlay Emulation Project

Post by Rhiyo » Sun Jan 13, 2013 8:37 pm

I'm downloading it now.

And does the game have glitches or something from directdraw? Should I use a wrapper ike DXGL?

User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 2546
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: DirectPlay Emulation Project

Post by Flocke » Mon Jan 14, 2013 4:20 am

usually the main installer should just work fine
the DXGL project looks interesting, wonder if that helps a bit on some issues
the mpr++ project I work on is different in that it does not emulate windows api but link into the executable to bypass old bsp rendering
here you can find two recent but early videos of new engine: viewtopic.php?f=4&t=2606

User avatar
Rhiyo
Cadet 1st Year
Cadet 1st Year
Posts: 4
Joined: Sun Jan 13, 2013 2:20 pm

Re: DirectPlay Emulation Project

Post by Rhiyo » Mon Jan 14, 2013 9:20 am

Looking good, I'm really glad people are taking the time to make this game new again, and a lot of others. That's one reason why I want to get a DPwrapper working, just to keep awesome games like this alive and working well.

Post Reply

Return to “DirectPlay Emulation Project”

Who is online

Users browsing this forum: No registered users