4x4e is an open source implementation of Terminal Reality's 4x4 Evolution Build 57 from early 2000s.
There are multiple goals this project tries to achieve:
- Learn how games were made in an era when things had to be done in the code, and not through fancy game engines like today.
- Have a fully playable game implemented end-to-end, including resource management, audio, and video rendering, as well as support of large screen resolutions.
- Eventually, to support 64-bit compilation for modern systems, and provide an avenue for development of modern renderer implementations such as DirectX or Vulkan.
- Also, eventually, to support modern input devices that do not comply with DirectInput, and even port to Linux or Mac.
DirectX 9.0 renderer is a back-ported version of DirectX 8.0 renderer from 4x4e2. 4x4 Evolution 2 has DirectX 8.0 renderers that were also updated to DirectX 9.0. This renderer is also important for the future 64-bit compatibility.
- The original game was compiled by Watcom C/C++ compiler, it contains the following sting:
WATCOM C/C++32 Run-Time system. (c) Copyright by WATCOM International Corp. 1988-1995. All rights reserved.
. The game and the modules use cdecl calling convention. - The target game is Build 57, which is quite different from the original release, also known as Build 44. The code is NOT compatible with the original release.
- DirectX 7.0 performance desires to be better. It seems like it is being fully software emulated these days, moreover, some graphic cards drivers have incorrect or inomplete support of DirectX 7.0, thus using other renderers is encouraged for better performance.
- This project has no connection to the work that the community of the 4x4 Evolution Revival Project does.
- Thanks to My Abandonware for providing 4x4 Evo and the Build 57 patch.
- Thanks to 4x4 Evolution Revival Project for providing custom track files (.lte), this was very helpful for testing.
- This is not a complete game. Please purchase software you like!
- The source code in this repository is mostly produced by reverse engineering the original binaries. There are a couple of exceptions for reverse engineering under DMCA -- documentation, interoperability, fair use. See goals section for the interoperability and fair use cases. The documentation is needed to support those. Also please see an article about software preservation.
- 4x4 Evolution, DirectX, OpenGL, Vulkan, and others are trademarks of their respective owners.