@@ -4,7 +4,7 @@ AGS 4 - Early Alpha
44
55Common:
66 - Support true 32-bit colors in GUI, text messages and drawing commands in script.
7- Color number properties now correspond to the encoded 32-bit RGB (R8G8B8 format).
7+ Color number properties now correspond to the encoded 32-bit ARGB (A8R8G8B8 format).
88 - Fonts are split into Font Files and Fonts, where multiple Fonts may use same Font File,
99 or not have any Font File assigned at all (for instance, if they are meant to act as
1010 placeholders and get replaced by fonts from plugin).
@@ -27,6 +27,12 @@ Editor:
2727 - Actual font files on disk are now stored in "Fonts" subfolder in the project when imported,
2828 and keep their original names (no longer renamed to "agsfntN.*").
2929 - Translation sources are now saved in PO format.
30+ - Merged all Color and ColorNumber property pairs into a single Color property that acts as
31+ a RGBA selection for 32-bit games, and palette index for 8-bit games. In 32-bit game projects
32+ you can assign full RGBA color definition, where alpha is optional, and is assumed 255
33+ if not specified. Color value 0 means "transparent" regardless of game's color depth.
34+ NOTE: color picker currently does not let define alpha, so only opaque colors may be selected
35+ using it; but you may still enter RGBA value by hand.
3036 - In General Settings added "Script Compiler" option that lets to choose between old and new
3137 script compilers for your game (see "Scripting" section below for the new compiler's details).
3238 - Added Custom Properties for: Audio Clips, Dialogs, GUI, GUI Controls, Regions, Walkable Areas.
@@ -114,6 +120,9 @@ Script API:
114120 or new compiler.
115121 - Added SCRIPT_EXT_NESTEDPOINTERS macro which tells whether nested managed structs are
116122 supported by the compiler.
123+ - All existing Color properties now assume full ARGB values (0xAARRGGBB) in 32-bit games.
124+ This means that you *must* specify alpha value when assigning a color number directly,
125+ otherwise the game will treat the color as fully transparent.
117126 - Added Joystick struct, meant to work with joystics and gamepads in script.
118127 - Added VideoPlayer struct, which provides means of playing non-blocking videos rendered onto
119128 a sprite that may be displayed on any game object.
@@ -132,6 +141,8 @@ Script API:
132141 - Added Character.UseRegionTint and Object.UseRegionTint, deprecated Character.IgnoreLighting.
133142 - Added Camera.Rotation, Character.GraphicRotation, GUI.Rotation, Object.GraphicRotation,
134143 Overlay.Rotation.
144+ - Added Game.GetColorFromRGBA() function that creates a color number for red, green, blue and
145+ alpha combination.
135146 - Added Game.FaceDirectionRatio, Room.FaceDirectionRatio, WalkableArea.FaceDirectionRatio
136147 and Character.FaceDirectionRatio.
137148 - Added Character.MovePath() and WalkPath(), which makes character to move along an arbitrary
@@ -141,7 +152,11 @@ Script API:
141152 Create(), CreateFromBackground(), CreateFromDrawingSurface(), CreateFromExistingSprite()
142153 and CreateFromFile().
143154 - Added DrawingSurface.BlendImage() and DrawingSurface.BlendSurface() functions.
155+ - Added DrawingSurface.BlendMode property that lets define blend mode for primitive drawing
156+ operations (line, rectangle, triangle, etc).
144157 - Added DrawingSurface.ColorDepth readonly property.
158+ - Added DrawingSurface.SetPixel() function that lets to set a pixel value of specified color,
159+ disregarding any surface's drawing settings.
145160 - Added Game.RoomCount, RoomNumbers[] and RoomNames[] properties.
146161 - Added Game.SpriteColorDepth[] readonly indexed property.
147162 - Added GUI.ScaleX and ScaleY properties, GUI.SetScale() function.
@@ -170,6 +185,10 @@ Script API:
170185Engine:
171186 - Support joystick and gamepad input.
172187 - Engine now supports up to 1024 simultaneously loaded scripts (was 128).
188+ - All color settings in a 32-bit game now respect alpha value, meaning they may be
189+ half-transparent. This refers to almost anything that may have a color: texts,
190+ GUI backgrounds, DrawingSurface's DrawingColor, and so forth. The exceptions are things
191+ that only make sense with opaque color: Tint settings, and screen Fade effects.
173192 - Implemented more accurate Character movement. The movement direction is now more precise
174193 and diagonal movement speed no longer may exceed MovementSpeed setting.
175194 - Ensure that Character.Speaking returns true even if character has no speech view.
0 commit comments