Releases: adventuregamestudio/ags
v3.6.0 - P4 (3.6.0.51)
This is a 3.6.0 Patch 4.
Editor:
- Export Game's Title into translations.
- Fixed Game.agf was not created after importing a 2.* game project (regression in 3.6.0).
Engine:
- Character.AnimationVolume property is now applied to the portrait animation as well.
- Removed few of the less important game messages from logging, because they may quickly clutter the log under some circumstances.
- Fixed when animating a character portrait, the first frame's linked sound is not played.
- Fixed IsSpeechVoxAvailable() returning positive result if run from IDE and Speech folder is empty.
- Fixed speech and messages were skipped by modifiers and other special keys (Ctrl, Alt, etc).
- Fixed crash occuring when you resize DynamicSprite while it is displayed on screen.
- Fixed audio clip started right before a ChangeRoom would not play until after the room changes.
- Fixed in Software display mode the room Overlays may not be properly covered by a walk-behind under very specific conditions.
- Fixed System.Log() would cause engine crash if there are more format placeholders than args.
- Fixed some game options that are not allowed to be changed at runtime could still be overwritten when restoring an old save, leading to a weird game behavior.
v3.99.106 (AGS 4.0 Early Alpha 3)
This is AGS 4.0 Early Alpha 3.
Contains updates and fixes from 3.6.1 Beta 6.
Other changes:
Common:
- Removed support for '[' as a linebreak character in text.
Editor:
- Support loading PNGs with transparent chunks as Room Masks.
Engine:
- Fixed flipped button frames displayed without transparent parts.
v3.6.1 - Beta 6
Changes in 3.6.1 - Beta 6
Editor:
- Discontinued Source control integration functionality, removed "Put sound and sprite files in source control" option from General Settings.
- Export Game's Title into translations.
- Fixed Editor refusing to open a game if one of the translation files is missing.
- Fixed Game.agf was not created after importing a 2.* game project (regression in 3.6.0).
- Fixed Log Panel displaying recent messages with a delay.
Script API:
- Expanded interaction functions for Character, Object, InventoryItem, Hotspot and Region types: now they all receive respective object's pointer as a parameter, similar to GUI event functions, as well as a cursor mode this interaction was run with, if applicable.
- Added Object.AnimationVolume property, which works similar to Character.AnimationVolume.
Engine:
- Character.AnimationVolume now applies to the portrait animation too.
- Changed Object.SetView() to not play a frame's sound, which could lead to a duplicated sound play if Object.Animate is run right after.
- Removed few of the less important game messages from logging, because they may quickly clutter the log under some circumstances.
- Fixed deleted dynamic sprite leaving sprite slots marked as "taken" forever, which continuously increases the size of the sprites list at runtime (regression since previous 3.6.1 Betas)
- Partially improved performance of repeated creation and deletion of a large number of dynamic sprites on each game update (regression since previous 3.6.1 Betas)
- Fixed Buttons and ListBoxes using Translated property in reverse way (regression since previous 3.6.1 Betas).
- Fixed debugger (editor) log output did not receive initial engine messages.
Web / Emscripten:
- Fixed Safari cannot switch the game into fullscreen mode.
v3.6.1 - Beta 5
Changes in 3.6.1 - Beta 5
Editor:
- Support '\n' linebreak character in the Label's Text and potentially other text properties.
Script API:
- Added static File.ResolvePath() and File.Path attribute.
Engine:
- Fixed IsSpeechVoxAvailable() returning positive result if run from IDE and Speech folder is empty.
- Fixed speech and messages were skipped by modifiers and other special keys (Ctrl, Alt, etc). (regression since 3.6.0)
- Fixed engine crash when trying to render a non-32bit sprite (regression since Beta 4).
- Fixed ListBox.FillSaveGameList() fills the items in a wrong order (regression since Beta 4).
- Fixed File.Open() fails if no location token is present in a path (regression since Beta 4).
- Fixed walkable area 0's scaling is completely ignored by characters and objects (regression since Beta 4).
Plugin API:
- Added IAGSEngine.ResolveFilePath() method, which resolves a script path (with location tokens) into a proper system filepath.
v3.6.1 - Beta 4
Changes in 3.6.1 - Beta 4
Editor:
- Added TextureCacheSize and SoundCacheSize properties to Default Setup. These let configure the sizes of runtime texture and sound cache sizes respectively.
- Fixed Labels don't draw text in preview (regression since the previous Beta 3).
Engine:
- Implemented "texture cache", in addition to the existing "sprite cache". The texture cache keeps textures generated from raw sprites and lets reusing them, improving performance and reducing CPU workload. The actual impact is proportional to the game's resolution and amount of simultaneously animated objects on screen.
- All the script File functions now treat paths in case-insensitive way (including subdirs), which makes them platform-independent.
- Added new config settings in "graphics" section: "sprite_cache_size" (which replaces deprecated "cachemax" in "misc") and "texture_cache_size".
WinSetup:
- Added options for setting texture cache and sound cache size.
v3.6.0 - P3 (3.6.0.50)
This is a 3.6.0 Patch 3.
Editor:
- Don't error when loading a room file which has unsupported number of events, instead these will be cut out. This may let e.g. use room templates from newer versions of AGS.
- Sprite's default property is changed from deprecated Resolution setting to SourceFile.
- Fixed full spritefile recreation would write duplicate sprites into the spritefile, if game project (Game.agf file) contained multiple sprites with same ID for any reason (for example, if they were added by manually editing Game.agf).
- Fixed importing SCI fonts with >128 chars.
- Fixed font preview did not properly display characters with indexes 128-255.
Engine:
- Fixed "noloopcheck" script function modifier was not handled correctly sometimes.
- Fixed a button with inventory placeholder did not update immediately when the active inventory is set.
- Fixed textual GUIs were not redrawn immediately after a call to SetGameOption(OPT_RIGHTTOLEFT).
v3.99.105 (AGS 4.0 Early Alpha)
This is AGS 4.0 early alpha (2).
Contains updates and fixes from 3.6.1 Beta 3.
Other changes:
Editor:
- Fixed 24-bit room backgrounds could display fully transparent in the Editor after project upgrade.
- (possibly) Fixed incorrect "script was modified externally" message occuring when it was not actually modified externally.
Compiler:
- Fixed
++
and--
operators could be used wrongly as a binary op (likea ++ b
), and compiler did not detect any error.
Engine:
- Fixed character/object scaling not working at all, because of a typo in code.
v3.6.1 - Beta 3
Changes in 3.6.1 - Beta 3
Editor:
- In Sprite Manager added command "View" -> "Show filenames" which toggles display of a sprite's source filename under the sprites.
- During sprite export Editor will display a proper progress dialog.
- Added Translated property to all GUI Controls (was available only in ListBox). Translated property tells whether this control's text has to be translated, and applied text direction (in right-to-left text mode).
- Reverted Editor's "dpi awareness" (possibly temporarily), as in current state it was causing disproportional scaling of Editor and editor plugins' panels on Windows 10+ with enabled desktop scaling.
- Fixed importing SCI fonts with >128 chars.
- Fixed font preview did not properly display characters with indexes 128-255 (regression since 3.6.0).
- Fixed full spritefile recreation would write duplicate sprites into the spritefile, if game project (Game.agf file) contained multiple sprites with same ID for any reason (for example, if they were added by manually editing Game.agf).
Script API:
- Added Game.ResetDoOnceOnly(), which completely resets all DoOnceOnly instances.
Engine:
- Performance improvement to creating, deleting and manipulating Overlays; allows the game to have thousands of those with much less slowing down.
- Buttons, ListBoxes and TextBoxes now support Right-to-left text direction.
- DrawingSurface.DrawString now supports Right-to-left text direction.
- Object.SetView now lets invalid loop and frame values, and fallbacks to using loop 0, frame 0, printing a warning. This is also consistent with backwards-compatble SetObjectFrame() behavior.
- Engine will disable vsync in a "infinite fps" mode, because vsync prevents getting more fps.
- Engine will force any in-game debug messages to be displayed in standard message boxes, disregarding game's "Display all messages as speech" option.
- Fixed character & object tint usage was inverted: applied ambient tint when told to use explicit one, and vice-versa (regression in previous 3.6.1 Beta).
- Fixed speechlines were adjusting their Y position while trying to not overlap GUIs even when these GUIs are completely offscreen.
- Fixed first Sierra-style speechline in a sequence was adjusting its Y position without need when GUIs are set to be hidden during game pause (this includes blocking speech). Normally, the speechlines are adjusting their Y position in order to not overlap GUIs, but when GUIs are hiding during speech there should not be any need to do so.
- Fixed GUI controls were not redrawn right after option OPT_RIGHTTOLEFT is changed in script.
- Fixed "noloopcheck" script function modifier was not handled correctly sometimes (regression in 3.6.0).
Engine Plugin API:
- Fixed IAGSEngine.GetFontType() incorrectly reporting TTF font type for WFN fonts with more than 128 characters.
Compatibility:
- Fixed Object.SetView() and SetObjectFrame() not treating -1 for loop and frame as "keep previous values" in older games.
v3.6.1 - Beta 2
Changes in 3.6.1 - Beta 2
Contains all the fixes from the recent 3.6.0 - Patch 2.
Few other minor fixes were made. Backported a group of UI improvements from ags4 branch (forgot to do this much earlier); + couple of simple but convenient script events.
Editor:
- Improved Room Editor controls:
Added free panning mode done by holding the middle mouse button, or alternatively - by holding Space + LMB.
Mouse Wheel without key modifiers scrolls the room vertically; Shift + Mouse Wheel scrolls the room horizontally.
Zoom is done by Ctrl + Mouse Wheel and room now zooms towards or outwards the cursor position. - In Room Editor the context menu is now displayed by RMB, or Shift + RMB while editing masks.
The individual room mode menu is merged with the "copy coordinates" command when shown. - Reimplemented multiple sprites properties edit in the Sprite Manager. This ability was dropped in 3.5.0 unintentionally.
- Added "Leave room after fade-out" event to Rooms (script function called "Unload" by default).
Script API:
- Implemented Room's "After fade-out" event.
- Added eEventLeaveRoomAfterFadeout event for the global "on_event".
- Added eEventGameSaved event which runs after game was saved.
v3.6.0 - P2 (3.6.0.49)
This is a 3.6.0 Patch 2.
Common:
- Fixed a TTF font could cause a crash in the Editor or the Engine if the font renderer tries to draw a letter with higher number than the highest glyph number in the font.
Editor:
- Added "Restore all sprites..." command to the Sprite Manager's context menu (this duplicates the "File -> Recreate sprite file" menu command added previously).
- Refresh Sprite Manager after fully recreating a sprite file.
- Sprites will now hide their "Resolution" property if the game settings have "Allow relative asset resolutions" disabled. This is to avoid user's misuse of this property.
- Fixed a minor memory leak occuring when editing a tree item's label in Project Explorer.
Engine:
- Engine will now find and load plugins in the game dir when run from a different location.
- Fixed crash occuring if Character was told to FaceLocation while "Turn to face" game setting is enabled, and character's View does not have enough loops.
- Fixed Character resetting current non-blocking animation if it was ordered to Move, as soon as it arrives at destination.
- Fixed crash occuring if a GUI button was somehow set a negative NormalImage number.
- Fixed "bad script stack" error could be sometimes displayed if the game was aborted in the middle of running a script.