Skip to content

Commit c688c0e

Browse files
committed
Match 4 more sub-state dispatcher families x9 (mirror-bottom variants)
1 parent 51e23c0 commit c688c0e

18 files changed

Lines changed: 426 additions & 937 deletions

File tree

src/overlays/ov149/asm_stubs/calls/func_ov149_020ce7d8.c

Lines changed: 0 additions & 114 deletions
This file was deleted.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
struct bf { unsigned b : 8; };
2+
struct hw60 { unsigned short lo : 8, hi : 8; };
3+
extern void func_0203c634(void *obj, int idx, void *value);
4+
extern void func_ov149_020cea00(void);
5+
extern void func_ov149_020ceaa4(void);
6+
extern void func_ov149_020cec3c(void);
7+
extern void func_ov149_020ced48(void);
8+
extern void func_ov149_020cf0d4(void);
9+
extern void func_ov149_020cf44c(void);
10+
extern void func_ov149_020cf23c(void);
11+
extern void func_ov149_020cf384(void);
12+
extern void func_ov149_020cf6dc(void);
13+
14+
void func_ov149_020ce7d8(int *node) {
15+
int *state = (int *)node[1];
16+
int c = *(signed char *)(*state + 0x1c7);
17+
if (c != -1) {
18+
((struct hw60 *)(*state + 0x60))->hi &= ~0xce;
19+
*(unsigned short *)(*state + 0x1ae) &= ~0x41;
20+
((struct bf *)(*(int *)(*state + 0x388) + 8))->b |= 1;
21+
*(signed char *)(*state + 0x1c6) = *(signed char *)(*state + 0x1c7);
22+
switch (*(signed char *)(*state + 0x1c6)) {
23+
case 0:
24+
func_0203c634(node, 1, func_ov149_020cea00);
25+
break;
26+
case 1:
27+
func_0203c634(node, 1, func_ov149_020ceaa4);
28+
break;
29+
case 2:
30+
func_0203c634(node, 1, func_ov149_020cec3c);
31+
break;
32+
case 4:
33+
func_0203c634(node, 1, func_ov149_020ced48);
34+
break;
35+
case 5:
36+
func_0203c634(node, 1, func_ov149_020cf0d4);
37+
break;
38+
case 6:
39+
func_0203c634(node, 1, func_ov149_020cf44c);
40+
break;
41+
case 7:
42+
func_0203c634(node, 1, func_ov149_020cf23c);
43+
break;
44+
case 3:
45+
func_0203c634(node, 1, func_ov149_020cf384);
46+
break;
47+
case 8:
48+
func_0203c634(node, 1, func_ov149_020cf6dc);
49+
break;
50+
}
51+
}
52+
*(signed char *)(*state + 0x1c7) = -1;
53+
}

src/overlays/ov150/asm_stubs/calls/func_ov150_020d05f8.c

Lines changed: 0 additions & 114 deletions
This file was deleted.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
struct bf { unsigned b : 8; };
2+
struct hw60 { unsigned short lo : 8, hi : 8; };
3+
extern void func_0203c634(void *obj, int idx, void *value);
4+
extern void func_ov150_020d0820(void);
5+
extern void func_ov150_020d08c4(void);
6+
extern void func_ov150_020d0a5c(void);
7+
extern void func_ov150_020d0b68(void);
8+
extern void func_ov150_020d0ef4(void);
9+
extern void func_ov150_020d126c(void);
10+
extern void func_ov150_020d105c(void);
11+
extern void func_ov150_020d11a4(void);
12+
extern void func_ov150_020d14fc(void);
13+
14+
void func_ov150_020d05f8(int *node) {
15+
int *state = (int *)node[1];
16+
int c = *(signed char *)(*state + 0x1c7);
17+
if (c != -1) {
18+
((struct hw60 *)(*state + 0x60))->hi &= ~0xce;
19+
*(unsigned short *)(*state + 0x1ae) &= ~0x41;
20+
((struct bf *)(*(int *)(*state + 0x388) + 8))->b |= 1;
21+
*(signed char *)(*state + 0x1c6) = *(signed char *)(*state + 0x1c7);
22+
switch (*(signed char *)(*state + 0x1c6)) {
23+
case 0:
24+
func_0203c634(node, 1, func_ov150_020d0820);
25+
break;
26+
case 1:
27+
func_0203c634(node, 1, func_ov150_020d08c4);
28+
break;
29+
case 2:
30+
func_0203c634(node, 1, func_ov150_020d0a5c);
31+
break;
32+
case 4:
33+
func_0203c634(node, 1, func_ov150_020d0b68);
34+
break;
35+
case 5:
36+
func_0203c634(node, 1, func_ov150_020d0ef4);
37+
break;
38+
case 6:
39+
func_0203c634(node, 1, func_ov150_020d126c);
40+
break;
41+
case 7:
42+
func_0203c634(node, 1, func_ov150_020d105c);
43+
break;
44+
case 3:
45+
func_0203c634(node, 1, func_ov150_020d11a4);
46+
break;
47+
case 8:
48+
func_0203c634(node, 1, func_ov150_020d14fc);
49+
break;
50+
}
51+
}
52+
*(signed char *)(*state + 0x1c7) = -1;
53+
}

0 commit comments

Comments
 (0)