OpenSWE1R / openswe1r

An Open-Source port of the 1999 Game "Star Wars Episode 1: Racer"
https://openswe1r.github.io/
GNU General Public License v2.0
315 stars 26 forks source link

Stub IDirectPlay4 and add ENet as dependency #110

Closed JayFoxRox closed 6 years ago

JayFoxRox commented 6 years ago

This adds a stubbed DirectPlay (DPlay). If ENet is found during compilation it also pretends to have the IPX service-provider.

ENet is not actually used at this point, it's simply included so we don't have to worry about CMake / Ecosystem when adding multiplayer anymore. ENet has previously proven to be a good choice another project I've worked on (namely Citra). The ENet CMakefile has been stolen from here, but the file says it is "Borrowed from The Mana World". Eitherway: the file seems to work fine. Slight modifications have been made to make it more standard.

The DPlay stub implements some callbacks, but it will hang in various places and doesn't do much. I could not figure out how to remote control it from gdb to fake the game into doing anything useful either. However, even for singleplayer play, the multiplayer mode is quite useful as it has all Podracers and Tracks unlocked.

Various issues will have to be created after merge. I suggest we just create them as we figure out what's missing.

Closes #37