This Quake 3 mod is an attempt to recover old OSP mod source codes and improve it.
Based on vanilla Q3 and OSP files analysis.
Also used code from :
- baseq3a from Cyrax: https://github.com/ec-/baseq3a
- XQ3E: https://github.com/xq3e/engine,
- unlagged mod written by Neil Toronto
- Ratmod https://github.com/rdntcntrl/ratoa_gamecode
- VQ3/Promode physics support
- CPMA like SuperHUD
- Proportional fonts
- Multilevel hitsounds and fragsound
- Crosshair decoration and animations
- Client side /mute for players
And many other small features
Only cgame now.
Telegram channel.
Telegram chat.
See docs/osp2-q3-ClientReadme.md
Example config: OSP2.cfg inside mod.
Caution
OSP 1.03a files are required for this mod to run. Download them from ModDB if you don't have classic OSP installed.
Download zz-osp-pak8.pk3 from Releases and place it into osp folder, located in your Quake 3 Arena directory. Original OSP 1.03a should also be stored in osp folder.
Note
If you don't know what are "native libraries", you don't need them. This section is for advanced users.
Download cgame.dll (for windows) or cgame.so (for linux) and place into osp folder.
Native libraries are not loaded by default. Enable them through vm_cgame 0 and sv_pure 0:
./q3client +set fs_game "osp" +set sv_pure 0 +set vm_cgame 0The logs should show successful load of native game modules. Example on linux:
Try loading dll file ./osp/cgamex86_64.so
Loading DLL file: ./osp/cgamex86_64.so
Sys_LoadGameDll(./osp/cgamex86_64.so) found vmMain function at 0x7f50e7410269
Note: game and ui may load as qvm. OSP2 currently does not implement them.
Follow instructions corresponding to your system:
Install cmake, gcc, make and 7zip. For systems with apt packet manager:
sudo apt install cmake make gcc 7zipNote
For your linux distro, 7zip may be distributed under p7zip package.
cmake -S . -B build -DCMAKE_BUILD_TYPE=ReleaseLimit thread count with --parallel <threads> option and compile the mod:
cmake --build build --parallel 8build/Release/osp now contains:
cgame.so- native library build.zz-osp-pak8.pk3- assets and qvms.
Install it as described in installing instructions.
Install MinGW, CMake and Ninja. All of them have portable .zip distributions, so each can be installed by just extracting .zip in whatever folder you like. Add their binary folders to system's PATH. It should look somewhat like this:
set PATH=%PATH%;<MinGW>/bin;<CMake>/bin;<Ninja>Ninja is a portable application, so its binary folder is whatever folder you extracted it in.
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=ReleaseLimit thread count with --parallel <threads> option and compile the mod:
cmake --build build --parallel 8build/Release/osp now contains:
cgame.dll- native library build.zz-osp-pak8.pk3- assets and qvms.
Install it as described in installing instructions.
Note
If you see zz-osp-pak8.zip instead of .pk3 one, just change the extension.
See how to test.
