Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Angband 4.2.6 — ArcaOS / OS/2 Port

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

Prerequisites

Toolchain

  • 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

GCU front-end

  • ncurses port for ArcaOS (ncurses.a under %UNIXROOT%\usr\lib\)

SDL2 front-end

  • SDL2SDL2_dll.a + SDL2.dll
  • SDL2_ttfSDL2_ttf_dll.a + SDL2_ttf.dll
  • SDL2_imageSDL2_image_dll.a + SDL2_image.dll
  • SDL2_mixerSDL2_mixer_dll.a + SDL2_mixer.dll

All SDL2 ports are available from the ArcaOS Software Subscription or the community RPM repository.


Building

All commands are run from the Angband-4.2.6\ directory (the one that contains lib\).

GCU (ncurses) build

compile-gcu.cmd

Output: bin-gcu\angband.exe
Build log: compile-gcu.log

SDL2 (graphical) build

compile-sdl2.cmd

Output: bin-sdl2\angband.exe
Build log: compile-sdl2.log

Clean

compile-gcu.cmd clean
compile-sdl2.cmd clean

Running

GCU mode

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).

SDL2 mode

run-sdl2.cmd

Opens a resizable graphical window. The -g flag requests graphics/tile mode.


First-run configuration (SDL2)

On first launch the game creates its user-data directory at:

C:\HOME\<username>\.config\Angband\

Enabling graphical tiles

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

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.


Source changes from upstream

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

Known issues

  • GCU map characters: The dungeon map may display as garbled characters (À, Ã, etc.) if LANG=en_US.UTF-8 is set. Remove that variable from your environment before launching via run-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.txt and re-run make-sdl2-config.cmd.
  • No TTF fonts: The SDL2 build uses Angband's built-in bitmap .fon fonts. TTF font support requires SDL2_ttf and a TTF font file in lib\fonts\; none are included in this distribution.

About Angband

Angband is a free, open-source roguelike maintained at https://github.com/angband/angband.

About

Angband is a classic roguelike dungeon-exploration game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages