| name | build_pipeline |
| description | Guide on building GnollHack native C libraries, processing assets with makedefs/levcomp/dgncomp/dlb, packaging nhdat, and compiling the C# .NET MAUI frontend for Android, iOS, and Windows. |
Build Pipeline
Critical Rules
- Do NOT manually edit generated files. They are automatically regenerated by
makedefs.
- Always rebuild data files using
makedefs, levcomp, and dgncomp after editing dat/ files.
Visual Studio Solution
- Solution:
win/win32/vs/GnollHack.sln
- dirs.props: Defines directory path variables (
BinDir, etc.).
- files.props: Lists sources,
.des, .lev, and dlb contents.
Pipeline Steps
makedefs.exe: Generates headers and data text.
-p → pm.h (Monsters)
-o → onames.h (Objects)
-e → dat/dungeon.pdf
levcomp.exe: Compiles 28 .des files in dat/ into 135 .lev files.
dgncomp.exe: Compiles dat/dungeon.pdf into binary dat/dungeon.
dlb.exe: Bundles all .lev and data files into nhdat archive.
- Run:
dlb.exe cIf dat/dlb.lst bin/nhdat
- Native compilation:
gnollhackwin.dll (Win), libgnollhackdroid.so (Android), libgnollhackios.a (iOS).
- MAUI Frontend:
win/win32/xpl/GnollHackM/GnollHackM.csproj.
Build Commands
# Windows Desktop
dotnet build win/win32/xpl/GnollHackM/GnollHackM.csproj -c Debug -f net10.0-windows10.0.19041.0
# Android
dotnet build win/win32/xpl/GnollHackM/GnollHackM.csproj -c Debug -f net10.0-android
# iOS
dotnet build win/win32/xpl/GnollHackM/GnollHackM.csproj -c Debug -f net10.0-ios