Skip to content

Releases: adventuregamestudio/ags

v3.6.3 - Beta 1

04 Sep 19:11

Choose a tag to compare

v3.6.3 - Beta 1 Pre-release
Pre-release

3.6.3 is a minor update that contains mostly features that did not end up in 3.6.2 due to time constraints. These are few improvements to the Editor UI, and additions to the script API which expose previously hardcoded data that was not available in script, or data that was inconvenient to access.

It also adds game saves compression, which significantly reduces sizes of saves made by big games.

Changes in 3.6.3 - Beta 1:

Editor:

  • 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.
  • In Default Setup added "Compress saves" option, enabled by default.
  • For the Fonts added CharacterSpacing property that lets define additional spacing between each pair of characters.
  • In Project Explorer added context menu command "Go to X" for each applicable item type, which lets to find an item by its numeric ID.
  • Redesigned Font Preview panel. Now the table of glyphs displays all the characters present in the font and lets jump to a chosen character. Added text preview, where user may input any multiline text and see it printed with the current font.
  • Font Preview and GUI Editor now display fonts with their respective outlines.
  • In View Editor added context menu commands for copying, cutting and pasting individual frames and frame ranges; commands for reversing a range of frames, and reversing loop.

Script API:

  • 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).
  • Added GameInfo struct that contains meta-information about the game, such as developer's name, developer's URL, version, and so forth.
  • Added DialogOptionsNumbering enum, to use when setting dialog options numbering mode.
  • Added multiple new properties to Dialog type: OptionsBulletGraphic, OptionsFont, OptionsGap, OptionsGUI, OptionsGUIX, OptionsGUIY, OptionsHighlightColor, OptionsMaxGUIWidth, OptionsMinGUIWidth, OptionsNumbering, OptionsPaddingX, OptionsPaddingY, OptionsReadColor, OptionsTextAlignment.
    Most of these are replacing previously existing old-style variables in "game" struct and OPT_* options. OptionsFont, OptionsGUIX/Y and OptionsTextAlignment are completely new features.
  • Added RestoredSaveInfo.GameVersion property that lets read the value of "Game Version" that was set at the time this save was made (applies only for saves made in 3.6.3 and higher).
  • Added number of readonly properties to TextWindowGUI which return respective border graphics: LeftGraphic, RightGraphic, and so forth.
  • Added VideoPlayStyle enum, PlayVideo() now uses VideoPlayStyle as "flags" argument.

Engine:

  • Support compressing game saves using Deflate (aka zip) algorithm. Added config option "compress_saves" in "misc" section, enabled by default.
  • Always compress a screenshot in game save using Deflate (aka zip) algorithm.
  • ListBoxes do not unconditionally select the first item as soon as one is added (or when the list is filled with files or saves). The selection has to be explicitly set using SelectedIndex property.
  • Standard Dialog options now support Right-to-left text mode.
  • Improved video playback's synchronization between video and audio streams.
  • Engine does not quit with error when DrawImage is called with a non-existant sprite, only logs a warning.

Compatibility:

  • Don't use alpha channel when drawing textwindow gui in pre-3.* games.

WinSetup:

  • Renamed "Custom Paths" tab to "Game Files", added "Compress saves" option.

v3.6.2 - P3 (3.6.2.13)

04 Sep 08:16

Choose a tag to compare

This is a 3.6.2 Patch 3.

Common:

  • Removed a very old limit of 14 chars max lipsync filename.

Editor:

  • In case of multiple objects selected in the editor (such as GUI controls or View Frames) Properties Grid will now hide properties that are not allowed to be assigned same value, such as ID or Name.
  • Resize all Buttons when changing an Image for multiple selected buttons at once.
  • In Room Editor added separate checkbox for "Move Room Objects From Bottom-Left". The respective Character's checkbox will no longer affect Room Objects.
  • Fixed editor not being able to find a event function in script if there was a comment on the same line as a function declaration.
  • Fixed bad script generated for Global Variables of String array type.
  • Fixed editor was suggesting Room 301 as a first non-state-saving room, while 300 is the one.
  • Fixed a error in "New Room" and "Change Room Number" dialogs where having number 300 and ticking "don't save state" checkbox would cause "value out of range" exception.
  • Fixed "Show sprite usage" did not account for Slider's background image.
  • Fixed text input fields on Colour Finder and Lip Sync panels did not fallback to the default text field setting in Color Theme in case their individual settings were missing.

Compiler:

  • Fixed a crash caused by meeting certain unicode characters in script (outside of string or character literals).

Engine:

  • When a room state restored from a save has a different number of Room Objects, it will be automatically fixed to match the number of Objects found in the current game's room.
  • Removed error triggered if a Wait or any similar "waiting" command was called in the starting room's "Before fade-in" event. For some reason this error was only shown if it's the first room in the game, which does not make much sense. There's still a warning logged in this circumstance.
  • Fixed magenta color on room background could be treated as transparent when it's a part of a walk-behind (regression in 3.6.2).
  • Fixed switching display modes while running a 16-bit game could lead to current graphical overlays (like character portraits, etc) become corrupted.
  • Fixed engine to not automatically switch from an empty view loop when animating character by command (should only do that when animating walking).
  • Fixed text height calculation did not account for the outline font's size (only for automatic outlining).
  • Fixed standard dialog options surface had excessive height (regression in 3.6.2).
  • Fixed mouse cursor may not get updated after "Before fade-in" event if there was a Display function called in it.
  • Fixed function such as Game.ScanSaveSlots(), ListBox.FillSaveGameList(), and similar, wrongly error when a single-slot range is passed (min slot = max slot).
  • Fixed a potential crash occuring when engine was trying to log a warning in case a invalid font was assigned to a Game's or GUIControl's Font property.
  • Fixed engine overwriting existing translations when duplicate keys are found in the translation file (it should keep the first met translation instead).
  • Fixed engine to not try to translate empty lines. There was a rare error when the translation contained an incorrect entry with empty key line but non-empty translation, in which case engine could display that "translation" anytime any label has empty text.

WinSetup:

  • Fixed "Translation" option always reset to default when starting the setup program.

v4.0.0.19 (AGS 4.0 Alpha 23)

19 Jul 19:31

Choose a tag to compare

Pre-release

Contains all the additions and fixes from 3.6.2 Patch 2 (excepts ones related to backwards compatibility).

Own changes:

Editor:

  • Fixed memory leak occuring when compiling room scripts, which may eventually lead to "out of memory" errors.

Compiler:

  • Compiler checks arguments of text formatting functions where possible, and reports mismatching args during compilation.
  • Fixed a wrong error was reported if a "null" is passed as a const string function parameter.

Script API:

  • Added GameInfo struct that contains meta-information about the game, such as developer's name, developer's URL, version, and so forth.
  • Added VideoPlayer.FrameWidth and FrameHeight properties.
  • Added VideoPlayStyle enum, PlayVideo() now uses VideoPlayStyle as "flags" argument.

Engine:

  • Improved video playback's synchronization between video and audio streams.
  • Fixed engine was closing the game too early while connected Editor is displaying a script error popup, if there was "Watch Variables" pane active at the same time.

v3.6.2 - P2 (3.6.2.12)

19 Jul 02:41

Choose a tag to compare

This is a 3.6.2 Patch 2.

Editor:

  • The multiline Text edit window can now be called for all the "free text" properties in the game, by pressing the "..." button.
  • "Edit Custom Properties" and "Edit property schema" dialogs are now resizable, and remember their size and position.
  • When making a game template Editor will now use an optional "template.files" file, if one is found in the project folder. This file should contain include/exclude filepath patterns, and lets include subfolders into the template too.
  • Fixed Editor application freezing at the Splash screen if any exception occured when starting up. Now it should close itself properly.
  • Fixed "Export sprites" dialog visual style and being cut on Windows 11.
  • Fixed script preprocessor not recognizing macros which begin with a underscore.
  • Fixed that error reports occuring when opening a room had only their first line displayed in a message box, instead of a full error message.
  • Fixed wrongly issued warnings about voice-over filenames not matching selected naming style.
  • Fixed that during a test game run new function names may still be auto-inserted into the object's event property when user clicks on "..." button (or double clicks the gui control), while actual functions won't be added to script, as the script is forbidden from being modified during game test.
  • Fixed that if there was already a function name inserted into a gui control's event property, but actual function not present in script, the function is not created when user double clicks the gui control.

Compiler:

  • Fixed error occuring when processing a global variable which type is an empty struct.

Script API:

  • Fixed default values for save slots range in FillSaveGameList(), RestoreGameDialog() and SaveGameDialog(), they did not match historical behavior of these functions. The default slots range is now 0-99.

Engine:

  • Fixed game refusing to load if a font file is not found, use font 0 as a fallback instead.
    (This restores a historical behavior, but now it works for any font, not only WFNs.)
  • Fixed characters being forcedly moved to a walkable area after a call to FaceLocation() or a similar function.
  • Fixed a single black frame displayed before the video when PlayVideo() is called.
  • Fixed "fade-out" transition could sometimes not play to the end.
  • Fixed mouse cursor and @OVERHOTSPOT@ labels displayed for 1 frame between fade-in and "After fade-in" event, which could cause them flickering unexpectedly if "After fade-in" script contains blocking cutscene.
  • Fixed @OVERHOTSPOT@ labels not redrawing after blocking action ends if the cursor remains over the same hotspot where it was before the action.
  • Fixed game interface could become enabled for a single game frame each time right before the Dialog options are displayed. This could cause e.g. a "normal" cursor or @OVERHOTSPOT@ text to appear for the split second.
  • Fixed gui texts aligned to Bottom or Right had a position mistake in 1 pixel.
  • Fixed slightly broken slider's handle position for thin sliders with very small handle sprites.
  • Fixed SayAt() not being clamped at the screen width (as it was historically).
  • Fixed AudioClip.IsAvailable not working correctly.
  • Fixed sprite cache or texture cache not initializing properly if their size in config is assigned to a too large number. The cache sizes will be now correctly limited to the max possible size available to the current engine build (32-bit or 64-bit).

Compatibility:

  • Corrected a fix for the misaligned text centering on buttons in pre-3.6.0 games (the previous fix introduced in 3.6.2 Patch 1 happened to be breaking some other cases).

WinSetup:

  • If any of the cache sizes in config is set to a value not present in the option lists, the list will be assigned to the nearest matching value, instead of resetting to default.

Templates:

  • Source asset files (sprites) are included along with the template games now.

v4.0.0.18 (AGS 4.0 Alpha 22)

16 Jun 06:49

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

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

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

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

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

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.