Skip to content

Releases: adventuregamestudio/ags

v3.6.1 - P10 (3.6.1.32)

13 Apr 17:35

Choose a tag to compare

This is a 3.6.1 Patch 10.

Editor:

  • 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 exceptions occuring when reimporting a sprite or a audio clip from source, if the source filename string was wrapped in double quotes.
  • Fixed script variables generation could sometimes produce a non-latin character in a variable name if the Editor is running on a system with non-English current locale.
  • Fixed '\n' linebreaks not saved correctly in dialog option strings.
  • 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.
  • Fixed LogPanel not applying filter settings right after they were changed.

Engine:

  • 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 Character movement recalculation when changing move speeds while walking, and movement path contains 45-degrees diagonal segments.
  • Fixed a solid Character (serving an obstacle) can get ignored by a walking Character, if the obstacle character's position appears within the walking character's own blocking zone.
    (This seems to be a redundant condition introduced very long time ago in the engine by mistake.)
  • 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 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 a crash which occured when script mistakenly tried to call RunInteraction() for a inventory item 0.
  • Fixed loading translation entries larger than 1024 bytes.
  • Fixed SDL log level was defaulting to "verbose" if not read from config (should be "info").

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.

v3.6.0 - P13 (3.6.0.60)

05 Apr 10:41

Choose a tag to compare

This is a 3.6.0 Patch 13.

Editor:

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

Engine:

  • Fixed loading translation entries larger than 1024 bytes.

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.

v4.0.0.16 (AGS 4.0 Alpha 20)

16 Mar 22:40

Choose a tag to compare

Pre-release

This is AGS 4.0 Alpha 20.

Contains all the new features and fixes from 3.6.2 RC2 (excepts ones related to backwards compatibility).

Own changes:

Editor:

  • Added BlendMode and Transparency property for GUI Controls.

Scripting:

  • Support for dynamic pointer cast: use syntax "pointer as Type" to cast the pointer to either a parent or child type (upcast and downcast respectively).

Script API:

  • Added Touch and TouchPointer structs, meant to handle touch controls in script.
  • Added MotionPath struct, which lets to read existing game object's motion plan, or create your own and use it as a reference when moving a custom object.
  • Added GUIControl.BlendMode property that lets to select BlendMode for any GUI control.
  • Added new Blend Modes: eBlendCopy, eBlendCopyRGB and eBlendCopyAlpha.
  • Added Character.MotionPath and Object.MotionPath properties that let to get active character's or object's movement plan.
  • Added Math.Random(), Math.RandomFloat() and Math.Round() functions.
  • Added eRoundTowardsZero and eRoundAwayFromZero rounding styles for use in FloatToInt() and Math.Round() functions.

Engine:

  • Support touch input directly, without touch-to-mouse emulation.
  • Fixes launching games compiled in Release mode.
  • Fixed restoring game saves which contain zero-length dynamic array.
  • Fixed goto-dialog and stop commands in dialog script always returning to dialog 0.
  • Fixed Dialog.Start() and StopDialog() failing to work in dialog script.

v3.6.2 - RC2

14 Mar 23:11

Choose a tag to compare

v3.6.2 - RC2 Pre-release
Pre-release

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.

v3.6.0 - P12 (3.6.0.59)

27 Feb 16:15

Choose a tag to compare

This is a 3.6.0 Patch 12.

Engine:

  • Fixed deleted DynamicSprite which is still assigned to a mouse cursor may cause engine's sprite cache to enter a corrupt state, eventually leading to a crash.

v4.0.0.15 (AGS 4.0 Alpha 19)

16 Feb 06:30

Choose a tag to compare

Pre-release

This is AGS 4.0 Alpha 19.

Contains all the new features and fixes from 3.6.2 RC1 (excepts ones related to backwards compatibility).

Own changes:

Editor:

  • When Room's background size is changed, adjust Edges according to the selected mask resize method as well (reset, keep or rescale positions).

Script API:

  • Added Pathfinder.IsWalkableAt() and NearestWalkablePoint() functions.
  • Added optional width, height and layer parameters to SaveScreenShot(). SaveScreenShot() now supports location tokens in file path.

Engine:

  • Rewrote script interpreter, with the purpose to potentially allow certain features in the future. There must not be any changes in script behavior at the moment (but testers should keep an eye for any regressions).
  • Fixed engine refusing to play video files if they have a non-standard extensions (e.g. in case when game author wants to hide their nature).

v3.6.2 - RC1

11 Feb 16:11

Choose a tag to compare

v3.6.2 - RC1 Pre-release
Pre-release

Editor:

  • "Start New Game" Wizard dialog now has a with scalable intro image, increased dialog's height to accommodate a bigger template selection page.
  • GUI selection in settings is now done using drop-down lists which list all eligible GUI types instead of having user to type GUI number. The setting will be automatically fixed if a GUI is removed.
  • Property Grid and Room's navigation bar now display object's description along with the script name on the drop-down list labels.
  • Added "Replace source paths for sprites..." context menu command in Sprite Manager. This command allows to batch-replace parent folder for all sprite source paths, in case you moved original files from one folder to another.
  • Added "Replace source paths for audio clips..." context menu command for the Audio node. This command allows to batch-replace parent folder for all clips' source paths, in case you moved original files from one folder to another.
  • When the room background size changes, reset room edges to defaults.
  • Don't restrict compiling a voice-based lipsync if game has a Lucas-Arts style speech.
  • Issue a compilation warning if found speech files named using different rule (opposing the current project setting).
  • Fixed Project Explorer refreshing when user changes names or descriptions of room objects.
  • Fixed Room Objects did not have a ScriptModule assigned when first created.
  • Fixed Autocomplete not giving correct results in case of a long chained access, i.e. something like "var[0].member.member".
  • Fixed Autocomplete giving wrong list of choices for wrong syntax cases like: indexed access of a type and non-array struct variable, member access of a static array.
  • Fixed Autocomplete was wrongly treating indexed attributes as dynamic arrays (regression in 3.6.2 Beta).
  • Fixed Autocomplete was not listing members of a dynamic array's element of struct type (regression in 3.6.2 Beta).

Script API:

  • Added Room.NearestWalkableArea() that returns the nearest found point on a walkable area.

Engine:

  • Character.PlaceOnWalkableArea() now does a 1-pixel step scan, ensuring walkable area will be found regardless of how small it is. Optimized the search algorithm to keep it fast enough even in very large rooms.
  • Support voice-based lipsync (Pamela, Papagayo) with Lucas-Arts style speech.
  • When mouse is locked in window, confine its position to the game viewport; exclude black border.
  • Added "display" config option to "graphics" section. This is a 1-based display index, where 0 means "use default display".
  • Added "--display" command-line argument that lets choose which display to open game window on.
  • Fixed Software renderer being unable to restore a windowed mode on certain monitors, when switching from a real fullscreen mode.
  • Fixed Lucas-Arts style character speech displaying offscreen if character is standing below the bottom of a room viewport.
  • Fixed Character.WalkStraight() commencing a walk even if already at destination, which may cause character to jump back if you also move it elsewhere by a direct position assignment same game frame (regression in 3.6.2 Beta).

Plugin API:

  • Updated few callback and function prototypes in order to make them 64-bit compatible (allow pass and receive pointers). This includes AGS_EngineOnEvent for AGSE_TRANSLATETEXT and render stage events, and CallGameScriptFunction which now lets pass a const char* argument.

Compatibility:

  • Fixed very old games not being able to run script callbacks with positive number of arguments (regression in 3.6.2 Beta).

WinSetup:

  • Added "Display" selection, allows to select which display to open the game window on.

v4.0.0.14 (AGS 4.0 Alpha 18)

25 Jan 14:56

Choose a tag to compare

Pre-release

This is AGS 4.0 Alpha 18.

Contains all the new features and fixes from 3.6.2 Beta 6 (excepts ones related to backwards compatibility).

Own changes:

Common:

  • Color number properties now correspond to the encoded 32-bit ARGB (A8R8G8B8 format).

Editor:

  • In 32-bit game projects you can assign full RGBA color definition, where alpha is optional, and is assumed 255 if not specified. Color value 0 means "transparent" regardless of game's color depth.
    NOTE: color picker currently does not let define alpha, so only opaque colors may be selected using it; but you may still enter RGBA value by hand.

Script API:

  • All existing Color properties now assume full ARGB values (0xAARRGGBB) in 32-bit games. This means that you must specify alpha value when assigning a color number directly, otherwise the game will treat the color as fully transparent.
  • Added Game.GetColorFromRGBA() function that creates a color number for red, green, blue and alpha combination.
  • Added DrawingSurface.BlendMode property that lets define blend mode for primitive drawing operations (line, rectangle, triangle, etc).
  • Added DrawingSurface.SetPixel() function that lets to set a pixel value of specified color, disregarding any surface's drawing settings.

Compiler:

  • Fixed unnecessary warnings about function parameters in function declarations "hiding" global functions of same name. Only report such warnings for function bodies.
  • Fixed incorrect "overflow" error reported for a bitwise left shift operation, when shifting a byte value by 24 bits.

Engine:

  • All color settings in a 32-bit game now respect alpha value, meaning they may be half-transparent. This refers to almost anything that may have a color: texts, GUI backgrounds, DrawingSurface's DrawingColor, and so forth. The exceptions are things that only make sense with opaque color: Tint settings, and screen Fade effects.
  • Fixed Type.GetByName() functions not working again.
  • Fixed loss of precision in sprite rotation, which could cause rotating sprites by a multiple of 90 degrees to cause unexpected shifts of an image by few pixels (regression in 4.0 Alpha).
  • Fixed 32-bit images loaded with DynamicSprite.CreateFromFile() becoming completely transparent (regression since previous 4.0 Alphas).
  • Fixed GUI not redrawing properly by software renderer.

v3.6.2 - Beta 6

21 Jan 00:01

Choose a tag to compare

v3.6.2 - Beta 6 Pre-release
Pre-release

Contains all fixes from 3.6.1 Patch 9.

Own changes:

Editor:

  • Added "Game Speed" property in General Settings.
  • Support importing 32-bit BMP files of extended formats (this support is formal at the moment, and does not guarantee that any of the extended data will be interpreted).
  • Support importing indexed images which palettes contain translucent alpha as sprites with alpha.
  • Fixed Button getting resized to the image's size when user cancels different sprite assignment.
  • Fixed Editor may display a "save project" confirmation when run with "/compile" command-line parameter.

Script API:

  • Fixed some script functions in AGS API were declared with "int" return value, while they are supposed to be "void".

Engine:

  • Updated to SDL 2.30.11 and SDL_Sound 2.0.4.
  • Support calling StopDialog() inside any regular script, even when dialog options are displayed.
  • Fixed character may get stuck inside a non-walkable area after Character.WalkStraight().
  • Fixed a potential lockup that may occur when the engine is run from the editor, and is told to stop at a breakpoint.
  • Fixed 48khz OGG clips may have extra silence added to them in the end, causing "hickups" when the sound playback is looped.

Windows:

  • Windows version of AGS is now built with MSVS 2019 and higher.

Compatibility:

  • Fixed "Quest for Infamy" infinite scripted walk retriggering in certain areas (this was happening because of some changes to the 3.6.2 engine).

v3.6.1 - P9 (3.6.1.31)

14 Jan 16:26

Choose a tag to compare

This is a 3.6.1 Patch 9.

Editor:

  • Fixed dragging an item to a folder in Project Explorer might cause that item to visibly appear in a wrong folder, if there are folders which name differ only in letter case.

Engine:

  • Fixed Character.Animate() could cause game to error reporting "invalid loop" if this character was idling at the time, and Character.LockView() was not called prior to Animate(). (This is a regression in 3.6.1)
  • Fixed inventory cursor hotspot (crosshair) not drawn properly over item sprites with alpha.

OSX:

  • Fixed location of global config file: was in game installation directory, now in "Library/Application Support/uk.co.adventuregamestudio".