Adventure Game Studio Changelog

What's new in Adventure Game Studio 3.5.0 Alpha 4

Aug 31, 2018
  • Common features:
  • Support for large files: compiled game, sprite files, room files now may exceed 2 GB.
  • Removed font limit.
  • Editor:
  • Editor requires .NET Framework 4.5 to run. Dropped Windows XP support.
  • Editor preferences are now stored using .NET configuration model, instead of the Windows registry.
  • Added support for custom UI color themes.
  • New navigation bar in the room editor, which allows to select any room object or region for editing, show/hide and lock room objects and regions in any combination.
  • These settings are saved in the special roomXXX.crm.user files.
  • Removed Locked property from the Room Object, objects are now locked by the navbar.
  • Improved how Room zoom slider works, now supports downscale.
  • Added "Export mask to file" tool button to the Room Editor.
  • Added "Always"choice to "Popup message on compile" preference. Successful compilation popup will only be displayed if "Always" choice is selected.
  • Added shortcut key combination (Shift + F5) for stopping a game's debug run.
  • Build autocomplete table a little faster.
  • Don't modify filesystem permissions in Compiled directory when compiling the game.
  • Editor no longer requires non-standard "takeown.exe" utility.
  • Corrected .NET version query for the anonymous statistics report.
  • Fixed sprite folders collapsing after assigning sprite to a View frame or an object.
  • Fixed view loops displayed with offset if the view panel area was scrolled horizontally prior to their creation.
  • Fixed TextWindow GUI's elements could be deleted or moved in the editor with key controls.
  • Fixed rooms not being rebuilt when running game just created from a template.
  • Engine:
  • New pathfinder based on the A* jump point search.
  • Implemented new savegame format. Much cleaner than the old one, and easier to extend, it should also reduce the size of the save files.
  • The engine is still capable of loading older saves, temporarily.
  • Prevent game from crashing if there was an attempt to draw text with a non-existing font.
  • SetMouseBounds() no longer crashes the game if it is called with arguments out of range,
  • these parameters are corrected and a warning logged instead.
  • Expanded some of the error messages providing more information to end-user and developers.
  • On Linux improved CPU yield function, this supposedly may reduce CPU usage.
  • Fixed 'warnings.log' could never be created (was broken in earlier versions).
  • Windows:
  • Windows version of AGS is now built with MSVS 2015 and higher.

New in Adventure Game Studio 3.4.1 Patch 3 (Jul 31, 2018)

  • Editor:
  • Added scrollbars and zoom slider to the GUI editor.
  • Added one extra zoom step to the Room editor and fixed mouse wheel scrolling zoom slider by 3 steps at once instead of 1.
  • Fixed Undo history getting lost after saving the script.
  • Fixed crash when importing old game's rooms with interaction variables.
  • Fixed incorrect character names appearing after old game's import.
  • Engine:
  • Reverted conversion of all graphics on load to 32-bit, made the game run in its native color again, but correctly convert to 32-bit display instead. This fixes certain bugs found in 16-bit games since the first 3.4.1 release.
  • Fixed pressing ALT+ combination on Windows sometimes caused another key to "stuck", endlessly triggering key events in game.
  • Fixed service key shortcuts (switching display mode, (un)locking mouse in window) did not work at particular stages of the game, like video playback and dialog options.
  • Fixed unwanted transparency on built-in GUI in 8-bit games.
  • Fixed engine was reporting string format errors as internal ones and not script's.
  • Fixed crash when loading an old game's room with interaction variables.

New in Adventure Game Studio 3.4.2 Alpha 2 (Jun 30, 2018)

  • Editor:
  • Editor requires .NET Framework 4.0 to run.
  • Editor preferences are now stored using .NET configuration model, instead of the Windows registry.
  • Added support for custom UI color themes.
  • New navigation bar in the room editor, which allows to select any room object or region for editing, show/hide and lock room objects and regions in any combination.
  • Added "Export mask to file" tool button to the Room Editor.
  • Added "Always"choice to "Popup message on compile" preference. Successful compilation popup will only be displayed if "Always" choice is selected.
  • Added shortcut key combination (Shift + F5) for stopping a game's debug run.
  • Don't modify filesystem permissions in Compiled directory when compiling the game.
  • Editor no longer requires non-standard "takeown.exe" utility.
  • Corrected .NET version query for the anonymous statistics report.
  • Fixed sprite folders collapsing after assigning sprite to a View frame or an object.
  • Fixed view loops displayed with offset if the view panel area was scrolled horizontally prior to their creation.
  • Fixed TextWindow GUI's elements could be deleted or moved in the editor with key controls.
  • Engine:
  • New pathfinder based on the A* jump point search.
  • Implemented new savegame format. Much cleaner than the old one, and easier to extend, it should also reduce the size of the save files.
  • The engine is still capable of loading older saves, temporarily.
  • Expanded some of the error messages providing more information to end-user and developers.
  • On Linux improved CPU yield function, this supposedly may reduce CPU usage.
  • Windows:
  • Windows version of AGS is now built with MSVS 2015 and higher.

New in Adventure Game Studio 3.4.1 Patch 1 (May 5, 2018)

  • Engine:
  • Removed game error reported when GUI coordinates were off the room limits.
  • Fixed crash in Direct3D renderer when alt+tabbing out of fullscreen mode.
  • Fixed OpenGL fullscreen mode was not minimized when you alt+tab from it.
  • Fixed Direct3D and OpenGL renderers unnecessarily applied anti-aliasing on utility sprites (used for transition effects) when "smooth scaled sprites" option was enabled.

New in Adventure Game Studio 3.4.1 (Dec 29, 2017)

  • Common features:
  • Upgraded Windows version of AGS with Allegro v4.4 library (previously v4.2).
  • Implemented "RenderAtScreenResolution" game setting. When enabled, characters and objects are scaled in screen pixels rather than game pixels. (NOTE: it was always enabled for Direct3D in the past, but now you can set it to your liking)
  • Implemented VerticalOffset and LineSpacing properties for fonts.
  • Removed limit on Dialog Topics (was 500 topics per game).
  • Removed length limit on the names of Inventory, GUI and GUI Controls.
  • Removed length limit on the names of Hotspots and Objects.
  • Removed length limit on event handler names.
  • Editor:
  • Removed legacy game compiler.
  • Raw compiled game data is now saved in "CompiledData" folder, as opposed to just "Compiled".
  • The speech.vox file is now not recompiled if game is quick-run (using F5). Engine is supposed to find newer files in the Speech folder.
  • Editor can now import games older than 2.72, and newer too (3.*) if you have extracted data files from compiled executable.
  • ScriptAPIVersion and ScriptCompatibilityLevel settings now have "Highest" option, which is meant for automatically enabling newest script API when upgrading old project in a newer editor.
  • Added new "Default Setup" pane, which works similarily to "General Settings" and lets you configure default values for game setup.
  • Added "Font Height (pixels)" readonly property to the Font's pane, which works for both WFN and TTF fonts and may be used as a reference.
  • Made Editor correctly detect modern versions of MS Windows for display on About dialog and when sending anonymous statistics.
  • New application icon to comply with 3.4.0 splash screen.
  • Fixed crash when importing old games which have extended editor version string saved in the project files.
  • Fixed unhandled exception occuring when user types "#undef", "#ifdef" or "#ifndef" on the last line of the script.
  • Fixed #ifver and #ifnver not working properly if version number had only one component (major version).
  • Few improvements to the game compilation made in hope to reduce occasional data corruption.
  • Script:
  • Fixed local variables not working in the switch's case expressions.
  • Fixed Strings in switch, making them compare by value again.
  • Fixed compiler mistakes caused by the use of objects of empty type (that is - struct without any variables in it).
  • Fixed few cases of possible compiler crashing when there is an unfinished statement in the end of the script.
  • Script API:
  • A new parameter StopMovementStyle is added to following functions: LockView, LockViewAligned, LockViewFrame, LockViewOffset, UnlockView. This parameter can be eStopMoving (default) or eKeepMoving.
  • DynamicSprite.CreateFromFile and SaveToFile now support path tokens and comply to the new file path rules (no writing files to the game's installation directory).
  • Added missing readonly properties to get Lighting/Tinting parameters for Character and Object: HasExplicitLight, HasExplicitTint, LightLevel, TintBlue, TintGreen, TintRed, TintSaturation, TintLuminance.
  • Added Mouse.SelectPreviousMode() and Mouse.IsModeEnabled(CursorMode) functions.
  • Added readonly properties to get Button's animation state: Button.Animating, Button.Frame, Button.Loop, Button.View.
  • Added GetFontHeight(FontType) and GetFontLineSpacing(FontType) functions.
  • Added setter for System.Windowed property, letting to change it at runtime, switching between windowed and fullscreen modes.
  • Added System.RenderAtScreenResolution property to change sprite rendering mode at runtime.
  • Engine:
  • Added OpenGL renderer to Windows version.
  • Added support for switching between fullscreen and windowed modes at runtime using Alt+Enter key combination.
  • All supported hardware-accelerated graphic drivers (Direct3D and OpenGL) now run every game in 32-bit display mode by default, and convert game's graphics on load if that is required. This fixes loss of green hue precision in 16-bit games and allows to run 8-bit games, although latter is only partially supported: there are color mismatches and dynamic palette cycling is not working.
  • Partial support for plugins drawing on screen for hardware-accelerated renderers (Direct3D, OpenGL).
  • Added support for global configuration file, which works as configuration for all games and overrides default game's config file. Individual game user's config overrides global one in its turn. Global config's location is platform-dependent (this feature is currently disabled on Windows).
  • Implemented separate config option for game's shared data path, to keep it distinct from user-defined saves path.
  • Engine saves last Windowed and RenderAtScreenResolution mode states to the user config file.
  • Engine no longer writes and reads gamma level in saves, meaning that gamma keeps its current value when restoring a saved game.
  • Removed arbitrary limit on number of sprites rendered at the same time for hardware-accelerated renderers (Direct3D and OpenGL) (was 75), and another limit imposed on drawing entries for all drivers (was 200).
  • Engine now tries to get voice files from the Speech folder first, if one exists, and speech.vox later when quick-run from the Editor.
  • Fixed speech portrait was displayed below GUI, contrary to speech text.
  • Fixed ShakeScreen command was causing graphic artifacts when game is run with software renderer.
  • Fixed calling Character.ChangeView during idle animation results in new view being animated.
  • Fixed Speech.SkipStyle getter return value for eSkipTime case.
  • Fixed Speech.VoiceMode not returning correct values when speech.vox is not enabled/present.
  • Fixed AdjustVolumeWithScaling character's property not working with the new audio system.
  • Fixed volume drop was not applied to audio clips which begin playing during speech voice-over.
  • Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.
  • Fixed Game.TranslationFilename returning "default" instead of empty string if no translation is set.
  • Fixed engine was trying to locate "My Documents" folder on Windows Vista and higher even though it did not need it, and reporting internal error if such folder was not found, even though "Saved Games" folder is used instead.
  • Properly toggle console upon play.debug_mode variable change in script.
  • Added missing stubs for agsjoy plugin.
  • WinSetup:
  • Fixed display mode selection was missing certain items.

New in Adventure Game Studio 3.4.1 RC 2 (Nov 14, 2017)

  • Editor:
  • Fixed unhandled exception occuring when user types "#undef", "#ifdef" or "#ifndef" on the last line of the script.
  • Fixed "Script compatibility level" option was incorrectly set to "v3.2.1" every time a project is loaded. (Bug introduced in RC1)

New in Adventure Game Studio 3.4.1 RC 1 (Nov 8, 2017)

  • Editor:
  • Removed "this is beta!" warning.
  • Added missing OpenGL driver selection to Default Setup.
  • Fixed crash when importing old games which have extended editor version string saved in the project files.
  • Engine:
  • Implemented vertical sync for OpenGL renderer.
  • Actually fixed audio volume drop when new music starts playing during voice-over.
  • Fixed speech portrait was displayed below GUI, contrary to speech text (thanks to eri0o for the tip).
  • Properly toggle console upon play.debug_mode variable change in script.
  • Fixed Speech.SkipStyle getter did not return correct value if it is set to eSkipTime.
  • Disabled the use of the global AGS games config on Windows, by request.
  • Fixed ShakeScreen command was causing graphic artifacts when game is run with software renderer.

New in Adventure Game Studio 3.4.1 Beta 7 (Aug 22, 2017)

  • Engine:
  • Fixed volume drop was not applied to audio clips which begin playing during speech voice-over (a very old bug).
  • Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.
  • Fixed engine was trying to locate "My Documents" folder on Windows Vista and higher even though it did not need it, and reporting internal error if such folder was not found, even though "Saved Games" folder is used instead.
  • Added missing stubs for agsjoy plugin

New in Adventure Game Studio 3.4.1 Beta 6 (Jul 4, 2017)

  • Editor:
  • The speech.vox file is now not recompiled if game is quick-run (using F5). Engine is supposed to find newer files in the Speech folder.
  • Script:
  • Fixed few cases of possible compiler crashing when there is an unfinished statement in the end of the script (by Gurok).
  • Script API:
  • Added setter for System.Windowed property, letting to change it at runtime, switching between windowed and fullscreen modes.
  • Added System.RenderAtScreenResolution property to change sprite rendering mode at runtime.
  • Engine:
  • Made Tint and LightLevel work with OpenGL. NOTE: you need OpenGL 3.0 or higher support for these to work (you probably have it if your system's last update is not older than year 2008).
  • Fixed OpenGL had one extra row and column of black pixels displayed if "RenderAtScreenResolution" is disabled. (this was a recurring problem, that hopefully fixed for good)
  • Engine now tries to get voice files from the Speech folder first, and speech.vox later, when quick-run from the Editor.
  • Engine saves last Windowed and RenderAtScreenResolution mode states to user config file.
  • Fixed voice-over cannot be found if it is MP3 or OGG type.
  • Fixed audio clip could not be found in some cases if its bundled in audio.vox and game is quick-run from the Editor.
  • Fixed Theora OGV videos not playing if compiled into game EXE.
  • Fixed plugin API's function BlitSpriteTranslucent for software driver (by Scorpiorus).
  • Fixed in-game mouse cursor was restricted to the left-top corner of the screen during execution of game_start() script function.
  • Known issues still:
  • In Direct3D mode, if RenderAtScreenResolution is OFF, the game misses one rightmost column and bottom row of pixels (since it is still stretched to proper rectangle, this might also cause minor image distortion). I know approximately where this bug is coming from, but could not yet find a correct way to fix it.

New in Adventure Game Studio 3.4.1 Beta 3 (Apr 10, 2017)

  • Common features:
  • Upgraded Windows version of AGS with Allegro v4.4 library (previously v4.2).
  • Implemented "RenderAtScreenResolution" game setting. When enabled, characters and objects are scaled in screen pixels rather than game pixels. (NOTE: it was always enabled for Direct3D in the past, but now you can set it to your liking)
  • Implemented VerticalOffset and LineSpacing properties for fonts.
  • Removed limit on Dialog Topics (was 500 topics per game).
  • Editor:
  • Removed legacy game compiler.
  • Raw compiled game data is now saved in "CompiledData" folder, as opposed to just "Compiled".
  • Editor can now import games older than 2.72, and newer too (3.*) if you have extracted data files from compiled executable.
  • ScriptAPIVersion and ScriptCompatibilityLevel settings now have "Highest" option, which is meant for automatically enabling newest script API when upgrading old project in a newer editor.
  • Added new "Default Setup" pane, which works similarily to "General Settings" and lets you configure default values for game setup.
  • Added "Font Height (pixels)" readonly property to the Font's pane, which works for both WFN and TTF fonts and may be used as a reference.
  • Script:
  • Fixed local variables not working in the switch's case expressions.
  • Fixed Strings in switch, making them compare by value again.
  • Fixed compiler mistakes caused by the use of objects of empty type (that is - struct without any variables in it).
  • Script API:
  • A new parameter StopMovementStyle is added to following functions: LockView, LockViewAligned, LockViewFrame, LockViewOffset, UnlockView. This parameter can be eStopMoving (default) or eKeepMoving.
  • Added missing readonly properties to get Lighting/Tinting parameters for Character and Object: HasExplicitLight, HasExplicitTint, LightLevel, TintBlue, TintGreen, TintRed, TintSaturation, TintLuminance.
  • Added Mouse.SelectPreviousMode() and Mouse.IsModeEnabled(CursorMode) functions.
  • Added readonly properties to get Button's animation state: Button.Animating, Button.Frame, Button.Loop, Button.View.
  • Added GetFontHeight(FontType) and GetFontLineSpacing(FontType) functions.
  • Engine:
  • Added support for switching between fullscreen and windowed modes at runtime using Alt+Enter key combination.
  • Added support for global configuration file, which works as configuration for all games and overrides default game's config file. Individual game user's config overrides global one in its turn. Global config's location is platform-dependent.
  • Engine no longer writes and reads gamma level in saves, meaning that gamma keeps its current value when restoring a saved game.
  • Removed arbitrary limit on number of sprites rendered at the same time for hardware-accelerated renderers (Direct3D and OpenGL) (was 75), and another limit imposed on drawing entries for all drivers (was 200).
  • All supported hardware-accelerated graphic drivers (Direct3D and OpenGL) now run every game in 32-bit display mode by default, and convert game's graphics on load if that is required. This allows to run 8-bit games and fixes loss of green hue precision in 16-bit games.
  • NOTE: 8-bit dynamic palette cycling is still not supported for hardware- accelerated drivers.
  • Fixed Speech.VoiceMode not returning correct values when speech.vox is not enabled/present.
  • Fixed AdjustVolumeWithScaling character's property not working with the new audio system.

New in Adventure Game Studio 3.4.0 Patch 4 (Mar 28, 2017)

  • Editor:
  • Improved Font preview, now it displays all 256 supported characters and resizes itself to accomodate these on the grid properly.
  • Fixed game compilation on systems which have Japanese ANSI or similar locale as default locale for non-Unicode applications.
  • Fixed Linux binaries were not copied to the Compiled folder if AGS Editor is installed to "C:/Program Files" and run in a non-administrator mode.
  • Engine:
  • Fixed toggling mouse lock in window with Ctrl+Alt did not work all the time.

New in Adventure Game Studio 3.4.0 Patch 3 (Mar 6, 2017)

  • Common bug fixes:
  • Fixed program crash in Engine and Editor when loading/importing a game that contains file with name longer than 50 characters.
  • Editor bug fixes:
  • Do not copy hidden and system files into final directories when building the game.

New in Adventure Game Studio 3.4.0 Patch 2 (Feb 6, 2017)

  • Script API:
  • Extended the list of System.OperatingSystem possible return values; now supports eOSAndroid, eOSiOS, eOSPSP
  • Editor bug fixes:
  • Fixed incorrect Unicode-to-ANSI string conversion during game compilation which caused text containing non-latin characters become random mess in game, even if game fonts complied to the proper ANSI codepage.
  • Engine bug fixes:
  • Fixed mouse cursor stuck at the left border of the screen when using OpenGL renderer (Android & iOS ports).
  • Fixed InventoryScreen() script function caused game to crash if particular resources are not available.
  • Fixed built-in inventory screen not working with Direct3D and OpenGL renderers.
  • Fixed obsolete gfxfilter names are printed when using --help argument.
  • Cosmetics & convenience:
  • Corrected error message displayed when engine cannot get write access to the disk (e.g. no more telling to not run from CD on Android).
  • Manual:
  • Added information on static extenders.

New in Adventure Game Studio 3.4.0 Patch 1 (Nov 14, 2016)

  • Editor:
  • Fixed #if(n)ver preprocessor directive failed to properly compare versions if the current and required versions have different number of digits.
  • Engine:
  • Returned support for some older config options related to graphics mode, so that the engine would be able to use old config files.
  • Fixed graphics mode initialization failure in certain less common setup cases, such as when requested window size was larger than current desktop resolution, or when the final mode appeared smaller than the precalculated one.
  • Fixed couple of memory leaks occuring when saved game is restored.
  • Fixed rare crash when restoring a game while having unreleased DrawingSurface pointers.
  • Fixed compilation in C++11 mode.
  • WinSetup:
  • Fixed "native game resolution" mode choice was not properly restored when loading config file.

New in Adventure Game Studio 3.4.1 Draconian (Nov 1, 2016)

  • Improvements to the Editor:
  • Dark text-editor theme, to preserve your sight
  • Checker pattern on the sprite import window background
  • Multi-sprite replace (select multiple sprites and start a tiled import with "replace selected sprites from file")
  • Improvements to the Engine:
  • Sounds generated by Character views are now automatically panned relatively to their position on the screen
  • Fixed Scaling on D3D for pixel correctness, can be toggle with the "scale native resolution" option
  • 3 new DirectDraw filters: Scanlines 2x, TV CRT 4x and PC CRT 4x
  • Gamma for windowed mode (Only for brightening up, though)
  • Directional sounds are now panned as well
  • Experimental features:
  • bool Room.Exists(int room): returns true if "room" exists
  • void Game.SetDirectionRatio(float ratio): change how AGS should decide which direction to face (1.0 default, 1.3 is good for perspective)
  • Character/Object/Overlay/GUI.BlendMode(enum BlendMode): change the blend mode (only supports 32bit sprites)

New in Adventure Game Studio 3.4.0 (Sep 16, 2016)

  • Common features:
  • Added support for building game for multiple platforms (Windows and Linux options are maintained now).
  • Added custom game resolutions.
  • Added extended WFN font support (up to 256 characters).
  • Made custom property values modifiable at runtime.
  • Removed limit on custom properties number (was 30 properties per project), increased maximal property name and value length.
  • Removed limit on GUI Control number (was 30 per GUI), increased maximal control name length.
  • Removed limit on script modules number (was 50).
  • Added Locked property to room Objects.
  • Added Padding property for TextWindow GUI.
  • Editor features:
  • New splash screen.
  • Exposed Clickable property for room Objects in the Editor.
  • Exposed TintLuminance property for room Regions in the Editor.
  • Added "Close all tabs" command for the pane's context menu.
  • Added Preferences option "Prompt dialog on closing multiple tabs".
  • The sprite editor now highlights drop targets when you drag sprites around.
  • Editor Plugin API:
  • Exposed GUI Panes to plugin API.
  • Engine features:
  • Added support for any runtime display resolution (now restricted only by your system specifics).
  • Added support for vertical sync in Direct3D rendering mode.
  • Made engine try to use all implemented graphic renderers in the order of priority, if user selection failed to initialize.
  • Rised default sprite cache limit for desktop platforms to 100 MB (was 20).
  • Game writes latest translation and mouse speed setting to config file on exit.
  • Scripting features:
  • Added managed user structs; although currently limited to containing only non-pointer variables in them.
  • Added support for dynamic arrays in non-managed structs.
  • Added support for dynamic array as return value of the struct's member function.
  • Added support for static extender functions.
  • Added "do..while" kind of loop, in addition to previously existing "while".
  • Added "for" operator and related loop construct.
  • Added "switch" and "case" operators and related branching construct.
  • Added "break" and "continue" operators working in any loop or switch.
  • Added missing compound assignment operators (*=, /=, and so on).
  • Made preprocessor macros usable in definition of another macro.
  • Added "#region" and "#endregion" preprocessor commands.
  • Script API:
  • Added Script API version switch to the project's General Settings. For every supported API version a "SCRIPT_API_vXXX" macro is introduced, where XXX are version numbers.
  • Added Script Compatibility Level switch to General Settings. For every compatible version a "SCRIPT_COMPAT_vXXX" macro is introduced.
  • Added AudioChannel.Speed property.
  • Added CharacterDirection enum and optional "direction" parameter for Character.ChangeRoom().
  • Added Character.FaceDirection().
  • Added Character.DestinationX and Character.DestinationY properties.
  • Added RunActiveOption() and Update() member functions to the DialogOptionsRenderingInfo type.
  • Extended Dialog Options API: added support for dialog_options_repexec() and dialog_options_key_press() functions to improve handling of the custom dialog options; added related compatibility project option and support for "NEW_DIALOGOPTS_API" macro in scripts.
  • Added game.dialog_options_highlight_color variable.
  • Added File.Seek() function and File.Position property.
  • Added IsInteractionAvailable() method to Hotspot, Object and Character types.
  • Added Game.AudioClipCount property and Game.AudioClips[n] array.
  • Added Game.IsPluginLoaded().
  • Added GUIControl.ZOrder property.
  • Added GUI.Click() and Button.Click() functions which call OnClick event handler of corresponding GUI or button.
  • Added GUI.ProcessClick() function that processes click on GUI only, similarily to how old ProcessClick processed click on room objects only.
  • Added Mouse.Click() function to simulate mouse click on screen.
  • Added Room.GetProperty() to substitute global GetRoomProperty().
  • Added Room.ProcessClick() to substitute global ProcessClick().
  • Added SetProperty() and SetTextProperty() functions to Room, InventoryItem, Hotspot, Object and Character types.
  • Added optional "luminance" parameter to Region.Tint() and Region.TintLuminance readonly property.
  • Added SetAmbientLightLevel() to set global light level for anything in the room.
  • Added Character.SetLightLevel() and Object.SetLightLevel() functions to set individual light levels. Negative light levels can be used in 8-bit games to produce darkening effect.
  • Added System.RuntimeInfo property which returns a short description of current graphics mode, scaling filter and enabled game resources.
  • Editor bug fixes:
  • Fixed Undo history was deleted when an Editor panel changes its docked state.
  • Fixed crashes under certain circumstances when a script editor is closed.
  • Fixed crash if selecting a character without a normal view in the room editor.
  • Fixed Ctrl+Tab did not work for the first time when cycling through opened editor tabs.
  • Fixed "Go to Line..." command did not always move cursor to correct line. Also, do not select that line.
  • Made the project completely rebuild itself whenever "Enable Debug Mode" value in the General Settings differs from the setting used for the last build, to prevent inconsistency in compiled scripts.
  • Fixed a crash when trying to run game setup from the Editor while "Compiled" folder does not exist.
  • Fixed project items could sometimes get incorrectly arranged inside the folder.
  • Fixed writing faulty timestamps in project file on some occasions that could spoil usage of file versioning control.
  • Fixed Help window positioning on multi-monitor desktop.
  • Fixed error in autocomplete occuring when there is a single-line comment in the end of the script.
  • Fixed incorrect compiler parsing of a static function call inside array index brackets.
  • Fixed compilation of struct member functions having name identical to existing global function.
  • Fixed compilation of structs having members with names identical to non-basic types, global variables and game entities (such as characters, GUI, etc).
  • Corrected few error messages related to struct's function declaration.
  • Fixed compiler reporting errors as "runtime errors" under certain circumstances.
  • Engine bug fixes:
  • Fixed result of using transparency parameter of the DrawingSurface.DrawImage() in 32-bit games when drawing opaque sprites over surfaces with alpha channel.
  • Fixed DynamicSprite.CopyTransparencyMask() was overwriting magic transparent pixels on destination with alpha values from mask.
  • Fixed the speech portrait position was not adjusted for character walking between its lines, when BasedOnCharacterPosition portrait placement is used.
  • Fixed occasional pathfinding failure on straight lines with complex walkable areas.
  • Fixed using '[' special character in Display-like commands discarded all of the backslashes before it (e.g. "\[" should now print [ as expected).
  • Fixed WAVE audio not looping after restoring a game
  • Fixed a bug that caused MP3 clip continuously increase its base volume if the directional volume modifier was applied.
  • Fixed queued audio clips did not update their volume when default audio type volume changes.
  • WinSetup:
  • Added support for "default_translation_name" option in the "[language]" section of the config file.

New in Adventure Game Studio 3.3.5 Patch 7 (Sep 12, 2016)

  • 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.

New in Adventure Game Studio 3.3.5 Patch 6 (Aug 22, 2016)

  • 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)
  • Templates updated:
  • Sprite 2008 was fixed in "Default Game" template (transparent area was not really transparent).

New in Adventure Game Studio 3.3.5 Patch 4 (Aug 11, 2016)

  • 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.

New in Adventure Game Studio 3.4.0 RC1 (Aug 2, 2016)

  • Common features:
  • Added support for building game for multiple platforms (Windows and Linux options are maintained now).
  • Added custom game resolutions.
  • Added extended WFN font support (up to 256 characters).
  • Made custom property values modifiable at runtime.
  • Removed limit on custom properties number (was 30 properties per project), increased maximal property name and value length.
  • Removed limit on GUI Control number (was 30 per GUI), increased maximal control name length.
  • Removed limit on script modules number (was 50).
  • Added Locked property to room Objects.
  • Added Padding property for TextWindow GUI.
  • Editor features:
  • New splash screen.
  • Exposed Clickable property for room Objects in the Editor.
  • Exposed TintLuminance property for room Regions in the Editor.
  • Added "Close all tabs" command for the pane's context menu.
  • Added Preferences option "Prompt dialog on closing multiple tabs".
  • The sprite editor now highlights drop targets when you drag sprites around.
  • Editor Plugin API:
  • Exposed GUI Panes to plugin API.
  • Engine features:
  • Added support for any runtime display resolution (now restricted only by your system specifics).
  • Added support for vertical sync in Direct3D rendering mode.
  • Made engine try to use all implemented graphic renderers in the order of priority, if user selection failed to initialize.
  • Rised default sprite cache limit for desktop platforms to 100 MB (was 20).
  • Game writes latest translation and mouse speed setting to config file on exit.
  • Scripting features:
  • Added managed user structs; although currently limited to containing only non-pointer variables in them.
  • Added support for dynamic arrays in non-managed structs.
  • THERE ARE KNOWN ISSUES:
  • Added support for dynamic array as return value of the struct's member function.
  • Added support for static extender functions.
  • Added "do..while" kind of loop, in addition to previously existing "while".
  • Added "for" operator and related loop construct.
  • Added "switch" and "case" operators and related branching construct.
  • Added "break" and "continue" operators working in any loop or switch.
  • Added missing compound assignment operators (*=, /=, and so on).
  • Made preprocessor macros usable in definition of another macro.
  • Added "#region" and "#endregion" preprocessor commands.
  • Script API:
  • Added Script API version switch to the project's General Settings. For every supported API version a "SCRIPT_API_vXXX" macro is introduced, where XXX are version numbers.
  • Added Script Compatibility Level switch to General Settings. For every compatible version a "SCRIPT_COMPAT_vXXX" macro is introduced.
  • Added AudioChannel.Speed property.
  • Added CharacterDirection enum and optional "direction" parameter for Character.ChangeRoom().
  • Added Character.FaceDirection().
  • Added Character.DestinationX and Character.DestinationY properties.
  • Added RunActiveOption() and Update() member functions to the DialogOptionsRenderingInfo type.
  • Extended Dialog Options API: added support for dialog_options_repexec() and dialog_options_key_press() functions to improve handling of the custom dialog options; added related compatibility project option and support for "NEW_DIALOGOPTS_API" macro in scripts.
  • Added game.dialog_options_highlight_color variable.
  • Added File.Seek() function and File.Position property.
  • Added IsInteractionAvailable() method to Hotspot, Object and Character types.
  • Added Game.AudioClipCount property and Game.AudioClips[n] array.
  • Added Game.IsPluginLoaded().
  • Added GUIControl.ZOrder property.
  • Added GUI.Click() and Button.Click() functions which call OnClick event handler of corresponding GUI or button.
  • Added GUI.ProcessClick() function that processes click on GUI only, similarily to how old ProcessClick processed click on room objects only.
  • Added Mouse.Click() function to simulate mouse click on screen.
  • Added Room.GetProperty() to substitute global GetRoomProperty().
  • Added Room.ProcessClick() to substitute global ProcessClick().
  • Added SetProperty() and SetTextProperty() functions to Room, InventoryItem, Hotspot, Object and Character types.
  • Added optional "luminance" parameter to Region.Tint().
  • Added SetAmbientLightLevel() to set global light level for anything in the room.
  • Added Character.SetLightLevel() and Object.SetLightLevel() functions to set individual light levels. Negative light levels can be used in 8-bit games to produce darkening effect.
  • Added System.RuntimeInfo property which returns a short description of current graphics mode, scaling filter and enabled game resources.
  • Editor bug fixes:
  • Fixed Undo history was deleted when an Editor panel changes its docked state.
  • Fixed crashes under certain circumstances when a script editor is closed.
  • Fixed crash if selecting a character without a normal view in the room editor.
  • Fixed Ctrl+Tab did not work for the first time when cycling through opened editor tabs.
  • Fixed "Go to Line..." command did not always move cursor to correct line. Also, do not select that line.
  • Made the project completely rebuild itself whenever "Enable Debug Mode" value in the General Settings differs from the setting used for the last build, to prevent inconsistency in compiled scripts.
  • Fixed a crash when trying to run game setup from the Editor while "Compiled" folder does not exist.
  • Fixed project items could sometimes get incorrectly arranged inside the folder.
  • Fixed writing faulty timestamps in project file on some occasions that could spoil usage of file versioning control.
  • Fixed Help window positioning on multi-monitor desktop.
  • Fixed error in autocomplete occuring when there is a single-line comment in the end of the script.
  • Fixed incorrect compiler parsing of a static function call inside array index brackets.
  • Fixed compilation of struct member functions having name identical to existing global function.
  • Fixed compilation of structs having members with names identical to non-basic types, global variables and game entities (such as characters, GUI, etc).
  • Corrected few error messages related to struct's function declaration.
  • Fixed compiler reporting errors as "runtime errors" under certain circumstances.
  • Engine bug fixes:
  • Fixed result of using transparency parameter of the DrawingSurface.DrawImage() in 32-bit games when drawing opaque sprites over surfaces with alpha channel.
  • Fixed DynamicSprite.CopyTransparencyMask() was overwriting magic transparent pixels on destination with alpha values from mask.
  • Fixed the speech portrait position was not adjusted for character walking between its lines, when BasedOnCharacterPosition portrait placement is used.
  • Fixed occasional pathfinding failure on straight lines with complex walkable areas.
  • Fixed using '[' special character in Display-like commands discarded all of the backslashes before it (e.g. "\[" should now print [ as expected).
  • Fixed WAVE audio not looping after restoring a game
  • Fixed a bug that caused MP3 clip continuously increase its base volume if the directional volume modifier was applied.
  • Fixed queued audio clips did not update their volume when default audio type volume changes.
  • WinSetup:
  • Added support for "default_translation_name" option in the "[language]" section of the config file.

New in Adventure Game Studio 3.3.5 Patch 3 (Jun 17, 2016)

  • 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.

New in Adventure Game Studio 3.4.0.7 Beta (May 6, 2016)

  • Common features:
  • Custom game resolutions:
  • Make your game in any sensible or non-sensible resolutions, such as 1280x720, 1920x1080 or, heck, 233x856.
  • Extended WFN Font Support:
  • Support was added for extended characters in WFN fonts (those with codes 128 - 255).
  • Papagayo lip sync:
  • Support was added for Papagayo lip-sync format. The use is similar to Pamela lip-syncing (see "Lip sync" topic in the manual for more information).
  • Engine:
  • Free display resolutions:
  • Run AGS games in literally any resolution your computer supports, with or without black borders. (Nearly) unlimited scaling up and down is supported. Run those old 320x200 games in 1920x1080 HD.
  • New Winsetup will help you to set things up.
  • Known issues so far:
  • Do not expect magic from downscaling. When you shrink hi-res game more than 1.5-2 times down it becomes barely recognizeable (and font unreadable).
  • There's a weird issue with mouse movement when you run a low-res game unscaled in a large fullscreen window. I am still looking into fixing this.
  • Full Screen VSync for Direct3D:
  • This feature was previously available (but always on) in Draconian editions of AGS. With AGS 3.3.1, it has been integrated into the mainline builds. It's now possible to toggle VSync using the "Vertical sync" checkbox in Winsetup.exe. If it's checked, the game starts with vertical sync turned ON. In DirectX 5 mode, you can still toggle this by setting System.VSync to true/false. In DirectX 9 mode, the System.VSync property is now read-only (as opposed to being useless previously).
  • Improvements:
  • In 32-bit games DrawingSurface.DrawImage() now properly applies overall transparency when drawing opaque sprites over surfaces with alpha channel.
  • DynamicSprite.CopyTransparencyMask() now does not overwrite transparency on destination with opaqueness from mask.
  • Engine will now try to use all available graphic renderers in an order of priority, if the previous ones fail.
  • (Now Direct3D will be tried if Software renderer was requested by user but failed.)
  • Bug Fixes:
  • The engine now moves the portrait with the speaking character when using BasedOnCharacterPosition if the speaking character moves between calls to Say
  • Fixed occasional pathfinding failure on straight lines with complex walkable areas (reported here)
  • Printing [ no longer consumes all of the backslashes before it (e.g. "\\[" should now print \[ as expected)
  • Fixed crash that could occur when the screenshot is taken while game window is moved, minimized or restored
  • Fixed WAVE audio not looping after restoring a game
  • Fixed a bug that caused MP3 clip continuously increase its base volume if the directional volume modifier was applied.
  • The full changelog can be found here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=53510.0

New in Adventure Game Studio 3.3.5 Patch 1 (Apr 27, 2016)

  • 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.

New in Adventure Game Studio 3.3.5 (Mar 28, 2016)

  • 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: 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.

New in Adventure Game Studio 3.3.5 Beta (Dec 1, 2015)

  • 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.
  • Engine Features:
  • Removed unconfigurable mouse cursor's acceleration.
  • Support for mouse cursor speed control: may be defined in configuration and changed in script).
  • 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.
  • 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 legacy audio functions did not start digital music playback if MIDI driver failed to initialize.
  • Fixed "--help" command line argument not working all times depending on its order.
  • Script API:
  • 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.

New in Adventure Game Studio 3.3.3 (Jan 23, 2015)

  • Features:
  • "Number dialog options" game setting now let you choose between "Disable", "Keyboard shortcuts only" and "Draw numbers and use keyboard shortcuts" instead of being just "on"/"off". Default for new projects is "Disable", but when importing old projects "off" value is interpreted as "Keyboard shortcuts only", because that is how it worked in previous versions of AGS.
  • * The built-in shortcut for showing runtime information has been changed from "Ctrl + V" to "Ctrl + Alt + V".
  • Bug Fixes:
  • Fixed division by zero and color value overflow cases in alpha blender.
  • Fixed voice audio breaking playing on very rare occasions when clip format is OGG or MP3. The fix is imperfect, and there's very short pause occuring at same point of playback. The voice will continue playing though.
  • Fixed character walking in hi-res games when the destination has negative Y coordinate.
  • Fixed black borders not drawn in screen corners by Direct3D renderer.
  • Compatibility:
  • Corrected interpretation for games made with AGS 3.0 - 3.2 to let them assign empty loop in SetObjectFrame().
  • Engine log:
  • Do not log out supported gfx modes twice if the secondary color depth is equal to primary one (e.g. for 8-bit games).

New in Adventure Game Studio 3.3.2 (Oct 8, 2014)

  • Features:
  • Reimplemented alternate display modes, now side-borders and top/bottom borders should work properly for all game and screen resolutions. There are still certain limitations to which resolutions AGS can use; these will be removed in following releases (see AGS 3.4.0 alpha).
  • Added config option to run pre-3.1.0 lo-res games in hi-res mode.
  • Some of the older games could be run in distinct lo-res (320x200/240) and hi-res (640x400/480) modes. They could use different graphics (e.g. fonts) depending on this mode. (Noteable example are first parts of Blackwell series) This was useful back then because old AGS did not have any scaling filters.
  • Newer engines do not have (and do not need) this capability, but with this option you may force 3.3.2 engine to run lo-res game in hi-res.
  • NOTE: this is only important if you run old games with new interpreter (on Windows or other platforms). You do not need this to develop your own games.
  • To enable this option, manually put these lines in the acsetup.cfg
  • Bug Fixes:
  • Fixed Editor crashing when user types "#define" in script.
  • Fixed error in game compilation after user moves item folders up or down in the project tree.
  • Fixed bug which could make Character.Transparency and Object.Transparency properties return slightly incorrect values.
  • Fixed bug that could let user to load corrupted savedgame, which in turn could cause more trouble.
  • Provided error handling for several exceptional cases on graphics mode initialization (program should at least close normally, showing comprehensible error message).
  • Fixed crash in legacy built-in inventory screen (called with InventoryScreen script function).
  • Fixed a rare bug in script interpreter that could cause misinterpretation of value provided by plugin.
  • Fixed "--setup" command line argument not working if it is not the first argument.
  • Fixed WinSetup dialog not sized properly when larger fonts (DPI) option is used in Windows display settings.
  • Engine log:
  • Write the game data version and the list of supported graphic modes to the log.
  • Manual:
  • Fixed Speech.VoiceMode example.

New in Adventure Game Studio 3.3.0 (Feb 27, 2014)

  • Editor UI now features docking panels.
  • Project tree now features folders for characters, dialogs, inventory items, guis, rooms, scripts and views. The "Sort room by number" menu command now sorts rooms within folders.
  • In project tree respective script body and header files are now grouped under one item.
  • Project tree now supports drag & drop operations to move items. "Move up/down" commands are removed from context menu.
  • Added a "Find all usages" context menu item to find all usages for characters, dialogs, views, inventory items and global variables in script. NOTE: this only searches for script name, not numeric ID.
  • Added a "Navigate (in tree)" context menu item for almost all document tabs, which navigates to their node on the project tree.
  • In script editor, pressing Ctrl+G will now open the "Goto line" dialog. The shortcut to open global script has changed to Ctrl+Shift+G (and shortcut to open the global header - to Ctrl+Shift+H for consistency).
  • Added a "Replace sprite(s) from source" context menu command in Sprite Manager.
  • Added a "Browse" button to the "Create in folder" field in the Start New Game wizard.
  • Sprite Import window is now resizable.
  • Improved how autocomplete list in script refreshes its contents.
  • Editor no longer allows to create more game items than engine supports (fonts, cursors, dialogs and inventory items), which could result in crashes in Editor or running game.
  • Fixed incorrect selection of a new sprite, imported while the "Select sprite" dialog is open.
  • Fixed sprite lookup in folders, differing only by name case.
  • Fixed the script editor sometimes mistakenly notified that script was changed externally after it was saved in the editor.
  • Fixed overlapping labels in the Editor Preferences dialog.
  • Increased maximal Font number from 15 to 30.
  • Implemented proper alpha blender for blending two 32-bit sprites with alpha channels. Added new option for gui alpha blending which turns the proper blender on. For the general cases (such as DrawingSurface.DrawImage function) a new setting is added in "Visual" group, named "Sprite alpha rendering style".
  • Added "DialogOptionsRenderingInfo.HasAlphaChan nel" property that lets you enable alpha channel for custom dialog option surface.
  • The "Old-style game-wide speech animation speed" game setting in "Backwards compatibility" group is replaced with two settings in "Dialog" group: "Use game-wide speech animation delay" (switch) and "Game-wide speech animation delay" (value).
  • Added "Translated" property to ListBox gui control, which forces engine to translate ListBox items.
  • Added "Dialog.SetHasOptionBeenChosen" function which lets you to set or reset "option been chosen" flag.
  • Added eKeyNone constant which lets you to set "no/undefined key" (whenever eKeyCode type is required).
  • Added SkipSpeechStyle enum to define speech skipping mode instead of using bare numbers.
  • Added two more options for the speech skip style: "skip by key only" and "skip by mouse only" (no timer).
  • Added new Speech class which groups several speech-related properties.
  • This renders some of the previously existing variables and functions obsolete:
  • Added Speech.CustomPortraitPlacement, Speech.PortraitXOffset and Speech.PortraitY properties which let you to customize the position of speech portraits on screen.
  • Added Speech.DisplayPostTimeMs property that makes speech portraits and/or text stay on screen some more time after speech was finished playing.
  • Added Speech.UseGlobalSpeechAnimationDelay and Speech.GlobalSpeechAnimationDelay properties that let you to dynamically enforce and alter game-wide speech animation speed.
  • SetMusicMasterVolume legacy script function now accepts volume values between -210 and 100 (was between 0 and 100). This may be used as a workaround for guaranteed music mute if using old audio system.
  • Fixed "savegameindex[]" array was declared with incorrect size in script (20, while it must be 50).
  • Engine can now load and run old games made with AGS 2.5 and higher (the level of compatibility may vary).
  • Enhanced winsetup by moving many options under "Advanced" section and removing "Replay" option which was not usable for years.
  • Added x5, x6, x7 and x8 scaling filters, as well as "Max nearest-neighbour filter" option in setup which automatically finds maximal supported scaling filter for your screen.
  • The game automatically fallbacks to Software graphics driver if the Hardware one could not run or initialize gfx mode for any reason.
  • Windows version of the engine will now write crash dump on "out of memory error" to help diagnose the situation if this occured due bug in the engine.
  • Improved character walking animation at 60%-80% scaling.
  • Game.ChangeTranslation() script function no longer causes game to quit if the translation file belongs to different game or has unknown format.
  • Fixed inventory items and cursor crosshair with alpha channel not being drawn properly.
  • Fixed side-borders that were not applied properly at newer (larger) widescreen resolutions.
  • Fixed crash that occured when ListBox.GetItemAtLocation() is called from repeatedly_execute_always() just before the list box is about to be drawn on screen for the first time.
  • Fixed custom dialog options clickable area by correcting its horizontal coordinate range.
  • Fixed error which took place when user restored a game saved with background music playing, in case the music is not found in resources anymore.
  • Fixed audio behavior during cutscenes (error caused audio volume to reset to default). Also AudioChannel.Volume will now return correct value when called from skipped cutscene.
  • Stopped play.close_mouth_end_speech_time variable from making effect in voice mode and Sierra-style speech (which it wasn't supposed to do).
  • Fixed return value of the AudioChannel.PositionMs for MOD/XM clips;
  • Fixed division by zero which occured if there was a 1px tall walkable area (a precisely straight horizontal line) with vector scaling applied.
  • Fixed OGG speech ending prematurely if the audio file size is a multiple of 32 KB.
  • Some optional engine features:
  • Log output. Enabled either in setup file, by putting "log=1" line under "[misc]" category, or "--log" parameter if running from command line; also "--no-log" command line parameter overrides setup file and disables logging.
  • Log file is called "ags.log" and it is saved in "Users\\Saved Games\.ags" on Vista, Win7 and Win8, and in "Documents and Settings\Username\My Documents\My Saved Games\.ags" on WinXP.
  • Other platforms have their respected paths, e.g. Linux will write to "$HOME/.ags".
  • Threaded audio support. This feature has both pros and drawbacks, and is not currently recommended to be used for your project on desktop platforms by default and without testing. You may enable it in setup file by manually adding a "threaded=1" line under "sound" section.
  • Added two "overriding" options for setup file
  • Multitasking - overrides game's multitasking mode. Useful if game has lengthy unskippable sequences. Keep in mind that this will lock game in the given mode and make it ignore script commands that change it.
  • Os - overrides System.OperatingSystem return value. Useful for ports when game disables some feature for the system because it thinks it's not supported.
  • For every "long" command line argument the traditional GNU form (--arg) is supported, for example "--windowed", "--letterbox", etc.
  • Additions to Editor Plugin API:
  • Added property for getting playable character.
  • Added property for getting ScriptsAndHeaders collection.
  • Added methods for refreshing project's tree.
  • Added method for refreshing property grid.
  • Added methods for controlling output panel.