Changelog

From Arx Libertatis Wiki
Revision as of 17:38, 27 February 2014 by Ds (talk | contribs) (→‎New Features)
Jump to navigation Jump to search

This article list the high-level changes in each Arx Libertatis release. See Project Milestones, Refactoring Arx Fatalis and the bug tracker for some things still left to do.

For a list of differences between Arx Libertatis and the original Arx Fatalis, see Changes from Arx Fatalis.

ℹ️  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

Shortlog

  • 1.0 "Bloody Gobblers!": Initial release. Game ported to SDL, OpenGL, OpenAL and the amd64 architecture while maintaining native Direct X backends. Fixea some performance issues with newer operating systems, adds more configuration options and improves the interface scaling for widescreen resolutions. (announcement)
    • 1.0.1: Fixes text rendering bug in 1.0 that breaks the Russian version, a crash on some Linux systems and uses DirectX by default for rendering and input under Windows. You can still select the renderer in the video settings and if you set it to anything other than the default "Auto-Select" nothing will change for you. (announcement)
    • 1.0.2: Fixes various crashes, disappearing items when sorting the inventory, and minor rendering and input bugs. This release also fixes a bug that left the Spanish version with no text. (announcement)
    • 1.0.3: Fixes two regressions introduced in 1.0.2 for Windows users: Crashes on startup after selecting the OpenGL renderer and low mouse sensitivity with the DirectInput backend. There are also fixes for other crashes, rendering glitches, missing speech during cinematics in the Russian and Italian versions, missing ambient sound effects as well as bugs in how some skill values were calculated. (announcement)
  • 1.1 "Rhaa Movis": Fixes player movement issues, minimap scaling, and a bunch of crashes and other bugs. We also continued our work on restructuring the engine, to facilitate new features in the future. Further, there is an improved installer for the data files on *nix systems as well as minor graphics and sound tweaks. See the changelog for full details. While we haven't managed to include everything originally planned for 1.1, we felt it was high time for another release after nearly a year of development since 1.0.3. (announcement)
    • 1.1.1: This release is a hotfix addressing a regression introcuded in 1.1, that caused map markers to not be saved correctly and then removed when such a save is loaded. We encourage all users of Arx Libertatis 1.1 to upgrade to 1.1.1 as soon as possible. (announcement)
    • 1.1.2: This is another small hotfix, this time to fix a crash when hovering over map markers after the window size or resolution has changed. (announcement)


Arx Libertatis 1.0 "Bloody Gobblers!"

Released: 2012-04-19 (announcement)

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


Patch 1.0.1

Released: 2012-04-22 (announcement)

  • 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 (announcement)

  • 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 (announcement)

  • 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 Direct3D renderer (bug #331)
  • Fixed low mouse sensitivity with the 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"

Released: 2013-07-14 (announcement)

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: Merged the data install script and set it to be installed it with the arx binary
  • Linux: Added a GUI to the data install script and launch it automatically if needed - you no longer need to use the terminal to install the game data under Linux!
  • Linux: Added support for bundled Arx Fatalis versions to the data install script (bug #348)
  • Linux: Translated the .desktop file to French, German and Russian
  • Restored some unused spell sounds
  • Tweaked color of the Protection from fire (Yok Rune (fire)Kaom Rune (protection)) aura to make it visually different from the aura of the Armor (Mega Rune (increase)Kaom Rune (protection)) spell
  • Windows: Changed default input/windowing/render backends to SDL+OpenGL - DirectX backends may be removed in a future version

Fixed Bugs

  • Fixed Am Shaegar accelerating too much during slow frames (bug #185)
  • Increased jump distance to fix some jumps that have become frustratingly hard (bug #413)
  • 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)
  • 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)
  • Adjusted the RAF cheat to no longer limit the player's caster level to 1
  • 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
  • Fixed handling of bogus targets in the spellcast script command
  • Turning off the Detect trap (Morte Rune (death)Cosum Rune (object)Vista Rune (vision)) spell no longer turns off Night vision (Mega Rune (increase)Vista Rune (vision))

Technical Changes

  • A lot of code cleanup
  • Removed dependency on Boost.Program_options - Boost is now only needed at build-time. We tried to keep the same command-line argument syntax but there might be slight changes in corner cases. (task #353)
  • Changed to always create a user/config directory in the user's 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
  • macOS: Fixed some build issues (YMMV)
  • Fixed build with the Intel C++ compiler
  • Fixed build with some MinGW32 distributions
  • Fixed debug build with libc++
  • Fixed build with CMake 2.8.10
  • Fixed build with MS Visual Studio 2012
  • Added support for building the crash reporter with Qt 5
  • Aligned and tweaked log output


Patch 1.1.1

Released: 2013-07-17 (announcement)

  • Fixed map marker labels not being saved



Patch 1.1.2

Released: 2013-10-17 (announcement)

  • Fixed a crash when hovering over map markers after the window was resized (bug #547)



Arx Libertatis 1.2

Released: TBD

ℹ️  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.

Changes as of 2013-12-16 (commit 2e92ba1):

New Features

  • Added a --skiplogo command-line option to skip startup logos
  • Added a --loadlevel command-line option to immediately load a level on startup
  • Added a --loadslot command-line option to immediately load a save file on startup
  • Enabled more debug views
  • Restored more spell sounds
  • Linux: Added support for different French Arx Fatalis CD version to the data install script
  • The default ("automatic") resolution now selects fullscreen windowed mode (with SDL2) (feature request #300, #449)
  • Added anti-aliasing to color-keyed textures (alpha to coverage, pics)

Fixed Bugs

  • macOS: Handle Command + Q shortcut to close the window
  • Fixed Ylside blow up effect only disappearing when looking at it (bug #122)
  • Fixed lighting only being updated every other frame (bug #75)
  • Fixed spells without mana drain using the mana drain from previous spells
  • Fixed missing arrow trails (TODO: pic) (bug #538)
  • Fixed screenshot shortcut (F10) always overriding the same file
  • Fixed missing aura when a protection spell ended before a Lower armor (Rhaa Rune (decrease)Kaom Rune (protection)) on the same target
  • Fixed position of some spell sounds
  • Fixed weapons and equipment always being drawn in front of the player hands and arms (pic)
  • Fixed player hands clipping with walls in first person view
  • Fixed minimap reveal status not being reset when starting a new game
  • Fixed overzealous entity culling (bug #588)
  • Fixed Akbaa not attacking the player after using his tentacle attack twice (bug #584)
  • Fixed NPC animations not playing when close to the player (bug #270)
  • Fixed minimap texture filtering changing when hovering map markers (bug #570)
  • Fixed excessive amounts of flame/smoke particles being generated at higher framerates
  • Fixed menu cursor trail being shorter at higher framerates
  • Fixed maximum player Health and Mana ignoring attribute modifiers from items and spells while the MAX or MAR cheats are active
  • The Critical Hit chance now includes item and cheat modifiers
  • Calculated Armor Class, Magic Resistance, Poison Resistance and Damages stats now include attribute and skill modifiers from items and spells (bug #322)
  • Higher caster level now makes the Curse (Rhaa Rune (decrease)Stregum Rune (magic)Vitae Rune (life)) spell more effective against NPC Damages, Armor Class and Damage Absorption instead of less effective
  • No longer grabs all keys when fullscreen (with SDL2)

Technical Changes

  • A lot of code cleanup
  • Added an SDL 2 windowing and input backend (task #506)
  • New dependency: GLM
  • Dropped support for Boost < 1.48
  • Dropped support for Qt < 4.7
  • Reduced number of redundant OpenGL state changes
  • Increased depth buffer from 16 bits minimum to 24 bits
  • No longer stores deleted entities in save files if not needed
  • Optimized particle effect rendering
  • Changed blood rendering to only need one draw command per particle, may not look exactly the same
  • Removed the unused killme script command
  • Changed to OpenGL debug context and enabled ARB_debug_output for debug builds

Removed Features