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
+30-13Lines changed: 30 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,41 +8,58 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
9
9
<details><summary><b>Added</b></summary>
10
10
11
-
- New music system, including a dynamic horizontal sequencing system, under the new music manager `MusicMan`.
11
+
- New music system, including a dynamic horizontal sequencing system, under the new music manager `MusicMan`.
12
12
`PlayDynamicSong(string songName, string songSectionName, bool playImmediately, bool playTransition, bool smoothFade)` to play a new DynamicSong.
13
-
`SetNextDynamicSongSection(string songSectionName, bool playImmediately, bool playTransition, bool smoothFade)` to queue a new DynamicSongSection for the currently playing song.
14
-
`PlayInterruptingMusic(SoundContainer soundContainer)` to start an interrupting piece of music which will pause any playing DynamicSong. Note that pause menu music happily overrides this currently.
15
-
`EndInterruptingMusic()` to end any playing interrupting music, and resume any paused DynamicSongs.
16
-
`EndDynamicMusic(bool fadeOut)` to end any currently playing dynamic music, optionally immediately fading it out. If not fading it out, the currently playing piece will play to completion.
13
+
`SetNextDynamicSongSection(string songSectionName, bool playImmediately, bool playTransition, bool smoothFade)` to queue a new DynamicSongSection for the currently playing song.
14
+
`PlayInterruptingMusic(SoundContainer soundContainer)` to start an interrupting piece of music which will pause any playing DynamicSong. Note that pause menu music happily overrides this currently.
15
+
`EndInterruptingMusic()` to end any playing interrupting music, and resume any paused DynamicSongs.
16
+
`EndDynamicMusic(bool fadeOut)` to end any currently playing dynamic music, optionally immediately fading it out. If not fading it out, the currently playing piece will play to completion.
17
17
`ResetMusicState()` to immediately end all music and return the MusicMan to a blank state.
18
18
19
-
- New entities `DynamicSongSection` and `DynamicSong` which are used for organizing music to play using the new system.
20
-
`DynamicSongSection` is made up of TransitionSoundContainers, SoundContainers, a string SectionType, and either randomnorepeat or shuffle SoundContainerSelectionCycleMode.
19
+
- New entities `DynamicSongSection` and `DynamicSong` which are used for organizing music to play using the new system.
20
+
`DynamicSongSection` is made up of TransitionSoundContainers, SoundContainers, a string SectionType, and either randomnorepeat or shuffle SoundContainerSelectionCycleMode.
21
21
`DynamicSong` is a simple container of DynamicSongSections. It can have one DefaultSongSection and as many added sections as needed.
22
22
23
-
- New `SoundContainer` features.
24
-
Lua property `Paused` (R/W) to pause or unpause all sounds of a SoundContainer. Newly played sounds will not begin playback until unpaused.
25
-
Lua function `GetAudibleVolume` to get the real audible volume of a SoundContainer's sounds as a float from 0 to 1. This accounts for literally everything, including game volume.
23
+
- New `SoundContainer` features.
24
+
Lua property `Paused` (R/W) to pause or unpause all sounds of a SoundContainer. Newly played sounds will not begin playback until unpaused.
25
+
Lua function `GetAudibleVolume` to get the real audible volume of a SoundContainer's sounds as a float from 0 to 1. This accounts for literally everything, including game volume.
26
+
27
+
- Allow lua scripts to use LuaJIT's BitOp module (see https://bitop.luajit.org/api.html)
26
28
27
29
</details>
28
30
29
31
<details><summary><b>Changed</b></summary>
30
32
31
33
- Conquest activities will once again fall-back to using base dropships and rockets if a random selection of the selected tech's craft can't find one capable of carrying passengers and/or cargo.
32
34
33
-
-ALl music-related functionality from AudioMan has been removed due to the addition of the MusicMan. Generic DynamicSongs have been put in to use instead.
35
+
-All music-related functionality from AudioMan has been removed due to the addition of the MusicMan. Generic DynamicSongs have been put in to use instead.
34
36
Mod activities that used to queue up all the vanilla music should now instead call, for example, `MusicMan:PlayDynamicSong("Generic Battle Music")`
35
37
36
-
</details>
38
+
- Increased fog-of-war resolution in all vanilla activities, and conquest, from 20x20 to 4x4.
39
+
The Ronin Scrambler, the basic scanner, and `SceneMan:CastUnseenRay` have been changed to accomodate fog-of-war resolutions as fine as 1x1 and as course as 20x20.
40
+
The fog-of-war revealing code is now multithreaded to increase performance.
37
41
38
-
<details><summary><b>Removed</b></summary>
42
+
- All vanilla scenario activities have had their settings polished, respecting settings which make sense and disabling settings which don't.
43
+
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.
44
+
45
+
- The Signal Hunt activity no longer has a preview image, as it was not formatted correctly and spoiled the interior structure of the cave.
46
+
47
+
-`MovableObject`'s `UniqueID` and `Age` fields are now persisted through game save/load.
39
48
40
49
</details>
41
50
42
51
<details><summary><b>Fixed</b></summary>
43
52
53
+
- Fixed a crash on launch that could occur depending on what Microsoft Visual C++ Redistributable the user has installed.
54
+
44
55
- Fixed an issue where palette index 255 was incorrectly showing as black.
45
56
57
+
- Fixed instances of `CameraMan:GetScrollTarget()` and `CameraMan:SetScrollTarget()` supplying a player index instead of a screen index. This could prevent the functions from working properly, or at all, when playing as a player other than 1, potentially screwing up camera effects.
58
+
59
+
- Fixed a bug in Decision Day that could cause an error when trying to set the camera's scroll target, in addition to the previous issue.
60
+
61
+
- Fixed a bug in Harvester and Massacre where setting deploy units would auto-assign units of the wrong tech.
// Standard format as far as user switches is to define defaults in the order that they can be read in the GUI from left to right and top to bottom.
5
+
// Switch enabled state follows in the same order.
3
6
4
7
5
8
AddActivity = GATutorial
@@ -11,6 +14,12 @@ AddActivity = GATutorial
11
14
Team1Funds = 1500
12
15
CPUTeam = 1
13
16
MaxPlayerSupport = 1
17
+
DefaultRequireClearPathToOrbit = 1
18
+
DefaultFogOfWar = 0
19
+
DefaultDeployUnits = 1
20
+
RequireClearPathToOrbitSwitchEnabled = 0
21
+
FogOfWarSwitchEnabled = 0
22
+
DeployUnitsSwitchEnabled = 0
14
23
15
24
16
25
AddActivity = GAScripted
@@ -25,8 +34,11 @@ AddActivity = GAScripted
25
34
MinTeamsRequired = 2
26
35
LuaClassName = SkirmishDefense
27
36
DefaultRequireClearPathToOrbit = 1
28
-
DeployUnitsSwitchEnabled = 1
37
+
DefaultFogOfWar = 1
29
38
DefaultDeployUnits = 0
39
+
RequireClearPathToOrbitSwitchEnabled = 1
40
+
FogOfWarSwitchEnabled = 1
41
+
DeployUnitsSwitchEnabled = 1
30
42
31
43
32
44
AddActivity = GAScripted
@@ -40,6 +52,11 @@ AddActivity = GAScripted
40
52
Team2Name = Green Team
41
53
MinTeamsRequired = 2
42
54
DefaultRequireClearPathToOrbit = 1
55
+
DefaultFogOfWar = 1
56
+
DefaultDeployUnits = 0
57
+
RequireClearPathToOrbitSwitchEnabled = 1
58
+
FogOfWarSwitchEnabled = 1
59
+
DeployUnitsSwitchEnabled = 1
43
60
44
61
45
62
AddActivity = GAScripted
@@ -63,8 +80,11 @@ AddActivity = GAScripted
63
80
Team1Name = Attackers
64
81
Team2Name = Defenders
65
82
DefaultRequireClearPathToOrbit = 1
66
-
DeployUnitsSwitchEnabled = 1
83
+
DefaultFogOfWar = 1
67
84
DefaultDeployUnits = 1
85
+
RequireClearPathToOrbitSwitchEnabled = 1
86
+
FogOfWarSwitchEnabled = 1
87
+
DeployUnitsSwitchEnabled = 1
68
88
69
89
70
90
AddActivity = GAScripted
@@ -83,22 +103,29 @@ AddActivity = GAScripted
83
103
DefaultGoldHardDifficulty = 3000
84
104
DefaultGoldNutsDifficulty = 2000
85
105
DefaultGoldMaxDifficulty = 350
86
-
DefaultDeployUnits = 1
106
+
DefaultRequireClearPathToOrbit = 1
87
107
DefaultFogOfWar = 1
88
-
DeployUnitsSwitchEnabled = 0
108
+
DefaultDeployUnits = 0
109
+
RequireClearPathToOrbitSwitchEnabled = 1
110
+
FogOfWarSwitchEnabled = 1
111
+
DeployUnitsSwitchEnabled = 1
89
112
90
113
91
114
AddActivity = GAScripted
92
115
PresetName = Survival
93
116
Description = Build a base, then survive until the time is up!
94
117
SceneName = Ketanot Hills
95
118
ScriptPath = Base.rte/Activities/Survival.lua
96
-
TeamOfPlayer1 = 0
97
-
CPUTeam = 1
119
+
TeamOfPlayer1 = 1
120
+
CPUTeam = 0
98
121
LuaClassName = Survival
99
122
DefaultRequireClearPathToOrbit = 1
100
-
DeployUnitsSwitchEnabled = 1
123
+
DefaultFogOfWar = 1
101
124
DefaultDeployUnits = 0
125
+
GoldSwitchEnabled = 1
126
+
RequireClearPathToOrbitSwitchEnabled = 1
127
+
FogOfWarSwitchEnabled = 1
128
+
DeployUnitsSwitchEnabled = 1
102
129
103
130
104
131
AddActivity = GAScripted
@@ -109,8 +136,19 @@ AddActivity = GAScripted
109
136
TeamOfPlayer1 = 0
110
137
CPUTeam = 1
111
138
LuaClassName = OneManArmy
112
-
DeployUnitsSwitchEnabled = 1
139
+
DefaultGoldCakeDifficulty = 0
140
+
DefaultGoldEasyDifficulty = 0
141
+
DefaultGoldMediumDifficulty = 0
142
+
DefaultGoldHardDifficulty = 0
143
+
DefaultGoldNutsDifficulty = 0
144
+
DefaultGoldMaxDifficulty = 0
145
+
DefaultRequireClearPathToOrbit = 0
146
+
DefaultFogOfWar = 1
113
147
DefaultDeployUnits = 0
148
+
GoldSwitchEnabled = 0
149
+
RequireClearPathToOrbitSwitchEnabled = 0
150
+
FogOfWarSwitchEnabled = 1
151
+
DeployUnitsSwitchEnabled = 1
114
152
115
153
116
154
AddActivity = GAScripted
@@ -121,8 +159,20 @@ AddActivity = GAScripted
121
159
TeamOfPlayer1 = 0
122
160
CPUTeam = 1
123
161
LuaClassName = OneManArmy
124
-
DeployUnitsSwitchEnabled = 1
162
+
DefaultGoldCakeDifficulty = 0
163
+
DefaultGoldEasyDifficulty = 0
164
+
DefaultGoldMediumDifficulty = 0
165
+
DefaultGoldHardDifficulty = 0
166
+
DefaultGoldNutsDifficulty = 0
167
+
DefaultGoldMaxDifficulty = 0
125
168
DefaultDeployUnits = 0
169
+
DefaultFogOfWar = 1
170
+
DefaultRequireClearPathToOrbit = 0
171
+
GoldSwitchEnabled = 0
172
+
RequireClearPathToOrbitSwitchEnabled = 0
173
+
FogOfWarSwitchEnabled = 1
174
+
DeployUnitsSwitchEnabled = 1
175
+
126
176
127
177
128
178
AddActivity = GAScripted
@@ -134,10 +184,21 @@ AddActivity = GAScripted
134
184
CPUTeam = 1
135
185
LuaClassName = OneManArmyZeroG
136
186
SceneName = Zero-G Battle
137
-
DeployUnitsSwitchEnabled = 1
187
+
DefaultGoldCakeDifficulty = 0
188
+
DefaultGoldEasyDifficulty = 0
189
+
DefaultGoldMediumDifficulty = 0
190
+
DefaultGoldHardDifficulty = 0
191
+
DefaultGoldNutsDifficulty = 0
192
+
DefaultGoldMaxDifficulty = 0
193
+
DefaultRequireClearPathToOrbit = 0
194
+
DefaultFogOfWar = 0
138
195
DefaultDeployUnits = 0
196
+
GoldSwitchEnabled = 0
197
+
RequireClearPathToOrbitSwitchEnabled = 0
198
+
FogOfWarSwitchEnabled = 0
199
+
DeployUnitsSwitchEnabled = 0
139
200
140
-
201
+
// Path to orbit guaranteed by currently being in orbit.
141
202
AddActivity = GAScripted
142
203
PresetName = One-Man Army (Diggers, 0-G)
143
204
Description = Survive with only one unit and no backups in a Zero-G void! The enemy will only use diggers, but the harder the difficulty the less potent weaponry you start out with, and the longer you have to survive.
@@ -147,34 +208,51 @@ AddActivity = GAScripted
147
208
CPUTeam = 1
148
209
LuaClassName = OneManArmyZeroG
149
210
SceneName = Zero-G Battle
150
-
DeployUnitsSwitchEnabled = 1
211
+
DefaultGoldCakeDifficulty = 0
212
+
DefaultGoldEasyDifficulty = 0
213
+
DefaultGoldMediumDifficulty = 0
214
+
DefaultGoldHardDifficulty = 0
215
+
DefaultGoldNutsDifficulty = 0
216
+
DefaultGoldMaxDifficulty = 0
217
+
DefaultRequireClearPathToOrbit = 0
218
+
DefaultFogOfWar = 0
151
219
DefaultDeployUnits = 0
220
+
GoldSwitchEnabled = 0
221
+
RequireClearPathToOrbitSwitchEnabled = 0
222
+
FogOfWarSwitchEnabled = 0
223
+
DeployUnitsSwitchEnabled = 0
152
224
153
225
154
226
AddActivity = GAScripted
155
227
PresetName = Massacre
156
228
Description = Build a base, then kill all the enemies!
157
229
SceneName = Ketanot Hills
158
230
ScriptPath = Base.rte/Activities/Massacre.lua
159
-
TeamOfPlayer1 = 0
160
-
CPUTeam = 1
231
+
TeamOfPlayer1 = 1
232
+
CPUTeam = 0
161
233
LuaClassName = Massacre
162
234
DefaultRequireClearPathToOrbit = 1
163
-
DeployUnitsSwitchEnabled = 1
235
+
DefaultFogOfWar = 1
164
236
DefaultDeployUnits = 0
237
+
RequireClearPathToOrbitSwitchEnabled = 1
238
+
FogOfWarSwitchEnabled = 1
239
+
DeployUnitsSwitchEnabled = 1
165
240
166
241
167
242
AddActivity = GAScripted
168
243
PresetName = Harvester
169
244
Description = Build a base, then dig up as much gold as you can!
0 commit comments