Gameplay videos here (old retail version running on modern OS): https://youtu.be/2frnj2uHqWI https://youtu.be/sWHDBbYF9C4
Released in 1996 by Windward Studios, Enemy Nations is an RTS. The premise of the story is that you, along with several other alien races, have discovered a planet to colonize, and now you must all fight each other for the right to be the first to colonize this new planet.
The game was released as freeware in October 2005, and the game and source code was made available for download.
The source code structure currently looks like this:
- compress
-
Source for a compression tool.
- enations
-
Source code from one source.
- enations_latest
-
mostly the same, but seems to be missing some parts.
- makeriff
-
A tool for assembling the final .dat file from the various components.
- sprite
-
A tool for working with the game’s sprites.
- src/cdf
-
Another tool for building the final .dat file.
- src/makeriff
-
Duplication? of the makeriff source.
- tools/lib
-
Holds a bunch of lib files potentially necessary for building the final game and tooling.
- tools/mss
-
Headers and libs for the required version of the Miles Sound System the game uses.
- tools/smartheap
-
A copy of the smartheap library the game uses. This copy was taken from the Jedi Academy source, and looks to be compatible.
- tools/vdmplay
-
A networking library that appears to be mostly in-house, although it makes use of both the Novell SDK and a library by Rogue Wave.
- tools/wing
-
WinG, the graphics library which predates DirectX and provided high performance graphics to early Windows systems.
The ultimate goal of the project is to modernize the source code, and remove all outdated elements. This means removing things like IPX networking, the CD requirement, and much more.
Currently, I am working on getting everything to compile with relatively minimal changes.
-
There are many duplicate files throughout this repo.
-
ccache location is hardcoded in CMakeLists.txt
-
There are a ton of horrible hacks to try to get things to compile.
-
Only works on windows.
Prerequisites
ccache-4.8.1 VS2022 with prerequisites" +Desktop dev w/ C++ +Game development with C++ x86 C++ 2015–2022 Redistributable
Clone repo locally
mkdir enations cd enations git clone https://github.com/EnemyV/EnemyNationsRevival.git
generate project directory with cmake I use the VS Developer Console for this
cmake -S . -B cmakeBuild -G "Visual Studio 17 2022" -A Win32
Open in VS 2022
open cmakeBuild folder Launch Enations.sln Select Release/Win32 Build wind22, vdmplay, then finally enations Run enations.exe optionally: set enations as your startup project
