github adventuregamestudio/ags v4.0.0.33
v4.0.0.33 (AGS 4.0 Alpha 37)

pre-release3 hours ago

This update contains a all the new features and applicable fixes ported from versions 3.6.3.12 to 3.6.3.16 (except ones related to backwards compatibility).

Own changes:

Common:

  • AGS now integrates SDL_ttf library for rendering TTF fonts. Alfont library is no longer used. FreeType library is updated to the recent version.
  • Deprecated ASCII mode, game scripts and texts must be strictly Unicode now.
  • Deprecated "old key handling" mode.
  • Deprecated old speech file naming setting.
  • Removed limit of inventory items in game (was 300). Inventory items are now counted from index 0.

Editor:

  • Dialogs and dialog scripts are now stored as individual files inside "Dialogs" folder.
  • In Default Setup added "Direct3D 11" to graphics driver selection.
  • In Default Setup added "Linear" graphics filter available for "Software" driver.
  • All objects Description properties, and similar (RealName), are renamed to DisplayName.
  • All objects Name properties are renamed to ScriptName.
  • Added optional ScriptName property to Region, Walkable Area and Walk-behind areas.
  • Editor generates pointer variables for each region, walkable area and walk-behind in the room that have their script name set.
  • When upgrading older projects, the editor will create a dummy inventory item at index 0, in order to fill in the slot, while keeping existing item indexes. It's up to the user to decide what to do with it later (ignore, reuse, delete).
  • Added "Replace font file" context menu command for the font file items.
  • Editor will detect when a font file was modified externally and update opened font and gui previews.
  • Fixed rooms could loose event function assignment when upgrading from certain older versions.
  • Fixed that editor were saving the game project in the new version even if upgrade process had errors or was aborted by user.
  • Fixed editor saving GraphicAnchor values using system locale instead of universal locale, which could lead to inconsistently displayed values or inability to read these values back.
  • Fixed incorrectly reported "unterminated literal" error reported in translations if one of the scripts begins with a comment, containing single or double quote character.
  • Fixed failing test run from the Editor if game's folder has commas in its name.

Compiler:

  • Support "managedbase" keyword that lets declare the ultimate parent of all the managed structs in script. Only one managedbase type can exist. If there's one declared, then all other managed structs automatically inherit it, which is equivalent to declaring them with "extends Type".
  • Allow void functions to have a call to another void function within their "return" command.

Script API:

  • Added Anything struct, which acts as an automatic and implicit parent of all the other managed structs, including user structs.
    In practice this allows to store virtually any managed object in the Anything* variable.
    Anything struct itself has only single readonly property called TypeName which returns the actual name of the type of the current object.
  • Added Joystick.IsAnyButtonDown().
  • All Name properties that were returning object's script name are renamed to ScriptName.
  • All Name properties, and similar (RealName) that were returning human-readable object's description are renamed to DisplayName.
  • All types GetByName() functions are renamed to GetByScriptName().
  • Game.GetLocationName() is renamed to Game.GetDisplayNameAt().
  • Added ScriptName property and GetByScriptName() function to Region, WalkableArea and Walkbehind types.
  • GetLocationType() now returns eLocationInvItem if there's a inventory item under the given coordinates.
  • Added multiple new functions to DrawingSurface: DrawArc(), DrawCircleOutline(), DrawEllipse(), DrawEllipseOutline(), DrawPie(), DrawPieOutline(), DrawRectangleOutline(), DrawTriangleOutline(), FloodFill().

Engine:

  • Support Direct3D 11 graphics driver.
  • Do not fixup GUI's border color if it's 0 while background color is not 0.
  • Fixed potential error occuring when using MotionPath to go path backwards.
  • Fixed GUI.GetAtScreenXY() giving wrong results if GUI had scaling or rotation.
  • Fixed loading a PNG as a dynamic sprite could sometimes load only half of the image pixels.
  • Fixed errors occuring when restoring saves made by certain older engine versions.
  • Fixed potential crash when there's a save made with full data contents and engine reads it while skipping certain parts (if OPT_SAVECOMPONENTSIGNORE is not 0).

Don't miss a new ags release

NewReleases is sending notifications on new releases.