Releases: adventuregamestudio/ags
v3.6.1 - Beta 16
This is a minor update, done soon after 3.6.1.14 (Beta 15) because there had to be a change in game save format.
WARNING: this update makes any runtime saves done in Beta 15 incompatible. We're sorry for this inconvenience.
(Older saves WILL work.)
Changes in this update:
Editor:
- Fixed a rare exception when scrolling the room in the editor.
Engine:
- Remade changes to a save format introduced by 3.6.1.14 (Beta 15). Saves done by a 3.6.1.14 engine will no longer load correctly. (This does not affect any older saves.)
- Engine will now safeguard plugin's reading and writing of game saves, so that any mistakes done by plugins won't affect other parts of a save.
- Fixed Character.Name property's was not returning a new value in case if deprecated Character.name field was written to using a old-style string function like StrCopy (regression since Beta 15).
- Fixed PlayMP3File() crashing with null ptr access (regression since an earlier 3.6.1 Beta).
- Fixed PlayMP3File() function limiting filename argument by an arbitrary number of characters.
Engine Plugin API:
- Fixed IAGSStream::Seek return value - should return new position now, instead of true or false.
v4.0.0.2 (AGS 4.0 Early Alpha 7)
This is AGS 4.0 Early Alpha 7.
Contains updates and fixes from 3.6.1 Beta 13 to 15 (except ones related to backwards compatibility).
Other changes:
Editor:
- Fixed occasional crash when scrolling the room in the editor.
- Fixed room not getting recompiled with a new content if a background or a mask was modified externally.
Scripting:
- Multi-dimensional dynamic arrays, also known as "jagged arrays". These are arrays of arrays, where each parent array's element has to be created separately, but may be of any independent length.
- Regular arrays of dynamic arrays: that is a regular array where each element is a pointer to a dynamic array of the same type.
- Dynamic arrays of regular structs.
v3.6.1 - Beta 15
Common features:
- Removed length limits for: Game name, savegame folder, Character's script name and regular name (description), Inventory item's name (description), Mouse cursor's script name, Audioclip's script name.
Editor:
- For non-Windows build targets Editor will fix config containing Direct3D graphics driver option and set OpenGL instead.
- Fixed sprites may get wrong transparency settings after "Crop sprite edges" operation.
- Fixed deleting collapsed "region" in script would sometimes lead to portion of the script undeleted but staying invisible.
- (Possibly) Fixed a "Index out of range" exception in Script editor, related to the "script location" drop-down list, which could occur at random circumstances while working with the script, and any Color Theme is enabled.
Engine:
- Print some info about memory usage when reporting a "Out of memory" error.
- Fixed Display and Say commands treating the second met "&" sign as a voice-over token too (they must only check the first one in string).
- Fixed
@GAMENAME@
label was not updated if Game.Name got changed in script. - Fixed a crash when switching to a cursor mode which has no sprite assigned (regression in previous Beta).
Engine Plugin API:
- Expanded IAGSStream interface, which was added in previous Beta.
iOS:
- Updated port for 3.6.*.
Windows:
- Fixed a rare bug when the Windows engine could fail loading the game for no good reason. This error is related to a bug in Windows SDK 8.1.
v3.6.1 - Beta 14
Contains all the fixes from 3.6.0 Patch 7
Other changes:
Editor:
- When run with "/compile" argument Editor will print all messages to the console (stdout), instead of displaying modal message windows.
Script API:
- Added Game.PrecacheSprite() and Game.PrecacheView(), which preload certain sprites and linked frame sounds into the engine's cache memory.
v3.6.0 - P7 (3.6.0.54)
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
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)
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
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)
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
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)