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 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 useCoord_t
for their positions. - Use
Coord_t
in all functions that usedy, x
coordinates. - Reorganise some game arrays and variables, placing them on an object:
- put
inventory
ontoPlayer_t
- put
treasure_list
andcurrent_treasure_id
ontoGame_t
- put
- Type changes:
rcmove
variable inmemoryUpdateRecall()
signature is now anuint32_t
like everywhere else.- Change
store_buy
function signature type to useuint8_t
, and return abool
. - Various other types changes.
- Typo fixes:
item_sub_catory
,current_askin_price
. - Various
clang-format
andclang-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
- 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 insplash.txt
andversions.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_byte
decryption was not being performed correctly while readingscore.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 intoconfig.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
- 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 wrongint
type was used when calculating thecreature.kill_exp_value * creature.level
.
This bug was introduced in Umoria5.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 corevtype_t
andobj_desc_t
types.- The numbered
misc
andmoria
files no longer exist! - Moved
sets.cpp
functions elsewhere, allowing for most to becomestatic
. 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
- 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 *
withstd::string
. - Simpler display of death screens (using
death_tomb.txt
,death_royal.txt
files).
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
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 ofy
/x
values in various coordinated related functions.