AGS 3.3.5 released
Please, read "Upgrading to AGS 3.3" AND "Upgrading to AGS 3.3.5" topic in the manual that comes with this version before upgrading your game project to 3.3.0 - 3.3.5! It contains important information on few potential problems you may encounter.
Released: 26th March 2016
Previous version:
AGS 3.3.4 forum threadPlease, read before usingThis update adds a serious change that may be not noticeable at first (and many players will probably not notice it at most times).
The change was discussed at:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=52897.0Since 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). An attempt to open file for
writing at any other path from script will make engine automatically remap the path to $APPDATADIR$. If your game is built in Debug mode, it will also print a warning into "warnings.log".
At the same time
the players are allowed to set up their own custom path to write game saves & data in. This basically works as remapping $SAVEGAMEDIR$ and $APPDATADIR$ to custom location. Game script will be "unaware" of this, and work as usual.
Conceptually, AGS is gradually leaning towards using only "symbols of file locations" rather than actual, explicit locations.
Furthermore, winsetup 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 any AGS game into C:/Program Files, without having administrative rights, or even have it installed on device with read-only access.
Changes since version 3.3.4: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.