You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+65-15Lines changed: 65 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,12 +9,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
9
9
<details><summary><b>Added</b></summary>
10
10
11
11
- Pathfinding and navigation overhaul, including jetpack/jump-aware pathfinding.
12
-
Actors will now intelligently choose their path depending on how high they can jump, instead of always taking the shortest flying path. This will reduce instances of the AI getting stuck while trying to take paths that are impossible for them.
12
+
Actors will now choose their path depending on how high they can jump, instead of always taking the shortest flying path. This will reduce instances of the AI getting stuck while trying to take paths that are impossible for them.
13
13
Improvements to both `ACrab` and `AHuman` navigation. `ACrab`s are now aware of how to pathfind and navigate using their jetpack, and will use it where applicable. Actors are better at using their jetpack, and will use automovers if their jetpack is not sufficient to reach a destination.
14
14
Actors are now more capable and responsive when digging. They will dig to their target if they cannot reach it with their jetpack (for example if there is a long vertical shaft in the route they cannot get up), and they preferentially avoid rocks, metal and other hard substances by digging around them. Actors also dig faster and spend less time idle.
15
15
In the `CalculatePath` and `CalculatePathAsync` functions, the parameter `movePathToGround` has been replaced with `jumpHeight`, which is the height in metres the pathfind can jump vertically.
16
16
New `Actor` Lua property `JumpHeight` (R) to estimate the jump height of the actor (in metres), based on the actor's jetpack and weight. Actors without a jetpack return 0.
17
-
The new function `GetPathFindingFlyingJumpHeight()` can be used to get a jumpHeight that allows flying (i.e infinite jump height). This is also the value that `ACRocket`s and `ACDropships` return for `JumpHeight`.
17
+
The new function `GetPathFindingFlyingJumpHeight()` can be used to get a jumpHeight that allows flying (i.e infinite jump height). This is also the value that `ACRocket`s and `ACDropShip`s return for `JumpHeight`.
18
18
19
19
- Improved locomotion.
20
20
Added the ability to run. When running, you cannot sharpaim whatsoever.
@@ -26,6 +26,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
26
26
Added new `Actor` INI and Lua (R/W) property `CanRun` which denotes whether the Actor can run or not.
27
27
Added new `Actor` INI and Lua (R/W) property `CrouchWalkSpeedMultiplier` which is a walking speed multiplier when at max crouch amount.
28
28
29
+
- New hotkey system for `Actor` and `HeldDevice`.
30
+
Pressing a certain new hotkey will mark it as activated on `Actor` and `HeldDevice`, letting scripts make use of the new bindings easily.
Both `Actor` and `HeldDevice` have the following functions:
34
+
`HotkeyActionIsActivated(hotkeyType)` returns whether a certain hotkey action is being activated or not.
35
+
`ActivateHotkeyAction(hotkeyType)` activates a certain hotkey action.
36
+
`DeactivateHotkeyAction(hotkeyType)` deactivates a certain hotkey action.
37
+
38
+
- New hotkey bindings.
39
+
On Mouse+KB PC the defaults are: Weapon Primary Hotkey on V, Weapon Auxiliary Hotkey on H, Actor Primary Hotkey on X, Actor Auxiliary Hotkey on O.
40
+
Added new `Controller` states `WEAPON_PRIMARY_HOTKEYSTART`, `WEAPON_AUXILIARY_HOTKEYSTART`, `ACTOR_PRIMARY_HOTKEYSTART`, `ACTOR_AUXILIARY_HOTKEYSTART`, `WEAPON_PRIMARY_HOTKEY`, `WEAPON_AUXILIARY_HOTKEY`, `ACTOR_PRIMARY_HOTKEY`, `ACTOR_AUXILIARY_HOTKEY`
41
+
42
+
- Added multiseat support for multiple mice and keyboards on one computer.
43
+
44
+
- Added optional player argument to all `UInputMan:Key*` Lua Methods. (e.g. `KeyHeld(keycode, player)`) This allows checking individual player's keyboards, when multiple keyboards are available.
45
+
29
46
- New music system, including a dynamic horizontal sequencing system, under the new music manager `MusicMan`.
30
47
`PlayDynamicSong(string songName, string songSectionName, bool playImmediately, bool playTransition, bool smoothFade)` to play a new DynamicSong.
31
48
`SetNextDynamicSongSection(string songSectionName, bool playImmediately, bool playTransition, bool smoothFade)` to queue a new DynamicSongSection for the currently playing song.
@@ -51,19 +68,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
51
68
- New `AEmitter` and `PEmitter` INI and Lua (R/W) property `PlayBurstSound` which denotes whether the BurstSound should play when appropriate. This should not be confused for a trigger - it's just a enable/disable toggle to avoid having to remove and add BurstSound altogether.
52
69
53
70
- New `MOSprite` INI and Lua (R/W) integer property `ForcedHFlip` which forces a certain flippedness and disallows anything else from ever changing it without clearing the forced value first. 0 is forced not flipped, 1 forced flipped, and -1 is no force.
54
-
55
-
- New hotkey bindings.
56
-
On Mouse+KB PC the defaults are: Weapon Primary Hotkey on V, Weapon Auxiliary Hotkey on H, Actor Primary Hotkey on X, Actor Auxiliary Hotkey on O.
57
-
Added new `Controller` states `WEAPON_PRIMARY_HOTKEYSTART`, `WEAPON_AUXILIARY_HOTKEYSTART`, `ACTOR_PRIMARY_HOTKEYSTART`, `ACTOR_AUXILIARY_HOTKEYSTART`, `WEAPON_PRIMARY_HOTKEY`, `WEAPON_AUXILIARY_HOTKEY`, `ACTOR_PRIMARY_HOTKEY`, `ACTOR_AUXILIARY_HOTKEY`
58
-
59
-
- New hotkey system for `Actor` and `HeldDevice`.
60
-
Pressing a certain new hotkey will mark it as activated on `Actor` and `HeldDevice`, letting scripts make use of the new bindings easily.
Both `Actor` and `HeldDevice` have the following functions:
64
-
`HotkeyActionIsActivated(hotkeyType)` returns whether a certain hotkey action is being activated or not.
65
-
`ActivateHotkeyAction(hotkeyType)` activates a certain hotkey action.
66
-
`DeactivateHotkeyAction(hotkeyType)` deactivates a certain hotkey action.
67
71
68
72
- New `Controller` state `WEAPON_RELOADHELD`, which is true every frame reload input is held (as opposed to `WEAPON_RELOAD` which is only true once when pressed).
69
73
@@ -81,6 +85,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
81
85
82
86
- New `Attachable` INI and Lua (R/W) properties `InheritsVelWhenDetached` and `InheritsAngularVelWhenDetached`, which determine how much of these velocities an attachable inherits from its parent when detached. Defaults to 1.
83
87
88
+
- New GPU Renderer using OpenGL+Raylib, draw now takes 0ms in pretty much every instance.
89
+
90
+
- New Z Order for scene layers and primitives: Background layer sits at z=100, Terrain Background at z=50, Terrain color and MO color at z=0, GUIs sit at z=-100, allowed z range is [-200, +200], in the future this'll be expanded to MO draw as well.
84
91
- Added Lua-accessible bitmap manipulation functions to `MOSprite`s:
85
92
```
86
93
GetSpritePixelIndex(int x, int y, int whichFrame) - Returns the color index of the pixel at the given coordinate on the given frame of the sprite ((0, 0) is the upper left corner!)
@@ -103,6 +110,34 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
103
110
104
111
- New `SceneMan` function `CastAllMOsRay(startVector, rayVector, table ignoreMOIDs, ignoreTeam, ignoreMaterial, bool ignoreAllTerrain, int skip)` which returns an iterator with pointers to all the non-ignored MOs met along the ray.
105
112
113
+
- New parameter `depth` for all primitives sets draw depth of the drawn primitive. The default depth is -75.0 (lower numbers draw on top, higher numbers in the back).
Original bindings with no scale argument are untouched and can be called as they were.
140
+
106
141
</details>
107
142
108
143
<details><summary><b>Changed</b></summary>
@@ -113,6 +148,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
113
148
The Ronin Scrambler, the basic scanner, and `SceneMan:CastUnseenRay` have been changed to accomodate fog-of-war resolutions as fine as 1x1 and as coarse as 20x20.
114
149
The fog-of-war revealing code is now multithreaded to increase performance.
115
150
151
+
- Save files are now compressed and stored in a single file, instead of a directory.
152
+
Savefiles have the extension `.ccsave`, but their underlying format is really just a `.zip` file. This can be opened and modified as before with any zip file viewer.
153
+
These savefiles can be safely renamed and moved without breaking the savegame, unlike before.
154
+
116
155
- All vanilla scenario activities have had their settings polished, respecting settings which make sense and disabling settings which don't.
117
156
You can now have fog of war in the test scene, and can no longer require path to orbit in Zero-G Diggers-Only One Man Army.
118
157
@@ -145,6 +184,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
145
184
146
185
-`InheritsVel` and its ilk have been uncapped, allowing users to set them outside of 0-1.
147
186
187
+
- Lua renamed `SceneLayer`->`StaticSceneLayer` due to changed SLBackground base class.
188
+
148
189
-`Scene` Lua functions `AddNavigatableArea(areaName)` and `ClearNavigatableAreas()` have been renamed/corrected to `AddNavigableArea(areaName)` and `ClearNavigableAreas()`, respectively.
149
190
150
191
-`MOSRotating` Lua function `AddWound` now additionally accepts the format `MOSRotating:AddWound(AEmitter* woundToAdd, const Vector& parentOffsetToSet, bool checkGibWoundLimit, bool isEntryWound, bool isExitWound)`, allowing modders to specify added wounds as entry- or exit wounds, for the purpose of not playing multiple burst sounds on the same frame. These new arguments are optional.
@@ -157,6 +198,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
157
198
158
199
- Various performance improvements.
159
200
201
+
- Drop support for macOS < 11.1 (Big Sur) :(
202
+
203
+
- Updated SDL2 to SDL3
204
+
160
205
</details>
161
206
162
207
<details><summary><b>Fixed</b></summary>
@@ -177,6 +222,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
177
222
178
223
- Fixed an issue where internal Lua functions OriginalDoFile, OriginalLoadFile, and OriginalRequire were polluting the global namespace. They have now been made inaccessible.
179
224
225
+
- Fixed the palette being mangled to 6bit/color on load.
226
+
227
+
- Fixed allegro not loading alpha of image with alpha by using SDL_image instead.
180
228
- Fixed `MOSprite:UnRotateOffset()` giving the wrong results on HFLipped sprites.
181
229
182
230
- Various fixes and improvements to inventory management when dual-wielding or carrying a shield, to stop situations where the actor unexpectedly puts their items away.
@@ -189,6 +237,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
189
237
190
238
- Fixed issue where scripts applied to `MovableObject`s could become disordered in certain circumstances.
191
239
240
+
- Fixed a minor inconsistency where `ACDropShip`s were frequently referred to as `ACDropship`s in Lua, the lower case 's' invalidating keywords where the typo occured.
0 commit comments