Skip to content

Releases: adventuregamestudio/ags

v3.6.0 - P7 (3.6.0.54)

01 Dec 12:23
Compare
Choose a tag to compare

Editor:

  • For Android build target disabled compression of .ags and .vox assets, as that slows down engine streaming resources (sprites etc).
  • Fixed Editor failing to start if user preferences file is corrupted
    (this is a second fix, complementing one done in AGS 3.5.1).
  • Fixed RAM use spiking fast during batch sprite reimport from sources, which could randomly lead to program errors.
  • Fixed Dialog properties displaying internal values not meant to be seen by a user.
  • Fixed selecting parent GUI after its control did not display GUI's own properties in the Properties Grid.
  • Fixed Editor generating deprecated settings in the default config file.

Engine:

  • Fixed GUI controls unexpectedly clipping parts of text even if "controls clip contents" setting is disabled, in case when their Font has VerticalOffset property set.

v3.6.1 - Beta 13

20 Nov 20:15
Compare
Choose a tag to compare
v3.6.1 - Beta 13 Pre-release
Pre-release

Editor:

  • In Room Editor the hint with coordinates is now also displayed when moving Objects or Characters with keyboard.
  • For Android build target Editor now supports a directory to place plugins in.
  • For Android build target disabled compression of .ags and .vox assets, as that seriously slows down engine streaming resources (sprites etc).
  • When building a game for Android and Linux the Editor will now be more tolerant to missing plugins and only issue a warning instead of stopping with error.
  • For Color Themes: implemented character literal, braces match and braces error settings.
  • Fixed Editor failing to start if user preferences file is corrupted (this is a second fix, complementing one done in AGS 3.5.1).
  • Fixed General Settings and Default Setup not working correctly right after importing a pre-3.* game project.
  • Fixed in Dialog panel certain editing commands (Copy, Paste, Undo etc) would affect the script even if cursor is set to the option's text.
  • Fixed Dialog properties displaying internal values not meant to be seen by a user.
  • Fixed selecting parent GUI after its control did not display GUI's own properties in the Properties Grid.
  • Fixed Editor generating deprecated settings in the default config file.

Engine:

  • Fixed String.Substring() (regression in 3.6.1).
  • Fixed File.Open() in case of an absolute path (regression in 3.6.1).
  • Fixed pushed textual button not redrawn after mouse up (regression in 3.6.1).
  • Fixed crash in Software renderer when drawing a flipped frame (regression in 3.6.1).

Engine Plugin API:

  • Added IAGSStream interface, IAGSEngine.OpenFileStream() and GetFileStreamByHandle().
    Besides the obvious uses, this is critically needed for the games packaged into APK for Android, because plugins do not have a easy access to the game files in such case.
  • Remade IAGSEngine.ResolveFilePath() (was introduced in 3.6.1 earlier), don't return allocated array of chars, instead accept an output buffer and its length as arguments.

Android:

  • Fixed engine not being able to find game data when it is in APK.

v4.0.0.1 (AGS 4.0 Early Alpha 6)

03 Nov 16:16
Compare
Choose a tag to compare
Pre-release

This is AGS 4.0 Early Alpha 6.

Contains updates and fixes from 3.6.1 Beta 9 to 12 (except ones related to backwards compatibility).

Other changes:

Common:

  • Completely removed Global Messages and Room Messages.
  • Removed built-in support for Game Score, including related game settings and GiveScore script command. Users are advised to script their own score counter if they need one.

Editor:

  • Fixed "section" dropdown list in the script editor was getting broken by custom Color Themes.

Compiler:

  • Accept constructor-like syntax (T *o = new T();), but skip the parentheses and do nothing, as AGS script does not really support constructors at this point. The purpose of this is to make it easier for users who have C++ or C# habits.
  • Fixed "autoptr" struct's modifier required "builtin", should require only "managed".

Engine:

  • Implemented more accurate Character movement. The movement direction is now more precise and diagonal movement speed no longer may exceed MovementSpeed setting.

v3.6.1 - Beta 12

03 Nov 15:30
Compare
Choose a tag to compare
v3.6.1 - Beta 12 Pre-release
Pre-release

Contains all fixes from 3.6.0 Patch 6.

Other changes:

Editor:

  • In General Settings moved few properties to different groups for better consistency.
  • Apply color themes to Log Panel.
  • Fixed View preview does not display very large sprites.

Engine:

  • Improved performance of String objects in script. For instance, appending a character to a String is now roughly x2 times faster, sequential iteration of String.Chars[] in Unicode mode is about x12 (!) times faster (Strings in ASCII mode have relatively less improvement, because they have been faster than Unicode mode already).
  • Fixed Overlays may display incorrectly after loading a legacy save file.

v3.6.0 - P6 (3.6.0.53)

03 Nov 08:56
Compare
Choose a tag to compare

This is a 3.6.0 Patch 6.

Editor:

  • Fixed GUI editor could display selection rectangle from a different GUI editor pane,
    if two or more are displayed on screen at the same time.
  • Fixed Script editor not marking "autoptr" and "builtin" as keywords.
  • Fixed Script editor not applying color theme to character literals.

Engine:

  • Made String.Chars and Length properties work faster in ASCII mode.
  • Issue a warning when blocking Display or Say commands are called during fade-out.
  • Fixed engine failing to startup sometimes if controller device subsystem failed to init
    (it should not init at all in this version, as we do not support joysticks yet).
  • Fixed "Before fade-in" event could be called recursively under some peculiar conditions
    (regression since 3.6.0).
  • Fixed buttons on a non-clickable GUI were still changing to "mouse over" graphic under cursor.
  • Fixed button click not registered if it has been made not visible and visible again during a
    single game frame (regression since 3.6.0).
  • Fixed TextWindow borders drawn behind the rightmost corner pieces, which may be seen if the
    edge sprites are half-transparent.
  • Fixed a brief black screen flash occuring right after the video playback ends
    (regression since 3.6.0).
  • Fixed engine refusing to load legacy saves if the audio clip count does not match
    (number of audio clips should not affect saves).

WinSetup:

  • Added an option to disable "smooth scaled sprites" setting.
  • Added an option to disable language selection.
  • Made filter names in "disabled" section treated in case insensitive way.

v3.6.1 - Beta 11

23 Oct 19:56
Compare
Choose a tag to compare
v3.6.1 - Beta 11 Pre-release
Pre-release

Editor:

  • Added "Export Global Messages to script" menu command. This command is meant for upgraded pre-3.2 game projects, and will generate a script with a String array, moving global messages texts there.
  • Made Editor be somewhat more tolerate to missing XML nodes in Game.agf, in many cases it will still let open a game.
  • When upgrading older game projects, Editor will insert a call to SetRestartPoint() in the end of the 'game_start' function in GlobalScript.asc. This is done to complement removal of an automatic startup SetRestartPoint() call in the engine. This inserted command is safe to remove.
  • When upgrading pre-3.2 rooms with disabled SaveLoadEnabled property the Editor will reset this property and insert a comment with a warning into the corresponding room's script. This is done because this property is deprecated as is no longer accessible.
  • Fixed Project Explorer's folders collapsing after certain user actions, such as dragging items or renaming things.
  • Fixed Script editor not marking "autoptr" and "builtin" as keywords.
  • Fixed Script editor not applying color theme to character literals.

Scripting:

  • Support "#else" preprocessor directive.

Script API:

  • Added support for a text formatting to a number of functions: DisplayAtY(), Character.SayAt(), Character.SayBackground(), DrawingSurface.DrawStringWrapped().

Engine:

  • Removed an automatic SetRestartPoint() call at startup. This is done in case user does not want to use default "restart" save slot, or has a custom save system.
  • When starting up, engine will now precache only first 4 or 8 loops of the starting player character's View. This is done to avoid filling sprite cache with too much sprites at once in case when the player's View contains lots of additional animations.
  • Fixed engine failing to startup sometimes if controller device subsystem failed to init (it should not init at all in this version, as we do not support joysticks yet).
  • Fixed characters occasionally "teleporting" when ordered to move (regression since Beta 10)

v3.6.1 - Beta 10

30 Sep 09:28
Compare
Choose a tag to compare
v3.6.1 - Beta 10 Pre-release
Pre-release

Changes in 3.6.1 - Beta 10

Editor:

  • "Goto Definition" command in script will now work for most of the game entities too, such as Characters, GUIs, and so forth. In that case it will find a game's entity and open a respective editor panel for it. This still does not work for some types, such as Room objects, and Views.
  • Added main menu commands for opening a Project folder and Compiled folder.
  • For script's tabs added a context menu command for opening this script's location.
  • Added "Scale Character sprite offsets" property to General Settings. This property refers to scaling of Character.z and sprite offsets added by LockViewOffset script command.
  • Config will now be saved in UTF-8, letting to support setup program's title text in unicode.
  • Fixed GUI editor could display selection rectangle from a different GUI editor pane, if two or more are displayed on screen at the same time.
  • Fixed Editor could miss some of the files when cleaning up old compiled files after the Game's Filename property is changed.

Engine:

  • Characters will now have their graphic offsets, set by Character.z property and LockViewOffset() function, scaled along with the character's own scaling. This is done so long as the respective game option is enabled in the General Settings.
  • Allow to change Character's move speed while its moving.
  • When Character is ordered a new move command while already moving, the engine will try to make a smooth transition between old and new moving without a delay.
  • Engine will now skip blocking Character.Say commands instantly while skipping a cutscene.
  • Fixed buttons on a non-clickable GUI were still changing to "mouse over" graphic under cursor.
  • Deprecated in-game "console", as practically useless.
  • Fixed Characters may be seemingly "walking in place" for some time when arriving at destination.
  • Fixed speech portraits not animating (regression since 3.6.1 Beta 8)
  • Fixed "Before fade-in" event could be called recursively under some peculiar conditions (this is a regression since 3.6.0).
  • Fixed button click not registered if it has been made not visible and visible again during a single game frame (this is a regression since 3.6.0).

Compatibility:

  • Fixed a "New Room" command in old-style dialog scripts was preventing "First time Enter room" event to be called.

v3.6.1 - Beta 9

14 Sep 20:03
Compare
Choose a tag to compare
v3.6.1 - Beta 9 Pre-release
Pre-release

Changes in 3.6.1 - Beta 9

Contains all additions from 3.6.0 Patch 5.

Editor:

  • Zoom controls in Character and View panes now allow downscaling too. View editor displays the preview sprite stretched to fill the parent panel.
  • View editor now allows to select multiple frames at once, across multiple loops too, using standard Shift + LMB and Ctrl + LMB combinations. Properties panel lets modify properties for all the selected frames at once.

Script API:

  • Added ScriptName property to AudioClip, Character, Dialog, GUI, GUIObject, Hotspot, InventoryItem, Object.
  • Added static GetByName() function to AudioClip, Character, Dialog, GUI, GUIObject, Hotspot, InventoryItem, Object.

Engine:

  • Improved performance when updating and deleting dynamic sprites, and notifying any objects that have to redraw themselves. Engine no longer resets Graphic properties of objects referencing deleted dynamic sprite to 0.
  • Text Overlays internal images are now registered as dynamic sprites, and their IDs may be read from Overlay.Graphic. This lets find out their sizes using Game.SpriteWidth/SpriteHeight and optionally draw them somewhere using DrawingSurface.DrawImage.
  • Fixed managed structs in script may cause program crashes after you restored a save and try to save again (regression in previous 3.6.1 Betas).

Compatibility:

  • Warn of write into "readonly" script variable, instead of error, as some older games may to try to write there.
  • Fixed inventory window not updated after game.top_inv_item is assigned a new value.

v3.6.0 - P5 (3.6.0.52)

14 Sep 18:43
Compare
Choose a tag to compare

This is a 3.6.0 Patch 5.

Editor:

  • Reimplemented multiple sprites properties editing in the Sprite Manager. This ability was dropped in 3.5.0 unintentionally.
  • Fixed Autocomplete not treating certain struct members as "static" or "protected" if their declaration is too long.

Engine:

  • Fixed Character.WalkStraight() was resetting walking animation if called during walking.
  • Fixed Character's idle animation getting reset to frame 0 when the speech is played without a valid speech view (idle animation should continue playing in such case).
  • Fixed idle animation sometimes not starting immediately after Character finishes walking.
  • Fixed a crash occuring if script tries to get or set a custom property for a non-existing Room Object (this seem possible to do by iterating over object[] array).

Compatibility:

  • Implemented "legacysave_assume_dataver" override option in config, which lets to instruct the engine which game data version to assume when restoring legacy (pre-3.5.0) saves. This "hack" appeared to be necessary because of a mistake done during development of the older engine versions, where the save format was changed, but engine was made to rely on the game data version instead of incrementing save format index.
  • Implemented "legacysave_let_gui_diff" override option in config, which lets the engine to read less gui elements from restored save than the number registered by the game. This is to emulate a (possibly unintended) effect in pre-3.5.0 saves.
  • Fixed engine could try to load game data from game.exe without checking whether data is actually appended to it when restoring a legacy save in a game with a different file structure.
  • Fixed number of GUI elements were not tested when loading a legacy save, which could lead to GUI data getting overwritten incorrectly without a warning if number of controls changed since. If the test failed, engine will act according to "legacysave_let_gui_diff" config option: either quit with error or log a warning and continue.

Plugins:

  • Fixed potential "index out of bounds" exceptions in the built-in PalRender plugin.

Templates:

  • In "Verb Coin" template fixed action label could be updated incorrectly if the cursor was moved over buttons on any other GUI.

v3.99.106 (AGS 4.0 Early Alpha 4)

01 Sep 19:24
Compare
Choose a tag to compare
Pre-release

This is AGS 4.0 Early Alpha 4.

Contains updates and fixes from 3.6.1 Beta 7 and 8 (except ones related to backwards compatibility).

Other changes:

Editor:

  • Translation sources are now saved in PO format.
  • Fixed room data xml was saved without linebreaks and indentation.
  • Fixed all room images (backgrounds, masks) were rewritten on disk each time a room is saved, even if they are not modified.

Compiler:

  • Fixed forward-declared but unresolved function not reported correctly.
  • Fixed accessing dynamic arrays with a numeric literal index was not tested for "out of bounds" mistake.
  • Fixed multidimensional array index delimiters (",") were confused with function parameter delimiters in call to a function.

Script API:

  • Added Joystick struct, meant to work with joystics and gamepads in script.

Engine:

  • Support joystick and gamepad input.
  • Fixed DynamicSprite.CreateFromSaveGame producing invisible screenshot sprites.
  • Fixed an attempt to read screenshot from a save with no screenshot could cause engine to crash.
  • Fixed 16-bit sprites in 32-bit games turning completely transparent.