NUmoria is a fork of Umoria
based on the v5.7.X restoration release.
It aims to make playing classic Moria a more pleasant experience and more accessable to new players by:
- Giving the player the option to remove some of the more tedious elements from the base game.
- Implementing quality of life features.
- Implementing user interface improvements.
-
Color display option
- Colorize many items, monsters, dungeon features and menu entries.
- Adds Fire, lightning, and glowing effects.
- Add solid walls option.
-
Auto-haggle option
- Automatically agree on a price at the cost of a 10 percent tax on the final price of items you would otherwise have had to haggle for.
- All prices displayed in the stores will be the actual prices you have to pay.
-
Auto open doors option
- Automatically attempt to open a door by moving into it.
-
Full monster recall option
- When enabled, players know everything about a monster when using
(r)ecall.
- When enabled, players know everything about a monster when using
-
Lost item feedback messages
- Losing an item due to elemental damage or theft now produces a message detail what was lost.
-
Revocable word-of-recall
- Reading a second word-of-recall before teleporting will cancel the first one.
Some features have been ported from old patches and Moria variants that are
based on Umoria v5.5.X or below and therefore apply to the old C codebase.
These patches have been rewritten to apply to restoration project release C++
codebase. Please see the AUTHORS.numoria file for full credits.
See CHANGELOG.numoria.md for a more complete list of changes.
NUmoria supports several display backends, selected with -DNUMORIA_BACKEND.
ncurses: Console frontend (default)pdc: PDCursesMod frontend, port selected with-DPDC_PORT:sdl2: SDL2 windowgl: OpenGL 3.3 window (supports fullscreen scaling)wingui: Win32 graphics mode
- Emscripten: web build via
emcmake cmake(automatically uses SDL2 port)
Building has only been tested on Linux. Windows binaries are cross-compiled
using mingw-w64. Builds have not been tested on MacOS.
- Install build dependencies, eg:
apt install cmake libncurses-dev- Build:
cmake -DNUMORIA_BACKEND=ncurses -B 'build/numoria-ncurses/' -S .
cmake --build 'build/numoria-ncurses/'- Package tarball:
cmake --build 'build/numoria-ncurses/' --target package- Install build dependencies, eg:
apt install git cmake libsdl2-dev libsdl2-ttf-dev- Build:
cmake -DNUMORIA_BACKEND=pdc -DPDC_PORT=sdl2 -B 'build/numoria-sdl2/' -S .
cmake --build 'build/numoria-sdl2/'- Package tarball:
cmake --build 'build/numoria-sdl2/' --target package- Install build dependencies, eg:
apt install git cmake libsdl2-dev libsdl2-ttf-dev libgl-dev- Build:
cmake -DNUMORIA_BACKEND=pdc -DPDC_PORT=gl -B 'build/numoria-gl/' -S .
cmake --build 'build/numoria-gl/'- Package tarball:
cmake --build 'build/numoria-gl/' --target package- Install build dependencies, eg:
apt install git cmake mingw-w64- Build:
cmake -DNUMORIA_BACKEND=pdc -DPDC_PORT=wingui -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/mingw-w64-x86_64.cmake -B 'build/numoria-wingui/' -S .
cmake --build 'build/numoria-wingui/'- Package zip:
cmake --build 'build/numoria-wingui/' --target package-
Install emsdk and activate it
-
Install build dependencies, eg:
apt install git cmake libsdl2-dev libsdl2-ttf-dev- Build (emcmake detects Emscripten automatically, no -DNUMORIA_BACKEND needed):
emcmake cmake -B 'build/numoria-web/' -S .
cmake --build 'build/numoria-web/'- Serve locally and open in a browser:
cd build/numoria-web/numoria && python3 -m http.server 8080-
You can also use
Ninjaas a build system. Pass-G Ninjato thecmakegenerate command. -
README.mdis the original README from upstream. It is included as it contains some useful information, however the build instructions are obsolete.