AGS 3.3.5 - Patch 7

Started by Crimson Wizard, Sat 10/09/2016 15:42:07

Previous topic - Next topic

Crimson Wizard

AGS 3.3.5 - Patch 7 released



Released: 10th September 2016

Previous version: AGS 3.3.4 forum thread



Please, read the information under "spoiler" if you are new to 3.3.5 before using it
Spoiler

Since 3.3.5 AGS does not allow to write any files into other path rather than "$SAVEGAMEDIR$"
(personal user saves directory) or "$APPDATADIR$" (all-users game data directory). If you attempt to open
file for writing using relative path without location tag, the filepath will be automatically remapped to
$APPDATADIR$ location.

Because of that, for backwards compatibility reasons, when you try to open file for reading using relative path
without location tag, AGS will first look for that file in $APPDATADIR$, and only if no matching file is
found there, then the game installation directory will be checked.

To force opening file in the game installation directory (for reading) a new location tag was introduced:
"$INSTALLDIR$". When using this tag you will explicitly tell AGS to look in and only in the game's
installation directory. However, if you try opening file for writing at such location, that will result in
failure.

Players are now allowed to set up their own custom path in game setup, where the game
saves & data will be written. This is done in the game setup program.
This works as if $SAVEGAMEDIR$ and $APPDATADIR$ were redirected to custom location.
Redirection is done internally by the engine, you do not need to add anything to your game scripts to make it work.

Conceptually, AGS is gradually leaning towards using only "symbols of file locations" rather than actual,
explicit locations on the filesystem.

Furthermore, game setup will now write config file into game saves location, rather than game's installation directory.
If config file is present in the game installation folder, then it is used as "default" read-only config file.
The config in saves folder overrides default one.
This way it should be totally safe to install AGS games into C:/Program Files, without having administrative rights.
[close]
Also check "Upgrading to AGS 3.3" AND "Upgrading to AGS 3.3.5" topics in the manual that comes with this version. They contain important information on few potential problems you may encounter.


Changes in the Patch 7:

Editor:
- Fixed "Check for updates" feature, which should now be compatible with the new website.

Engine:
- Allow to run game without mouse installed (game won't abort).
- Fixed SetSavegameDirectory() to be compliant with the new script path rules. Now if you pass a save directory without specifying $MYDOCS$ tag, the directory will be created as a subdirectory of default saves path. If the player has configured a custom save path, SetSavegameDirectory() will properly keep subdirectories after remapping paths.
- Fixed missing slash after special directory token in the script file paths could cause a creation of directory outside of permitted location.
- Fixed plugins with dot (".") in their name failed to load (regression).
- Fixed display gamma forcedly reapplied every time save is restored.


Changes in the Patch 6:

Editor:
- Fixed properties buttons dissapearing from the Properties panel if the object was selected while the panel was not visible.

Engine:
- Fixed Display script functions displaying different text if there is any variadic text formatting function called in repeatedly_execute(). (regression)
- Fixed text formatting functions did not parse "%%" format properly. (regression)

Templates updated:
- Sprite 2008 was fixed in "Default Game" template (transparent area was not really transparent).


Changes in the Patch 5 (relevant for Linux users mainly):

Linux port:
- Fixed user's allegro.cfg was ignored.


Changes in the Patch 4:

Compiler:
- Fixed crash occuring when there is an incomplete declaration in the end of script.

Engine:
- Engine will fall back to using default system paths if it failed using player-defined custom save path for any reason.
- Fixed engine displaying same warning twice if the loaded game was compiled for higher version of AGS.

WinSetup:
- Only let player choose actually existing folders for custom save paths.


Changes in the Patch 3:

Engine:
- Fixed "datafile" config option was ignored.
- Fixed "datadir" config option was never used when searching for possible game location
  (this was broken for several years!).
- Fixed Game.FileName property return empty string.
- Fixed built-in console making Direct3D9 graphics driver crash in 16-bit games.

Templates updated:
Reverted Verb Coin template to version 1.7.2, because the newer 2.0.0 version is bugged and it is not known if it can be correctly used at all.


Changes in the Patch 2 (relevant for Linux users mainly):
Engine:
- Fixed program compilation on big-endian systems.
- Fixed program compilation with GCC 6.


Changes in the Patch 1:

Engine:
- Added support for $INSTALLDIR$ location tag in the filepaths used in the script.
- Fixed game could not find files in the current directory when run from the Editor.

WinSetup:
- Fixed error that could occur if choosed custom save path contained "%" symbol.
- Read correct game's resolution from game data instead of config file.
- Do not write all default config contents to user config, save only options that are set by setup program.


What's new in 3.3.5:

Editor Features:
- Path to resource's (sprite, audio) source file is now saved as relative one if the file is
  located inside game project's folder.
- Removed arbitrary limit of the script imports (was 50000).
- Script allows struct member qualifiers to be in any order.
- Better detection of integer constants overflow in script.
- Removed arbitrary limit of integer default value of +/-32000. Integer values are now limited
  by correct 32-bit values (-2147483648 to 2147483647).
- Support for negative constants in enums.
- Better folding markers and indentation guides in script editor.

Editor Bug Fixes:
- Fixed compiler crash if unknown keyword used after "readonly".
- Fixed compiler did not properly report incorrect type of dynamic array in function declaration.
- Fixed compiler did not report proper type name in case of syntax error sometimes.
- Fixed mouse cursor flicker above the script editor.

Engine Features:
- Removed unconfigurable mouse cursor's acceleration (Windows).
- Support for mouse cursor speed control (works in fullscreen mode only by defau;t): may be defined in configuration and changed in script.
- A config option for keeping consistent cursor speed relative to user's desktop resolution.
- Support for locking mouse inside window: automatic lock is enabled in configuration, and user
  may use Ctrl+Alt combination to lock/release mouse at any time.
- Restricted writing game files to special system directories
  (game is forbidden to write files into installation directiory or by absolute path).
  For old games unsafe paths are remapped.
- Support for player defined saves & game file directory.
- -v/--version command line argument makes engine display its version and bail.

Engine Bug Fixes:
- Fixed crash if screenshot is taken while game window was minimized or moving.
- Fixed alpha blend did not work properly for speech portrait if blinking frame did not have alpha channel.
- Fixed Display and Say script commands were displaying text for minimal amount of time under certain conditions.
- Fixed legacy audio functions did not start digital music playback if MIDI driver failed to initialize.
- Fixed game was run in smallest possible window if graphics driver failed to initialize fullscreen mode.
- Fixed "--help" command line argument not working all times depending on its order.
- Fixed engine did not always properly closed application window when running debug build.

Script API:
- Supported late_repeatedly_execute_always() callback in script, called after game has updated, but
  before it is drawn.
- Added Mouse.ControlEnabled (readonly) and Mouse.Speed properties.
- Added System.HasInputFocus property which tells if game currently has focus or runs at background.

Cosmetics & convenience:
- Clarified disabled MIDI option name in WinSetup.
- Extended information displayed if graphics driver failed to initialize.
- Clarified error messages for running unsupported games.


Templates updated:
Empty and Default Game templates were converted to 32-bit ones. You may still downgrade them to 16 and 8-bit after creating the game project of course.
Default Game template has its save system fixed, as explained in this thread.

SMF spam blocked by CleanTalk