2023-02-03 18:48:42 +01:00
# OpenMoHAA
2023-07-06 18:32:14 +02:00
 [](https://github.com/openmoh/openmohaa/releases) [](https://github.com/openmoh/openmohaa/releases)
 

```
2019-07-03 22:23:22 +02:00
/ _ \ _ __ ___ _ __ | \/ |/ _ \| | | | / \ / \
| | | | '_ \ / _ \ '_ \| |\/| | | | | |_| | / _ \ / _ \
| |_| | |_) | __ / | | | | | | |_| | _ |/ ___ \ / ___ \
\___/| .__/ \___|_| |_|_| |_|\___/|_| |_/_/ \_\/_/ \_\
|_|
2023-07-06 18:32:14 +02:00
```
2019-07-03 22:10:46 +02:00
2023-07-06 18:32:14 +02:00
## Current State
2019-07-03 22:23:22 +02:00
2023-07-06 18:32:14 +02:00
OpenMoHAA is still in its early days. The singleplayer part is not working correctly, the current usage is multiplayer.
2019-07-03 22:23:22 +02:00
2023-07-06 18:32:14 +02:00
## Running
2016-03-27 11:49:47 +02:00
2023-07-06 18:32:14 +02:00
Backup existing mohaa files, **cgamex86.dll** and **gamex86.dll** (set their extension to ** .bak**)
a) extract archive to your MOHAA installation directory.
2019-07-03 22:23:22 +02:00
2023-07-06 18:32:14 +02:00
-or-
2023-06-18 00:38:23 +02:00
2023-07-06 18:32:14 +02:00
b) Copy all pak*.pk3 files and the sound/ directory from your **MOHAA/main** directory into openmohaa's 'main' directory.
If you have problems running the game :
You may need to install Microsoft Visual C++ 2015/2017/2019/2022 Redistributable from
https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
You can now start a local OpenMOHAA server or play on a server.
To play expansions, append to the executable `+set com_target_game 1` for Spearhead, and `+set com_target_game 2` for Breakthrough. On windows you can make a shortcut.
## Builds
2023-05-18 20:54:12 +02:00
2023-02-03 18:48:42 +01:00
### Server
2016-03-27 11:49:47 +02:00
2023-05-18 20:54:12 +02:00
The server version can successfully be built.
Some stuff are not working as intended, such as Actor or Vehicle. These systems are both almost fully implemented, but not really in stable state.
2019-07-03 22:23:22 +02:00
2023-05-18 20:54:12 +02:00
Overall the server part and the game module are almost fully implemented, but the stability may vary, there may be some minor bugs and crashes.
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
### Client
2016-03-27 11:49:47 +02:00
2023-05-18 20:54:12 +02:00
The client version of OpenMoHAA is partially implemented and not stable currently. The cgame module is partially implemented as well, but is compatible with the original MOH:AA game. Credits to **Heavy Metal: F.A.K.K. 2** 's SDK for the cgame module.
2019-07-03 22:23:22 +02:00
2023-05-18 20:54:12 +02:00
Here is the current working state for each part of the engine:
2023-05-09 20:03:34 +02:00
2023-05-18 20:54:12 +02:00
| Part name | Full | Almost | Half | Early | Bad | Not working | Comment |
|-------------------------|------|--------|------|-------|-----|-------------|-------------------------------------------------------------------|
| Audio | | | | | x | | Very basic implementation from Quake III |
| CG Module | | x | | | | | Missing FX, Marks and decals |
| Client | | | x | | | | Missing GameSpy, server list, binds, map picker, ... |
| Collision | x | | | | | | |
| Model/TIKI/Skeletor | x | | | | | | |
| Renderer | | | | x | | | Missing ghost, marks, sphere lights, sky portal, sun flare, swipe |
| Server | | x | | | | | Probably a few bugs remaining |
| Server module (fgame) | | x | | | | | Actor, vehicle, and few gameplay bugs |
| UI | | | | x | | | Has core features only (menu, widgets, console, hud, urc loading) |
2023-05-01 20:08:26 +02:00
2023-07-09 21:48:37 +02:00
**Medal of Honor: Allied Assault Spearhead** and **Medal of Honor: Allied Assault Breakthrough** are supported in OpenMoHAA with the `com_target_game` variable. See the **Running** section for the usage.
2023-05-21 22:10:27 +02:00
2023-02-03 18:48:42 +01:00
## Compiling
2019-07-03 22:23:22 +02:00
2023-05-18 20:54:12 +02:00
OpenMoHAA supports both x86 and x64 architectures, and although the target platform is Windows, it still can be compiled for other platforms, and even other architectures.
2023-02-03 18:48:42 +01:00
These are the tools required for all platforms :
2023-02-07 21:20:15 +01:00
- CMake >= 3.5
2023-02-07 20:55:37 +01:00
- Flex and Bison (currently not used)
2023-02-08 14:26:12 +01:00
- A C++11 compiler is required.
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
The installation directory can be set to MOHAA directory.
2016-03-27 11:49:47 +02:00
2023-05-20 15:09:43 +02:00
The client build can be built by adding `-DWITH_CLIENT=1` to the CMake command line. This will compile the cgame module and the full app with rendering, ui and sound suppport, alongside the dedicated server version.
2023-05-18 20:54:12 +02:00
2023-02-03 18:48:42 +01:00
### Linux
2019-07-03 22:23:22 +02:00
2023-02-07 20:55:37 +01:00
These are the tools required on Unix :
2023-02-08 14:26:12 +01:00
- Clang >= 3.3 or GCC >= 4.8.1
2023-02-07 20:55:37 +01:00
2023-05-23 23:47:36 +02:00
**clang-3.5** and **gcc-4.8.5** should work (tested on Ubuntu 16.04). Use the latest possible version of those compilers.
2023-02-07 20:55:37 +01:00
2023-05-29 01:56:06 +02:00
SDL2 library is required (libsdl2-dev).
1 line install command with latest clang version : `sudo apt-get install -y ninja-build cmake make clang-15 lld-15 flex bison libsdl2-dev`
2019-07-03 22:23:22 +02:00
2023-05-23 23:47:36 +02:00
Example with **CMake** , **clang-15** and **ninja-build** installed:
```sh
mkdir .cmake & & cd .cmake
cmake -DCMAKE_C_COMPILER=clang-15 -DCMAKE_CXX_COMPILER=clang++-15 -DWITH_CLIENT=1 -G Ninja
```
2023-02-03 18:48:42 +01:00
### Windows
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
Visual Studio (2019 or 2022) is generally preferred.
2019-07-03 22:23:22 +02:00
2023-05-19 14:09:03 +02:00
## Screenshots
2023-07-09 21:16:42 +02:00
| | |
|-------------------------------------------------------------------------------|-----------------------------------------------------------------|
|  |  |
|  |  |
2023-05-22 18:01:11 +02:00
2023-05-19 14:09:03 +02:00
2023-02-03 18:48:42 +01:00
## Third party
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### SDL
2019-07-03 22:24:21 +02:00
http://www.libsdl.org/
download Source code, compile
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### OpenAL
2019-07-03 22:24:21 +02:00
2023-02-03 18:48:42 +01:00
https://www.openal.org/ download OpenAL soft source
2019-07-03 22:23:22 +02:00
2016-03-27 11:49:47 +02:00
run cmake on OpenAL, compile
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### LibMAD
2019-07-03 22:24:21 +02:00
http://www.underbit.com/products/mad/
download source code, compile
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### cURL
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
https://curl.se/
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### Libogg
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
https://github.com/gcp/libogg
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### Libvorbis
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
https://xiph.org/vorbis/
2019-07-03 22:23:22 +02:00
2023-02-03 18:48:42 +01:00
### Libopus
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
https://opus-codec.org/
2016-03-27 11:49:47 +02:00
2023-07-06 18:32:14 +02:00
## Communities
### URLs
2019-07-03 22:23:22 +02:00
2023-05-19 21:33:58 +02:00
- https://github.com/openmoh/openmohaa/
- https://mohaaaa.co.uk/AAAAMOHAA/index.php
2023-02-03 18:48:42 +01:00
- https://x-null.net/
2023-07-06 18:32:14 +02:00
### Discord
[](https://discord.gg/NYtH58R)