11REVISION HISTORY
22================
33
4- VERSION 3.6.2 - Beta, January 2025
4+ VERSION 3.6.2 - RC, February 2025
55
66Common:
77 - Event handler function are now allowed to be located in any script module.
@@ -19,13 +19,18 @@ Editor:
1919 - Added "Use old-style voice clip naming rule" property in General Settings, it lets to select
2020 whether the game should expect old-style voice clip filenames (4-letter char name followed by
2121 number) or the new one (full char name, followed by a number, separated by a dot).
22+ - GUI selection in settings is now done using drop-down lists which list all eligible GUI types
23+ instead of having user to type GUI number. The setting will be automatically fixed if a GUI
24+ is removed.
2225 - Property Grid now displays Custom Properties right in the main properties list for each item
2326 that supports them.
2427 - Added "WrapText", "TextPaddingHorizontal", "TextPaddingVertical" properties to GUI Button.
2528 - GUI Labels can select full range of Alignment values in their TextAlignment property.
2629 - Added "TurnWhenFacing" property to Characters.
2730 - Textual GUI controls can now select "Null Font" as their font: this will prevent any text to be
2831 drawn even if one is assigned, and make it have zero size (when it matters).
32+ - Property Grid and Room's navigation bar now display object's description along with the script
33+ name on the drop-down list labels.
2934 - "Events" tab on the Properties Grid now has "ScriptModule" selection, which lets define in which
3035 module should the related script functions be generated and looked for. The GUI Controls use
3136 a ScriptModule set in their parent GUI, and Room events always has a fixed room script selected.
@@ -53,18 +58,26 @@ Editor:
5358 - Added a multiline Text edit window for Button and Label controls, that may be called by Ctrl+E,
5459 from context menu, or by pressing "..." button of the Text property in the Properties grid.
5560 - Support reordering folders in Sprite Manager with drag & drop.
61+ - Added "Replace source paths for sprites..." context menu command in Sprite Manager. This command
62+ allows to batch-replace parent folder for all sprite source paths, in case you moved original
63+ files from one folder to another.
5664 - Support importing 32-bit BMP files of extended formats (this support is formal at the moment,
5765 and does not guarantee that any of the extended data will be interpreted).
5866 - Support importing 1-bit (monochrome) and 4-bit images as sprites, room backgrounds and masks
5967 (converted to 8-bit).
68+ - Do not alter or clamp palette for 8-bit sprites imported in a 16/32-bit game.
6069 - Support importing indexed images which palettes contain translucent alpha as sprites with alpha.
6170 - Support importing indexed PNGs as room backgrounds and masks.
62- - Do not alter or clamp palette for 8-bit sprites imported in a 16/32-bit game .
71+ - When the room background size changes, reset room edges to defaults .
6372 - Removed obsolete "Copy walkable area mask to regions" command from the Room editor.
6473 - Improved scrolling of drop-down lists in the Room's navigation bar: made scroll buttons larger,
6574 and support mouse wheel.
6675 - In Room Editor, during any area drawing mode Ctrl + LMB now works as area picker regardless
6776 of the currently selected tool.
77+ - Added "Replace source paths for audio clips..." context menu command for the Audio node.
78+ This command allows to batch-replace parent folder for all clips' source paths, in case you
79+ moved original files from one folder to another.
80+ - Don't restrict compiling a voice-based lipsync if game has a Lucas-Arts style speech.
6881 - Do not delete previously built game exe from Compiled/Windows folder when testing a game
6982 from the editor.
7083 - Editor will now report any missing script functions that are assigned to events, but not
@@ -73,17 +86,22 @@ Editor:
7386 to corresponding events, as warnings when compiling the game.
7487 - Added "/maketemplate" command-line option that tells Editor to run, make template out of the
7588 said game, and quit.
76- - Fixed Editor refusing to open a project if one or more of the sections are missing in the file .
89+ - Fixed Project Explorer refreshing when user changes names or descriptions of room objects .
7790 - Fixed importing indexed PNG as a sprite, previously Editor would mistakenly treat the source
7891 image as 32-bit.
7992 - Fixed importing 8-bit BMP sprites with no "Remap palette" and "Leave As Is" as a transparency
8093 option would still remap palette index 0 to the first found palette entry with Alpha 0,
8194 even if that's a filler entry not used by the image.
8295 - Fixed exporting room backgrounds was always writing a 32-bit image rather than using actual
8396 background's color depth.
97+ - Fixed Autocomplete not giving correct results in case of a long chained access, i.e. something
98+ like "var[0].member.member".
99+ - Fixed Autocomplete giving wrong list of choices for wrong syntax cases like: indexed access of
100+ a type and non-array struct variable, member access of a static array.
84101 - Fixed Button getting resized to the image's size when user cancels different sprite assignment.
85102 - Fixed "Color Finder" and color properties were mapping a color number to RGB values with
86103 accuracy mistakes, resulting in slightly different values than the engine would use.
104+ - Fixed Editor refusing to open a project if one or more of the sections are missing in the file.
87105 - Fixed an unhandled exception occuring when rebuilding rooms if any script's header is missing.
88106 - Fixed a "unterminated string" error in Dialogs was not pointing to the actual error location.
89107 - Fixed double warning message when trying to close the Editor while a game test is running.
@@ -140,6 +158,7 @@ Script API:
140158 of save slot indexes.
141159 - Added Object.DestinationX and DestinationY properties, complementing ones in Character.
142160 - Added Overlay.SetPosition() and SetSize() functions for convenience.
161+ - Added Room.NearestWalkableArea() that returns the nearest found point on a walkable area.
143162 - Added Speech.SpeakingCharacter that returns currently speaking character (for blocking speech).
144163 - Added GetTimerPos() that returns timer's position (remaining time), in ticks.
145164 - Added CopySaveSlot() and MoveSaveSlot(), which moves existing save to another slot.
@@ -181,6 +200,10 @@ Engine:
181200 - Character.FollowCharacter() can now have a distance parameter up to 32766 (was limited to 255).
182201 - Ensure that Character.Speaking returns true when a speech is playing even if the character
183202 has no speech view.
203+ - Character.PlaceOnWalkableArea() now does a 1-pixel step scan, ensuring walkable area will be
204+ found regardless of how small it is. Optimized the search algorithm to keep it fast enough even
205+ in very large rooms.
206+ - Support voice-based lipsync (Pamela, Papagayo) with Lucas-Arts style speech.
184207 - DynamicSprite.CreateFromFile() may now load 1-bit and 4-bit bitmaps, converting to 8-bit.
185208 - Do not alter or clamp palette for 8-bit sprites loaded into a 16/32-bit game at runtime.
186209 - Assigning InventoryItem.Graphic will no longer reassign CursorGraphic too even if they were
@@ -195,14 +218,22 @@ Engine:
195218 - Ensure that the objects with identical z-order (baseline) always keep same relative sort order
196219 when being drawn (note: engine does not guarantee a predefined order, only a persistent one).
197220 - Implemented video buffering on a separate thread. Allow to drop late video frames.
221+ - When mouse is locked in window, confine its position to the game viewport; exclude black border.
222+ - Added "display" config option to "graphics" section. This is a 1-based display index, where
223+ 0 means "use default display".
198224 - Added new accessibility config settings in "access" section: "speechskip", "textskip",
199225 "textreadspeed". These let player to override game's skipping style for character speech and
200226 text messages, and text reading speed parameter that controls speech timing.
201227 - Added "max_save" config option in "override" section: this lets to enforce an arbitrary number
202228 of saves displayed in a standard save/restore dialogs in game.
229+ - Added "--display" command-line argument that lets choose which display to open game window on.
203230 - Added "--no-plugins" command-line argument that denies loading any plugins;
204231 also added respective config option "noplugins" in "override" section.
232+ - Fixed Software renderer being unable to restore a windowed mode on certain monitors,
233+ when switching from a real fullscreen mode.
205234 - Fixed character may get stuck inside a non-walkable area after Character.WalkStraight().
235+ - Fixed Lucas-Arts style character speech displaying offscreen if character is standing below the
236+ bottom of a room viewport.
206237 - Fixed calling Dialog.Start() inside a dialog script would create a nested "dialog state",
207238 which could eventually lead to internal mistakes and program stack overflow. Dialog.Start()
208239 will now schedule a proper dialog topic switch, equivalent to "goto-dialog" command.
@@ -213,6 +244,9 @@ Engine:
213244 the sound playback is looped.
214245
215246Engine Plugin API:
247+ - Updated few callback and function prototypes in order to make them 64-bit compatible
248+ (allow pass and receive pointers). This includes AGS_EngineOnEvent for AGSE_TRANSLATETEXT
249+ and render stage events, and CallGameScriptFunction which now lets pass a const char* argument.
216250 - Added IAGSEngine.CreateDynamicArray(), which lets plugins to create dynamic arrays.
217251 - Added IAGSEngine.GetDynamicArrayLength() and IAGSEngine.GetDynamicArraySize(), which tell
218252 the passed array object's number of elements, and total size in bytes respectively.
@@ -233,6 +267,7 @@ WinSetup:
233267 - Redesigned winsetup into a tabbed dialog.
234268 - Added "Reset To Defaults" button that resets all options to values from the game's default
235269 config file.
270+ - Added "Display" selection, allows to select which display to open the game window on.
236271 - Added "Accessibility" settings for skipping speech and text messages, for text reading speed.
237272 - In "disabled" section of config "access_skipstyle" setting lets disable all options in setup
238273 related to the speech and text skipping.
0 commit comments