Editor:
- Fixed hotspots and other mask items were not redrawn correctly after user changed selection using a navigation bar (regression since 3.6.2 beta).
- Fixed a check for an imported room mask size did not correctly account for the room's mask resolution setting (it worked, but mishandled some edge cases).
- Fixed translation compiler mistreating escaped opening bracket in a text line (
"\["
); it must keep it as-is, because "[" char is a old-style line break in AGS.
Script API:
- Added static Dialog.Stop() function, a OO-style alias to StopDialog().
- Added Game.InBlockingWait property, that tells whether game is waiting for any blocking action or a Wait* call to complete.
- Added optional "width", "height" and "layer" parameters to SaveScreenShot().
SaveScreenShot() now accepts paths containing standard file tokens ($SAVEGAMEDIR$
etc).
Engine:
- Engine will no longer quit with error if any object is assigned a non-existing sprite, but continue, using a sprite 0 as a placeholder instead.
- Fixed Character.SayAt clamping speech position to the screen's bottom and right edge (regression since 3.6.2 beta).
- Fixed character may rarely finish walking on a non-walkable pixel.
- Fixed calling Character.StopMoving() after AddWaypoint() succeeded a regular Walk() call with eWalkableAreas parameter will wrongfully teleport the character to the nearest walkable area, even though AddWaypoint is supposed to ignore walkable areas.
- Fixed a number of region or hotspot's "Stand on hotspot" events may unexpectedly run after a blocking character's walk, even if character is no longer standing on that region/hotspot.
- Fixed a AudioChannel did not report a correct Position right after a AudioClip.PlayFrom() call.
- Fixed Button resizing to sprite 0 size if NormalGraphic is set to 0 (default button look).
- Fixed object's look not updated after it was assigned a dynamic sprite, redrawn, sprite deleted, object redrawn without a sprite (used a placeholder), and then another dynamic sprite assigned with coincidentally the same number.
- Fixed objects begin to have incorrect z-sort order after changing room at least once (regression since 3.6.2 beta).
- Fixed font outline index limited to 127 (although we theoretically support higher font numbers).
- Fixed font outline parameters not initialized correctly if engine is built by a system that treats "char" as unsigned 8-bit type.
- Fixed accessing DynamicSprites in script could crash a game after restoring a save, if that save was made with eSaveCmp_DynamicSprites component excluded.
- Fixed a crash upon InventoryScreen() call in case there are no items (regression since 3.6.2 beta).
- Fixed a crash caused by any text messages using default text window (regression since 3.6.2 beta).
- Fixed voice lipsync triggering character body animation along with the speech if character went to idle state during a dialog (regression since 3.6.2 beta).
- Fixed SDL log level was defaulting to "verbose" if not read from config (should be "info").
Compatibility:
- Fixed old rooms with rare x3 resolution not displaying correctly.
Plugin API:
- Fixed a crash in IAGSEngine::OpenFileStream() if the stream failed to open for any reason.
WinSetup:
- Fixed "Save and Run" command sometimes caused 2 engine processes, one of which terminated later. This did not prevent a game from running, but could result in temporary CPU and memory overload.