-
Notifications
You must be signed in to change notification settings - Fork 2
/
Livesplit.BionicCommando.asl
60 lines (52 loc) · 1.51 KB
/
Livesplit.BionicCommando.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
//Autosplitting and Updated code by Koutyy
//Load Removal and original Autostart by Streetbackguy
state("bionic_commando")
{
bool isLoading : 0x809952;
string32 stage : 0x80CF80, 0x7C, 0x0;
uint someVar : "binkw32.dll", 0x233E8;
}
startup
{
if (timer.CurrentTimingMethod == TimingMethod.RealTime)
{
var timingMessage = MessageBox.Show (
"This game uses Time without Loads (Game Time) as the main timing method.\n"+
"LiveSplit is currently set to show Real Time (RTA).\n"+
"Would you like to set the timing method to Game Time?",
"LiveSplit | Bionic Commando",
MessageBoxButtons.YesNo, MessageBoxIcon.Question
);
if (timingMessage == DialogResult.Yes)
timer.CurrentTimingMethod = TimingMethod.GameTime;
}
}
start
{
return current.isLoading && current.stage == "cutscene_prison_stage1";
}
split
{
//print(current.someVar.ToString());
if (current.stage != old.stage &&
old.stage != "menu/mainmenu/mainmenu" &&
current.stage != "menu/mainmenu/mainmenu" &&
current.stage != "tutorial_a_stage1" &&
current.stage != "harbor_e_stage1")
{
return true;
}
//final split
if (current.stage == "boss_terracotta_stage1" && current.someVar != old.someVar && current.someVar == 0)
{
return true;
}
}
isLoading
{
return current.isLoading;
}
/*exit
{
timer.IsGameTimePaused = true;
}*/