@@ -18,6 +18,9 @@ Common:
1818 - Removed built-in support for Game Score, including related game settings and GiveScore
1919 script command. Users are advised to script their own score counter if they need one.
2020 - Removed support for '[' as a linebreak character in text.
21+ - Fixed an ancient mistake where Character's and Object's sprites would be drawn 1 pixel
22+ higher than their Y position demands. This affects both how the sprites are positioned
23+ in game at runtime and in the Room Editor.
2124
2225Editor:
2326 - Editor requires .NET Framework 4.7 to run.
@@ -27,6 +30,8 @@ Editor:
2730 - Actual font files on disk are now stored in "Fonts" subfolder in the project when imported,
2831 and keep their original names (no longer renamed to "agsfntN.*").
2932 - Translation sources are now saved in PO format.
33+ - The "Upgrade Game Wizard" dialog will be now shown if the loaded game must go through noteable
34+ modifications when upgrading to the current version.
3035 - Merged all Color and ColorNumber property pairs into a single Color property that acts as
3136 a RGBA selection for 32-bit games, and palette index for 8-bit games. In 32-bit game projects
3237 you can assign full RGBA color definition, where alpha is optional, and is assumed 255
@@ -35,9 +40,6 @@ Editor:
3540 using it; but you may still enter RGBA value by hand.
3641 - In General Settings added "Script Compiler" option that lets to choose between old and new
3742 script compilers for your game (see "Scripting" section below for the new compiler's details).
38- - In General Settings added "GUI common controls handle only left mouse button" option that lets
39- prevent RMB from activating gui controls, except those that have separate actions for left and
40- right mouse buttons.
4143 - Added Custom Properties for: Audio Clips, Dialogs, GUI, GUI Controls, Regions, Walkable Areas.
4244 - Added Enabled and Visible properties to Characters, Enabled property to Room Objects.
4345 - Added BlendMode property for Characters, GUI and Room Objects.
@@ -96,7 +98,6 @@ Scripting:
9698 - Regular arrays of dynamic arrays: that is a regular array where each element is a
9799 pointer to a dynamic array of the same type.
98100 - Dynamic arrays of regular structs.
99- - Dynamic arrays now have Length pseudo-attribute used to retrieve their length.
100101 - Global variables may now be declared right after struct's or enum's declaration, between
101102 the closing bracket and closing semi-colon.
102103 - Support regular (non-managed) struct and array variable initializers, where you can specify
@@ -116,6 +117,7 @@ Scripting:
116117 break statement. This is only to clarify coder's intent and prevent compiler's warnings.
117118 - Support pre-increment and pre-decrement operators (++x, --x).
118119 - Support bitwise negation operator (~x).
120+ - Support modulus-assignment operator (%=).
119121 - Support addressing members of the function return values in one expression. This lets
120122 chain multiple commands including function calls, e.g. GetObject().MyVariable...and so on.
121123 - Two sequenced string literals ("text" "text") are now automatically concatenated.
@@ -145,8 +147,6 @@ Script API:
145147 serving as a navigation mask.
146148 - Added MotionPath struct, which lets to read existing game object's motion plan, or create your
147149 own and use it as a reference when moving a custom object.
148- - Added GameInfo struct that contains meta-information about the game, such as developer's name,
149- developer's URL, version, and so forth.
150150 - Added Custom Properties interface to types: AudioClip, Dialog, GUI, GUIControl, Region,
151151 WalkableArea. This includes functions: GetProperty(), GetTextProperty(), SetProperty() and
152152 SetTextProperty().
@@ -170,15 +170,12 @@ Script API:
170170 - Added Object.MovePath() and Object.GetPath() functions, that work similar to Character's.
171171 - Added Character.MotionPath and Object.MotionPath properties that let to get active character's
172172 or object's movement plan.
173+ - Expanded RepeatStyle with more animation flow styles: eOnceAndReset, eOnceAndBack and
174+ eRepeatAlternate. These styles are currently supported in Animate(), MovePath() and WalkPath()
175+ commands, and MotionPath struct.
173176 - Added ColorFormat enum, and optional "color_format" parameter to DynamicSprite's functions:
174177 Create(), CreateFromBackground(), CreateFromDrawingSurface(), CreateFromExistingSprite()
175178 and CreateFromFile().
176- - Added DialogOptionsNumbering enum, to use when setting dialog options numbering mode.
177- - Added multiple new properties to Dialog type: OptionsBulletGraphic, OptionsGap, OptionsGUI,
178- OptionsGUIX, OptionsGUIY, OptionsHighlightColor, OptionsMaxGUIWidth, OptionsMinGUIWidth,
179- OptionsNumbering, OptionsPaddingX, OptionsPaddingY, OptionsReadColor, OptionTextAlignment.
180- Most of these are replacing previously existing old-style variables in "game" struct and
181- OPT_* options. OptionsGUIX/Y and OptionTextAlignment are completely new features.
182179 - Added DrawingSurface.BlendImage() and DrawingSurface.BlendSurface() functions.
183180 - Added DrawingSurface.BlendMode property that lets define blend mode for primitive drawing
184181 operations (line, rectangle, triangle, etc).
@@ -205,12 +202,6 @@ Script API:
205202 - ViewFrame.Flipped property is now settable and returns eFlipDirection instead of bool.
206203 - ViewFrame.Speed property is now settable.
207204 - Added ViewFrame.XOffset and YOffset properties.
208- - Added optional width, height and layer parameters to SaveScreenShot().
209- SaveScreenShot() now supports location tokens in file path.
210- - Added VideoPlayStyle enum, PlayVideo() now uses VideoPlayStyle as "flags" argument.
211- - Added new game-wide option OPT_GUICONTROLMOUSEBUT that defines whether common GUI controls
212- are affected by the right mouse button or not (InventoryWindows are excluded from this, because
213- they have their own special handling for RMB).
214205 - Added "walkarea[]" and "walkbehind[]" global arrays.
215206 - Global generated game objects (Characters, GUIs, etc), and global arrays of these objects
216207 (character[], object[], gui[], etc) are now declared as object *pointers* and arrays of
@@ -233,9 +224,6 @@ Engine:
233224 GLSL (for OpenGL) or HLSL (for Direct3D) shader scripts, and may be attached to game objects,
234225 camera, or the whole game view. Shaders may have user-defined constants, and have up to 3
235226 secondary textures on input.
236- - Support compressing game saves using Deflate algorithm. Added config option "compress_saves"
237- in "misc" section, disabled by default.
238- - Always compress a screenshot in game save using Deflate algorithm.
239227 - Implemented more accurate Character movement. The movement direction is now more precise
240228 and diagonal movement speed no longer may exceed MovementSpeed setting.
241229 - Camera will not follow a disabled player character.
@@ -247,7 +235,6 @@ Engine:
247235 - Allow to run the game even if it has no fonts (log a warning).
248236 - Allow to continue running the game if any font failed to load on startup.
249237 Such font will simply not get drawn, unless replaced by a plugin, for example.
250- - Standard Dialog options now support Right-to-left text mode.
251238 - Overlay.X and Y properties of textual screen overlays, such as blocking speech, now treat
252239 assigned values correctly as screen coordinates and return values set by user consistently.
253240 They also return the assigned values without any offsets for textual overlays created using
@@ -256,15 +243,10 @@ Engine:
256243 now return a null pointer if no room viewport is found under given coordinates.
257244 - GetTextHeight() no longer reduces "width" parameter by -1. This was an ancient mistake in
258245 the engine kept for many years for backwards compatibility.
259- - Improved video playback's synchronization between video and audio streams.
260246 - Added FLAC support for music, speech and sound effects.
261247 - Added "--print-rtti" command line option which prints script RTTI table to the log.
262248 (RTTI stands for "runtime type information", and is used for handling of certain advanced
263249 script features, such as nested managed structs.)
264- - Fixed SDL log level defaulting to "verbose" instead of "info".
265-
266- WinSetup:
267- - Renamed "Custom Paths" tab to "Game Files", added "Compress saves" option.
268250
269251
270252===================================================================================================
0 commit comments