Skip to content

Commit 3c309b7

Browse files
committed
Match 4 sub-state dispatcher families x15 (ov127/147/188/153 groups, 9-12 case jump tables)
1 parent 7336024 commit 3c309b7

30 files changed

Lines changed: 813 additions & 1728 deletions

File tree

src/overlays/ov127/asm_stubs/calls/func_ov127_020cc988.c

Lines changed: 0 additions & 112 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_ov127_020ccc1c(void);
5+
extern void func_ov127_020cccc8(void);
6+
extern void func_ov127_020cce90(void);
7+
extern void func_ov127_020ccf04(void);
8+
extern void func_ov127_020cd15c(void);
9+
extern void func_ov127_020cd300(void);
10+
extern void func_ov127_020cd368(void);
11+
extern void func_ov127_020cd4d0(void);
12+
extern void func_ov127_020cd5a0(void);
13+
14+
void func_ov127_020cc988(int *node) {
15+
int *state = (int *)node[1];
16+
int c = *(signed char *)(*state + 0x1c7);
17+
if (c != -1) {
18+
*(signed char *)(*state + 0x1c6) = (signed char)c;
19+
((struct hw60 *)(*state + 0x60))->hi &= ~0xce;
20+
*(unsigned short *)(*state + 0x1ae) &= ~1;
21+
((struct bf *)(*(int *)(*state + 0x388) + 8))->b |= 1;
22+
switch (*(signed char *)(*state + 0x1c6)) {
23+
case 0:
24+
func_0203c634(node, 1, func_ov127_020ccc1c);
25+
break;
26+
case 1:
27+
func_0203c634(node, 1, func_ov127_020cccc8);
28+
break;
29+
case 2:
30+
func_0203c634(node, 1, func_ov127_020cce90);
31+
break;
32+
case 4:
33+
func_0203c634(node, 1, func_ov127_020ccf04);
34+
break;
35+
case 5:
36+
func_0203c634(node, 1, func_ov127_020cd15c);
37+
break;
38+
case 6:
39+
func_0203c634(node, 1, func_ov127_020cd300);
40+
break;
41+
case 7:
42+
func_0203c634(node, 1, func_ov127_020cd368);
43+
break;
44+
case 3:
45+
func_0203c634(node, 1, func_ov127_020cd4d0);
46+
break;
47+
case 8:
48+
func_0203c634(node, 1, func_ov127_020cd5a0);
49+
break;
50+
}
51+
}
52+
*(signed char *)(*state + 0x1c7) = -1;
53+
}

src/overlays/ov128/asm_stubs/calls/func_ov128_020d4208.c

Lines changed: 0 additions & 112 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_ov128_020d449c(void);
5+
extern void func_ov128_020d4548(void);
6+
extern void func_ov128_020d4710(void);
7+
extern void func_ov128_020d4784(void);
8+
extern void func_ov128_020d49dc(void);
9+
extern void func_ov128_020d4b80(void);
10+
extern void func_ov128_020d4be8(void);
11+
extern void func_ov128_020d4d50(void);
12+
extern void func_ov128_020d4e20(void);
13+
14+
void func_ov128_020d4208(int *node) {
15+
int *state = (int *)node[1];
16+
int c = *(signed char *)(*state + 0x1c7);
17+
if (c != -1) {
18+
*(signed char *)(*state + 0x1c6) = (signed char)c;
19+
((struct hw60 *)(*state + 0x60))->hi &= ~0xce;
20+
*(unsigned short *)(*state + 0x1ae) &= ~1;
21+
((struct bf *)(*(int *)(*state + 0x388) + 8))->b |= 1;
22+
switch (*(signed char *)(*state + 0x1c6)) {
23+
case 0:
24+
func_0203c634(node, 1, func_ov128_020d449c);
25+
break;
26+
case 1:
27+
func_0203c634(node, 1, func_ov128_020d4548);
28+
break;
29+
case 2:
30+
func_0203c634(node, 1, func_ov128_020d4710);
31+
break;
32+
case 4:
33+
func_0203c634(node, 1, func_ov128_020d4784);
34+
break;
35+
case 5:
36+
func_0203c634(node, 1, func_ov128_020d49dc);
37+
break;
38+
case 6:
39+
func_0203c634(node, 1, func_ov128_020d4b80);
40+
break;
41+
case 7:
42+
func_0203c634(node, 1, func_ov128_020d4be8);
43+
break;
44+
case 3:
45+
func_0203c634(node, 1, func_ov128_020d4d50);
46+
break;
47+
case 8:
48+
func_0203c634(node, 1, func_ov128_020d4e20);
49+
break;
50+
}
51+
}
52+
*(signed char *)(*state + 0x1c7) = -1;
53+
}

0 commit comments

Comments
 (0)