about summary refs log tree commit diff stats
path: root/Taiji.asl
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2022-09-12 13:00:43 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2022-09-12 13:00:43 -0400
commit125a9435e95b99d1d2b9778a25f8ed816178ddef (patch)
treea7f9ea564419207bb583e964c373d68a0be2bfa6 /Taiji.asl
parent0f0d0aa51075eac65279c0c74ef49282fe61d5fe (diff)
downloadautosplitters-125a9435e95b99d1d2b9778a25f8ed816178ddef.tar.gz
autosplitters-125a9435e95b99d1d2b9778a25f8ed816178ddef.tar.bz2
autosplitters-125a9435e95b99d1d2b9778a25f8ed816178ddef.zip
[Taiji] Split on completing a world
Diffstat (limited to 'Taiji.asl')
-rw-r--r--Taiji.asl20
1 files changed, 19 insertions, 1 deletions
diff --git a/Taiji.asl b/Taiji.asl index 3505a86..9752860 100644 --- a/Taiji.asl +++ b/Taiji.asl
@@ -2,6 +2,7 @@ state("Taiji")
2{ 2{
3 // v9.10.2022 3 // v9.10.2022
4 int solveCount: "GameAssembly.dll", 0x0168ED88, 0x80, 0x100, 0xD94; 4 int solveCount: "GameAssembly.dll", 0x0168ED88, 0x80, 0x100, 0xD94;
5 byte10 worldsCompleted: "GameAssembly.dll", 0x015C8010, 0x48, 0x40, 0x80, 0x290, 0xB8, 0x10, 0x20;
5} 6}
6 7
7startup 8startup
@@ -10,19 +11,36 @@ startup
10 print("[Taiji ASL] " + logLine); 11 print("[Taiji ASL] " + logLine);
11 }); 12 });
12 13
14 settings.Add("solveCount", true, "Split on solve count increasing");
15 settings.Add("world", false, "Split on completing a world");
16
13 vars.log("Autosplitter loaded"); 17 vars.log("Autosplitter loaded");
14} 18}
15 19
16onStart 20onStart
17{ 21{
18 vars.maxSolve = 0; 22 vars.maxSolve = 0;
23 vars.numWorlds = 0;
19} 24}
20 25
21split 26split
22{ 27{
23 if (current.solveCount > vars.maxSolve) { 28 if (settings["solveCount"] && current.solveCount > vars.maxSolve) {
24 vars.log(String.Format("Solve count increased from {0} to {1}", vars.maxSolve, current.solveCount)); 29 vars.log(String.Format("Solve count increased from {0} to {1}", vars.maxSolve, current.solveCount));
25 vars.maxSolve = current.solveCount; 30 vars.maxSolve = current.solveCount;
26 return true; 31 return true;
27 } 32 }
33 if (settings["world"]) {
34 int curWorlds = 0;
35 foreach (byte b in current.worldsCompleted) {
36 if (b == 1) {
37 curWorlds += 1;
38 }
39 }
40 if (curWorlds > vars.numWorlds) {
41 vars.log(String.Format("World count increased from {0} to {1}", vars.numWorlds, curWorlds));
42 vars.numWorlds = curWorlds;
43 return true;
44 }
45 }
28} 46}