Changelog

From Arx Libertatis Wiki
Revision as of 11:22, 28 May 2017 by Ds (talk | contribs) (Update WIP 1.2 changelog)
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. Fixes 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 introduced 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.

ℹ️  As this release is still in development, the changelog is subject to change. See also the list of upcoming fixes on the bug tracker.

Changes as of 2017-05-27 (commit e87e534):

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 (TODO: Update pics)
  • Restored more spell sounds
  • Unix: Added support for different French and Russian Arx Fatalis CD versions to the data install script
  • Unix: Added support for different localized demo versions to the data install script
  • Linux: Translated the .desktop file to Italian and Spanish
  • The default ("Desktop") resolution now selects fullscreen windowed mode (with SDL2) (feature request #300, #449)
  • Added anti-aliasing to alpha cutouts (color key anti-aliasing and alpha to coverage, pics TODO: Update pics)
  • Added ability to rename saves to arxsavetool
  • Added support for loading uncompressed FTL files
  • Added a blender plugin for FTL files
  • Re-added environmental audio effects (reverb) using OpenAL EFX (the game uses only one relatively neutral environment)
  • Added a config option to select the audio device
  • Added an option to limit speech width on wide screens (enabled by default)
  • Add an option to letterbox or fade out cinematics with wide resolutions (fade by default)
  • Added options to scale the HUD with larger resolutions (feature request #391, #996)
  • Added an option to scale the cursor with larger resolutions
  • Added additional highlighting and improved positioning to the credits
  • Added support for scrolling the credits using the mouse wheel or keyboard
  • Added the libraries and tools used for the build to the credits
  • Added an option to disable border turning
  • Added a --benchmark command-line option
  • Added raw mouse input support
  • Added a mouse acceleration option (disabled by default)
  • Windows: In multi-GPU setups (Optimus/PowerXpress) the more powerful GPU is now used by default
  • Added an option to mute audio when the window is not focused
  • Added an option to disable anisotropic filtering (feature request #96)
  • Added an option not to minimize the fullscreen window on Alt+TAB (feature request #814)
  • Added a new high-resolution icon
  • Increased the save thumbnail size
  • The "Resume game" menu entry and quickload (F9) now load the last save if no game is running (feature request #45)
  • Improved key bindings menu: Overwriting bindings no longer moves the old key (bug #717) and bindings can now be removed using the escape key (feature request #408)
  • Added a keyboard shortcut for drinking cure poison potions (not bound by default)
  • Added an alternate, less strict rune recognition algorithm (disabled by default) (feature request #289, #653)
  • Added a script console (feature request #356)
  • Added support for adjusting config sliders by clicking the desired position
  • Added support for adaptive VSync
  • Added support to arxunpak to extract all resources as seen by the game (default when no arguments are given)
  • Added support to arxunpak to create resource manifests with checksums
  • Added anti-aliasing to HUD element borders (even without MSAA)
  • Added an option to enable [OpenAL Soft](http://kcat.strangesoft.net/openal.html)'s virtual surround (HRTF) support (enabled automatically when using headphones)

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 (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
  • Fixed Negate magic (Nhi Rune (remove)Stregum Rune (magic)Spacium Rune (field)) and Trap (Aam Rune (create)Morte Rune (death)Cosum Rune (object)) spell effects not rotating
  • Fixed selection of replacement weapon when the equipped one breaks to select one that is similarly powerful
  • Fixed potential resource leaks
  • Fixed ^GAMEDAYS script variable
  • Fixed player not receiving experience for kills by summoned creatures
  • We now exit mouse look mode on focus loss to prevent the cursor being warped to the window center
  • The Negate magic (Nhi Rune (remove)Stregum Rune (magic)Spacium Rune (field)) spell and effect now correctly follows the target
  • The Ignite (Aam Rune (create)Yok Rune (fire)) and Douse (Nhi Rune (remove)Yok Rune (fire)) sound effects now correctly follow the target
  • 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)
  • Fixed map rendering glitches with buggy OpenGL drivers (bug #539)
  • Fixed cursor blinking when editing save file names
  • Fixed checkbox mouseover area (bug #528)
  • Fixed audio source gain not reaching 0 before the max distance
  • Fixed water and lava animation overlay (bug #512)
  • Fixed hunger dropping below 0% when overeating (also applied when loading save files)
  • Fixed missing characters after forced line breaks (bug #718)
  • Fixed slow cursor animation with high framerates
  • Fixed disappearing menu textures after resizing the window (bug #275)
  • Fixed initial player position when starting a new game after already having loaded an existing game (bug #140)
  • The player book is now closed when returning to mouse look mode (bug #143)
  • Added missing panning for ambient sounds
  • Fixed anti-aliasing on linux for some drivers
  • Audio listener orientation now uses the camera pitch (only noticeable with HRTF)
  • Fixed direction of player speech outside cutscenes
  • Fixed flashes, flares and other effects appearing in front of the cinematic border
  • Fixed scaling of flares around lights with higher resolutions
  • Fixed light flares showing through scene geometry or disappearing when the light is still visible (bug #120)
  • Fixed light flares showing through non-interactive entities (e.g. doors that are opening or closing)
  • Fixed scaling and positioning of magic flares when casting with higher resolutions (bug #535)
  • Fixed scaling of cinematics with higher and wide resolutions
  • Fixed cinematic light flicker depending on the framerate
  • Fixed scaling of the speech icon with wide resolutions
  • arxunpak now handles non-ASCII characters in filenames
  • Fixed level transition icons on the map not being displayed correctly (bug #782)
  • Fixed credits scroll position changing on window size changes
  • Fixed position of number in cursor when distributing skill points
  • Fixed border turning (bug #255)
  • Fixed sound position when dousing torches
  • Fixed removing duplicated key assignments
  • Windows: Added Unicode filesystem support
  • Windows: The OpenGL context is no longer re-initialized on resolution changes
  • Fixed mouse not always being centered when exiting mouse look mode
  • Fixed mouse grab not being released during cutscenes/conversations
  • Fixed health and mana gauges not being hidden during the death animation (bug #806)
  • Windows: Fixed missing window icon
  • Fixed a crash when the entity whose inventory is open is destroyed (bug #843)
  • Fixed various crashes
  • Fixed a lockup when throwing items at certain objects
  • Fixed a bug where double-click only worked for the first slot in the Action binding (bug #795)
  • Fixed Slow down (Rhaa Rune (decrease)Movis Rune (movement)) spell affecting user interface and input
  • Fixed magic flares not animating during the Slow down (Rhaa Rune (decrease)Movis Rune (movement)) spell
  • Fixed UI not updating properly when changing key bindings (bug #717)
  • Made saving more robust against unexpected filesystem errors (bug #439)
  • Fixed purse halo not showing when selling certain items
  • Improved player movement during Slow down (Rhaa Rune (decrease)Movis Rune (movement)) spell
  • Fixed player ascending infinitely when attacked while levitating (bug #640)
  • Tweaked how spell/stealth/equipment/torch icons move when opening the inventory
  • Fixed asserts with very high player stats not obtainable during normal gameplay (bug #942)
  • Improved pathfinder performance, especially when the target it unreachable (bug #652)
  • Unix: Fixed support for copying non-English data files from Steam installs in the data install script
  • Fixed VSync setting not being applied until the game is restarted
  • Fixed a crash when loading saves with more than 1500 entities in a single level (bug #375)
  • Made rune recognition framerate-independent
  • Fixed problems when loading save files with bugged entity positions (bug #995)
  • Made turning using the keyboard framerate-independent
  • Fixed invert mouse setting affecting turning via keyboard or screen borders
  • Save files now correctly store game time for playthroughs longer than 1193 hours (AL 1.1.x and older as well as AF 1.21 simply ignore the additional data)
  • Remove light affecting the world when clicking on runes in the book
  • Fixed item halo being displayed in front of dragged items
  • Add missing item halo when combining items
  • Fixed rendering of runes in the book

Technical Changes

  • Fixed build with CMake 3.5.0 or newer
  • Fixed Windows XP support with newer MSVC versions
  • Added an SDL 2 windowing and input backend (task #506)
  • New dependency: GLM 0.9.5.0 or newer
  • macOS: New dependency: iconutil (from Xcode) or icnsutil for building the .icns icon
  • New crash reporter dependency: WinHTTP / libcurl 7.20.0 or newer
  • Dropped support for CMake < 2.8.3
  • Dropped support for Boost < 1.48
  • Dropped support for Qt < 4.7
  • The unity build is now enabled by default
  • 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
  • Changed to OpenGL debug context and enabled ARB_debug_output for debug builds or with the --debug-gl option
  • Added library and python wrapper for decompressing FTL files
  • Added SDL 2 fall-back for error dialogs
  • Cleaned up missing data files error dialog, ask before running arx-install-data
  • Tweaked Speed (Mega Rune (increase)Movis Rune (movement)) spell effect
  • Added support for setting a runtime libexec search dir different from the install path
  • Added support for the ARX_PATH environment variable under Windows
  • Added support for statically linking Freetype and ZLIB
  • Color output is no longer enabled if $TERM is unset or set to "dumb"
  • Added support for storing .pak and loose files in a data subdirectory
  • Added support for loading data files relative to the executable
  • Added support for configuring additional data search paths
  • Added a performance profiling tool
  • Removed the unused killme script command
  • Removed the unused stack, code, rgb and sub-commands from the zoneparam script command
  • Remove stubbed-out -a flag from the set script command
  • Unix: Enabled -ffast-math in release builds (was already enabled for MSVC)
  • {{Windows}: Added support for statically linking Qt in the crash reporter
  • Added a config option for the vertex streaming buffer size
  • Improved vertex upload, now uses persistently mapped buffers when available
  • Windows: Support using a 32-bit crash reporter for a 64-bit arx process
  • Show a dialog on crash an prepare a report even if the reporter is not available
  • A lot of code cleanup and various performance tweaks
  • Fixed build on newer macOS versions
  • Fixed unity build on macOS
  • Disabled denormalized floating point numbers on x86 and ARM for better performance
  • Save files now track which playthrough they belong to (not used in the UI yet)
  • The arx binary now displays a graphical error dialog when passed bad command-line arguments
  • MSAA is now disabled for interface draw calls where it does not make a difference
  • Windows: Disabled OS-level DPI scaling

Removed Features