/
LiveSplit.TheBeastInside.asl
64 lines (57 loc) · 1.41 KB
/
LiveSplit.TheBeastInside.asl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
state("TheBeastInside-Win64-Shipping")
{
byte loading : 0x2C64900, 0xC0, 0x8, 0x2C8;
string32 chapter: 0x2C4DA58, 0x7C8, 0x28;
byte control : 0x2C4EED0, 0x30, 0x348, 0xBA5;
}
startup
{
vars.missions = new Dictionary<string, string> {
{"Chapter02/DV_C02", "Chapter 2"},
{"Chapter03/DV_C03", "Chapter 3"},
{"Chapter04/DV_C04", "Chapter 4"},
{"Chapter05/DV_C05", "Chapter 5"},
{"Chapter06/DV_C06", "Chapter 6"},
{"Chapter07/DV_C07", "Chapter 7"},
{"Chapter08/DV_C08", "Chapter 8"},
{"Chapter09/DV_C09", "Chapter 9"},
{"Chapter10/DV_C10", "Chapter 10"},
{"Chapter11/DV_C11", "Chapter 11"},
{"Chapter12/DV_C12", "Chapter 12"},
{"Chapter13/DV_C13", "Chapter 13"}
};
foreach (var tag in vars.missions) {
settings.Add(tag.Key, true, tag.Value);
}
}
init
{
vars.endSplit = 0;
}
update
{
if (current.chapter == "Chapter13/DV_C13" && old.control == 0 && current.control == 1)
vars.endSplit++;
}
start
{
return current.chapter != old.chapter && current.chapter == "Chapter01/DV_C01";
}
split
{
if (vars.endSplit > 3) {
vars.endSplit = 0;
return true;
}
if (current.chapter != old.chapter) {
if (settings[current.chapter]) return true;
}
}
isLoading
{
return current.loading == 1 || current.loading == null;
}
exit
{
timer.IsGameTimePaused = true;
}