openmohaa/README.md

129 lines
4.6 KiB
Markdown
Raw Normal View History

2023-02-03 18:48:42 +01:00
# OpenMoHAA
/ _ \ _ __ ___ _ __ | \/ |/ _ \| | | | / \ / \
| | | | '_ \ / _ \ '_ \| |\/| | | | | |_| | / _ \ / _ \
| |_| | |_) | __/ | | | | | | |_| | _ |/ ___ \ / ___ \
\___/| .__/ \___|_| |_|_| |_|\___/|_| |_/_/ \_\/_/ \_\
|_|
2019-07-03 22:10:46 +02:00
2023-02-03 18:48:42 +01:00
## Discord
2023-02-03 18:48:42 +01:00
[![Discord Banner 1](https://discordapp.com/api/guilds/596049712579215361/widget.png?style=banner2)](https://discord.gg/NYtH58R)
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
## Current State
2023-05-18 20:54:12 +02:00
OpenMoHAA is still in its early days.
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.
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.
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-02-03 18:48:42 +01:00
## Running
2023-05-18 20:54:12 +02:00
Backup existing mohaa files, **cgamex86.dll** and **gamex86.dll** (set their extension to **.bak**)
2023-02-03 18:48:42 +01:00
a) extract archive to your MOHAA installation directory.
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
-or-
2023-02-03 18:48:42 +01:00
b) Copy all pak*.pk3 files and the sound/ directory from your **MOHAA/main** directory into openmohaa's 'main' directory.
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
If you have problems running the game :
2023-02-03 18:48:42 +01:00
You may need to install Microsoft Visual C++ 2015/2017/2019/2022 Redistributable from
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
You can now start a local OpenMOHAA server or play on a server.
2016-03-27 11:49:47 +02:00
2023-02-03 18:48:42 +01:00
## Compiling
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.
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-18 20:54:12 +02:00
The client build and successfully be built by adding `-DWITH_CLIENT=1` to the CMake command line.
2023-02-03 18:48:42 +01:00
### Linux
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-02-08 14:26:12 +01:00
**clang-3.5** and **gcc-4.8.5** should work (tested on Ubuntu 16.04).
2023-02-07 20:55:37 +01:00
2023-02-03 18:48:42 +01:00
1 line install command with latest clang version : `sudo apt-get install -y ninja-build cmake make clang-15 lld-15 flex bison`
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.
2023-02-03 18:48:42 +01:00
## Third party
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
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
2016-03-27 11:49:47 +02:00
run cmake on OpenAL, compile
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
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/
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
2023-02-03 18:48:42 +01:00
### Libvorbis
2023-02-03 18:48:42 +01:00
https://xiph.org/vorbis/
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-02-03 18:48:42 +01:00
## URL
2023-02-03 18:48:42 +01:00
- https://openmohaa.sourceforge.net/
- https://x-null.net/