|
| 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_ov115_020cd4c8(void); |
| 5 | +extern void func_ov115_020cd5b4(void); |
| 6 | +extern void func_ov115_020cd78c(void); |
| 7 | +extern void func_ov115_020cdbac(void); |
| 8 | +extern void func_ov115_020cdde4(void); |
| 9 | +extern void func_ov115_020cdfec(void); |
| 10 | +extern void func_ov115_020ce5dc(void); |
| 11 | +extern void func_ov115_020ce20c(void); |
| 12 | +extern void func_ov115_020ce7bc(void); |
| 13 | +extern void func_ov115_020ce7f0(void); |
| 14 | +extern void func_ov115_020cea04(void); |
| 15 | +extern void func_ov115_020ce918(void); |
| 16 | + |
| 17 | +void func_ov115_020cd228(int *node) { |
| 18 | + int *state = (int *)node[1]; |
| 19 | + int c = *(signed char *)(*state + 0x1c7); |
| 20 | + if (c != -1) { |
| 21 | + *(signed char *)(*state + 0x1c6) = (signed char)c; |
| 22 | + *(unsigned short *)(*state + 0x1ae) &= ~1; |
| 23 | + ((struct bf *)(*(int *)(*state + 0x388) + 8))->b |= 1; |
| 24 | + { |
| 25 | + unsigned short *p = (unsigned short *)(*state + 0x60); |
| 26 | + unsigned int u = *p; |
| 27 | + *p = (unsigned short)((u & ~0xff00) | ((((u << 0x10) >> 0x18 | 0x40) << 0x18) >> 0x10)); |
| 28 | + } |
| 29 | + ((struct hw60 *)(*state + 0x60))->hi &= ~0x8e; |
| 30 | + switch (*(signed char *)(*state + 0x1c6)) { |
| 31 | + case 0: |
| 32 | + func_0203c634(node, 1, func_ov115_020cd4c8); |
| 33 | + break; |
| 34 | + case 1: |
| 35 | + func_0203c634(node, 1, func_ov115_020cd5b4); |
| 36 | + break; |
| 37 | + case 2: |
| 38 | + func_0203c634(node, 1, func_ov115_020cd78c); |
| 39 | + break; |
| 40 | + case 4: |
| 41 | + func_0203c634(node, 1, func_ov115_020cdbac); |
| 42 | + break; |
| 43 | + case 5: |
| 44 | + func_0203c634(node, 1, func_ov115_020cdde4); |
| 45 | + break; |
| 46 | + case 6: |
| 47 | + func_0203c634(node, 1, func_ov115_020cdfec); |
| 48 | + break; |
| 49 | + case 8: |
| 50 | + func_0203c634(node, 1, func_ov115_020ce5dc); |
| 51 | + break; |
| 52 | + case 9: |
| 53 | + func_0203c634(node, 1, func_ov115_020ce20c); |
| 54 | + break; |
| 55 | + case 0xc: |
| 56 | + func_0203c634(node, 1, func_ov115_020ce7bc); |
| 57 | + break; |
| 58 | + case 0xd: |
| 59 | + func_0203c634(node, 1, func_ov115_020ce7f0); |
| 60 | + break; |
| 61 | + case 0xe: |
| 62 | + func_0203c634(node, 1, func_ov115_020cea04); |
| 63 | + break; |
| 64 | + case 3: |
| 65 | + func_0203c634(node, 1, func_ov115_020ce918); |
| 66 | + break; |
| 67 | + } |
| 68 | + } |
| 69 | + *(signed char *)(*state + 0x1c7) = -1; |
| 70 | +} |
0 commit comments