Skip to content

Releases: adventuregamestudio/ags

v4.0.0.18 (AGS 4.0 Alpha 22)

16 Jun 06:49
Compare
Choose a tag to compare
Pre-release

This is AGS 4.0 Alpha 22.

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

Own changes:

Editor:

  • Editor requires .NET Framework 4.7 to run.
  • In General Settings added "GUI common controls handle only left mouse button" option that lets prevent RMB from activating gui controls, except those that have separate actions for left and right mouse buttons.
  • Added XOffset and YOffset properties for the View Frames.
  • Redesigned Color Finder panel, now it lets to specify alpha color component, and convert between several different color representations.
  • Fixed error occuring when creating a new Font.
  • Fixed error occuring when renaming a room.

Script API:

  • Added ShaderProgram and ShaderInstance structs, meant for the custom shaders support.
  • Added Character.Shader, GUI.Shader, GUIControl.Shader, Object.Shader, Overlay.Shader, Camera.Shader, Viewport.Shader, Mouse.CursorShader, Screen.Shader.
  • Added Button.GraphicFlip property.
  • Added GUIControl.Rotation.
  • Added GUIControl.ScaleX and ScaleY properties, GUIControl.SetScale() function.
  • ViewFrame.Flipped property is now settable and returns eFlipDirection instead of bool.
  • ViewFrame.Speed property is now settable.
  • Added ViewFrame.XOffset and YOffset properties.

Engine:

  • Support custom shaders, initialized through script API. Shaders are loaded and compiled from GLSL (for OpenGL) or HLSL (for Direct3D) shader scripts, and may be attached to game objects, camera, or the whole game view. Shaders may have user-defined constants, and have up to 3 secondary textures on input.
  • Support compressing game saves using Deflate algorithm. Added config option "compress_saves" in "misc" section, disabled by default.
  • Always compress a screenshot in game save using Deflate algorithm.
  • Consistent GUI translation: the values of textual properties will never be automatically translated on assignment or reading them, only the text displayed on screen will be translated.
  • Fixed error occuring when either a screenshot is made, or Crossfade or Dissolve room transition is run.
  • Fixed error which had a chance to occur when ordering a character to walk after recently restoring a save.
  • Fixed character not making the first animation step before starting a move.

v3.6.2 - P1 (3.6.2.11)

14 Jun 21:33
Compare
Choose a tag to compare

This is a 3.6.2 Patch 1.

Editor:

  • On failed new font import do not replace the font with font 0 in preview, as that's confuses users and hides import errors.
  • Fixed an unhandled exception which occured on Text Parser panel when user pressed Enter while no item is selected.

Engine:

  • Try to detect incorrect argument types in string formatting functions such as String.Format, in attempt to avoid crashes when a '%s' format is used (this is still not 100% secure though).
  • Do not quit with error if a wrong GUI type is assigned as a "TextWindow GUI", display default message box instead and log a warning.
  • Fixed a crash occuring when reading Character.DestinationX/Y properties while the character is turning on spot after a call to FaceDirection.
  • Fixed a crash occuring when SpeechView is assigned a view that has no loops.
  • Fixed Lucas-Arts speech positioning mistake occuring, for example, when there's a big transparent GUI covering whole screen.
  • Fixed dialog options with no text, they were displayed and could be selected by player, which should not be happening.
  • Fixed Character.PlaceOnWalkableArea() and Room.NearestWalkableArea() returning wrong results if Room's mask resolution is not 1:1.
  • Fixed Direct3D and OpenGL renderers displaying sprites with occasional "magenta" pixels when "Smooth scaled sprites" setting is enabled but graphic filter is set to "Nearest-neighbour".

Compatibility:

  • Support detecting and loading game data from Linux game ports where it's called "agsgame.dat", and is created using an older version of the third-party "agspack" utility.
  • Disable smooth walk transition in pre-3.6.1 games, as apparently this breaks logic in some of them where precise walking coordinates and/or timing is required by scripts.
  • Fixed misaligned text centering on buttons in pre-3.6.0 games.

3.6.2 Release

17 May 18:54
Compare
Choose a tag to compare

This is a stable 3.6.2 release. The contents of this update are listed in Changes.txt as usual.

If you're making games with this, please be sure to read "Upgrading to 3.6.2" article in the manual.

People who were working on this release:
@AlanDrake (fixes)
@edmundito (fixes)
@ericoporto
@ivan-mogilko
@rofl0r (compatibility fixes for old games)
@tag2015 (compatibility fixes for old games)

Also:
homelightgames - made scalable images for the wizard dialogs.

v3.6.1 - P11 (3.6.1.33)

17 May 16:37
Compare
Choose a tag to compare

This is a 3.6.1 Patch 11.

Editor:

  • Clear output panels when loading a different project.

Engine:

  • Fixed engine could run scheduled previous room's event after changing to a different room.
    This could happen, for example, if the room was changed in "on_event" with eEventEnterRoomAfterFadein; in such case a previously scheduled "After Fade-in" would run before proper "Before Fade-in" of the new room.
  • Fixed in 8-bit games Fade effect did not having a frame delay (was passing instantly).

Compatibility:

  • Fixed certain old 8-bit games (like "Trilby's Notes") did not recover after the FadeOut() script command.

v4.0.0.17 (AGS 4.0 Alpha 21)

14 Apr 02:20
Compare
Choose a tag to compare
Pre-release

This is AGS 4.0 Alpha 21.

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

Own changes:

Editor:

  • In General Settings added "GUI common controls handle only left mouse button" option.
  • Fixed default values for Character and Object's Enabled and Visible properties set when upgrading a pre-4.0 game project.
  • Fixed default value for "Use old-style voice clip naming rule" setting set when upgrading from older 4.0 alpha versions.
  • Fixed newly created WFN fonts had their size multiplier property discarded when a game is compiled.

Compiler:

  • Fixed a bug where naming a parameter like its function led to a crash.

Scripting:

  • Support regular (non-managed) struct and array variable initializers, where you can specify their element values either in the order of their declaration or as a "name1: value, name2: value" sequence. For arrays the latter would be "0: value, 1: value" and so forth.
    NOTE: this works only for global variables at the moment.

Script API:

  • Added DialogOptionsNumbering enum, to use when setting dialog options numbering mode.
  • Added multiple new properties to Dialog type: OptionsBulletGraphic, OptionsGap, OptionsGUI, OptionsGUIX, OptionsGUIY, OptionsHighlightColor, OptionsMaxGUIWidth, OptionsMinGUIWidth, OptionsNumbering, OptionsPaddingX, OptionsPaddingY, OptionsReadColor, OptionTextAlignment. Most of these are replacing previously existing old-style variables in "game" struct and OPT_* options. OptionsGUIX/Y and OptionTextAlignment are completely new features.
  • Added new game-wide option OPT_GUICONTROLMOUSEBUT that defines whether common GUI controls are affected by the right mouse button or not (InventoryWindows are excluded from this, because they have their own special handling for RMB).

Engine:

  • Standard Dialog options now support Right-to-left text mode.
  • Fixed a number of Room's script indexed properties not working correctly, such as: Room.Hotspots[], Room.Objects[], Room.Regions[], Room.WalkableAreas[], Room.Walkbehinds[].
  • Fixed blend modes not handled correctly by Software renderer.
  • Fixed certain blend modes not respecting transparency with OpenGL renderer.
  • Fixed default dialog options highlight color had wrong value.
  • Fixed Character.FaceDirection() not respecting blocking style parameter.
  • Fixed characters and objects not making last planned step when moving.

v3.6.2 - RC3

13 Apr 19:02
Compare
Choose a tag to compare
v3.6.2 - RC3 Pre-release
Pre-release

Contains all fixes from 3.6.1 P10

Own changes:

Editor:

  • Added a readonly "ProjectFilename" property to Fonts, which displays their in-project file name.
  • Added "Palette index" selection for sprite's import transparency option.
  • Added "Change Room Number" context menu command for the Rooms in Project Explorer.
  • Fixed importing GIFs with "palette 0 / N" transparency option would refer a palette color from each individual frame's palette rather than the original GIF palette, which could lead to wrong colors used as transparents.
  • Fixed Autocomplete failing in case of UNIX line endings in script file.
  • Fixed Font preview could crash the Editor with out of memory error in case of a very big font.
  • Fixed Editor won't won't let change existing TTF font's size if SourceFilename property is not set for any reason.
  • Fixed Frame index not applied when importing sprites from a GIF (regression since 3.6.2 Beta).
  • Fixed unhandled exception occuring when user right-clicks or double clicks on a informative message in the Output panel.

Script API:

  • Added Room.BackgroundCount readonly property.
  • Added GetWalkBehindBase() function, complementing SetWalkBehindBase().

Engine:

  • Fixed GUI controls with transparency are not drawn correctly by the Software renderer.
  • Fixed DynamicSprite.Rotate mistreating "degrees" argument.

v3.6.1 - P10 (3.6.1.32)

13 Apr 17:35
Compare
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
Compare
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
Compare
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
Compare
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.