Skip to content

Dungeon Master 1.0.0

Choose a tag to compare

@peterkmet peterkmet released this 17 Oct 20:50
· 57 commits to main since this release

Added

  • build/dm --help; unknown options stop with an error.
  • The game extracts the Amiga disk images (.adf) in the current folder into game/, game-csb/, and game-csb/disk-b/ at start.
  • Before an adventure loads, the game checks the CRC32 of its required files against the Amiga disks and names the first wrong file.
  • Windows build: make windows (MinGW-w64) and tools/dist/make-dist-win.sh for a Windows zip. No LLM mode on Windows.
  • REINCARNATE asks for a new name and title, as the original (DM and CSB). The turn-based mode keeps the old name.
  • The entrance shows the credits; the entrance and the credits fade the palette as the original.
  • The view draws the Thieves Eye holes: the wall ahead, the door ahead, and the door frame of the party square.
  • A thing on a far square disappears when the records of its type run out, as the original.
  • Advanced mode: the damage of a hit stays in the action area for two ticks; the action icons keep their colors in every light.
  • The upscale filter smooths the mouse pointer with the picture.
  • Advanced mode: Escape opens an options menu with the sound volume, the music volume (0 to 7), and the music choice. SETTINGS.TXT in the saves folder keeps the values.
  • Advanced mode: the options menu has a FILTER row (NONE, SCALE2X, SCALE3X). The filter changes at once, and SETTINGS.TXT keeps it. --filter takes priority at a game start.
  • Advanced mode: C opens a cheat screen with full light, immortality, food and water, and the new cheats one-hit kill, walk through walls, and reveal map; quick save and quick load; and a list of all spells with their runes. The save file keeps the cheats in a new extension block.
  • Advanced mode: 8 save slots (DMGAME.DAT, DMGAME2.DAT to DMGAME8.DAT; CSB CSBGAME). The save dialog shows LOAD, SAVE, CONTINUE, and QUIT in DM and CSB; SAVE opens a save list, LOAD and RESUME a load list with the level and the file time of each slot and the quick save; RESTART THIS GAME loads the slot of the last save or load.
  • Advanced mode, Chaos Strikes Back: the stairs down of the prison start the new adventure at once, without a save and without the utility disk. Two of the stairs are behind hidden passages, at (15, 6) and (8, 14) of the first level. The advanced prison does not show the text about the utility disk.
  • Advanced mode: a key or a click ends the CSB intro at once; vanilla waits for the shown picture as the original.
  • Advanced mode: the automap draws a wall that the party walks through (an imaginary wall) checkered.
  • Advanced mode: up to 8 sounds play at once (vanilla keeps the 2 of the Amiga).

Changed

  • Final refactor, with no change of game behavior: the source is in src/ with five layers (data, engine, ui, control, platform); a root Makefile with incremental builds, -Werror and make check; coding standard v2 with a check per rule; the record accessors in engine/record.c; the LLM protocol in control/; tests in folders with shared dmtest helpers; docs/architecture.md, docs/manual.md, docs/development.md; GPL-3.0 license.
  • LLM mode: when the client closes the socket during an act_many batch, the batch stops one action earlier than before; a client that stays connected gets the same replies.
  • The picture scales smoothly with the window size and follows a live resize.
  • tools/dist/make-dist.sh no longer puts game files into the zip; the player adds the disk images.
  • Clean-code pass of the C port, with no change of game behavior: .clang-format and a format check, named constants, bool truth values, typed accessors for the KAOS tables, verb-object names, game rules moved from ui/ to engine/, and the dungeon view squares drawn from one table. docs/coding-standard.md lists every check of tests/standard/test_standard.py.
  • Golden snapshot tests of the save file, the dungeon view, and the game rules.
  • Windows: the ADF extraction stops with an error on a file name that is not safe on Windows; the turn-based mode is hidden.
  • --view uses the game keys and walks through walls.
  • Source layout: the public headers of a layer are in src/<layer>/include/; each layer compiles with the include paths of its own and the lower layers.
  • Advanced mode: Escape in the dungeon view opens the options menu, not the freeze. The automap keys L, I, F (cheats) and 1, 2, 3 (music) are gone; the music choice is in the options menu.

Fixed

  • The status box shows the damage splat of a hurt champion.
  • A door or a creature on another map than the party map makes no sound.
  • The dungeon view draws the footprints of the Footprints spell on the floor, as the original.

Removed

  • DM_FILTER (use --filter).

The Windows build is tested under Wine only, not on a real Windows.