Releases: dungeons-of-moria/umoria
Umoria 5.7.15
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
Umoria 5.7.13
- Bugfix in
getAndCastMagicSpell(): losing mana when cancelling a mage spell. - Minor change to the splash screen.
Umoria 5.7.12
- Bugfix in
pray(): should loose mana when failing to recite a prayer. - Add
Press ? for helpto 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 useCoord_tfor their positions. - Use
Coord_tin all functions that usedy, xcoordinates. - Reorganise some game arrays and variables, placing them on an object:
- put
inventoryontoPlayer_t - put
treasure_listandcurrent_treasure_idontoGame_t
- put
- Type changes:
rcmovevariable inmemoryUpdateRecall()signature is now anuint32_tlike everywhere else.- Change
store_buyfunction signature type to useuint8_t, and return abool. - Various other types changes.
- Typo fixes:
item_sub_catory,current_askin_price. - Various
clang-formatandclang-tidyupdates. - Move the Manual and FAQ to the
historicaldirectory 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
- Rename several
ui_inventory.cppfunctions to avoid name clashes (bugfix). - Player ToHit/Armor/Damage Adjustment functions now return
int16types. - Minor style changes.
- Various
CMakeLists.txtupdates:- Allow out-of-source builds.
- Use
configure_fileto set variables insplash.txtandversions.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
Bug Fixes
xor_bytedecryption was not being performed correctly while readingscore.datfiles.
Introduced with commit: 676cdfe (readHighScore()function).
Note:game.savfiles were not affected by this bug.
Code
- Delete
constant.h, moving many constants intoconfig.hand 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.hto namespace'd constants - perhaps not a good approach but let's see!
Umoria 5.7.9
- Add AUTHORS file containing all known author information.
This removes contributors section fromversions.txt.
Bug Fixes
- Kill experience points now calculated correctly.
When extracting a method the wronginttype was used when calculating thecreature.kill_exp_value * creature.level.
This bug was introduced in Umoria5.7.3with the commit: ccfa747
Code
Continuing the process of moving related functions to the same file, plus other changes. Highlights:
types.hnow has just the two corevtype_tandobj_desc_ttypes.- The numbered
miscandmoriafiles no longer exist! - Moved
sets.cppfunctions elsewhere, allowing for most to becomestatic. externs.his now empty, so deleted!- Add consistent
constin various places. - Use more
Coord_tin Dungeon related functions.
Umoria 5.7.8
- 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_tstruct. - Create a
Dungeon_tand put all dungeon related globals here. - Create a
Dice_tinstead of using an array. - Started replacing
char *withstd::string. - Simpler display of death screens (using
death_tomb.txt,death_royal.txtfiles).
Umoria 5.7.7
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
Bug Fixes
- When compiling on Windows/MinGW, the OS was not being detected correctly. 3811bcd
- Now load cave tiles correctly (the
litstatus 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_tinstead ofy/xvalues in various coordinated related functions.