OpenMRac is a split-screen racing game. It is a tweaked source release of MultiRacer.
Programming was done by Vojtěch Salajka.
Porting to big endian architectures for Amiga-like OSes was done by Szilárd Biró.
Creating forks and porting to additional platforms is encouraged, but these typically will not be merged back to the main repo. The same applies to mods.
Franticware claims rights to the name "MultiRacer" which should not be used by other parties for their products or ports. That is the reason for changing the title to OpenMRac, to which no such restrictions apply.
Game data files are in a separate repository under a different license: https://github.com/Franticware/OpenMRac-data
Create new folder "OpenMRac"
Open the folder you created in the terminal.
I have created a CMakeLists.txt file inside /src to configure our build and include all the required libraries in this project.
Prerequisites:
Let's install our libraries
- Open msys2 Shell
pacman -S mingw-w64-x86_64-toolchain
pacman -S --needed mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja
pacman -S mingw-w64-x86_64-SDL2
pacman -S mingw-w64-x86_64-glew
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-libpng
pacman -S mingw-w64-x86_64-libjpeg-turbo
pacman -S mingw-w64-x86_64-openal
pacman -S mingw-w64-x86_64-glm
We'll need these later to build our dat file (Game data)
pacman -S make tar coreutils findutils gawk sox
Let's build our executable
- Open Mingw64 shell (This is important because we are using g++ and gcc as a compiler-driver)
git clone https://github.com/Franticware/OpenMRac.git
cd openmrac/src
cmake -S . -B build -G Ninja
cmake --build build
- The game file will be in "\OpenMRac\OpenMRac\src\build\bin\OpenMRac.exe"
Let's build our Data
We don't need to do any converting we just need to run make to execute our makefile in "\OpenMRac\OpenMRac-data"
- Open Mingw64 shell
cd [RelativePathTo OpenMRac-data]
make
This will create our .dat file (openmrac.dat), copy the generated file to "\OpenMRac\OpenMRac\src\build\bin"
Copy DLLs
Since our executable is dynamically linked against our libraries; we need to copy some dlls to the executable folder
- SDL2.dll
- glew32.dll
- libopenal-1.dll/openal32.dll
- libwinpthread-1
- libstdc++-6
- libpng16-16
- libjpeg-8
- libgcc_s_seh-1
Install openmrac package from AUR
-
The openmrac and openmrac-data packages are now available in many Debian-based distributions. If not, please use method described in the following section (Other).
-
Note: The openmrac-es2 package is planned (OpenGL ES 2.0 variant) which might be better suited for SBCs based on RISC-V and ARM.
git clone https://github.com/Franticware/OpenMRac-data.git
cd OpenMRac-data
make install
cd ..
git clone https://github.com/Franticware/OpenMRac.git
cd OpenMRac/src
make -f Makefile.linux install
cd ../..
TODO
