Changelog

From Arx Libertatis Wiki
Jump to navigation Jump to search

This article tracks high-level changes compared to the original Arx Fatalis source code release. See Refactoring Arx Fatalis for some things still left to do.

Tip: if you want a nice short link to a changelog entry use http://arx.vg/Changelog#<version>
Example: http://arx.vg/Changelog#1.0

For a list of gameplay changes see Changes from Arx Fatalis.


Arx Libertatis 1.0 "Bloody Gobblers!"

Released: 2012-04-19

New Features

  • Cross-platform support: Windows, Linux and possibly other UNIX-likes
  • Configurable windowing + renderer, input and audio backends
  • Save game list is sorted so that latest save is at the top
  • Configurable number of quicksave slots
  • Shortcut to toggle windowed and fullscreen mode (default is Alt+Enter)
  • Video config menu displays the aspect ratio along with resolutions
  • Separated window size and fullscreen resolution
  • Added an "automatic" fullscreen resolution setting that always chooses the highest available one
  • Support for system-wide installation and per-user configuration / savegames (follows the XDG Base Directory Specification under Linux)
  • Ported to amd64 architecture
  • A single binary can automatically run the demo or full game data
  • Automatic language detection for the data files
  • Added a crash reporter tool
  • Added tools to extract .pak and savegame files

Fixed Bugs

  • Fixed aspect ratio for interface elements when using non 5:4-resolutions (some are still stretched)
  • Fixed various crashes
  • Improved level loading speed by limiting the progress bar update rate

Technical Changes

  • Ported text rendering from Windows GDI to Freetype
  • Removed dependency on the proprietary PKWARE implode library
    • This required changing the savegame format - saves produced by Arx Libertatis cannot be read by the original Arx Fatalis, but Arx Libertatis can still read the original save files.
  • Abstracted windowing framework, with SDL and Win32 implementations
  • Abstracted audio backend, with OpenAL and DirectSound 9 implementations
  • Abstracted input backend, with SDL and DirectInput 8 implementations
  • Abstracted renderer backend, with OpenGL and Direct3D 9 implementations
  • Replaced custom image loading/saving code with DevIL
  • Various code cleanup and performance improvements

Removed Features

  • Editor mode (will be re-added)
  • Texture size option (will be re-added)
  • "Bump mapping" (proper bump/normal mapping will be re-added)
  • PNUX texture effect
  • Support for reducing textures to 16-bit
  • Non-newcontrol mode
  • Gamma/brightness/contrast correction


Patch 1.0.1

Released: 2012-04-22

  • Fixed garbled text rendering in the Russian version (bug #226)
  • Fixed a crash in the critical error dialog on some Linux systems (crash report #229)
  • Loading files from the graph and misc directories is now case-insensitive
  • Switched to D3D and DInput backends by default on Windows


Patch 1.0.2

Released: 2012-06-14

  • Fixed problems with the unity build under Linux (crash report #243, crash report #245)
  • Fixed crashes and disappearing items when sorting the inventory
  • Crafting now always adds items to an existing stack if there is one (feature request #109)
  • Inventory sorting now works on all bags at once
  • Fixed a script execution error when changing the heartbeat event while executing the heartbeat event
  • Fixed compile errors with older Qt and SDL versions
  • Fixed crashes due to random numbers, mostly occurring on Windows (crash report #258)
  • Fixed a bug in loading the Spanish localization files (bug #259)
  • Fixed transparent objects being drawn in front of opaque objects when a book/note is open (bug #252)
  • Fixed a regression from the original game that made the player super stealthy (bug #262)
  • Fixed a regression in the script timer code (crash report #251)
  • Fixed label for the 'Full screen' checkbox not being shown in the German version
  • Fixed cursor position not aligning with absolute input devices (e.g. tablets) in fullscreen mode (bug #269)
  • Mouse sensitivity setting now only applies to turning the camera, not to cursor movement


Patch 1.0.3

Released: 2012-07-31

  • Fixed crashes on startup after selecting the OpenGL renderer on Windows (crash report #290)
  • Fixed crashes after Alt+TAB-ing out of fullscreen mode on Windows (crash report #274)
  • Added support for graphics cards and drivers that don't support alpha-only textures to the File:Windows icon.png Direct3D renderer (bug #331)
  • Fixed low mouse sensitivity with the File:Windows icon.png DirectInput backend (bug #334)
  • Fixed some effects shining though walls while casting (bug #278)
  • Fixed missing speech in cinematics for the Russian and Italian versions (bug #335)
  • Fixed missing ambient sound effects (bug #341)
  • Fixed the offset for the halo rendered around some equipped rings
  • Improved the .ini parser to deal with broken syntax in the Japanese and Russian localization files
  • Include attribute modifiers when calculating the effective object knowledge and projectile skills (bug #302)
  • Savegames can now be deleted from the save and load menus


Arx Libertatis 1.1 "Rhaa Movis"

ℹ️  The following changes will be part of the next point release of Arx Libertatis. If you want to try them out before that, you'll have to compile Arx Libertatis from source code yourself.

New Features

  • Added support for multiple simultaneous data directories
  • The --data-dir (-d) command-line option can now be repeated to add multiple data directories
  • Added a --no-data-dir (-n) command-line option to disable system data directories
  • Improved error messages for missing data files (pics)
  • Added an error dialog if the user directory could not be created
  • Enabled up to 8xMSAA (if supported) with the SDL/OpenGL backend (was: 4xMSAA)
  • Ensured that we never request a window size or fullscreen resolution below 640x480
  • Linux: Added support for bundled Arx Fatalis versions to the data install scripts (bug #348)
  • Linux: Translated the .desktop file to French, German and Russian

Fixed Bugs

  • Replaced DevIL with stb_image for image loading (task #352, see this)
  • Fixed a script evaluation bug when looking up Entity-dependent special variables
  • Fixed a crash when evaluating script variables
  • Fixed a crash caused by entities without an attached 3D object (bug #434)
  • Fixed a crash in the playanim script command (bug #383)
  • Fixed a crash when rendering text ending with two newlines
  • Fixed a crash caused by bad window sizes or font loading / texture creation problems (bug #444)
  • Windows: Fixed crashes and missing sounds due to bad OpenAL implementations by bundling OpenAL Soft (task #435)
  • Linux: Fixed improper handling of set-but-empty $XDG_* variables
  • Merged remaining fixes from Nuky's arx-fatalis-fixed: (task #276)
    • Tweaked portrait render zone in the new game screen
    • Fade out rune symbol flares when switching away from the spell page (Issue 13)
    • Fixed detected NPCs from the current level showing up on all level maps in the book (Issue 12) [TODO not merged to master yet!]
  • Fixed missing page turn sound when switching between book pages via hotkeys (F1-F4)
  • Fixed being able to switch to the spell page via prev/next hotkeys before getting any runes
  • Fixed minimap showing a smaller area on higher resolutions (bug #64) [TODO not merged to master yet!]
  • Adjusted the RAF cheat to no longer limit the player's caster level to 1
  • Restored some unused spell sounds
  • Tweaked color of the Protection from fire (Yok Rune (fire)Kaom Rune (protection)) aura to make it is visually different from the aura of the Armor (Mega Rune (increase)Kaom Rune (protection)) spell
  • Fixed Protection from fire (Yok Rune (fire)Kaom Rune (protection)) spell not respecting the durations supplied by scripts
  • Changed the default duration for Protection from fire (Yok Rune (fire)Kaom Rune (protection)) and Protection from cold (Fridd Rune (ice)Kaom Rune (protection)) spells cast by NPCs from over 30 minutes to 20 seconds

Technical Changes

  • A lot of code cleanup
  • Changed to always creates a user/config directory in the user's in home directory unless explicitly changed with the --user-dir and/or --config-dir options or registry keys. Previously, if no data and user directories were found, the current working directory was used as the user directory.
  • Linux: Added /opt as a system data directory prefix (besides $XDG_DATA_DIRS)
  • Linux: Added arx as a system data directory suffix (besides games/arx)
  • Added the executable directory as a system data directory (bug #242)
  • Improved handling of bad UTF-8 sequences
  • Made the text handling code architecture-independent
  • Enabled C++11 mode for GNU-compatible compilers, if supported
  • Added CMake options to control the custom compiler flags used
  • Fixed some macOS-related build issues (YMMV)
  • Fixed build with the Intel C++ compiler
  • Fixed debug build with libc++
  • Fixed build with CMake 2.8.10