Skip to content

Commit 91f6451

Browse files
committed
Changes.txt: merge 3.6.2 changelog in
1 parent 6a42132 commit 91f6451

File tree

1 file changed

+130
-73
lines changed

1 file changed

+130
-73
lines changed

Changes.txt

Lines changed: 130 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -25,57 +25,23 @@ Editor:
2525
compiler for your game (see list of changes in related section below).
2626
- Added Custom Properties for: Audio Clips, Dialogs, GUI, GUI Controls, Regions, Walkable Areas.
2727
- Added Enabled and Visible properties to Characters, Enabled property to Room Objects.
28-
- Added TurnWhenFacing property to Characters.
2928
- Added BlendMode property to Characters, GUI and Room Objects.
3029
- Added FaceDirectionRatio property to General Settings, Room and Walkable Areas.
3130
- Added readonly Length property to AudioClips, for the reference.
32-
- Textual GUI controls can now select "Null Font" as their font: this will prevent any text to be
33-
drawn even if one is assigned, and make it have zero size (when it matters).
3431
- Implemented "Watch Variables" panel which lets to watch values of the selected script variables
3532
while running the game. This feature is working only if game is built in Debug mode.
36-
- Added "Open Recent" submenu in the File menu.
37-
- Sync script editor's commands in Edit menu with the context menu.
38-
- Added "Toggle Line Comment" command to Edit menu for scripts.
3933
- Added "Word Wrap" command to Edit menu for scripts.
4034
- General panel look enhancements.
41-
- More panes in the Editor are DPI-aware (rescale well with the system font scaling).
4235
- Support built-in Base Color Themes that have the custom themes applied over them.
4336
- Game template selection now displays template's description right in the dialog.
4437
- F2 is now a hotkey for editing labels in the Project Tree. "Game statistics" are now displayed
4538
by Ctrl + F2.
46-
- Editor tabs now display icons indicating their contents (may be disabled in Editor Preferences).
47-
- Room panel tabs now display room names.
48-
- Editor will now remember certain window states: "Sprite selector" window and splitter position,
49-
splitter position in "Sprite manager".
50-
- Support reordering folders in Project Explorer with drag & drop.
51-
- Support importing plain script files: ash, asc or both, - besides script modules (*.scm).
52-
- Added "Controls transparency" slider to GUI edit pane.
53-
- Copy, paste and delete commands now apply to all the selected GUI controls in GUI editor.
54-
- Support editing group properties for selected GUI controls.
55-
- Support to import and keep sprites as explicitly 8-bit images without converting to the game's
56-
default color depth. This lets to have chosen sprites used as 8-bit masks in a 16/32-bit game.
57-
- Support importing 1-bit (monochrome) and 4-bit images as sprites, room backgrounds and masks
58-
(converted to 8-bit).
59-
- Do not alter or clamp palette for 8-bit sprites imported in a 16/32-bit game.
39+
- Support importing and keeping sprites as explicitly 8-bit images without converting to the
40+
game's default color depth. This lets to have chosen sprites used as 8-bit masks in a 16/32-bit
41+
game.
6042
- When importing room backgrounds of a different size Editor will now let user decide whether
6143
to reset, keep or rescale room masks.
62-
- Removed obsolete "Copy walkable area mask to regions" command from the Room editor.
63-
- Improved scrolling of drop-down lists in the Room's navigation bar: made scroll buttons larger,
64-
and support mouse wheel.
65-
- Do not delete previously built game exe from Compiled/Windows folder when testing a game
66-
from the editor.
67-
- Added "/maketemplate" command-line option that tells Editor to run, make template out of the
68-
said game, and quit.
69-
- Fixed Editor refusing to open a project if one or more of the sections are missing in the file.
70-
- Fixed importing indexed PNG as a sprite would mistakenly treat the source image as 32-bit.
71-
- Fixed importing 8-bit BMP sprites with no "Remap palette" and "Leave As Is" as a transparency
72-
option would still remap palette index 0 to the first found palette entry with Alpha 0,
73-
even if that's a filler entry not used by the image.
74-
- Fixed exporting room backgrounds was always writing a 32-bit image rather than using actual
75-
background's color depth.
7644
- Fixed faulty double-click on project items in case user dragged the cursor away.
77-
- Fixed an unhandled exception occuring when rebuilding rooms if any script's header is missing.
78-
- Fixed double warning message when trying to close the Editor while a game test is running.
7945

8046
Compiler:
8147
- The new extended script compiler is available. Almost all of the new Scripting features are
@@ -131,9 +97,6 @@ Script API:
13197
"space", and returns them as an array of Points.
13298
- Added MaskPathfinder struct, which lets to initialize a Pathfinder using a 8-bit sprite
13399
serving as a navigation mask.
134-
- Added eNullFont constant that lets assign or pass a "null font" to any property or function
135-
parameter which expects a font's ID. This "null font" will simply make any text not drawn
136-
and have no actual measurements (size, spacing, etc).
137100
- Added global events: eEventDialogStart, eEventDialogStop, eEventDialogRun,
138101
eEventDialogOptionsOpen, eEventDialogOptionsClose (these are handled in "on_event").
139102
- Added Custom Properties interface to types: AudioClip, Dialog, GUI, GUIControl, Region,
@@ -148,56 +111,34 @@ Script API:
148111
Overlay.Rotation.
149112
- Added Game.FaceDirectionRatio, Room.FaceDirectionRatio, WalkableArea.FaceDirectionRatio
150113
and Character.FaceDirectionRatio.
151-
- Added Character.TurnWhenFacing property.
152114
- Added Character.MovePath() and WalkPath(), which makes character to move along an arbitrary
153115
list of coordinates, and Character.GetPath() that returns current character's walking path.
154116
- Added Object.MovePath() and Object.GetPath() functions, that work similar to Character's.
155-
- Added Character.MoveStraight() complementing WalkStraight().
156117
- Added static Dialog.CurrentDialog property and non-static ExecutedOption and AreOptionsDisplayed
157118
properties.
158119
- Added ColorFormat enum, and optional "color_format" parameter to DynamicSprite's functions:
159120
Create(), CreateFromBackground(), CreateFromDrawingSurface(), CreateFromExistingSprite()
160121
and CreateFromFile().
161-
- Added RenderLayer enum, and optional "layers" parameter to DynamicSprite.CreateFromScreenShot(),
162-
that tells which of the game's render layers to capture when making a screenshot.
163122
- Added DrawingSurface.BlendImage() and DrawingSurface.BlendSurface() functions.
164123
- Added readonly DrawingSurface.ColorDepth property.
165124
- Added readonly Game.SpriteColorDepth[] indexed property.
166125
- Added GUI.ScaleX and ScaleY properties, GUI.SetScale() function.
167126
- Added GUI.GUIToScreenPoint() and GUI.ScreenToGUIPoint() functions.
168127
- Added File.Rename().
169-
- ListBox.FillSaveGameList(), RestoreGameDialog() and SaveGameDialog() now let define a range
170-
of save slots for display.
171128
- Added Overlay.SetPosition() and SetSize() functions for convenience.
172129
- Added Overlay.Tint(), SetLightLevel() and RemoveTint() functions, Overlay.HasTint,
173130
HasLightLevel, LightLevel, TintBlue, TintGreen, TintRed, TintSaturation, TintLuminance
174131
properties, matching Character and Object tinting functionality.
175132
- Added Room.PathFinder property that returns a Pathfinder object, searching paths over this
176133
room's walkable areas.
177-
- Added Speech.SpeakingCharacter that returns currently speaking character (for blocking speech).
178134
- Added StringSplitOptions enum, String.Join(), String.Split() and String.Trim() functions.
179135
- Expanded String.IndexOf() with new parameters: "StringCompareStyle", "index" and "count".
180-
- Added MoveSaveSlot() which renames a savegame.
181-
- Added optional "sprite" parameter to SaveGameSlot(), that lets to pass a number of an arbitrary
182-
sprite to write into this save instead of a standard "screenshot".
183-
- Added System.GetEngineInteger() and System.GetEngineString() for returning diagnostic
184-
information about engine's runtime state. Possible arguments are defined by
185-
EngineValueID enum.
186-
- Added new game-wide option OPT_SAVEGAMESCREENSHOTLAYER that lets to define which of the game's
187-
render layers will be captured when making a standard screenshot for the save game.
188-
- Expanded `on_mouse_click` callback, now supports two more parameters: click x,y coordinates.
189136
- Added "walkarea[]" and "walkbehind[]" global arrays.
190137
- Global generated game objects (Characters, GUIs, etc), and global arrays of these objects
191138
(character[], object[], gui[], etc) are now declared as object *pointers* and arrays of
192139
pointers respectively. From the user's perspective this is a mere formality, as working with
193140
these variables and arrays will be syntactically same, but this makes it easier for the engine
194141
to handle them and objects internally.
195-
- Overlay.X and Y properties of textual screen overlays, such as blocking speech, now treat
196-
assigned values correctly as screen coordinates and return values set by user consistently.
197-
They also return the assigned values without any offsets for textual overlays created using
198-
a TextWindow (having extra borders and padding).
199-
- All the area-related GetAtScreenXY functions (for Hotspot, Region, Walkbehind and WalkableArea)
200-
now return a null pointer if no room viewport is found under given coordinates.
201142
- Removed "hasAlphaChannel" param from DynamicSprite.Create() and CreateFromExistingSprite().
202143
- Removed HasAlphaChannel property from DialogOptionsRenderingInfo.
203144
- Removed "transparent" param from Overlay.CreateGraphical() and CreateRoomGraphical().
@@ -212,33 +153,149 @@ Engine:
212153
- Animated buttons now display flipped frames correctly.
213154
- AudioChannel.Position and PositionMs no longer return a very large value while skipping
214155
cutscene.
156+
- Overlay.X and Y properties of textual screen overlays, such as blocking speech, now treat
157+
assigned values correctly as screen coordinates and return values set by user consistently.
158+
They also return the assigned values without any offsets for textual overlays created using
159+
a TextWindow (having extra borders and padding).
160+
- All the area-related GetAtScreenXY functions (for Hotspot, Region, Walkbehind and WalkableArea)
161+
now return a null pointer if no room viewport is found under given coordinates.
162+
- GetTextHeight() no longer reduces "width" parameter by -1. This was an ancient mistake in
163+
the engine kept for many years for backwards compatibility.
164+
- Both blocking and non-blocking videos are buffered and played on a separate thread.
165+
- Added FLAC support for music, speech and sound effects.
166+
- Added "--print-rtti" command line option which prints script RTTI table to the log.
167+
(RTTI stands for "runtime type information", and is used for handling of certain advanced
168+
script features, such as nested managed structs.)
169+
170+
171+
===================================================================================================
172+
173+
VERSION 3.6.2 - Beta
174+
175+
Common:
176+
- Event handler function are now allowed to be located in any script module.
177+
- New naming rule for the voice clips: full char name, followed by a number, separated by a dot,
178+
e.g. "RogerTheGreat.1234.ogg". The old rule may be enabled again by a switch in "Backwards
179+
Compatibility" settings.
180+
181+
Editor:
182+
- In General Settings added "Use old-style voice clip naming rule" which lets to select whether
183+
the game should expect old-style voice clip filenames (4-letter char name followed by number)
184+
or the new one (full char name, followed by a number, separated by a dot).
185+
- Added "TurnWhenFacing" property to Characters.
186+
- Textual GUI controls can now select "Null Font" as their font: this will prevent any text to be
187+
drawn even if one is assigned, and make it have zero size (when it matters).
188+
- "Events" tab on the Properties Grid now has "ScriptModule" selection, which lets define in which
189+
module should the related script functions be generated and looked for. The GUI Controls use
190+
a ScriptModule set in their parent GUI, and Room events always has a fixed room script selected.
191+
- Added "Open Recent" submenu in the File menu.
192+
- Sync script editor's commands in Edit menu with the context menu.
193+
- Added "Toggle Line Comment" command to Edit menu for scripts.
194+
- More panes in the Editor are DPI-aware (rescale well with the system font scaling).
195+
- Editor tabs now display icons indicating their contents (may be disabled in Editor Preferences).
196+
- Room panel tabs now display room names.
197+
- Editor will now remember certain window states: "Sprite selector" window and splitter position,
198+
splitter position in "Sprite manager".
199+
- Support reordering folders in Project Explorer with drag & drop.
200+
- Support importing plain script files: ash, asc or both, - besides script modules (*.scm).
201+
- On "Color Finder" pane also display actual RGB values that the engine will use. They may be
202+
different from requested RGB, because historically engine limits drawing color's RGB precision
203+
to 16-bit.
204+
- Font's "SourceFilename" and "Font Size" properties now have buttons that let import another font
205+
file, or reimport same font with different size respectively, instead of clicking on a button on
206+
the preview window.
207+
- Global Variables panel now allows to declare arrays.
208+
- Added "Controls transparency" slider to GUI edit pane.
209+
- Copy, paste and delete commands now apply to all the selected GUI controls in GUI editor.
210+
- When pasting a copied GUI control, Locked property of a new control will be turned off.
211+
- Support editing group properties for selected GUI controls.
212+
- Support importing 1-bit (monochrome) and 4-bit images as sprites, room backgrounds and masks
213+
(converted to 8-bit).
214+
- Support importing indexed PNGs as room backgrounds and masks.
215+
- Do not alter or clamp palette for 8-bit sprites imported in a 16/32-bit game.
216+
- Removed obsolete "Copy walkable area mask to regions" command from the Room editor.
217+
- Improved scrolling of drop-down lists in the Room's navigation bar: made scroll buttons larger,
218+
and support mouse wheel.
219+
- Do not delete previously built game exe from Compiled/Windows folder when testing a game
220+
from the editor.
221+
- Added "/maketemplate" command-line option that tells Editor to run, make template out of the
222+
said game, and quit.
223+
- Fixed Editor refusing to open a project if one or more of the sections are missing in the file.
224+
- Fixed importing indexed PNG as a sprite, previously Editor would mistakenly treat the source
225+
image as 32-bit.
226+
- Fixed importing 8-bit BMP sprites with no "Remap palette" and "Leave As Is" as a transparency
227+
option would still remap palette index 0 to the first found palette entry with Alpha 0,
228+
even if that's a filler entry not used by the image.
229+
- Fixed exporting room backgrounds was always writing a 32-bit image rather than using actual
230+
background's color depth.
231+
- Fixed "Color Finder" and color properties were mapping a color number to RGB values with
232+
accuracy mistakes, resulting in slightly different values than the engine would use.
233+
- Fixed an unhandled exception occuring when rebuilding rooms if any script's header is missing.
234+
- Fixed double warning message when trying to close the Editor while a game test is running.
235+
236+
Script API:
237+
- Added eNullFont constant that lets assign or pass a "null font" to any property or function
238+
parameter which expects a font's ID. This "null font" will simply make any text not drawn
239+
and have no actual measurements (size, spacing, etc).
240+
- Added Character.TurnWhenFacing property.
241+
- Added Character.MoveStraight() complementing WalkStraight().
242+
- Added RenderLayer enum, and optional "layers" parameter to DynamicSprite.CreateFromScreenShot(),
243+
that tells which of the game's render layers to capture when making a screenshot.
244+
- Added File.GetFileTime() that returns file's modification time.
245+
- Added Game.GetSaveSlotTime() that returns a time this save slot was last written.
246+
- Added FileSortStyle and SortDirection enum, and optional "fileSortStyle" and "sortDirection"
247+
parameters to ListBox.FillDirList(). This lets to sort resulting list by name or time,
248+
in ascending or descending order.
249+
- ListBox.FillSaveGameList(), RestoreGameDialog() and SaveGameDialog() now let define a range
250+
of save slots for display.
251+
- Added Speech.SpeakingCharacter that returns currently speaking character (for blocking speech).
252+
- Added MoveSaveSlot() which renames a savegame.
253+
- Added optional "sprite" parameter to SaveGameSlot(), that lets to pass a number of an arbitrary
254+
sprite to write into this save instead of a standard "screenshot".
255+
- Added System.GetEngineInteger() and System.GetEngineString() for returning diagnostic
256+
information about engine's runtime state. Possible arguments are defined by
257+
EngineValueID enum.
258+
- Added new game-wide option OPT_SAVEGAMESCREENSHOTLAYER that lets to define which of the game's
259+
render layers will be captured when making a standard screenshot for the save game.
260+
- Expanded `on_mouse_click` callback, now supports two more parameters: click x,y coordinates.
261+
262+
Engine:
263+
- Dropped support for pre-3.5.0 game saves.
264+
- Ensure that Character.Speaking returns true when a speech is playing even if the character
265+
has no speech view.
215266
- DynamicSprite.CreateFromFile() may now load 1-bit and 4-bit bitmaps, converting to 8-bit.
216267
- Do not alter or clamp palette for 8-bit sprites loaded into a 16/32-bit game at runtime.
217268
- Assigning InventoryItem.Graphic will no longer reassign CursorGraphic too even if they were
218269
identical previously.
219-
- Both blocking and non-blocking videos are buffered and played on a separate thread.
220-
- GetTextHeight() no longer reduces "width" parameter by -1. This was an ancient mistake in
221-
the engine kept for many years for backwards compatibility.
222-
- DeleteSaveSlot() no longer causes highest save to be renamed to fill a gap in saves.
223-
- Added FLAC support for music, speech and sound effects.
270+
- Calling DeleteSaveSlot() on a slot within 0-50 range will no longer secretly move a save with
271+
the topmost number (within the same range) to fill the emptied slot. If you still like to
272+
recreate this behavior, then use MoveSaveSlot() command.
273+
- Implemented video buffering on a separate thread. Allow to drop late video frames.
224274
- Added new accessibility config settings in "access" section: "speechskip" and "textskip".
225275
These let player to override game's skipping style for character speech and text messages
226276
respectively.
277+
- Added "max_save" config option in "override" section: this lets to enforce an arbitrary number
278+
of saves displayed in a standard save/restore dialogs in game.
227279
- Added "--no-plugins" command-line argument that denies loading any plugins;
228-
also added respective config option.
229-
- Added "--print-rtti" command line option which prints script RTTI table to the log.
230-
(RTTI stands for "runtime type information", and is used for handling of certain advanced
231-
script features, such as nested managed structs.)
280+
also added respective config option "noplugins" in "override" section.
281+
- Fixed displaying room masks with Debug command in legacy "upscale" mode.
232282

233283
Engine Plugin API:
234284
- Added IAGSEngine.Log(), which lets plugins to print using engine's log system.
235285

286+
Compatibility:
287+
- Fixed loading of games made in AGS 2.55-56 which include plugins.
288+
- Fixed loading of rare games made with AGS 2.5 or higher, which contained deprecated
289+
"room animations" (animations themselves are currently not functional).
290+
- Fixed old pathfinder imprecision affecting few pre-3.0 games.
291+
- Allow pre-2.7 games to have RestartGame() command be followed and overridden by a NewRoom().
292+
This is necessary for some older games to be able to proceed.
293+
236294
WinSetup:
237295
- Redesigned winsetup into a tabbed dialog.
238296
- Added "Accessibility" settings for skipping speech and text messages.
239297

240-
241-
===================================================================================================
298+
---------------------------------------------------------------------------------------------------
242299

243300
VERSION 3.6.1 - Patch 7, September 2024
244301

0 commit comments

Comments
 (0)