Repository navigation
Releases
v4.0.0.33 (AGS 4.0 Alpha 37)
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).
v4.0.0.31 (AGS 4.0 Alpha 35)
This is mostly a bug fixing update. Most fixes are shared with 3.6.3 version.
Editor:
- Added FontFiles list to IGame interface (available to plugins).
- Fixed currently edited room gets closed when the game compilation is run.
- Fixed potential crash in the Character pane if character's view has loop 0 with no frames.
- Fixed editor not reacting to room's scripts modified externally while it's opened for editing.
- Fixed "Exclude script function calls from translation" setting not working as expected in some cases.
- Fixed autocomplete crashing if there's an unclosed string literal in script.
- Fixed Labels and InventoryItems to have BorderWidth initialized as 0 instead of 1 when upgrading older games.
- Fixed TextOutlineColor in gui controls not being converted to 32-bit value properly when upgrading older games.
Compiler (old):
- Fix parsing of struct's forward declaration.
- Fixed line numbering in script files with UNIX line endings (LF).
Engine:
- Added "debug_pathfind_key" and "debug_walkable_key" config options to "override" section, that let define keys for toggling debug overlays for pathfinder and walkable areas respectively.
- Reduced logging of certain things set in game, when this doesn't result in actual change.
- Fixed WFN fonts were multiplying character spacing by SizeMultipler when rendering text (they should not).
- Fixed gui controls were changing their effective padding when border gets toggled between shown or hidden, causing unexpected text shifts.
- Fixed inconsistent Slider handle position, introduced by a incorrect slider fix in the previous patches. The slider looks should now be synced with 3.6.0 (and higher versions).
- Fixed potential crash when GUI.BackgroundGraphic is assigned a non-existent sprite (regression).
- Fixed TextBoxes placing cursor too far away from text (regression).
- Fixed Character.SayAt() function not centering the speech text when negative position parameters are passed.
- Fixed pathfinder's debug overlay toggling off logic.
- Fixed NumPad keys in "old keyhandle mode" triggering both digit and arrow key events when NumLock is on.
- Fixed incorrect dot position in numbered dialog options in right-to-left mode.
- Fixed black (RGB 0,0,0) region tint value turning into the maximal light level instead.
- Fixed loading of 1-, 4- and 8-bit BMP files which width is not multiple of 4.
- Fixed Software renderer not clearing surface after the room viewport is moved around screen.
- Fixed Software renderer displaying room viewport incorrectly if it's moved partially offscreen.
- Fixed FadeOut(0) causing transition to halt indefinitely when running with Software renderer.
- Fixed that the new room is not drawn immediately with Crossfade and Dissolve transition, but only after "Before fade in" event callback completes.
v3.6.3.16 - RC5
This is 3.6.3 RC5.
Editor:
- Editor's setting "Popup message on compile" will be applied when saving rooms too (but never shown on pure success).
- In Editor Preferences added "Show Output panel on Compile" which configures on which events would Output panel be shown automatically.
- When Editor is run with /compile or /maketemplate parameter from command line, it will save the project file before running game compilation. This is done to avoid potential project data desync if any of the project files require upgrade to the new version.
- Handle loading a project where object lists have gaps in numeric IDs, or duplicate IDs. For each missing ID a "filler" object of respective type will be added to the game. The objects with duplicate IDs will be assigned the first free ID. This lets to keep editor and game logic execute properly. The users will have a opportunity to decide what to do with affected objects after the project is loaded.
- Made color properties expand to Number and RGB readonly fields to let user see both representations, and copy particular ones.
- Fixed "Compile all" context menu command was enabled at Translations node even if there are no Translations.
- Fixed OutputPanel which was using 8-bit message icons instead of 32-bit ones.
- Fixed Output panel was automatically popping up when the Room gets saved.
- Fixed currently edited room was closed when renaming custom properties, although there's no need to.
- Fixed "Exclude script function calls from translation" setting not working as expected in some cases.
Compiler:
- Fixed line numbering in script files with UNIX line endings (LF).
Script API:
- Added Character.LoseInventoryAt() function that removes an item at the given index in the character's inventory. This also lets remove particular instance in case character owns duplicates of the same inventory item.
- Added ListBox.RowHeight readonly property.
- Overlay.CreateTextual() and SetText() functions now enforce "text color" parameter in all cases, including when overlay is using textwindow gui for background. (Previously the textwindow gui would override text color.)
- Overlay.CreateTextual() and SetText() functions now will treat negative "width" parameter value as "auto-size", and will find the best match for the overlay's width between 3/4 of the screen and the longest text's line (after wrapping).
- Added String.Reverse().
- Region.Tint() no longer remaps amount value 0 to 100, amount 0 will reset the tint instead.
Engine:
- Do not start blocking animation or movement for a disabled Character or Object. This could lead to infinite game freeze, as neither animation or movement are updated if the object is disabled, and since the action is blocking, it will wait in a loop forever.
- DialogOptionsRenderingInfo.Surface will now return null at all times except when inside the dialog_options_render callback, thus behave as expected and according to the AGS documentation. (When running pre-3.6.3 games it will return valid surface for backwards compatibility.)
- Added "debug_pathfind_key" and "debug_walkable_key" config options to "override" section, that let define keys for toggling debug overlays for pathfinder and walkable areas respectively.
- Don't quit with error when any Overlay's function is called for a non-existing overlay, log a warning instead.
- Global messages and Room messages now properly support unicode texts (in case of translations).
- Add [WARN] and [ERROR] labels to the game warning and errors messages printed into the log.
- Reduced logging of certain things set in game, when this doesn't result in actual change.
- Fixed gui controls were changing their effective padding when border gets toggled between shown or hidden, causing unexpected text shifts.
- Fixed inconsistent Slider handle position, introduced by a incorrect slider fix in the previous patches. The slider looks should now be synced with 3.6.0 (and higher versions).
- Fixed black (RGB 0,0,0) region tint value turning into the maximal light level instead.
- Fixed FadeOut(0) causing transition to halt indefinitely when running with Software renderer.
- Fixed that the new room is not drawn immediately with Crossfade and Dissolve transition, but only after "Before fade in" event callback completes.
- Fixed pathfinder's debug overlay toggling off logic.
- Fixed pathfinder's debug overlay scaling in "upscaled" old games.
- Fixed NumPad keys in "old keyhandle mode" triggering both digit and arrow key events when NumLock is on.
- Fixed printing of global and room messages (regression since previous RC).
- Fixed potential crash when GUI.BackgroundGraphic is assigned a non-existent sprite (regression since 3.6.3 Beta).
- Fixed TextBoxes placing cursor too far away from text (regression since 3.6.3 Beta).
- Fixed a old-style InventoryWindow gui not working (regression since 3.6.3 Beta).
- Fixed incorrect dot position in numbered dialog options in right-to-left mode.
- Fixed default TextBoxKeyClaimStyle's behavior: it was meant to let many keys which do not represent a printable character to pass through.
- Fixed current dialog not stopping automatically if no more enabled options left (regression since previous RC).
- Fixed loading of 1-, 4- and 8-bit BMP files which width is not multiple of 4.
- Fixed Software renderer not clearing surface after the room viewport is moved around screen.
- Fixed Software renderer displaying room viewport incorrectly if it's moved partially offscreen.
- Fixed Debug(0) ("give all inventory") cheat reducing larger inventory item quantity to 1.
- Fixed formatting mistakes in some game log messages.
Compatibility:
- In pre-2.62 games let clicks interact with characters and objects under walk-behinds.
- In 3.5.0 - 3.6.2 games have ListBox item rows ignore border width (may result in +1 row).
- In pre-2.61 games always reset player character to normal view after speech.
- Implemented accidental return value for MoveCharacter(), because some old games actually test it (even though the function is declared as "void").
- Allow old games to "abuse" DynamicSprite.Crop() passing invalid crop coordinates.
- Don't update mouse properties in script during blocking actions in pre-2.7 games.
- Changed "attempt to write in readonly variable" from error back to warning, as many pre-3.x games seem to assign them by mistake.
- Fixed SetTextOverlay()'s coordinates in old high-res games.
- Fixed pathfinding not working running an old game in low-res mode but it's room is high-res.
- Fixed "upscale" mode not automatically applied whenever old game's native resolution is set as "default".
- Fixed gui control's border width becoming x4 as large instead of x2 in the old high-res games.
- Fixed slider handle visual position in pre-3.6.0 games.
- Fixed that script's name may not be mentioned when reporting an error or a warning when running pre-2.72 games.
- Fixed that certain 16-bit sprites, which were never intended to show up, appear as text window borders in pre-3.6.2 32-bit games. This happens when these sprites are assigned as borders by mistake.
- Fixed legacy pathfinder's regression, which can lead to chararacter not being to arrive at certain area (happens when running old games).
- Fixed potentially incorrect starting position of characters in rooms in pre-3.6.2 games, related to the use of "Character.PlaceOnWalkableArea".
- Fixed using old-style character name reference (
character[N].name) in string formatting. - Fixed backwards compatible "Lucas-Fan" font fixup not working (regression since previous RC).
v3.6.2 - P12 (3.6.2.22)
This is a 3.6.2 Patch 12.
Editor:
- Editor's setting "Popup message on compile" will be applied when saving rooms too.
- Fixed Project Tree and View Selection tree controls flickering when being hovered over by a mouse cursor.
- Fixed Editor crashing on launch when there's a game with a very long name present in "Recent Games" list.
- Fixed autocomplete crashing if there's an unclosed string literal in script.
- Fixed script editor hanging forever when there's a "]" character typed right at the beginning of a new line.
Compiler:
- Fixed forward struct declarations. They could cause obscure mistakes sometimes.
- Fixed line numbering in script files with UNIX line endings (LF).
Engine:
- Do not start blocking animation or movement for a disabled Character or Object.
This could lead to infinite game freeze, as neither animation or movement are updated if the object is disabled, and since the action is blocking, it will wait in a loop forever. - Fixed Buttons switching to their "MouseOver" graphic when mouse cursor hovers them, even though their parent GUI is overlayed by another, clickable GUI.
- Fixed inconsistent Slider handle position, introduced by a incorrect slider fix in the previous patches. The slider looks should now be synced with 3.6.0 (and higher versions).
- Fixed a Room applying special view for the player character did not adjust the loop to be within a valid range.
- Fixed loop range limit used when selecting a suitable loop after changing to another normal view or unlocking a temporary view. Previously, it seems, it used full range of loops in the current normal view, now it should use only first 4 or 8 standard standing loops (depending on "use diagonal loops" setting).
- Fixed potential crash which could occur if script is trying to access certain Room Object's properties via 'object[]' array in a Room that has no objects or does not have this specific object.
- Fixed that after restoring a save with less number of objects (of any type), accessing these objects in script would lead to a script error.
- Fixed that the new room is not drawn immediately with Crossfade and Dissolve transition, but only after "Before fade in" event callback completes.
- Fixed loading of 1-, 4- and 8-bit BMP files which width is not multiple of 4.
- Fixed Software renderer not clearing surface after the room viewport is moved around screen.
- Fixed Software renderer displaying room viewport incorrectly if it's moved partially offscreen.
- Fixed Debug(0) ("give all inventory") cheat reducing larger inventory item quantity to 1.
- Fixed formatting mistakes in some game log messages.
Compatibility:
- Global messages and Room messages now properly support unicode texts (in case of translations).
- Fixed slider handle visual position in pre-3.6.0 games.
- Fixed legacy pathfinder's regression, which can lead to chararacter not being to arrive at certain area (happens when running old games).
v3.6.1 - P14 (3.6.1.36)
Editor:
- Fixed script editor hanging forever when there's a "]" character typed right at the beginning of a new line.
Compiler:
- Fixed forward struct declarations. They could cause obscure mistakes sometimes.
Engine:
- Fixed ListBox.FillDirList() and File.GetFiles() not finding any files if request was made to search right in the game's directory. (Regression in 3.6.1)
- Fixed inconsistent Slider handle position, introduced by a incorrect slider fix in the previous patches (Patch 12/13). The slider looks should now be synced with 3.6.0 (and higher versions).
- Fixed "give all inventory" debug cheat reducing larger inventory item quantity to 1.
- Fixed Software renderer not clearing surface after the room viewport is moved around screen.
- Fixed Software renderer displaying room viewport incorrectly if it's moved partially offscreen.
- Fixed 48khz OGG clips may have extra silence added to them in the end, causing "hickups" when the sound playback is looped.
- Fixed particular rare OGG Vorbis clips not playing.
- Fixed another rare case when a WAV file can get stuck in the end of the playback forever.
Compatibility:
- Fixed slider handle visual position in pre-3.6.0 games.
v3.6.3.15 - RC4
This is 3.6.3 RC4.
Common:
- Rooms now save their background images using max Deflate compression.
Editor:
- In General Settings added "Custom error text" setting that lets assign a custom message text which is displayed when the running game quits with error (this works with normal errors only, not "unhandled exception" crashes).
- Fixed that a message box is shown on successful save/compile even if preferences say "show only if warning/error" or "never". (Regression since the last RC)
Compiler:
- Fixed forward struct declarations. They could cause obscure mistakes sometimes.
Engine:
- Dialog.Start() and StartOption() commands now allow to restart same dialog, when called from its own script. In this case Dialog.Start() results in replaying the dialog's starting section. goto-dialog has the same effect (if same dialog's number is used).
- If game has "Custom error text" set, the engine will now display this text when quitting with error popup, instead of using standard message. (The error specifics will still be displayed as usual, including script location and other details.)
- Fixed Buttons switching to their "MouseOver" graphic when mouse cursor hovers them, even though their parent GUI is overlayed by another, clickable GUI.
- Fixed Character and Object Animate() command were starting animation even if object is disabled. This could lead to infinite game freeze if the Animate() was called with eBlock parameter.
- Fixed that after restoring a save with less number of objects (of any type), accessing these objects in script would lead to a script error.
- Fixed SizeMultiplier font's parameter lost value when assigning font overrides from translation. (Regression since the last RC)
v3.6.3.14 - RC3
This is 3.6.3 RC3.
Common:
- Increased max number of Room Backgrounds to 256 per room (was 5).
Editor:
- Added HotspotAlignment property to InventoryItems. The HotspotX,Y properties now define the offset relative to the aligned position.
- Added "Compile all" command to the Translations node context menu.
- Editor's setting "Popup message on compile" will be applied when saving rooms too.
- Translation font overrides now also allow to apply new properties over certain existing game font, besides specifying a font file.
- Fixed GUI update when upgrading a game made in previous versions: buttons with no graphic and no text were supposed to be not drawn, we emulate that by turning their background and border off using new properties.
- Fixed Inventory items update when upgrading a game made in previous versions: item's cursor hotspot 0,0 is supposed to have be centered in the graphic.
- Fixed autocomplete crashing if there's an unclosed string literal in script.
- Fixed autocomplete registering non-existing variables if a string literal contained a variable declaration syntax as a part of a string.
- Fixed script editor hanging forever when there's a "]" character typed right at the beginning of a new line.
- Fixed that Editor would recompile all rooms over again whenever a project was just upgraded from the new version, and any errors were found in script(s) during game recompilation. Now it will only recompile those rooms which were either modified or not compiled yet.
Script API:
- Added new game-wide option OPT_DIALOGOPTIONSDRAWMODE that lets explicitly select dialog options looks between default or custom rendered mode. This option uses DialogOptionsDrawMode enum.
- Added DialogOptions.DrawMode property and DialogOptionsDrawMode enum.
- Added InventoryItem.CursorHotspotAlignment property.
Engine:
- 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.
- Added "no_textprop_autotranslate" config option into "override_behavior" section (do not translate the GUI text property values).
- Engine now defines certain mistakes in script function use as "serious mistake" (such as trying to call a function for a non-existing object). When such mistake is met, engine will only print a message to the log if the game was compiled in Release mode, or quit the game with a error popup if the game was compiled in Debug mode. The former is done to let player continue playing the game despite the error, while the latter brings immediate attention of the game developer.
- Fixed a Room applying special view for the player character did not adjust the loop to be within a valid range.
- Fixed Debug(0) script command that gives all inventory items reducing inventory quantity to 1. Now it should keep whatever amount player character have had, if it's higher than 1.
- Fixed potential crash which could occur if script is trying to access certain Room Object's properties via 'object[]' array in a Room that has no objects or does not have this specific object.
- Fixed potential crash which could occur when running pre-3.6.0 games and trying to display a label with text using a font which was not loaded for any reason.
- Fixed the speech text alignment getting modified by translation's "text direction" setting even when it's initially centered (should only be affected by translation when left or right aligned).
- Fixed that when character's walking loop is adjusted into the valid range, the character with diagonal loops will be restricted to first 8 loops (was not restricted correctly previously). This is a complementary fix to a earlier fix in 3.6.3 RC2.
v4.0.0.30 (AGS 4.0 Alpha 34)
This is mostly a bug fixing update. Many fixes are shared with 3.6.3 version.
Editor:
- In GUI Editor new Labels will be created non-Clickable by default. Historically engine would unconditionally disable all Labels on game startup, hence overriding project settings. Now this property is fully under user's control. (Older projects will have Labels disabled on import.)
- Room Editor supports Del key for deleting objects.
- Made it so that in Log Panel's config Output and Filter settings are synced: when user decreases any Output level the respective Filter level will be adjusted to be not higher than that, and when user increases any Filter level the respective Output level will be adjusted to be not lower than that.
- Made it so that when Editor recreates a spritefile from sources, it would also created a new sprite index file (sprindex.dat).
- Editor's setting "Popup message on compile" will be applied when saving rooms too.
- Fixed Editor crashing on launch when there's a game with a very long name present in "Recent Games" list.
- Fixed window may appear offscreen on program launch if number of active monitors have changed since the previous session.
- Fixed upgrading inventory item's hotspot property in older games: hotspot 0,0 should be converted to a hotspot centered in item's cursor graphic.
- Fixed upgrading buttons with no text and no graphic in older games: they were supposed to be not drawn in previous versions, so when updating to the current version they will have their SolidBackground and ShowBorder properties set to false.
- Fixed Project Tree and View Selection tree controls flickering when being hovered over by a mouse cursor.
- Fixed Custom Properties loosing their "applies to" setting under some circumstances.
- Fixed incorrect view's preview behavior on the Character pane.
- Fixed a potential crash occuring after removing a linked function from the Character's event table, and rebuilding the game.
- Fixed that if a room was loaded for editing, its recent script changes would not be included when compiling the game.
- Fixed Room's navigation bar to not close the dropdown list whenever the mouse cursor hovers another item on the horizontal list.
- Fixed clicking on a room background when in the "Character" or "Object" mode does not select the Room in the property grid.
- Fixed missing comments for Type.GetByName() script functions.
- Fixed autocomplete in script not processing indexed attributes properly.
- Fixed autocomplete crashing if there's an unclosed string literal in script.
- Fixed autocomplete registering non-existing variables if a string literal contained a variable declaration syntax as a part of a string.
- Fixed script editor hanging forever when there's a "]" character typed right at the beginning of a new line.
- Fixed Editor compiling a Web/Emscripten game build generated a faulty "my_game_files.js" if the game's filename contains single quote marks (apostrophes). This mistake would result in game not being able to launch in the browser.
- Fixed that Editor would recompile all rooms over again whenever a project was just upgraded from the new version, and any errors were found in script(s) during game recompilation. Now it will only recompile those rooms which were either modified or not compiled yet.
- Fixed automatic game build on /compile exiting the program with a error code if there were only script warnings.
- Fixed AudioCache and Speech files were not included when creating a template from the game, or performing a backup during older game's upgrade.
Compiler:
- Fixed crash that could occur when analyzing function with string formatting for mistakes, if it does not have enough arguments.
Engine:
- Dont unconditionally disable all Labels (setting them non-clickable) on game start. Keep the property value from the editor instead.
- Game.SimulateKeyPress() now supports composite key codes, such as eKeyCtrlA, and simulates two key presses in this case (regular and mod key).
- Loading translation in game will also switch speech text's and dialog option's alignment setting depending on the translation's text direction setting (LTR or RTL), unless the option is assigned a "center" alignment.
- Write dialog option text into saves only if it was changed in script. This allows to modify the option texts in game and not have this update lost when an older save is restored.
- Fixed mouse cursor's starting position to be in the center of the actual game's resolution, and not at (160, 100) as if it's always 320x200.
- Fixed speech skip key setting not working properly if it's assigned any letter key.
- Fixed joystick button presses not always registering.
- Fixed "Speech.SkipKey" property used with gamepad buttons (could prevent gamepad from skipping speech completely).
- Fixed translation's font override not being parsed in certain case.
- Fixed crash occuring when a font override from translation is referencing a wrong base font.
- Fixed a Room applying special view for the player character did not adjust the loop to be within a valid range.
- Fixed loop range limit used when selecting a suitable loop after changing to another normal view or unlocking a temporary view. Previously, it seems, it used full range of loops in the current
normal view, now it should use only first 4 or 8 standard standing loops (depending on "use diagonal loops" setting). - Fixed audio queue being reset when restoring a save.
v3.6.3.13 - RC2
This is 3.6.3 RC2.
Contains all fixes from 3.6.2 Patch 11.
Own changes:
Editor:
- Throughout the Editor context menus now can be opened with "Menu" key on your keyboard, as well as Shift+F10 combination.
- Fixed Editor crashing on launch when there's a game with a very long name present in "Recent Games" list.
- Fixed Room's navigation bar to not close the dropdown list whenever the mouse cursor hovers another item on the horizontal list.
- Fixed Project Tree and View Selection tree controls flickering when being hovered over by a mouse cursor.
- Fixed incorrect view's preview behavior on the Character pane.
Script API:
- Added "HitTestOptions" parameter to Game.GetLocationName() and GetLocationType() functions.
- Added Added Character.Turning readonly property that tells whether character is currently turning.
- For Game.SimulateKeyPress() added optional "mod" parameter that lets specify modifier keys simulated alongside the main key.
- Added Mouse.Enabled property that lets completely disable mouse input in the game.
- Added Speech.AlwaysWaitForText property that forces speech text to remain on screen until its "read time" has passed in text+voice mode.
- Added Speech.OverlayZOrder property that sets default z-order value for all the future blocking speech overlays (text & portrait).
Engine:
- Loading translation in game will also switch speech text's and dialog option's alignment setting depending on the translation's text direction setting (LTR or RTL).
- Write dialog option text into saves only if it was changed in script. This allows to modify the option texts in game and not have this update lost when an older save is restored.
- Added "alwayswaittext" and "speechmode" config options to "access" (accessibility) section.
- Renamed "dialog_opt_text_direction" config option to "dialog_opt_text_alignment" (found in "overrride_behavior" section).
- Fixed translation's font override not being parsed in certain case.
- Fixed crash occuring when a font override from translation is referencing a wrong base font.
- Fixed positioning of the right-aligned dialog options.
- Fixed incorrect reading of old-style dialog lines in old games.
- Fixed loop range limit used when selecting a suitable loop after changing to another normal view or unlocking a temporary view. Previously, it seems, it used full range of loops in the current normal view, now it should use only first 4 or 8 standard standing loops (depending on "use diagonal loops" setting).
- Fixed audio queue being reset when restoring a save.
WinSetup:
- Added "Speech mode" and "Always wait for text" options to "Accessibility" tab.
v3.6.2 - P11 (3.6.2.21)
This is a 3.6.2 Patch 11.
Editor:
- Room Editor supports Del key for deleting objects.
- Fix clicking on a room background when in the "Character" or "Object" mode does not select the Room in the property grid.
Engine:
- Game.SimulateKeyPress() now supports composite key codes, such as eKeyCtrlA, and simulates two key presses in this case (regular and mod key).
- Fixed key + mod combinations are not passed into the "on_key_press" callback properly when in the "new" key handling mode (regression since the last patch).
- Fixed couple of mistakes in a smooth walk transition, introduced by the previous patch.