Release 0.16.0

The Jagged Alliance 2 Stracciatella team is proud to present a new release. A long time in the making, it includes several new features, plenty of bugfixes compared to previous versions and the original game, and more work in externalizing and cleaning up the old code base.

Through 874 commits 59 bugs were fixed. 15 of the fixed bugs affect vanilla.

New Features:

  • A graphical launcher
  • “Dead is Dead” mode: documentation
  • 4 new bunbled optional mini-mods: Honest IMP Questions, Generous Rebels, O Fortuna, From Russia With Love
  • The game window is now resizable, which enables software pixel scaling.
  • Some fixes and tweaks cherry-picked from 1.13.
  • Configuration is now stored in a JSON file.
  • Comments have been added to the configuration file making it easier to tweak.

We are shipping pre-built packages for Ubuntu, Windows and OS X. This should help users to easily get started with Jagged Alliance 2 Stracciatella. For users willing to take a risk we also started to provide automatically created nightly builds.

Download: http://ja2-stracciatella.github.io/download/

Build changes:

  • The build system has been updated and is now based on cmake.
  • SDL has been replaced with SDL2.
  • Several other dependencies have been updated.
  • The optional graphical launcher requires FLTK.
  • Rust has been added as a new dependency. It is recommended to use the latest version provided by rustup. Rust libraries needed to build the project are automatically downloaded by cmake/cargo.

Warning: SDL2 2.0.6 has a fatal bug in the audio conversion code. As a workaround, the game automatically disables all sounds if it detects this version during startup. Please downgrade to version 2.0.5 or use version 2.0.7 or later.

From the next release onward, the project will start using C++11 features. Please let us know if you’re stuck with an ancient compiler that doesn’t support this standard.

Full Changelog:

  • Bugfix (vanilla): Do not increase shots fired statistic without a live target (#622)
  • Bugfix (vanilla): Fix Bobby Ray’s popup ‘Out of Stock’ appearing again when trying to leave the website (#534)
  • Bugfix (vanilla): Fix gas on a roof can damage the merc underneath the roof (#477)
  • Bugfix (vanilla): Fix open doors can block grenades (#94)
  • Bugfix (vanilla): Fix smoke/gas spreads over roof edge (#600)
  • Bugfix (vanilla): Fix climbing makes mercs visible at night (#402)
  • Bugfix (vanilla): Fix throwing knife flying animation messed up (#395)
  • Bugfix (vanilla): Fix helicopter is ignored by pathfinding (#317)
  • Bugfix (vanilla): Fix area select rectangle not removed if interrupted (#550)
  • Bugfix (vanilla): Fix replace non-existing corpse animation (#526)
  • Bugfix (vanilla): Fix replace reference to non-existing flame animation (#525)
  • Bugfix (vanilla): Fix doorcr_b.wav sound file exception (#520)
  • Bugfix (vanilla): Fix game crash when inserting ceramic plates (#516)
  • Bugfix (vanilla): Fix unconscious merc gains exp for bullet avoidance (#163)
  • Bugfix (vanilla): Fix free disk space is calculated wrong (#413)
  • Bugfix: Fix game speed is generally slow (#99)
  • Bugfix: Don’t crash if we don’t have a target for punching (#627)
  • Bugfix: Don’t crash in SoundLoadDisk() on Arch Linux with SDL2 2.0.6 (#608)
  • Bugfix: Fix sound memory limit hit after upgrading to SDL 2.0.7 (#609)
  • Bugfix: Fix the rust cli parser does not accept relative paths (#559)
  • Bugfix: Fix getting “Reading from file failed” when fast forwarding time after savegame load (#528)
  • Bugfix: Fix crash in laptop AND huge memory footprint (#68)
  • Bugfix: Fix adding money with ‘+’ key cheat not working (#426)
  • Bugfix: Fix hit by grenade issues (#247)
  • Bugfix: Fix MERCS can punch through open doors (#595)
  • Bugfix: Fix attack for 0 AP (#192)
  • Bugfix: Alt+o cheat damages bloodcats now (#583)
  • Bugfix: Passive bloodcat ambush fix (#584)
  • Bugfix: Fix when enemy is noticed, no AP for action may be taken (#188)
  • Bugfix: Fix attacking teammate(dialogue) on roof puts him through the roof (#567)
  • Bugfix: Fix mysteriously disappearing APs when stealing (#191)
  • Bugfix: Fix position of Mercenary task orders in Tactical screen (#537)
  • Bugfix: Fix and enhance cli switch parsing (#515)
  • Bugfix: Fix maximum militia Message at the wrong position (#540)
  • Bugfix: Fix build fails if there is a space in the directory name (#529)
  • Bugfix: Shrink gfKeyState (alternative) (#523)
  • Bugfix: Teach (Estimate)ActionPoints about KID_SKIPPING (#502)
  • Bugfix: Fix segfault in Blt8BPPDataTo16BPPBufferTransZTranslucent when rendering smoke (#468)
  • Bugfix: Remove AI deadlocks (#466)
  • Bugfix: Fix experience gain not acknowledged properly (#398)
  • Bugfix: Fix minimap flickering on selected merc (#202)
  • Bugfix: Fix current merc in minimap flickering (#452)
  • Bugfix: Check for time accelleration properly when checking for end of turn (#451)
  • Bugfix: Fix accelerated bleeding when returning to realtime (#160)
  • Bugfix: Fix graphical glitch in main menu after quitting a game (#106)
  • Bugfix: Fix menu bug when ending a game (#72)
  • Bugfix: Fix can’t type IMP code after saving via Save screen (#419)
  • Bugfix: Fix issues with text inputs (#429)
  • Bugfix: Fix game crashes during enemy turn (#415)
  • Bugfix: Fix description box missing when opening “Deposit/Withdraw money” widget in Tactical screen (#379)
  • Bugfix: Fix shipping cost BR not redrawn properly (#394)
  • Bugfix: Fix bad Performance in OS X (#319)
  • Bugfix: Fix autoresolve crash (#381)
  • Bugfix: Only check retreat conditions for valid sectors (#374)
  • Bugfix: Enable assertive asserts only on debug builds (#373)
  • Bugfix: Show version number in main menu (#359)
  • Bugfix: Fix minor debug page fault (#337)
  • Bugfix: Fix undefined behaviour in LOS.cc (#342)
  • Bugfix: Leave running stance if not moving (#194)
  • Enhancement (vanilla): Fix merc forgets his stance after jumping on a roof (#84)
  • Enhancement (vanilla): Fix selling attachments to Tony - strange prices (#423)
  • Enhancement (vanilla): Add yellow or green star for attached Talon (#424)
  • Enhancement: Add extra item combinations (#623)
  • Enhancement: Unify hotkeys (#626)
  • Enhancement: Integrate vxx’s work (#307)
  • Enhancement: Initial Launcher Implementation (#548)
  • Enhancement: Allow resizing of game window (#555)
  • Enhancement: Move ja2.ini to json (#291)
  • Enhancement: Set options in ja2.ini (#298)
  • Enhancement: Change name of the user folder (#164)
  • Enhancement: Implement automated nightly builds (#442)
  • Enhancement: Add Appveyor CI (#440)
  • Enhancement: Add comments explaining game.json variables (#401)
  • Enhancement: Add new Game Mode: Dead is Dead (#308)
  • Enhancement: Make music modable to increase music variety (#386)
  • Enhancement: Update to SDL2 (#216)
  • Enhancement: Support Tribsoft’s Linux port (#365)
  • Enhancement: Introduce cmake build system (#354)
  • Enhancement: Integrate gui_extras (#339)
  • Enhancement: Implement uninplemented stuff (#264)
  • Enhancement: Add “IMP Quiz Honest Answers” mini mod (#303)
  • Enhancement: Simplify moving to the next sector in tactical view (windowed mode) (#314)
  • Enhancement: Add “Generous Rebels” mini mod (#305)
  • Maintenance: Explicitly initialize MovementMode (#635)
  • Maintenance: Fix “Release mode” linking and deb file permissions (#634)
  • Maintenance: Make CIs automatically build release packages (#632)
  • Maintenance: Refactor build system and update documentation (#629)
  • Maintenance: Misc cleanup (#625)
  • Maintenance: Normalize whitespace (#556)
  • Maintenance: CMake cleanup (minimal version) (#482)
  • Maintenance: Remove #ifdef JA2 code (#471)
  • Maintenance: Remove #ifdef JA2TESTVERSION code (#472)
  • Maintenance: Remove #ifdef JA2BETAVERSION code (#470)
  • Maintenance: Reorganize source tree (#455)
  • Maintenance: Update rapidjson to 1.1.0 and add comments to game.json (#411)
  • Maintenance: Externalize lib boost (#229)
  • Maintenance: Update boost to 1.61 (#326)
  • Maintenance: Rework debug logging (#60)
  • Maintenance: Update smacker.c (#310)
  • Maintenance: Remove WITH_MODS ifdef (#322)
  • Maintenance: Rework logging (#250)