Main Menu UI for Xash3D FWGS engine, built entirely in C++.
Key features:
- Custom font renderer with multiple backends based on FreeType, stb_truetype and GDI on Windows
- Unicode and l10n support
- Completely self-contained, just clone this repo (with --recursive) and add to your mod
- Complex widget containers system, ability to put widget into containers into container
- Window system as a continuation of containers system
- Client-side menus (needs to be documented)
- Clone this repo:
git clone --recursive https://github.com/FWGS/mainui_cppto your mod source code tree. - If you use:
- CMake: invoke
add_subdirectory(mainui_cpp)in your CMakeLists.txt file - Waf/WAiFu: invoke
ctx.add_subdirectory('mainui_cpp')in your wscript file - Visual Studio: if you want to build it from your mod tree, include
vs2022/mainui_cpp.vcxprojto your mod solution, or usevs2022/mainui_cpp.sln.
- Place your built
menu.dll/libmenu.soALONGSIDE yourclient.dll/client.so. - Check that everything is working and happy hacking!
If you have any troubles setting this up, create an issue in https://github.com/FWGS/mainui_cpp/issues.
- mainui_cpp doesn't supports original Xash3D anymore. If it's possible, you can switch to Xash3D FWGS, otherwise you're on your own. I will accept patches to enable other Xash3D forks, but I won't support them on my own.