Replies: 3 comments 6 replies
|
64bit support requires DX8 to be replaced as well as Miles and Bink, so is itself a significant milestone towards cross platform support. I'd prefer to replace the renderer earlier as part of the 64bit work, but a quick and dirty bump to DX9 should suffice until we have someone with the time and skills to do a proper replacement. Generals/ZH is in a similar position as it shares the same rendering engine more or less. Moving the development tools to another framework will require extensive rewriting of them, so that won't be trivial. |
|
I think cross platform support for the FDS in particular would be massively useful, would open the door to easily running the FDS in a docker container, massively lowering the barrier to hosting since you wouldn't need a whole virtual machine. Given the original FDS did support Linux hopefully this isn't too much of a hurdle. I had limited success putting the windows FDS into a Windows container, partly due to how the FDS console window isn't actually a plain console at all |
|
I've not had time to look through yet, but does it at least have compiler directives etc in common code between server and client to switch out platform specific bits? I'd imagine we could replace a lot of that with modern cross platform bits these days |
Uh oh!
There was an error while loading. Please reload this page.
Here are some thoughts on the path for OpenW3D.
Phase I: Build with up-to-date C++ compiler
We're basically in this at the moment, and this seems to be mostly complete. This keeps compatibility with the retail version of Renegade, such that dropping the binaries into your Renegade folder would still run the game as-is.
Phase II: Support 64-bit
Build OpenW3D with full 64-bit support. I know cfehunter has done some work on this. Compatibility with retail version is still kept
The first two phases would contain only minimal bugfixes to the game. For example, you should be able to play through the campaign fully, and multiplayer should work. Multiplayer may still have bugs/hacks, as those can't be fixed without breaking compatibility with the retail version.
The next phases are in no particular order, and could be done in parallel.
Phase III: Support cross-platform
Build OpenW3D will cross-platform support. To start with this may still use DX8 as the renderer, but using DXVK on Linux in order to render. The game is still compatible with the retail version of the game. All of the development tools(e.g. LevelEdit, W3DViewer) are also cross-platform using Qt as the tookit.
Phase IV: Updated netcode
Break compatibility with the retail version of the game, by fixing the netcode to eliminate hacks and fix rubberbanding.
Phase V: Updated renderer
New renderer based on Vulkan, not DX8.
All reactions