Angband is a classic roguelike dungeon-exploration game. This repository contains the Angband 4.2.6 source code with patches and build scripts to compile and run it on ArcaOS 5.x (and OS/2 Warp 4.x with the right ports installed) using the GCC 9.2 / kLIBC toolchain.
Two front-ends are supported:
| Front-end | Binary | Description |
|---|---|---|
| GCU | bin-gcu/angband.exe |
Text/ncurses mode in a VIO (OS/2 console) window |
| SDL2 | bin-sdl2/angband.exe |
Graphical window with tile sets and sound |
- GCC 9.2 / kLIBC (from the ArcaOS or RPM/YUM repository)
- GNU make (from the same repository)
- WLINK (OpenWatcom linker, used by kLIBC's
emxomfld)
Set the following environment variables permanently (e.g. in CONFIG.SYS):
SET EMXOMFLD_TYPE=WLINK
SET EMXOMFLD_LINKER=wl.exe
SET EMXOMFLD_PRELINK=0
- ncurses port for ArcaOS (
ncurses.aunder%UNIXROOT%\usr\lib\)
- SDL2 —
SDL2_dll.a+SDL2.dll - SDL2_ttf —
SDL2_ttf_dll.a+SDL2_ttf.dll - SDL2_image —
SDL2_image_dll.a+SDL2_image.dll - SDL2_mixer —
SDL2_mixer_dll.a+SDL2_mixer.dll
All SDL2 ports are available from the ArcaOS Software Subscription or the community RPM repository.
All commands are run from the Angband-4.2.6\ directory (the one that
contains lib\).
compile-gcu.cmd
Output: bin-gcu\angband.exe
Build log: compile-gcu.log
compile-sdl2.cmd
Output: bin-sdl2\angband.exe
Build log: compile-sdl2.log
compile-gcu.cmd clean
compile-sdl2.cmd clean
run-gcu.cmd
This sets TERM=ansi and TERMINFO before launching. Open an OS/2 VIO window
at least 80×24 characters first; larger is better (the game adapts to the
terminal size).
run-sdl2.cmd
Opens a resizable graphical window. The -g flag requests graphics/tile mode.
On first launch the game creates its user-data directory at:
C:\HOME\<username>\.config\Angband\
Run make-sdl2-config.cmd once before the first launch to install a
pre-configured sdl2init.txt that selects the David Gervais 32×32 tile set:
make-sdl2-config.cmd
Available tile sets (edit sdl2init-gervais.txt before running the above
to change window-graphics-id):
| ID | Name | Size |
|---|---|---|
| 1 | Original | 8×8 |
| 2 | Adam Bolt | 16×16 |
| 3 | David Gervais | 32×32 |
| 4 | Nomad | 8×16 |
| 5 | Shockbolt Dark | 64×64 |
| 6 | Shockbolt Light | 64×64 |
The tile set can also be changed in-game via the Options menu in the SDL2 window's menu bar after the first run.
Sound is compiled in by default for the SDL2 build. The sound map is in
lib\customize\sound.prf. No additional setup is needed — sound plays
automatically if SDL2_mixer.dll is on your LIBPATH.
The following files were modified from the official Angband 4.2.6 source to support the ArcaOS / kLIBC build:
| File | Change |
|---|---|
src/main.c |
Skip UTF-8 locale check on kLIBC (__EMX__) |
src/main-gcu.c |
Add mvwaddnwstr shim (absent from ArcaOS narrow ncurses) |
src/main-sdl2.c |
Graceful resize instead of fatal quit on narrow window |
src/Makefile.os2 |
New: GCU build for ArcaOS (GCC/kLIBC/WLINK) |
src/Makefile.sdl2 |
New: SDL2 build for ArcaOS with sound support |
Build scripts and helper files added at the repository root:
| File | Purpose |
|---|---|
compile-gcu.cmd |
Build the GCU binary |
compile-sdl2.cmd |
Build the SDL2 binary |
run-gcu.cmd |
Launch the GCU binary |
run-sdl2.cmd |
Launch the SDL2 binary |
make-sdl2-config.cmd |
Install sdl2init.txt with Gervais tiles pre-selected |
sdl2init-gervais.txt |
Config template (copy of a working sdl2init.txt) |
angband-gcu-256.png |
Application icon — GCU version |
angband-sdl2-256.png |
Application icon — SDL2 version |
- GCU map characters: The dungeon map may display as garbled characters
(
À,Ã, etc.) ifLANG=en_US.UTF-8is set. Remove that variable from your environment before launching viarun-gcu.cmd. The game is fully playable; only the map glyphs are affected. - Fullscreen (SDL2): Avoid using the fullscreen option from the in-game
menu. If the game starts in a bad fullscreen state, delete
C:\HOME\<username>\.config\Angband\sdl2init.txtand re-runmake-sdl2-config.cmd. - No TTF fonts: The SDL2 build uses Angband's built-in bitmap
.fonfonts. TTF font support requiresSDL2_ttfand a TTF font file inlib\fonts\; none are included in this distribution.
Angband is a free, open-source roguelike maintained at https://github.com/angband/angband.
- How to play: The Angband Manual
- Community: Angband Forums
- License: GNU General Public License v2 (see
copying.txt)