-
Notifications
You must be signed in to change notification settings - Fork 0
/
ice-creamed.asl
43 lines (34 loc) · 1.58 KB
/
ice-creamed.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
state("Projector") {
/** Just like the Zed one, I found multiple addresses for the same thing.
* This time though, I found only one address with multiple pointer paths to it.
* I'll document multiple addresses for each fuction, just to be sure.
*/
// I hope the name explains itself
int levelNumber : "proj.dll", 0x10094, 0x54C, 0x14, 0x370;
// int levelNumber : "proj.dll", 0x10094, 0x54C, 0x28, 0xD70;
// int levelNumber : "proj.dll", 0x10094, 0x554, 0x0, 0x350;
// int levelNumber : "proj.dll", 0x10094, 0x554, 0x28, 0x370;
// int levelNumber : "proj.dll", 0x10094, 0x558, 0x14, 0x350;
// int levelNumber : "proj.dll", 0x10094, 0x57C, 0x28, 0x350;
// int levelNumber : "proj.dll", 0x10258, 0x48, 0x0, 0xD70;
// int levelNumber : "proj.dll", 0x10258, 0x4C, 0x0, 0x370;
// int levelNumber : "proj.dll", 0x10258, 0x4C, 0x14, 0xD70;
// True only on end menu or start menu, False otherwise
bool onMenu : "IML32.dll", 0x97D00;
// 'playing' is 0 until you make an input, then it will be 24 until you reset the game
int playing : "DIRECTOS.X32", 0x4B44, 0x85C;
// int playing : 0x64C0, 0x10, 0x40, 0x50, 0xFE8;
// int playing : 0x64C0, 0x10, 0x40, 0x60, 0xFE8;
}
init {}
start {
// The 'old == 0' is to make sure that the timer won't start if you reset the timer in-game
return old.playing == 0 && current.playing == 24;
}
split {
// If already at level 3, split on end menu
if (old.levelNumber == 3) return current.onMenu;
else return current.levelNumber > old.levelNumber;
}
isLoading {}
gameTime {}