Skip to content

Releases: dungeons-of-moria/umoria

Umoria 5.7.15

04 Jun 17:24
v5.7.15
624a051
Compare
Choose a tag to compare

Software license fix. Umoria 5.6 was released under a GPL-3.0-or-later license but I had accidentally
changed the license to GPL-2.0 in a commit from the very early days of the project: df109c5

The license has been corrected to be GPL-3.0-or-later.

Other Changes

  • Refactor keyboard input code.
  • Refactor ui_inventory.

Umoria 5.7.14

27 Feb 21:13
v5.7.14
d0a1706
Compare
Choose a tag to compare
  • Revert to Moria keys as default.
  • Minor configuration update to support compiling on Visual Studio 2019.
  • Bug Fix: Calculate throw distance/position correctly. Introduced with commit #fc1d6d.
  • Bug Fix: Correctly stack inventory items (arrows/bolts). Introduced with commit #195c9a6.

Umoria 5.7.13

22 Aug 10:42
v5.7.13
0d23157
Compare
Choose a tag to compare
  • Bugfix in getAndCastMagicSpell(): losing mana when cancelling a mage spell.
  • Minor change to the splash screen.

Umoria 5.7.12

28 May 21:24
1ef783c
Compare
Choose a tag to compare
  • Bugfix in pray(): should loose mana when failing to recite a prayer.
  • Add Press ? for help to the message bar on game start/load.
  • Use roguelike keys by default, and remove setting option from the CLI.
  • Player (row,col) and Monster (y,x) now use Coord_t for their positions.
  • Use Coord_t in all functions that used y, x coordinates.
  • Reorganise some game arrays and variables, placing them on an object:
    • put inventory onto Player_t
    • put treasure_list and current_treasure_id onto Game_t
  • Type changes:
    • rcmove variable in memoryUpdateRecall() signature is now an uint32_t like everywhere else.
    • Change store_buy function signature type to use uint8_t, and return a bool.
    • Various other types changes.
  • Typo fixes: item_sub_catory, current_askin_price.
  • Various clang-format and clang-tidy updates.
  • Move the Manual and FAQ to the historical directory and remove from release.
    It seems that these are very much out of date - possibly for any 5.x version - so
    it makes sense to move them back in with the rest of the historical documents.
  • Various compiler fixes.

Umoria 5.7.11

26 Feb 21:53
5a09155
Compare
Choose a tag to compare
  • Rename several ui_inventory.cpp functions to avoid name clashes (bugfix).
  • Player ToHit/Armor/Damage Adjustment functions now return int16 types.
  • Minor style changes.
  • Various CMakeLists.txt updates:
    • Allow out-of-source builds.
    • Use configure_file to set variables in splash.txt and versions.txt.
    • Remove unneeded make install.
    • Fix for finding ncurses on Linux/macOS.
    • GCC 8 support.
  • Update AUTHORS: add more known features from -JWT-.

Umoria 5.7.10

18 Feb 12:39
Compare
Choose a tag to compare

Bug Fixes

  • xor_byte decryption was not being performed correctly while reading score.dat files.
    Introduced with commit: 676cdfe (readHighScore() function).
    Note: game.sav files were not affected by this bug.

Code

  • Delete constant.h, moving many constants into config.h and the rest into
    their related headers. Things are looking pretty ugly at the moment but
    perhaps it's a better starting point for further refactoring.
  • Change config.h to namespace'd constants - perhaps not a good approach but let's see!

Umoria 5.7.9

20 Jan 19:37
Compare
Choose a tag to compare
  • Add AUTHORS file containing all known author information.
    This removes contributors section from versions.txt.

Bug Fixes

  • Kill experience points now calculated correctly.
    When extracting a method the wrong int type was used when calculating the creature.kill_exp_value * creature.level.
    This bug was introduced in Umoria 5.7.3 with the commit: ccfa747

Code

Continuing the process of moving related functions to the same file, plus other changes. Highlights:

  • types.h now has just the two core vtype_t and obj_desc_t types.
  • The numbered misc and moria files no longer exist!
  • Moved sets.cpp functions elsewhere, allowing for most to become static.
  • externs.h is now empty, so deleted!
  • Add consistent const in various places.
  • Use more Coord_t in Dungeon related functions.

Umoria 5.7.8

24 Dec 22:40
Compare
Choose a tag to compare
  • Improve Wizard Mode help files.
  • Easier item creation in Wizard Mode (inspired by Bmoria).
  • Change [Press any key to continue.] to [ press any key to continue ], and any variations, as it looks clearer.

Code

There are two main areas of focus for this release. The first was to create more objects to move the numerous global variables on to. E.g. Dungeon_t.

The second area of focus has been to start grouping related functions and variables in the same file. Ex. most player functions are moved to player.cpp, or a new player_xxx.cpp file has been created (run, stats, tunnel, etc.). The LOS and look functions are located in los.cpp.

Grouping globals and functions together like this should make their usage and their relationships more obvious.

These locations are by no means final, but are a useful first pass.

  • Grouping related functions together in the same file.
  • Move more Player globals to the Player_t struct.
  • Create a Dungeon_t and put all dungeon related globals here.
  • Create a Dice_t instead of using an array.
  • Started replacing char * with std::string.
  • Simpler display of death screens (using death_tomb.txt, death_royal.txt files).

Umoria 5.7.7

07 Nov 19:32
Compare
Choose a tag to compare

Bug Fixes

  • Game loading fix where shops data was being read twice, and the second time
    resulted in incorrect data. Oops! Broken during save game refactor:
    ce2c756

Umoria 5.7.6

05 Nov 14:07
Compare
Choose a tag to compare

Bug Fixes

  • When compiling on Windows/MinGW, the OS was not being detected correctly. 3811bcd
  • Now load cave tiles correctly (the lit status values), as a previous
    refactoring broke loading of pre-5.7 saves. 219f350

Code

A big focus of this release was to make the code safer by using references instead of pointers. I made a good start, but there's still a way to go.

  • Pass by Value and Pass by Reference major refactoring.
  • Replace "magic numbers" with an enum, e.g. spells for mage/priest, wands, and staffs.
  • Use Coord_t instead of y/x values in various coordinated related functions.