https://github.com/fwgs/mainui_cpp
Main menu UI toolkit for Xash3D FWGS engine
https://github.com/fwgs/mainui_cpp
game-ui xash3d xash3d-engine xash3d-fwgs
Last synced: 6 months ago
JSON representation
Main menu UI toolkit for Xash3D FWGS engine
- Host: GitHub
- URL: https://github.com/fwgs/mainui_cpp
- Owner: FWGS
- Created: 2017-04-24T21:36:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-25T16:01:49.000Z (7 months ago)
- Last Synced: 2025-03-30T20:13:01.614Z (6 months ago)
- Topics: game-ui, xash3d, xash3d-engine, xash3d-fwgs
- Language: C++
- Homepage:
- Size: 1.86 MB
- Stars: 39
- Watchers: 17
- Forks: 43
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mainui_cpp
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)### Including mainui_cpp in your mod
1. Clone this repo: `git clone --recursive https://github.com/FWGS/mainui_cpp` to your mod source code tree.
2. 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.vcxproj` to your mod solution, or use `vs2022/mainui_cpp.sln`.
3. Place your built `menu.dll`/`libmenu.so` ALONGSIDE your `client.dll`/`client.so`.
4. 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.
### Notes and restrictions
* 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.