diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2026-01-10 07:29:38 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2026-01-10 07:29:38 -0500 |
| commit | f180daef411e2af65a8320c2dd8d58ddbd048d82 (patch) | |
| tree | d3d313dc86a7c7646c870fafa835008bcb24308b /Manifold Garden.asl | |
| parent | 7bd0f7d195641e2ce8786673f260af118d8b212d (diff) | |
| download | autosplitters-f180daef411e2af65a8320c2dd8d58ddbd048d82.tar.gz autosplitters-f180daef411e2af65a8320c2dd8d58ddbd048d82.tar.bz2 autosplitters-f180daef411e2af65a8320c2dd8d58ddbd048d82.zip | |
Diffstat (limited to 'Manifold Garden.asl')
| -rw-r--r-- | Manifold Garden.asl | 19 |
1 files changed, 17 insertions, 2 deletions
| diff --git a/Manifold Garden.asl b/Manifold Garden.asl index c2e86c0..daf3d38 100644 --- a/Manifold Garden.asl +++ b/Manifold Garden.asl | |||
| @@ -45,7 +45,9 @@ startup { | |||
| 45 | 45 | ||
| 46 | settings.Add("raymarchitecture", true, "Split on Raymarchitecture (ending cutscene)"); | 46 | settings.Add("raymarchitecture", true, "Split on Raymarchitecture (ending cutscene)"); |
| 47 | settings.Add("norepeats",false,"Split only on the first encounter of each level"); | 47 | settings.Add("norepeats",false,"Split only on the first encounter of each level"); |
| 48 | settings.Add("gravChanges",false, "Override first text component with a Gravity Changes count"); | 48 | settings.Add("first_text",false, "Override first text component with (these options are mutually exclusive)"); |
| 49 | settings.Add("gravChanges",false, "Gravity Changes count", "first_text"); | ||
| 50 | settings.Add("numFalls",false, "Number of falls", "first_text"); | ||
| 49 | settings.Add("planted",false,"Split when a god cube is planted"); | 51 | settings.Add("planted",false,"Split when a god cube is planted"); |
| 50 | settings.Add("every",true,"Split on every level change"); | 52 | settings.Add("every",true,"Split on every level change"); |
| 51 | settings.Add("fall",false,"Including all ending falling scenes","every"); | 53 | settings.Add("fall",false,"Including all ending falling scenes","every"); |
| @@ -161,6 +163,7 @@ init { | |||
| 161 | 163 | ||
| 162 | var rigidCon = mono.GetClass("RigidbodyController"); | 164 | var rigidCon = mono.GetClass("RigidbodyController"); |
| 163 | vars.Helper["gravity"] = gameMan.Make<int>("playerController", rigidCon["_gravityDirection"]); | 165 | vars.Helper["gravity"] = gameMan.Make<int>("playerController", rigidCon["_gravityDirection"]); |
| 166 | vars.Helper["fallDist"] = gameMan.Make<float>("playerController", rigidCon["_DistanceFallen"]); | ||
| 164 | 167 | ||
| 165 | var mandalaMan = mono.GetClass("MandalaManager"); | 168 | var mandalaMan = mono.GetClass("MandalaManager"); |
| 166 | vars.Helper["godCubesPlanted"] = gameMan.MakeList<int>("s_instance", "mandalaManager", mandalaMan["PlacedGodCubes"]); | 169 | vars.Helper["godCubesPlanted"] = gameMan.MakeList<int>("s_instance", "mandalaManager", mandalaMan["PlacedGodCubes"]); |
| @@ -188,7 +191,7 @@ init { | |||
| 188 | } | 191 | } |
| 189 | 192 | ||
| 190 | vars.updateText = false; | 193 | vars.updateText = false; |
| 191 | if (settings["gravChanges"]) { | 194 | if (settings["first_text"]) { |
| 192 | foreach (LiveSplit.UI.Components.IComponent component in timer.Layout.Components) { | 195 | foreach (LiveSplit.UI.Components.IComponent component in timer.Layout.Components) { |
| 193 | if (component.GetType().Name == "TextComponent") { | 196 | if (component.GetType().Name == "TextComponent") { |
| 194 | vars.tc = component; | 197 | vars.tc = component; |
| @@ -234,6 +237,7 @@ update { | |||
| 234 | } | 237 | } |
| 235 | if (!current.onMandalaScene) { | 238 | if (!current.onMandalaScene) { |
| 236 | current.gravity = vars.Helper["gravity"].Current; | 239 | current.gravity = vars.Helper["gravity"].Current; |
| 240 | current.fallDist = vars.Helper["fallDist"].Current; | ||
| 237 | } | 241 | } |
| 238 | if (!vars.studioScreenDone) { | 242 | if (!vars.studioScreenDone) { |
| 239 | vars.studioScreenDone = !current.isLoadingGameFromUI; | 243 | vars.studioScreenDone = !current.isLoadingGameFromUI; |
| @@ -244,6 +248,12 @@ update { | |||
| 244 | vars.tcs.Text2 = vars.gravChanges.ToString(); | 248 | vars.tcs.Text2 = vars.gravChanges.ToString(); |
| 245 | } | 249 | } |
| 246 | } | 250 | } |
| 251 | if (current.fallDist > 0.1 && old.fallDist <= 0.1) { | ||
| 252 | vars.numFalls += 1; | ||
| 253 | if (settings["numFalls"] && vars.updateText) { | ||
| 254 | vars.tcs.Text2 = vars.numFalls.ToString(); | ||
| 255 | } | ||
| 256 | } | ||
| 247 | current.godCubesPlanted = vars.Helper["godCubesPlanted"].Current.Count; | 257 | current.godCubesPlanted = vars.Helper["godCubesPlanted"].Current.Count; |
| 248 | } | 258 | } |
| 249 | } | 259 | } |
| @@ -279,6 +289,11 @@ start { | |||
| 279 | vars.tcs.Text1 = "Gravity Changes:"; | 289 | vars.tcs.Text1 = "Gravity Changes:"; |
| 280 | vars.tcs.Text2 = "0"; | 290 | vars.tcs.Text2 = "0"; |
| 281 | } | 291 | } |
| 292 | vars.numFalls = 0; | ||
| 293 | if (settings["numFalls"] && vars.updateText) { | ||
| 294 | vars.tcs.Text1 = "Falls:"; | ||
| 295 | vars.tcs.Text2 = "0"; | ||
| 296 | } | ||
| 282 | return true; | 297 | return true; |
| 283 | } | 298 | } |
| 284 | } | 299 | } |
