mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-05 00:47:54 -04:00
T3: batch t3_S46 — restruct: batch t3_S46 rung S — 50 files (TUs; 832 drawable) · 441 bodies: 963 sites → members / 66 kept / 253 skipped · levers off 0 · compiles 292 in 124 s wall · final 50/50 identical · written 45 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 367275 cast sites in 52294 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4 (restruct_cycle)
This commit is contained in:
+147
-147
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "f0bd054100",
|
||||
"head": "a4ff4dd94d",
|
||||
"stamp": "588cbf38c6e4",
|
||||
"generated": "2026-10-01 23:33",
|
||||
"generated": "2026-10-01 23:44",
|
||||
"aliases": [
|
||||
"main",
|
||||
"md_SC07_004",
|
||||
@@ -21,175 +21,175 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 6.946999999999999,
|
||||
"mean_s": 0.082
|
||||
"seconds": 7.881,
|
||||
"mean_s": 0.093
|
||||
},
|
||||
"md_SC07_004": {
|
||||
"objects": 1,
|
||||
"identical": 1,
|
||||
"seconds": 0.495,
|
||||
"mean_s": 0.495
|
||||
"seconds": 0.485,
|
||||
"mean_s": 0.485
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 5.0329999999999995,
|
||||
"mean_s": 0.157
|
||||
"seconds": 4.9810000000000025,
|
||||
"mean_s": 0.156
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 4.279,
|
||||
"mean_s": 0.153
|
||||
"seconds": 4.234000000000001,
|
||||
"mean_s": 0.151
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.743,
|
||||
"build/src/800_b.o": 0.087,
|
||||
"build/src/800_b_2.o": 0.321,
|
||||
"build/src/800_b_o0a.o": 0.072,
|
||||
"build/src/800_c.o": 0.208,
|
||||
"build/src/800b2.o": 0.074,
|
||||
"build/src/apicard1.o": 0.096,
|
||||
"build/src/apicard2.o": 0.075,
|
||||
"build/src/apicard3.o": 0.067,
|
||||
"build/src/apicard4.o": 0.074,
|
||||
"build/src/apicard5.o": 0.067,
|
||||
"build/src/apicard6.o": 0.077,
|
||||
"build/src/apicard7.o": 0.075,
|
||||
"build/src/boot.o": 0.082,
|
||||
"build/src/gap.o": 0.084,
|
||||
"build/src/libapi1.o": 0.077,
|
||||
"build/src/libapi2.o": 0.06,
|
||||
"build/src/libc2_1.o": 0.062,
|
||||
"build/src/libc2_2.o": 0.068,
|
||||
"build/src/libcd1.o": 0.07,
|
||||
"build/src/libcd2.o": 0.062,
|
||||
"build/src/libetc.o": 0.063,
|
||||
"build/src/libgpu.o": 0.07,
|
||||
"build/src/libgpu2.o": 0.079,
|
||||
"build/src/libgs1.o": 0.062,
|
||||
"build/src/libgs2.o": 0.067,
|
||||
"build/src/libgs3.o": 0.062,
|
||||
"build/src/libgs4.o": 0.073,
|
||||
"build/src/libgs5.o": 0.067,
|
||||
"build/src/libgs6.o": 0.078,
|
||||
"build/src/libgs7.o": 0.06,
|
||||
"build/src/libgs8.o": 0.061,
|
||||
"build/src/libgte1.o": 0.064,
|
||||
"build/src/libgte10.o": 0.056,
|
||||
"build/src/libgte11.o": 0.056,
|
||||
"build/src/libgte12.o": 0.069,
|
||||
"build/src/libgte13.o": 0.065,
|
||||
"build/src/libgte14.o": 0.065,
|
||||
"build/src/libgte15.o": 0.059,
|
||||
"build/src/800.o": 0.7,
|
||||
"build/src/800_b.o": 0.149,
|
||||
"build/src/800_b_2.o": 0.305,
|
||||
"build/src/800_b_o0a.o": 0.13,
|
||||
"build/src/800_c.o": 0.16,
|
||||
"build/src/800b2.o": 0.09,
|
||||
"build/src/apicard1.o": 0.119,
|
||||
"build/src/apicard2.o": 0.111,
|
||||
"build/src/apicard3.o": 0.082,
|
||||
"build/src/apicard4.o": 0.189,
|
||||
"build/src/apicard5.o": 0.182,
|
||||
"build/src/apicard6.o": 0.172,
|
||||
"build/src/apicard7.o": 0.178,
|
||||
"build/src/boot.o": 0.074,
|
||||
"build/src/gap.o": 0.18,
|
||||
"build/src/libapi1.o": 0.189,
|
||||
"build/src/libapi2.o": 0.087,
|
||||
"build/src/libc2_1.o": 0.096,
|
||||
"build/src/libc2_2.o": 0.095,
|
||||
"build/src/libcd1.o": 0.086,
|
||||
"build/src/libcd2.o": 0.09,
|
||||
"build/src/libetc.o": 0.069,
|
||||
"build/src/libgpu.o": 0.077,
|
||||
"build/src/libgpu2.o": 0.108,
|
||||
"build/src/libgs1.o": 0.063,
|
||||
"build/src/libgs2.o": 0.073,
|
||||
"build/src/libgs3.o": 0.069,
|
||||
"build/src/libgs4.o": 0.072,
|
||||
"build/src/libgs5.o": 0.083,
|
||||
"build/src/libgs6.o": 0.086,
|
||||
"build/src/libgs7.o": 0.074,
|
||||
"build/src/libgs8.o": 0.074,
|
||||
"build/src/libgte1.o": 0.067,
|
||||
"build/src/libgte10.o": 0.073,
|
||||
"build/src/libgte11.o": 0.063,
|
||||
"build/src/libgte12.o": 0.064,
|
||||
"build/src/libgte13.o": 0.069,
|
||||
"build/src/libgte14.o": 0.068,
|
||||
"build/src/libgte15.o": 0.064,
|
||||
"build/src/libgte16.o": 0.066,
|
||||
"build/src/libgte17.o": 0.064,
|
||||
"build/src/libgte18.o": 0.081,
|
||||
"build/src/libgte19.o": 0.061,
|
||||
"build/src/libgte2.o": 0.069,
|
||||
"build/src/libgte20.o": 0.065,
|
||||
"build/src/libgte21.o": 0.063,
|
||||
"build/src/libgte22.o": 0.067,
|
||||
"build/src/libgte17.o": 0.06,
|
||||
"build/src/libgte18.o": 0.071,
|
||||
"build/src/libgte19.o": 0.08,
|
||||
"build/src/libgte2.o": 0.063,
|
||||
"build/src/libgte20.o": 0.073,
|
||||
"build/src/libgte21.o": 0.07,
|
||||
"build/src/libgte22.o": 0.073,
|
||||
"build/src/libgte23.o": 0.064,
|
||||
"build/src/libgte24.o": 0.063,
|
||||
"build/src/libgte25.o": 0.078,
|
||||
"build/src/libgte26.o": 0.066,
|
||||
"build/src/libgte27.o": 0.085,
|
||||
"build/src/libgte28.o": 0.067,
|
||||
"build/src/libgte29.o": 0.06,
|
||||
"build/src/libgte3.o": 0.064,
|
||||
"build/src/libgte24.o": 0.066,
|
||||
"build/src/libgte25.o": 0.066,
|
||||
"build/src/libgte26.o": 0.075,
|
||||
"build/src/libgte27.o": 0.065,
|
||||
"build/src/libgte28.o": 0.061,
|
||||
"build/src/libgte29.o": 0.065,
|
||||
"build/src/libgte3.o": 0.069,
|
||||
"build/src/libgte30.o": 0.067,
|
||||
"build/src/libgte4.o": 0.063,
|
||||
"build/src/libgte5.o": 0.065,
|
||||
"build/src/libgte6.o": 0.064,
|
||||
"build/src/libgte7.o": 0.063,
|
||||
"build/src/libgte8.o": 0.064,
|
||||
"build/src/libgte9.o": 0.073,
|
||||
"build/src/libmcrd1.o": 0.08,
|
||||
"build/src/libmcrd2.o": 0.066,
|
||||
"build/src/libpad1.o": 0.074,
|
||||
"build/src/libpad2.o": 0.065,
|
||||
"build/src/sgap.o": 0.061,
|
||||
"build/src/sgap_2.o": 0.066,
|
||||
"build/src/sgap_3.o": 0.069,
|
||||
"build/src/sgap_4.o": 0.07,
|
||||
"build/src/sgap_5.o": 0.069,
|
||||
"build/src/sgap_6.o": 0.061,
|
||||
"build/src/sgap_8.o": 0.109,
|
||||
"build/src/libgte4.o": 0.072,
|
||||
"build/src/libgte5.o": 0.062,
|
||||
"build/src/libgte6.o": 0.061,
|
||||
"build/src/libgte7.o": 0.068,
|
||||
"build/src/libgte8.o": 0.058,
|
||||
"build/src/libgte9.o": 0.071,
|
||||
"build/src/libmcrd1.o": 0.074,
|
||||
"build/src/libmcrd2.o": 0.064,
|
||||
"build/src/libpad1.o": 0.066,
|
||||
"build/src/libpad2.o": 0.069,
|
||||
"build/src/sgap.o": 0.062,
|
||||
"build/src/sgap_2.o": 0.063,
|
||||
"build/src/sgap_3.o": 0.064,
|
||||
"build/src/sgap_4.o": 0.081,
|
||||
"build/src/sgap_5.o": 0.063,
|
||||
"build/src/sgap_6.o": 0.069,
|
||||
"build/src/sgap_8.o": 0.075,
|
||||
"build/src/snd1.o": 0.075,
|
||||
"build/src/snd10.o": 0.067,
|
||||
"build/src/snd11.o": 0.066,
|
||||
"build/src/snd12.o": 0.065,
|
||||
"build/src/snd2.o": 0.075,
|
||||
"build/src/snd3.o": 0.072,
|
||||
"build/src/snd4.o": 0.068,
|
||||
"build/src/snd5.o": 0.069,
|
||||
"build/src/snd6.o": 0.079,
|
||||
"build/src/snd10.o": 0.068,
|
||||
"build/src/snd11.o": 0.059,
|
||||
"build/src/snd12.o": 0.067,
|
||||
"build/src/snd2.o": 0.068,
|
||||
"build/src/snd3.o": 0.065,
|
||||
"build/src/snd4.o": 0.075,
|
||||
"build/src/snd5.o": 0.065,
|
||||
"build/src/snd6.o": 0.068,
|
||||
"build/src/snd7.o": 0.068,
|
||||
"build/src/snd8.o": 0.063,
|
||||
"build/src/snd9.o": 0.071,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.495,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.145,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.533,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.396,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.07,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.133,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.177,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.132,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.091,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.2,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.093,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.182,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.112,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.078,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.076,
|
||||
"build/src/snd8.o": 0.059,
|
||||
"build/src/snd9.o": 0.068,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.485,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.142,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.499,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.393,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.069,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.069,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.14,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.166,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.144,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.1,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.084,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.206,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.087,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.194,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.107,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.071,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.087,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.107,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.469,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.283,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.116,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.201,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.463,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.27,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.115,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.21,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.071,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.114,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.075,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.185,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.201,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.068,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.287,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.064,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.063,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.066,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.086,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.136,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.436,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.37,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.059,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.058,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.137,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.149,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.17,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.206,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.067,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.278,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.053,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.07,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.07,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.084,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.14,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.435,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.361,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.062,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.062,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.132,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.14,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.126,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.083,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.068,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.194,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.072,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.177,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.089,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.073,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.184,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.089,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.171,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.077,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.084,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.1,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.373,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.227,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.176,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.076,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.109,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.106,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.47,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.056,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.065
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.076,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.087,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.105,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.358,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.217,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.104,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.171,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.106,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.082,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.12,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.434,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.062,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.067
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 2.1
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1709
-191
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,17 @@
|
||||
type_census — 2026-10-02T05:41:06Z at f0bd054100 (src stamp 231e3e89d338671e, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 63.0 s, total 225.6 s
|
||||
type_census — 2026-10-02T05:52:01Z at a4ff4dd94d (src stamp d917ee1e09bc532c, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 46.8 s, total 207.3 s
|
||||
|
||||
DEFINITIONS 1650 struct/union bodies (+0 enums): canonical header 1021 · .c file-scope 0 · .c block-scope 600 · per-function shared headers 29 · other headers 0 · include/ 326
|
||||
1024 distinct names · 523 distinct layouts (0 unresolved) · 53 duplicate classes covering 496 names (tier 1 0 same-named, tier 2 53 opaque; 44 layout-twin classes / 472 names kept apart) · 42 exact-text classes / 546 copies · 0 VARIANT names (>1 layout) · 55 dead canonical names · 0 canonical names redefined in .c · 4300 scalar/alias typedefs · 145 forward decls
|
||||
CAST SITES deref 368376 = P 284707 + I 54567 + X 13790 + M 15312 (+ A address-of 18889; + C typed cast-member 145477) in 52422 bodies · coverage OK (raw {'P': 284707, 'I': 54567, 'X': 13790, 'A': 18889, 'C': 145477, 'M': 15312, 'K': 19208}) · refused 0 · absolute 0 · readability regex over raw text 287544
|
||||
by base: param 178372 · local 126825 · gaddr 40113 · nested 11215 · global 8738 · other 1614 · addr-of 1338 · ident 161
|
||||
by width: s2 105478 · s4 99537 · u2 91996 · u1 36123 · agg 13415 · p4 11126 · u4 8795 · s1 1906
|
||||
top bases: param_1(param) 58394 · arg0(param) 49147 · a0(param) 42581 · p(local) 13277 · cach(local) 8246 · buf(local) 7056 · s0(local) 6959 · p(param) 6673 · s1(local) 6482 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4714 · iVar1(local) 3811 · cur(local) 3375 · e(local) 3211 · src(local) 2599
|
||||
CAST SITES deref 367275 = P 283739 + I 54504 + X 13790 + M 15242 (+ A address-of 18889; + C typed cast-member 146363) in 52294 bodies · coverage OK (raw {'P': 283739, 'I': 54504, 'X': 13790, 'A': 18889, 'C': 146363, 'M': 15242, 'K': 19346}) · refused 0 · absolute 0 · readability regex over raw text 286576
|
||||
by base: param 177591 · local 126610 · gaddr 40113 · nested 11110 · global 8738 · other 1614 · addr-of 1338 · ident 161
|
||||
by width: s2 105283 · s4 99052 · u2 91674 · u1 36101 · agg 13415 · p4 11113 · u4 8731 · s1 1906
|
||||
top bases: param_1(param) 58284 · arg0(param) 48747 · a0(param) 42310 · p(local) 13262 · cach(local) 8246 · buf(local) 7056 · s0(local) 6947 · p(param) 6673 · s1(local) 6474 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4714 · iVar1(local) 3811 · cur(local) 3375 · e(local) 3211 · src(local) 2599
|
||||
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6426 names with >1 body text · 1078766 data externs over 55542 symbols (18498 typed >1 way) · asm-label aliases 5148 (159 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'packed': 26, 'aligned': 6}
|
||||
lying declarations 229 over 24 callees {'K&R-empty': 216, 'narrow': 13} · K&R sites (marked, counted apart) 5293 over 200 callees · cross-binary (the fleet's definitions disagree, this binary has none) 418 over 96 callees
|
||||
STRUCT MAP 18834 types explain 364455/368376 deref sites (98.9 %); unassigned 3921; 4006 types span ≥2 bodies (307988 sites), 14828 single-body; types with conflicts 855, suspect 11
|
||||
merges by evidence {'param': 39434, 'return': 1532, 'assign&': 1270, 'assign': 19230, 'ret-of': 5699, 'arg': 10933, 'arg&': 275, 'field': 6995, 'nested': 9}; vetoed {'arg-conduit': 138512, 'assign-multisource': 33221, 'ret-of-multisource': 6622, 'assign&-multisource': 12223, 'arg&-conduit': 14638, 'arg&-no-overlap': 3406, 'field-multisource': 5696, 'ret-of': 606, 'assign': 361, 'arg-no-overlap': 38659, 'assign&': 336, 'arg': 136, 'return': 6, 'field': 32}
|
||||
Unkstruct_80126B58 sites 27240 bodies 3566 fields 168 size≥0x24c width-conflicts 49 sign-mixed 52 merges {'param': 2188, 'arg': 1138, 'assign&': 104, 'assign': 43} at D_80126B58 ptr D_80126B58
|
||||
Unkstruct_800B5CB8 sites 21637 bodies 4551 fields 128 size≥0x10c width-conflicts 50 sign-mixed 57 merges {'param': 9116, 'assign': 8578, 'arg': 6956, 'ret-of': 2395} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
|
||||
STRUCT MAP 18717 types explain 363354/367275 deref sites (98.9 %); unassigned 3921; 3986 types span ≥2 bodies (306917 sites), 14731 single-body; types with conflicts 845, suspect 12
|
||||
merges by evidence {'param': 39398, 'arg': 11006, 'assign': 19214, 'assign&': 1266, 'ret-of': 5743, 'return': 1534, 'arg&': 282, 'field': 6954, 'nested': 9}; vetoed {'arg-conduit': 138911, 'assign-multisource': 33225, 'arg&-no-overlap': 3411, 'arg&-conduit': 14638, 'arg-no-overlap': 32108, 'field-multisource': 5694, 'assign&-multisource': 12223, 'ret-of-multisource': 6622, 'assign': 317, 'ret-of': 454, 'assign&': 340, 'arg': 227, 'return': 6, 'field': 96}
|
||||
Unkstruct_80126B58 sites 26390 bodies 3095 fields 169 size≥0x24c width-conflicts 49 sign-mixed 53 merges {'param': 2208, 'arg': 1148, 'assign&': 104, 'assign': 43} at D_80126B58 ptr D_80126B58
|
||||
Unkstruct_800B5CB8 sites 21997 bodies 4752 fields 128 size≥0x10c width-conflicts 50 sign-mixed 56 merges {'param': 9372, 'assign': 8591, 'arg': 7195, 'ret-of': 2603} at D_800B5CB8,D_800D3888,D_80180FC4 ptr D_8006386C,D_80074778,D_80074780
|
||||
Unkstruct_cb638a45 sites 6477 bodies 381 fields 6 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 12, 'arg': 5}
|
||||
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
|
||||
Unkstruct_0caecd54 sites 4340 bodies 124 fields 23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1}
|
||||
@@ -21,13 +21,13 @@ STRUCT MAP 18834 types explain 364455/368376 deref sites (98.9 %); unassigned
|
||||
Unkstruct_57a28935 sites 3271 bodies 196 fields 26 size≥0xa4 width-conflicts 3 sign-mixed 9 merges {'param': 268, 'arg': 133}
|
||||
Unkstruct_1fa9e810 sites 3144 bodies 131 fields 3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {}
|
||||
Unkstruct_30b21035 sites 3100 bodies 124 fields 13 size≥0x54 width-conflicts 0 sign-mixed 0 merges {}
|
||||
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
|
||||
GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14253 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
|
||||
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 15, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
|
||||
GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14250 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
|
||||
PARKED (P36) 24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 PARK names are minimum-lever banks
|
||||
CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7)
|
||||
CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | OtBlk[]:9 | u8[]:9 | OtBlk_80016450[]:8 | s32[]:7)
|
||||
|
||||
duplicate-layout classes (top 12): 4B×56 names (0 defs): B4_80165140, B4_8017F154, B4_8018750C, B4_8018AD9C… | 8B×46 names (0 defs): Blk8S16, Blk8_80126940, Blk8_80180A38, D_80195AF4_t… | 8B×45 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×34 names (0 defs): Args_80182194, Blk8017FD54, Blk8_801A6AD0, Blk8_801AD914… | 20B×32 names (0 defs): Blk20_8017D110, Buf8017BF34_8017BF34, Buf8017BF50_8017C234, Loc_80180E10… | 16B×28 names (0 defs): Blk16X, Blk16_8017ECD4, Blk16_8018A4C4, Blk16_8018A8B8… | 6B×25 names (0 defs): D80190448_t, Pt6_8017D65C, ResMapCol, S6… | 32B×25 names (0 defs): Blk20_8016DF5C, Blk20_80180B78, Blk20_80184694, Blk32L_80133298… | 8B×22 names (22 defs): B8014, Blk8_80133CD4, Blk8_801463A0, Blk8_8017FF80… | 12B×19 names (19 defs): Blk12, Prim126, PrimC59C, PrimC974… | 8B×14 names (0 defs): CdFileLoc, Cmd_801805C8, M8_8016B6BC, Pair8_8017DDC4… | 4B×14 names (0 defs): D_801D0660_s, Ent_80186AE4, P4, Pair4_801B02DC…
|
||||
VARIANT names (top 12):
|
||||
|
||||
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 368376 cast sites in 52422 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
|
||||
struct_map: 18834 types over 18834 clusters explain 364455/368376 sites (98.9 %); 3921 unassigned sites; 855 types with conflicts
|
||||
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 367275 cast sites in 52294 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
|
||||
struct_map: 18717 types over 18717 clusters explain 363354/367275 sites (98.9 %); 3921 unassigned sites; 845 types with conflicts
|
||||
|
||||
@@ -3719,8 +3719,8 @@ void func_8017EAD4(void *param_1)
|
||||
|
||||
func_8017EFB4(param_1);
|
||||
ptr = func_8014C168(&D_80126B58, 0x3D);
|
||||
*(s16 *)&D_801274E8 = *(u16 *)(ptr + 6);
|
||||
D_801274EC = *(u16 *)(ptr + 0xE);
|
||||
*(s16 *)&D_801274E8 = ((Unkstruct_800B5CB8 *)ptr)->unk6;
|
||||
D_801274EC = ((Unkstruct_800B5CB8 *)ptr)->unkE;
|
||||
func_8017EDF8(param_1, &D_801274E8);
|
||||
}
|
||||
|
||||
@@ -3790,9 +3790,9 @@ void func_8017ECAC(void *param_1)
|
||||
*(u16 *)((u8 *)param_1 + 0x1A) = v;
|
||||
*(u16 *)((u8 *)param_1 + 0x22) = v;
|
||||
ptr = func_8014C168(&D_80126B58, 0x3D);
|
||||
*(s16 *)&D_801274E8 = *(u16 *)(ptr + 6);
|
||||
D_801274EA = *(u16 *)(ptr + 0xA);
|
||||
D_801274EC = *(u16 *)(ptr + 0xE);
|
||||
*(s16 *)&D_801274E8 = ((Unkstruct_800B5CB8 *)ptr)->unk6;
|
||||
D_801274EA = ((Unkstruct_800B5CB8 *)ptr)->unkA;
|
||||
D_801274EC = CAST_ALIAS(u16, ptr, 0xE);
|
||||
func_8017EDF8(param_1, &D_801274E8);
|
||||
}
|
||||
|
||||
@@ -4951,10 +4951,10 @@ void func_8018074C(s32 arg0)
|
||||
switch (t) {
|
||||
case 0:
|
||||
case 1:
|
||||
diff = D_801944F8[t][0] - *(u16 *)(v + 0xE);
|
||||
diff = D_801944F8[t][0] - ((Unkstruct_800B5CB8 *)v)->unkE;
|
||||
break;
|
||||
case 2:
|
||||
diff = D_8019451C - *(u16 *)(v + 6);
|
||||
diff = D_8019451C - ((Unkstruct_800B5CB8 *)v)->unk6;
|
||||
break;
|
||||
}
|
||||
d = diff;
|
||||
@@ -5350,9 +5350,9 @@ extern s16 D_801E4C52;
|
||||
extern s16 D_801E4C54;
|
||||
void func_80181270(s32 a0) {
|
||||
s32 v0 = func_8014C168(a0, 0x42);
|
||||
D_801E4C50 = *(u16 *)(v0 + 0x6);
|
||||
D_801E4C52 = *(u16 *)(v0 + 0xA);
|
||||
D_801E4C54 = *(u16 *)(v0 + 0xE);
|
||||
D_801E4C50 = ((Unkstruct_800B5CB8 *)v0)->unk6;
|
||||
D_801E4C52 = CAST_ALIAS(u16, v0, 0xA);
|
||||
D_801E4C54 = CAST_ALIAS(u16, v0, 0xE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4596,8 +4596,8 @@ void func_80190144(void *a0) {
|
||||
idx = *(s32 *)((s32)a0 + 0x2C);
|
||||
func_8001CBDC((s32)s1, (s32)D_80196D94, D_80196D30[idx][0], D_80196D30[idx][1]);
|
||||
uVar1 = D_80196D5C[*(s32 *)((s32)a0 + 0x2C)];
|
||||
*(s16 *)((s32)s1 + 0x2C) = 3;
|
||||
*(u8 *)((s32)s1 + 0x27) = uVar1;
|
||||
((Unkstruct_800B5CB8 *)s1)->unk2C = 3;
|
||||
((Unkstruct_800B5CB8 *)s1)->unk27 = uVar1;
|
||||
*(s16 *)((s32)a0 + 0x6) = 0;
|
||||
*(s16 *)((s32)a0 + 0xA) = 0x50;
|
||||
|
||||
@@ -4774,11 +4774,11 @@ void func_80190538(s32 arg0) {
|
||||
if (D_801270C8 < 0x1B) {
|
||||
s32 dx, dz, q;
|
||||
|
||||
dx = *(s16 *)(t + 6) - *(s16 *)(s0 + 6);
|
||||
dx = CAST_SIGN(s16, t, 6) - *(s16 *)(s0 + 6);
|
||||
d.vx = dx;
|
||||
v.vx = dx;
|
||||
q = *(s16 *)(s0 + 0xE) + 0x180;
|
||||
dz = *(s16 *)(t + 0xE) - q;
|
||||
dz = CAST_SIGN(s16, t, 0xE) - q;
|
||||
d.vz = dz;
|
||||
v.vz = dz;
|
||||
if (dx < 0) d.vx = -dx;
|
||||
@@ -4797,11 +4797,11 @@ void func_80190538(s32 arg0) {
|
||||
} else {
|
||||
s32 dx, dz, q;
|
||||
|
||||
dz = *(s16 *)(t + 0xE) - *(s16 *)(s0 + 0xE);
|
||||
dz = CAST_SIGN(s16, t, 0xE) - *(s16 *)(s0 + 0xE);
|
||||
d.vz = dz;
|
||||
v.vz = dz;
|
||||
q = *(s16 *)(s0 + 6) - 0x180;
|
||||
dx = *(s16 *)(t + 6) - q;
|
||||
dx = CAST_SIGN(s16, t, 6) - q;
|
||||
d.vx = dx;
|
||||
v.vx = dx;
|
||||
if (dx < 0) d.vx = -dx;
|
||||
|
||||
@@ -3463,8 +3463,8 @@ s32 func_8017F434(s32 a0) {
|
||||
sp10.vx = D_80126B5E;
|
||||
sp10.vy = D_80126B62;
|
||||
sp10.vz = D_80126B66;
|
||||
sp18.vx = *(u16 *)(a0 + 6);
|
||||
sp18.vy = *(u16 *)(a0 + 0xA);
|
||||
sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6;
|
||||
sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA;
|
||||
sp18.vz = 0;
|
||||
sp20.vx = D_80126B5E;
|
||||
sp20.vy = D_80126B62;
|
||||
|
||||
@@ -3228,10 +3228,10 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_80188A14(void *a0, s32 a1, s32 a2) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a1);
|
||||
if (v1 != 0) {
|
||||
s32 v0 = *(s32 *)((char *)v1 + 0xCC);
|
||||
s32 v0 = ((Unkstruct_800B5CB8 *)v1)->unkCC;
|
||||
if (v0 == 0) {
|
||||
*(s32 *)((char *)v1 + 0xCC) = a2;
|
||||
*(s32 *)((char *)v1 + 0xD0) = (s32)a0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = a2;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = (s32)a0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3254,14 +3254,14 @@ void func_80188A78(s32 a0, s32 a1, s32 a2) {
|
||||
if (v1 == 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xCC) != s0) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkCC != s0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xD0) != s1) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkD0 != s1) {
|
||||
return;
|
||||
}
|
||||
*(s32 *)((char *)v1 + 0xCC) = 0;
|
||||
*(s32 *)((char *)v1 + 0xD0) = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3272,8 +3272,8 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_80188AEC(s32 a0, s32 a1) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a0);
|
||||
if (v1 != 0) {
|
||||
if (*(s16 *)(v1 + 0x10A) < a1) {
|
||||
*(s16 *)(v1 + 0x10A) = a1;
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unk10A < a1) {
|
||||
((Unkstruct_800B5CB8 *)v1)->unk10A = a1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3283,7 +3283,7 @@ void func_80188AEC(s32 a0, s32 a1) {
|
||||
extern void (*D_801C0E1C[])(void);
|
||||
|
||||
void func_80188B44(void *a0) {
|
||||
D_801C0E1C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801C0E1C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3465,13 +3465,13 @@ s32 func_80188D68(void *a0) {
|
||||
p = D_801202A0;
|
||||
end = p + 0x6480;
|
||||
for (; p != end; p += 0x10C) {
|
||||
tag = *(u16 *)p;
|
||||
tag = ((Unkstruct_800B5CB8 *)p)->unk0;
|
||||
if (tag != 0 && tag != 0x61 && func_80188E74((s32)p) != 0) {
|
||||
t = *(s32 *)(p + 0x20);
|
||||
if (t != 0 && *(s32 *)(t + 0x24) != 0 && *(s32 *)(t + 0x4) >= 0) {
|
||||
in[0] = *(u16 *)(p + 0x6);
|
||||
in[1] = *(u16 *)(p + 0xA);
|
||||
in[2] = *(u16 *)(p + 0xE);
|
||||
t = ((Unkstruct_800B5CB8 *)p)->unk20;
|
||||
if (t != 0 && CAST_WIDTH(s32, t, 0x24) != 0 && CAST_WIDTH(s32, t, 0x4) >= 0) {
|
||||
in[0] = ((Unkstruct_800B5CB8 *)p)->unk6;
|
||||
in[1] = ((Unkstruct_800B5CB8 *)p)->unkA;
|
||||
in[2] = ((Unkstruct_800B5CB8 *)p)->unkE;
|
||||
func_8012F2E8((s32)a0, (s32)in, (s32)out);
|
||||
if (func_8012CB64((s32)out, -0xA0, 0x80, -0xC0, 0x80) != 0) {
|
||||
return 1;
|
||||
|
||||
@@ -3248,8 +3248,8 @@ extern s32 func_80171990(u8 *a0);
|
||||
void func_8017E9CC(u8 *a0) {
|
||||
s32 v0;
|
||||
func_8017EC64((s32)a0);
|
||||
v0 = *(s32 *)(a0 + 0x200) - 1;
|
||||
*(s32 *)(a0 + 0x200) = v0;
|
||||
v0 = ((Unkstruct_80126B58 *)a0)->unk200 - 1;
|
||||
((Unkstruct_80126B58 *)a0)->unk200 = v0;
|
||||
if (v0 == -1) {
|
||||
func_80171990(a0);
|
||||
}
|
||||
@@ -3268,7 +3268,7 @@ extern s32 func_80171990(u8 *a0);
|
||||
void func_8017EA10(void *a0) {
|
||||
if (D_8018FB78 == 0) {
|
||||
if (func_8017EC64(a0) < 0x190) {
|
||||
*(s32 *)((s32)a0 + 0x198) = func_8013767C(&D_801830B0);
|
||||
((Unkstruct_80126B58 *)a0)->unk198 = func_8013767C(&D_801830B0);
|
||||
func_80154274((s32 *)a0, &D_80182D58);
|
||||
func_80147324(0x7E7);
|
||||
func_80171990((u8 *)a0);
|
||||
@@ -3281,8 +3281,8 @@ extern s32 func_8017EC64(s32 arg0);
|
||||
|
||||
void func_8017EA88(u8 *a0) {
|
||||
if (func_8017EC64(a0) == 0x12C) {
|
||||
if (*(u16 *)(a0 + 0xB8) & 0x8000) {
|
||||
*(u16 *)(a0 + 0xB8) = *(u16 *)(a0 + 0xBA);
|
||||
if (((Unkstruct_80126B58 *)a0)->unkB8 & 0x8000) {
|
||||
((Unkstruct_80126B58 *)a0)->unkB8 = ((Unkstruct_80126B58 *)a0)->unkBA;
|
||||
func_80171990(a0);
|
||||
}
|
||||
}
|
||||
@@ -3360,7 +3360,7 @@ s32 arg0;
|
||||
{
|
||||
s32 *ptr = (s32 *) D_801151D4;
|
||||
|
||||
*(s32 *) (arg0 + 0x204) += 0x30000;
|
||||
((Unkstruct_80126B58 *)arg0)->unk204 += 0x30000;
|
||||
ptr[4] -= *(s16 *) (arg0 + 0x206);
|
||||
ptr[5] = ptr[4];
|
||||
if (ptr[4] < 0x12C) {
|
||||
@@ -3574,7 +3574,7 @@ s32 func_8017F198(void) {
|
||||
extern void (*D_80182FC8[])(void);
|
||||
|
||||
void func_8017F1A0(void *a0) {
|
||||
D_80182FC8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80182FC8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2863,36 +2863,36 @@ void func_8017FAA8(s32 param_1) {
|
||||
s32 *p = (s32 *)D_801151D4;
|
||||
SV3_8017FAA8 sv;
|
||||
SV3_8017FAA8 *svp;
|
||||
switch (*(u16 *)(param_1 + 0x34)) {
|
||||
switch (((Unkstruct_800B5CB8 *)param_1)->unk34) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; i < 0x30; i++) {
|
||||
ptr = (s32 *)func_80143C74(param_1, 0);
|
||||
if (ptr != 0) {
|
||||
*(s32 *)(ptr + 4) = (rand() - 0x4000) * 0x10;
|
||||
CAST_WIDTH(s32, ptr, 4) = (rand() - 0x4000) * 0x10;
|
||||
CAST_MISALIGNED(s32, ptr, 6) = (rand() - 0x4000) * 0x10;
|
||||
*(u16 *)((s32)ptr + 0x16) = -(rand() & 0x1F);
|
||||
CAST_MISALIGNED(s32, ptr, 0x12) = -(CAST_MISALIGNED(s32, ptr, 5) >> 4);
|
||||
sv.x = p[0x17] - *(s16 *)((s32)ptr + 6);
|
||||
sv.y = p[0x18] - *(s16 *)((s32)ptr + 0xA);
|
||||
sv.z = p[0x19] - *(s16 *)((s32)ptr + 0xE);
|
||||
sv.x = p[0x17] - CAST_SIGN(s16, (s32)ptr, 6);
|
||||
sv.y = p[0x18] - CAST_SIGN(s16, (s32)ptr, 0xA);
|
||||
sv.z = p[0x19] - CAST_SIGN(s16, (s32)ptr, 0xE);
|
||||
svp = &sv;
|
||||
VectorNormalSS(svp, svp);
|
||||
*(s16 *)((s32)ptr + 6) += sv.x >> 6;
|
||||
*(s16 *)((s32)ptr + 0xA) += sv.y >> 6;
|
||||
*(s16 *)((s32)ptr + 0xE) += sv.z >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 6) += sv.x >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 0xA) += sv.y >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 0xE) += sv.z >> 6;
|
||||
}
|
||||
}
|
||||
*(s32 *)(param_1 + 0x1C) = 4;
|
||||
*(s16 *)(param_1 + 0x34) += 1;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unk1C = 4;
|
||||
CAST_SIGN(s16, param_1, 0x34) += 1;
|
||||
func_8002D4C8(0x9E2, 0);
|
||||
break;
|
||||
case 2:
|
||||
if (--*(s32 *)(param_1 + 0x1C) == 0) {
|
||||
func_8001C214(*(s32 *)(param_1 + 0x20), (s32)&D_801A8C34);
|
||||
if (--((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) {
|
||||
func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)&D_801A8C34);
|
||||
func_8012A828(param_1, &D_801AA66C);
|
||||
*(s16 *)(param_1 + 0x34) = 0;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unk34 = 0;
|
||||
((void (*)(s32))func_8001AAA0)(0x62);
|
||||
func_8002AC00(0x1C);
|
||||
}
|
||||
@@ -2901,37 +2901,37 @@ void func_8017FAA8(s32 param_1) {
|
||||
for (i = 0; i < 0x30; i++) {
|
||||
ptr = (s32 *)func_80143C74(param_1, 0);
|
||||
if (ptr != 0) {
|
||||
*(s32 *)(ptr + 4) = (rand() - 0x4000) * 0x10;
|
||||
CAST_WIDTH(s32, ptr, 4) = (rand() - 0x4000) * 0x10;
|
||||
CAST_MISALIGNED(s32, ptr, 6) = (rand() - 0x4000) * 0x10;
|
||||
*(u16 *)((s32)ptr + 0x16) = -(rand() & 0x1F);
|
||||
CAST_MISALIGNED(s32, ptr, 0x12) = -(CAST_MISALIGNED(s32, ptr, 5) >> 4);
|
||||
sv.x = p[0x17] - *(s16 *)((s32)ptr + 6);
|
||||
sv.y = p[0x18] - *(s16 *)((s32)ptr + 0xA);
|
||||
sv.z = p[0x19] - *(s16 *)((s32)ptr + 0xE);
|
||||
sv.x = p[0x17] - CAST_SIGN(s16, (s32)ptr, 6);
|
||||
sv.y = p[0x18] - CAST_SIGN(s16, (s32)ptr, 0xA);
|
||||
sv.z = p[0x19] - CAST_SIGN(s16, (s32)ptr, 0xE);
|
||||
svp = &sv;
|
||||
VectorNormalSS(svp, svp);
|
||||
*(s16 *)((s32)ptr + 6) += sv.x >> 6;
|
||||
*(s16 *)((s32)ptr + 0xA) += sv.y >> 6;
|
||||
*(s16 *)((s32)ptr + 0xE) += sv.z >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 6) += sv.x >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 0xA) += sv.y >> 6;
|
||||
CAST_SIGN(s16, (s32)ptr, 0xE) += sv.z >> 6;
|
||||
func_8002D4C8(0x9E3, 0);
|
||||
}
|
||||
}
|
||||
*(s32 *)(param_1 + 0x1C) = 4;
|
||||
*(s16 *)(param_1 + 0x34) += 1;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unk1C = 4;
|
||||
CAST_SIGN(s16, param_1, 0x34) += 1;
|
||||
break;
|
||||
case 4:
|
||||
if (--*(s32 *)(param_1 + 0x1C) == 0) {
|
||||
if (--((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) {
|
||||
((void (*)(s32))func_8001AAA0)(0x63);
|
||||
func_8001CA1C(*(s32 *)(param_1 + 0x20), (s32)&D_80184F80);
|
||||
func_8001CA1C(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)&D_80184F80);
|
||||
func_8012A828(param_1, &D_80184F8C);
|
||||
*(s16 *)(param_1 + 0x34) += 1;
|
||||
CAST_SIGN(s16, param_1, 0x34) += 1;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (((s32 (*)(void))func_80174774)() != 0) {
|
||||
*(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000;
|
||||
*(s16 *)(param_1 + 0xE) = -0x600;
|
||||
*(s16 *)(param_1 + 0x34) += 1;
|
||||
*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000;
|
||||
CAST_ALIAS(s16, param_1, 0xE) = -0x600;
|
||||
CAST_SIGN(s16, param_1, 0x34) += 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2947,7 +2947,7 @@ void func_8017FAA8(s32 param_1) {
|
||||
extern void (*D_801850F8[])(void);
|
||||
|
||||
void func_8017FE4C(void *a0) {
|
||||
D_801850F8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801850F8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2971,14 +2971,14 @@ void func_8017FE88(s32 arg0)
|
||||
return;
|
||||
}
|
||||
|
||||
*(u8 *)((s32)arg0 + 0xC0) = 1;
|
||||
*(s32 *)((s32)arg0 + 0xB4) = -1;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkB4 = -1;
|
||||
func_80143970(arg0);
|
||||
func_8012A828(arg0, &D_801A45A8);
|
||||
(*(u16 *)((s32)arg0 + 0x2))++;
|
||||
(CAST_SIGN(u16, (s32)arg0, 0x2))++;
|
||||
func_8012B23C(arg0);
|
||||
*(s32 *)((s32)arg0 + 0x1C) = 0x1E;
|
||||
*(s32 *)((s32)arg0 + 0xD4) = (s32)arg0;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x1E;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkD4 = (s32)arg0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3334,7 +3334,7 @@ void func_80180518(s32 a0) {
|
||||
for (i = 0, p = D_801A5288; i < 8; i++, p += 8) {
|
||||
hit = func_801290DC(0x20, p);
|
||||
if (hit != 0) {
|
||||
*(u16 *)(hit + 0x34) = i + 2;
|
||||
((Unkstruct_800B5CB8 *)hit)->unk34 = i + 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3165,7 +3165,7 @@ void func_80186A34(s32 arg0)
|
||||
m = *(Mtx32_80186A34 *)&D_800AE620;
|
||||
RotMatrixY((func_8012B864(arg0) + 0x800) & 0xFFF, &m);
|
||||
|
||||
switch (*(u16 *)(arg0 + 0x5E) - 1) {
|
||||
switch (CAST_WIDTH(u16, arg0, 0x5E) - 1) {
|
||||
case 7:
|
||||
p = D_801C92BC;
|
||||
break;
|
||||
@@ -3189,8 +3189,8 @@ void func_80186A34(s32 arg0)
|
||||
|
||||
func_800484EC((s32)&m, (s32)p, arg0 + 0x10);
|
||||
|
||||
*(u16 *)(arg0 + 0x34) = 0;
|
||||
*(s32 *)(arg0 + 0x1C) = 0;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk34 = 0;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk1C = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3331,9 +3331,9 @@ void func_80186D5C(void)
|
||||
|
||||
void func_80186D90(s32 a0) {
|
||||
extern u8 D_80187B3C[];
|
||||
*(s16 *)(a0 + 0x2) = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
func_8012A828(a0, D_80187B3C);
|
||||
*(u16 *)(a0 + 0x5C) = 0xAA10;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10;
|
||||
*(s16 *)(a0 + 0xEA) = 0;
|
||||
}
|
||||
|
||||
@@ -3446,14 +3446,14 @@ void func_80186F9C(s32 a0, s32 a1, s32 a2) {
|
||||
func_8012B23C(s1);
|
||||
func_80132288(&D_801D98C8, (s32 *)s0, D_801CA0A0);
|
||||
s0 = 1;
|
||||
if (*(u16 *)(s1 + 0xDC) & 2) {
|
||||
if (CAST_WIDTH(u16, s1, 0xDC) & 2) {
|
||||
func_800183E0((s32)&D_801CA248);
|
||||
*(u16 *)(s1 + 0xDC) = s0;
|
||||
CAST_WIDTH(u16, s1, 0xDC) = s0;
|
||||
}
|
||||
*(u16 *)(s1 + 0x5C) &= 0xFFFE;
|
||||
*(s32 *)(s1 + 0x1C) = s2;
|
||||
*(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) = (*(u16 *)(s1 + 0x62) + 0x800) & 0xFFF;
|
||||
p = *(s32 *)(s1 + 0x20);
|
||||
((Unkstruct_800B5CB8 *)s1)->unk5C &= 0xFFFE;
|
||||
((Unkstruct_800B5CB8 *)s1)->unk1C = s2;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(s1 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)s1)->unk62 + 0x800) & 0xFFF;
|
||||
p = ((Unkstruct_800B5CB8 *)s1)->unk20;
|
||||
*(s16 *)(p + 0x14) = 0;
|
||||
*(s16 *)(p + 0x10) = 0;
|
||||
}
|
||||
@@ -3463,9 +3463,9 @@ extern void func_8012C218(void*);
|
||||
|
||||
void func_80187050(void *arg0) {
|
||||
int iVar1;
|
||||
if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) == 0) {
|
||||
iVar1 = *(int *)((char *)arg0 + 0x68);
|
||||
if ((iVar1 != 0) && ((*(s16 *)((char *)arg0 + 0x72) & 0x8000) != 0)) {
|
||||
if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) == 0) {
|
||||
iVar1 = ((Unkstruct_800B5CB8 *)arg0)->unk68;
|
||||
if ((iVar1 != 0) && ((CAST_SIGN(s16, (char *)arg0, 0x72) & 0x8000) != 0)) {
|
||||
*(unsigned short *)(iVar1 + 10) = *(unsigned short *)(iVar1 + 10) & 0x7FFF;
|
||||
}
|
||||
}
|
||||
@@ -3478,9 +3478,9 @@ extern void Square0(s32 *a0, s32 *a1);
|
||||
s32 func_801870B8(s32 a0) {
|
||||
s32 sp10[4];
|
||||
|
||||
sp10[0] = *(s16 *)((s32)a0 + 6) - *(s16 *)((s32)a0 + 0x88);
|
||||
sp10[0] = CAST_SIGN(s16, (s32)a0, 6) - CAST_SIGN(s16, (s32)a0, 0x88);
|
||||
sp10[1] = 0;
|
||||
sp10[2] = *(s16 *)((s32)a0 + 0xE) - *(s16 *)((s32)a0 + 0x8C);
|
||||
sp10[2] = CAST_SIGN(s16, (s32)a0, 0xE) - CAST_SIGN(s16, (s32)a0, 0x8C);
|
||||
Square0(&sp10[0], &sp10[0]);
|
||||
return 0x18FFFF >= (sp10[0] + sp10[2]);
|
||||
}
|
||||
@@ -3510,9 +3510,9 @@ s32 func_80187118(s32 a0, s32 a1)
|
||||
RotMatrixY(func_8012B864(a0), &m);
|
||||
func_800484EC((s32)&m, a1, (s32)&out);
|
||||
|
||||
pos[0] = *(s32 *)(a0 + 0x4) + out.vx;
|
||||
pos[1] = *(s32 *)(a0 + 0x8) + out.vy;
|
||||
pos[2] = *(s32 *)(a0 + 0xC) + out.vz;
|
||||
pos[0] = CAST_WIDTH(s32, a0, 0x4) + out.vx;
|
||||
pos[1] = CAST_WIDTH(s32, a0, 0x8) + out.vy;
|
||||
pos[2] = CAST_WIDTH(s32, a0, 0xC) + out.vz;
|
||||
|
||||
{
|
||||
u16 rix;
|
||||
@@ -3520,12 +3520,12 @@ s32 func_80187118(s32 a0, s32 a1)
|
||||
u16 roz;
|
||||
u16 riz;
|
||||
|
||||
rix = *(u16 *)(a0 + 0x3A);
|
||||
rix = ((Unkstruct_800B5CB8 *)a0)->unk3A;
|
||||
roy = *((u16 *)&pos[1] + 1);
|
||||
roz = *((u16 *)&pos[2] + 1);
|
||||
*(u16 *)(rotIn + 0) = rix;
|
||||
*(u16 *)(rotIn + 2) = *(u16 *)(a0 + 0x3E);
|
||||
riz = *(u16 *)(a0 + 0x42);
|
||||
*(u16 *)(rotIn + 2) = CAST_ALIAS(u16, a0, 0x3E);
|
||||
riz = CAST_ALIAS(u16, a0, 0x42);
|
||||
*(u16 *)(rotOut + 0) = *((u16 *)&pos[0] + 1);
|
||||
*(u16 *)(rotOut + 2) = roy;
|
||||
*(u16 *)(rotOut + 4) = roz;
|
||||
|
||||
@@ -2870,10 +2870,10 @@ void func_801851B8(void *a0)
|
||||
|
||||
extern Blk16_8018A8B8 D_800A5E88;
|
||||
|
||||
s32 v1 = *(s16 *)((s32)a0 + 0xFC);
|
||||
s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unkFC;
|
||||
LBlk16 *s0;
|
||||
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
|
||||
switch (v1) {
|
||||
case 0:
|
||||
@@ -3010,7 +3010,7 @@ void func_801855C4(void *a0) {
|
||||
extern void (*D_801A7718[])(void);
|
||||
|
||||
void func_80185668(void *a0) {
|
||||
D_801A7718[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801A7718[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3043,7 +3043,7 @@ void func_801856A4(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(void **)((s32)a0 + 0xDC);
|
||||
ptr = CAST_SIGN(void *, (s32)a0, 0xDC);
|
||||
idx = *(u16 *)((s32)ptr + 0xA);
|
||||
arr_elem = D_801A7470[idx];
|
||||
|
||||
@@ -3051,21 +3051,21 @@ void func_801856A4(void *a0) {
|
||||
|
||||
if ((res1 & 0xFF) == 0) {
|
||||
res2 = func_801788B8((s32)a0, (s32)func_80185D50);
|
||||
*(s32 *)((s32)a0 + 0xCC) = res2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkCC = res2;
|
||||
} else {
|
||||
val = *(s16 *)((s32)a0 + 0x70);
|
||||
val = ((Unkstruct_800B5CB8 *)a0)->unk70;
|
||||
val |= 0x4000;
|
||||
*(s16 *)((s32)a0 + 0x70) = val;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk70 = val;
|
||||
}
|
||||
|
||||
res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0x6C) = res2;
|
||||
res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0);
|
||||
((Unkstruct_800B5CB8 *)a0)->unk6C = res2;
|
||||
|
||||
if (res2 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_801861C0);
|
||||
*(u16 *)((s32)a0 + 0x2) = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3270,7 +3270,7 @@ s32 func_80185AF8(void) {
|
||||
extern void (*D_801A7740[])(void);
|
||||
|
||||
void func_80185B5C(void *a0) {
|
||||
D_801A7740[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801A7740[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3292,7 +3292,7 @@ void func_80185B98(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(s32 *)((s32)a0 + 0x64);
|
||||
ptr = ((Unkstruct_800B5CB8 *)a0)->unk64;
|
||||
v1 = *(unsigned short *)(ptr + 0x36);
|
||||
v0 = *(unsigned short *)((s32)a0 + 0x70);
|
||||
*(unsigned short *)((s32)a0 + 0xFC) = v1;
|
||||
@@ -3320,23 +3320,23 @@ void func_80185C20(void *a0) {
|
||||
extern u8 D_801A7CF8[];
|
||||
s16 mode;
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) {
|
||||
((void (*)(void))func_8012C218)();
|
||||
return;
|
||||
}
|
||||
|
||||
mode = *(s16 *)((s32)a0 + 0xFE);
|
||||
mode = ((Unkstruct_800B5CB8 *)a0)->unkFE;
|
||||
if (mode == 1) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801A7BF0);
|
||||
*(s16 *)((s32)a0 + 0x5C) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0;
|
||||
func_8002D4C8(0x5BF, 0);
|
||||
} else if (mode == 2) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801A7CF8);
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8C00;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3358,14 +3358,14 @@ void func_80185CE0(void *a0) {
|
||||
|
||||
extern u8 D_801A7E00[];
|
||||
extern u8 D_801A7BE0[];
|
||||
if (*(s16 *)((s32)a0 + 0x98) == 0) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
if (*(s16 *)((s32)a0 + 0xFE) == 1) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) {
|
||||
func_8012A828((s32)a0, D_801A7E00);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_801A7BE0);
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2857,10 +2857,10 @@ void func_80183C10(void *a0)
|
||||
|
||||
extern Blk16_8018A8B8 D_800A5E88;
|
||||
|
||||
s32 v1 = *(s16 *)((s32)a0 + 0xFC);
|
||||
s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unkFC;
|
||||
LBlk16 *s0;
|
||||
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
|
||||
switch (v1) {
|
||||
case 0:
|
||||
@@ -2992,7 +2992,7 @@ void func_8018401C(void *a0) {
|
||||
extern void (*D_801C52F4[])(void);
|
||||
|
||||
void func_801840C0(void *a0) {
|
||||
D_801C52F4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801C52F4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3025,7 +3025,7 @@ void func_801840FC(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(void **)((s32)a0 + 0xDC);
|
||||
ptr = CAST_SIGN(void *, (s32)a0, 0xDC);
|
||||
idx = *(u16 *)((s32)ptr + 0xA);
|
||||
arr_elem = D_801C504C[idx];
|
||||
|
||||
@@ -3033,21 +3033,21 @@ void func_801840FC(void *a0) {
|
||||
|
||||
if ((res1 & 0xFF) == 0) {
|
||||
res2 = func_801788B8((s32)a0, (s32)func_801847A8);
|
||||
*(s32 *)((s32)a0 + 0xCC) = res2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkCC = res2;
|
||||
} else {
|
||||
val = *(s16 *)((s32)a0 + 0x70);
|
||||
val = ((Unkstruct_800B5CB8 *)a0)->unk70;
|
||||
val |= 0x4000;
|
||||
*(s16 *)((s32)a0 + 0x70) = val;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk70 = val;
|
||||
}
|
||||
|
||||
res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0x6C) = res2;
|
||||
res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0);
|
||||
((Unkstruct_800B5CB8 *)a0)->unk6C = res2;
|
||||
|
||||
if (res2 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_80184C18);
|
||||
*(u16 *)((s32)a0 + 0x2) = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3256,7 +3256,7 @@ s32 func_80184550(void) {
|
||||
extern void (*D_801C531C[])(void);
|
||||
|
||||
void func_801845B4(void *a0) {
|
||||
D_801C531C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801C531C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3278,7 +3278,7 @@ void func_801845F0(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(s32 *)((s32)a0 + 0x64);
|
||||
ptr = ((Unkstruct_800B5CB8 *)a0)->unk64;
|
||||
v1 = *(unsigned short *)(ptr + 0x36);
|
||||
v0 = *(unsigned short *)((s32)a0 + 0x70);
|
||||
*(unsigned short *)((s32)a0 + 0xFC) = v1;
|
||||
@@ -3306,23 +3306,23 @@ void func_80184678(void *a0) {
|
||||
extern u8 D_801C58D4[];
|
||||
s16 mode;
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) {
|
||||
((void (*)(void))func_8012C218)();
|
||||
return;
|
||||
}
|
||||
|
||||
mode = *(s16 *)((s32)a0 + 0xFE);
|
||||
mode = ((Unkstruct_800B5CB8 *)a0)->unkFE;
|
||||
if (mode == 1) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801C57CC);
|
||||
*(s16 *)((s32)a0 + 0x5C) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0;
|
||||
func_8002D4C8(0x5BF, 0);
|
||||
} else if (mode == 2) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801C58D4);
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8C00;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3344,14 +3344,14 @@ void func_80184738(void *a0) {
|
||||
|
||||
extern u8 D_801C59DC[];
|
||||
extern u8 D_801C57BC[];
|
||||
if (*(s16 *)((s32)a0 + 0x98) == 0) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
if (*(s16 *)((s32)a0 + 0xFE) == 1) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) {
|
||||
func_8012A828((s32)a0, D_801C59DC);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_801C57BC);
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2627,34 +2627,34 @@ void func_8017AE2C(s32 param_1) {
|
||||
case 1:
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] <= 0) {
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2];
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2];
|
||||
goto reset_both;
|
||||
}
|
||||
{
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
return;
|
||||
case 2:
|
||||
func_8012B178(pv, (s32)g[4] << 8);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
break;
|
||||
case 3:
|
||||
if (g[1] != 0) {
|
||||
if (g[5] != 0) {
|
||||
void *p = (void *)(pv + 4);
|
||||
if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12),
|
||||
if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12),
|
||||
(s16)func_8012B744(p, &g[6])) < 0x100) {
|
||||
g[1] = 0;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744(p, &D_801C4D3C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* &D_801C4D30+0xC == &D_801C4D3C; distinct rtx defeats gcc's address-CSE
|
||||
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
|
||||
@@ -2665,9 +2665,9 @@ void func_8017AE2C(s32 param_1) {
|
||||
}
|
||||
{
|
||||
s32 t = func_8012B744((void *)(pv + 4), &g[6]);
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] > 0) {
|
||||
@@ -2676,11 +2676,11 @@ void func_8017AE2C(s32 param_1) {
|
||||
g[1] = 0;
|
||||
return;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744((void *)(pv + 4), &D_801C4D3C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* see note above: distinct rtx for the same address defeats address-CSE. */
|
||||
if (func_8012BE98(pv, (u16 *)((s32)&D_801C4D30 + 0xC)) < 0x101) {
|
||||
@@ -3304,7 +3304,7 @@ void func_8017BE60(void *a0) {
|
||||
extern void (*D_80187B34[])(void);
|
||||
|
||||
void func_8017BEBC(void *a0) {
|
||||
D_80187B34[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80187B34[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3355,16 +3355,16 @@ void func_8017BEF8(s32 param_1) {
|
||||
node = func_800D222C(param_1, &D_80187B1C, 0xFD);
|
||||
if (node != 0) {
|
||||
*(s32 *)(param_1 + 0x20) = node;
|
||||
*(u32 *)(node + 4) = *(u32 *)(node + 4) | 0x5D000100;
|
||||
CAST_WIDTH(u32, node, 4) = CAST_WIDTH(u32, node, 4) | 0x5D000100;
|
||||
((void (*)(void *))func_8001CF30)((void *)node);
|
||||
*(s16 *)(node + 0x18) = 0x4000;
|
||||
*(s16 *)(node + 0x1A) = 0x200;
|
||||
((Unkstruct_800B5CB8 *)node)->unk18 = 0x4000;
|
||||
((Unkstruct_800B5CB8 *)node)->unk1A = 0x200;
|
||||
*(s16 *)(param_1 + 0x16) = 0x200;
|
||||
*(s16 *)(param_1 + 0x14) = 0x1000;
|
||||
*(s16 *)(node + 0x28) = 0x240;
|
||||
*(s16 *)(node + 0x2A) = 0x180;
|
||||
*(s16 *)(node + 0x10) = w.vx;
|
||||
*(s16 *)(node + 0x12) = w.vy;
|
||||
((Unkstruct_800B5CB8 *)node)->unk28 = 0x240;
|
||||
((Unkstruct_800B5CB8 *)node)->unk2A = 0x180;
|
||||
((Unkstruct_800B5CB8 *)node)->unk10 = w.vx;
|
||||
((Unkstruct_800B5CB8 *)node)->unk12 = w.vy;
|
||||
*(s16 *)(param_1 + 2) = *(s16 *)(param_1 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
@@ -3378,7 +3378,7 @@ void func_8017BEF8(s32 param_1) {
|
||||
extern void (*D_80187B3C[])(void);
|
||||
|
||||
void func_8017C150(void *a0) {
|
||||
D_80187B3C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80187B3C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3399,13 +3399,13 @@ void func_8017C18C(s32 a0) {
|
||||
r = func_800D222C(a0, &D_80187B28, 0x18);
|
||||
if (r != 0) {
|
||||
*(s32 *)(a0 + 0x20) = r;
|
||||
*(u32 *)(r + 4) = *(u32 *)(r + 4) | 0x5C000140;
|
||||
CAST_WIDTH(u32, r, 4) = CAST_WIDTH(u32, r, 4) | 0x5C000140;
|
||||
func_8001CF30((void *)r);
|
||||
*(s16 *)(r + 0x10) = 0x400;
|
||||
*(s16 *)(r + 0x18) = 0x3000;
|
||||
*(s16 *)(r + 0x1A) = 0x3000;
|
||||
*(s16 *)(r + 0x28) = 0x248;
|
||||
*(s16 *)(r + 0x2A) = 0x180;
|
||||
((Unkstruct_800B5CB8 *)r)->unk10 = 0x400;
|
||||
((Unkstruct_800B5CB8 *)r)->unk18 = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk1A = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk28 = 0x248;
|
||||
((Unkstruct_800B5CB8 *)r)->unk2A = 0x180;
|
||||
*(s16 *)(a0 + 2) = *(s16 *)(a0 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(a0);
|
||||
|
||||
@@ -2925,10 +2925,10 @@ void func_80189FE4(void *a0)
|
||||
|
||||
extern Blk16_8018A8B8 D_800A5E88;
|
||||
|
||||
s32 v1 = *(s16 *)((s32)a0 + 0xFC);
|
||||
s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unkFC;
|
||||
LBlk16 *s0;
|
||||
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
|
||||
switch (v1) {
|
||||
case 0:
|
||||
@@ -3060,7 +3060,7 @@ void func_8018A3F0(void *a0) {
|
||||
extern void (*D_801BCF4C[])(void);
|
||||
|
||||
void func_8018A494(void *a0) {
|
||||
D_801BCF4C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801BCF4C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3093,7 +3093,7 @@ void func_8018A4D0(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(void **)((s32)a0 + 0xDC);
|
||||
ptr = CAST_SIGN(void *, (s32)a0, 0xDC);
|
||||
idx = *(u16 *)((s32)ptr + 0xA);
|
||||
arr_elem = D_801BCCA4[idx];
|
||||
|
||||
@@ -3101,21 +3101,21 @@ void func_8018A4D0(void *a0) {
|
||||
|
||||
if ((res1 & 0xFF) == 0) {
|
||||
res2 = func_801788B8((s32)a0, (s32)func_8018AB7C);
|
||||
*(s32 *)((s32)a0 + 0xCC) = res2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkCC = res2;
|
||||
} else {
|
||||
val = *(s16 *)((s32)a0 + 0x70);
|
||||
val = ((Unkstruct_800B5CB8 *)a0)->unk70;
|
||||
val |= 0x4000;
|
||||
*(s16 *)((s32)a0 + 0x70) = val;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk70 = val;
|
||||
}
|
||||
|
||||
res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0);
|
||||
*(s32 *)((s32)a0 + 0x6C) = res2;
|
||||
res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0);
|
||||
((Unkstruct_800B5CB8 *)a0)->unk6C = res2;
|
||||
|
||||
if (res2 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_8018AFEC);
|
||||
*(u16 *)((s32)a0 + 0x2) = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3324,7 +3324,7 @@ s32 func_8018A924(void) {
|
||||
extern void (*D_801BCF74[])(void);
|
||||
|
||||
void func_8018A988(void *a0) {
|
||||
D_801BCF74[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801BCF74[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3346,7 +3346,7 @@ void func_8018A9C4(void *a0) {
|
||||
return;
|
||||
}
|
||||
|
||||
ptr = *(s32 *)((s32)a0 + 0x64);
|
||||
ptr = ((Unkstruct_800B5CB8 *)a0)->unk64;
|
||||
v1 = *(unsigned short *)(ptr + 0x36);
|
||||
v0 = *(unsigned short *)((s32)a0 + 0x70);
|
||||
*(unsigned short *)((s32)a0 + 0xFC) = v1;
|
||||
@@ -3374,23 +3374,23 @@ void func_8018AA4C(void *a0) {
|
||||
extern u8 D_801BD52C[];
|
||||
s16 mode;
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) {
|
||||
((void (*)(void))func_8012C218)();
|
||||
return;
|
||||
}
|
||||
|
||||
mode = *(s16 *)((s32)a0 + 0xFE);
|
||||
mode = ((Unkstruct_800B5CB8 *)a0)->unkFE;
|
||||
if (mode == 1) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801BD424);
|
||||
*(s16 *)((s32)a0 + 0x5C) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0;
|
||||
func_8002D4C8(0x5BF, 0);
|
||||
} else if (mode == 2) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 2;
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x20;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20;
|
||||
func_8012A828((s32)a0, D_801BD52C);
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0x8C00;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3412,14 +3412,14 @@ void func_8018AB0C(void *a0) {
|
||||
|
||||
extern u8 D_801BD634[];
|
||||
extern u8 D_801BD414[];
|
||||
if (*(s16 *)((s32)a0 + 0x98) == 0) {
|
||||
*(s16 *)((s32)a0 + 0x2) = 1;
|
||||
if (*(s16 *)((s32)a0 + 0xFE) == 1) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) {
|
||||
func_8012A828((s32)a0, D_801BD634);
|
||||
} else {
|
||||
func_8012A828((s32)a0, D_801BD414);
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFE = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2626,34 +2626,34 @@ void func_8017AE2C(s32 param_1) {
|
||||
case 1:
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] <= 0) {
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2];
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2];
|
||||
goto reset_both;
|
||||
}
|
||||
{
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
return;
|
||||
case 2:
|
||||
func_8012B178(pv, (s32)g[4] << 8);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
break;
|
||||
case 3:
|
||||
if (g[1] != 0) {
|
||||
if (g[5] != 0) {
|
||||
void *p = (void *)(pv + 4);
|
||||
if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12),
|
||||
if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12),
|
||||
(s16)func_8012B744(p, &g[6])) < 0x100) {
|
||||
g[1] = 0;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744(p, &D_801AD0B4);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* &D_801AD0A8+0xC == &D_801AD0B4; distinct rtx defeats gcc's address-CSE
|
||||
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
|
||||
@@ -2664,9 +2664,9 @@ void func_8017AE2C(s32 param_1) {
|
||||
}
|
||||
{
|
||||
s32 t = func_8012B744((void *)(pv + 4), &g[6]);
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] > 0) {
|
||||
@@ -2675,11 +2675,11 @@ void func_8017AE2C(s32 param_1) {
|
||||
g[1] = 0;
|
||||
return;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744((void *)(pv + 4), &D_801AD0B4);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* see note above: distinct rtx for the same address defeats address-CSE. */
|
||||
if (func_8012BE98(pv, (u16 *)((s32)&D_801AD0A8 + 0xC)) < 0x101) {
|
||||
@@ -3303,7 +3303,7 @@ void func_8017BE60(void *a0) {
|
||||
extern void (*D_8018912C[])(void);
|
||||
|
||||
void func_8017BEBC(void *a0) {
|
||||
D_8018912C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018912C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3354,16 +3354,16 @@ void func_8017BEF8(s32 param_1) {
|
||||
node = func_800D222C(param_1, &D_80189114, 0xFD);
|
||||
if (node != 0) {
|
||||
*(s32 *)(param_1 + 0x20) = node;
|
||||
*(u32 *)(node + 4) = *(u32 *)(node + 4) | 0x5D000100;
|
||||
CAST_WIDTH(u32, node, 4) = CAST_WIDTH(u32, node, 4) | 0x5D000100;
|
||||
((void (*)(void *))func_8001CF30)((void *)node);
|
||||
*(s16 *)(node + 0x18) = 0x4000;
|
||||
*(s16 *)(node + 0x1A) = 0x200;
|
||||
((Unkstruct_800B5CB8 *)node)->unk18 = 0x4000;
|
||||
((Unkstruct_800B5CB8 *)node)->unk1A = 0x200;
|
||||
*(s16 *)(param_1 + 0x16) = 0x200;
|
||||
*(s16 *)(param_1 + 0x14) = 0x1000;
|
||||
*(s16 *)(node + 0x28) = 0x240;
|
||||
*(s16 *)(node + 0x2A) = 0x180;
|
||||
*(s16 *)(node + 0x10) = w.vx;
|
||||
*(s16 *)(node + 0x12) = w.vy;
|
||||
((Unkstruct_800B5CB8 *)node)->unk28 = 0x240;
|
||||
((Unkstruct_800B5CB8 *)node)->unk2A = 0x180;
|
||||
((Unkstruct_800B5CB8 *)node)->unk10 = w.vx;
|
||||
((Unkstruct_800B5CB8 *)node)->unk12 = w.vy;
|
||||
*(s16 *)(param_1 + 2) = *(s16 *)(param_1 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
@@ -3377,7 +3377,7 @@ void func_8017BEF8(s32 param_1) {
|
||||
extern void (*D_80189134[])(void);
|
||||
|
||||
void func_8017C150(void *a0) {
|
||||
D_80189134[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80189134[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3398,13 +3398,13 @@ void func_8017C18C(s32 a0) {
|
||||
r = func_800D222C(a0, &D_80189120, 0x18);
|
||||
if (r != 0) {
|
||||
*(s32 *)(a0 + 0x20) = r;
|
||||
*(u32 *)(r + 4) = *(u32 *)(r + 4) | 0x5C000140;
|
||||
CAST_WIDTH(u32, r, 4) = CAST_WIDTH(u32, r, 4) | 0x5C000140;
|
||||
func_8001CF30((void *)r);
|
||||
*(s16 *)(r + 0x10) = 0x400;
|
||||
*(s16 *)(r + 0x18) = 0x3000;
|
||||
*(s16 *)(r + 0x1A) = 0x3000;
|
||||
*(s16 *)(r + 0x28) = 0x248;
|
||||
*(s16 *)(r + 0x2A) = 0x180;
|
||||
((Unkstruct_800B5CB8 *)r)->unk10 = 0x400;
|
||||
((Unkstruct_800B5CB8 *)r)->unk18 = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk1A = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk28 = 0x248;
|
||||
((Unkstruct_800B5CB8 *)r)->unk2A = 0x180;
|
||||
*(s16 *)(a0 + 2) = *(s16 *)(a0 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(a0);
|
||||
|
||||
@@ -2626,34 +2626,34 @@ void func_8017AE2C(s32 param_1) {
|
||||
case 1:
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] <= 0) {
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2];
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2];
|
||||
goto reset_both;
|
||||
}
|
||||
{
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
return;
|
||||
case 2:
|
||||
func_8012B178(pv, (s32)g[4] << 8);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
break;
|
||||
case 3:
|
||||
if (g[1] != 0) {
|
||||
if (g[5] != 0) {
|
||||
void *p = (void *)(pv + 4);
|
||||
if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12),
|
||||
if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12),
|
||||
(s16)func_8012B744(p, &g[6])) < 0x100) {
|
||||
g[1] = 0;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744(p, &D_801A5C54);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* &D_801A5C48+0xC == &D_801A5C54; distinct rtx defeats gcc's address-CSE
|
||||
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
|
||||
@@ -2664,9 +2664,9 @@ void func_8017AE2C(s32 param_1) {
|
||||
}
|
||||
{
|
||||
s32 t = func_8012B744((void *)(pv + 4), &g[6]);
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] > 0) {
|
||||
@@ -2675,11 +2675,11 @@ void func_8017AE2C(s32 param_1) {
|
||||
g[1] = 0;
|
||||
return;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744((void *)(pv + 4), &D_801A5C54);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* see note above: distinct rtx for the same address defeats address-CSE. */
|
||||
if (func_8012BE98(pv, (u16 *)((s32)&D_801A5C48 + 0xC)) < 0x101) {
|
||||
@@ -3303,7 +3303,7 @@ void func_8017BE60(void *a0) {
|
||||
extern void (*D_801867DC[])(void);
|
||||
|
||||
void func_8017BEBC(void *a0) {
|
||||
D_801867DC[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801867DC[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3354,16 +3354,16 @@ void func_8017BEF8(s32 param_1) {
|
||||
node = func_800D222C(param_1, &D_801867C4, 0xFD);
|
||||
if (node != 0) {
|
||||
*(s32 *)(param_1 + 0x20) = node;
|
||||
*(u32 *)(node + 4) = *(u32 *)(node + 4) | 0x5D000100;
|
||||
CAST_WIDTH(u32, node, 4) = CAST_WIDTH(u32, node, 4) | 0x5D000100;
|
||||
((void (*)(void *))func_8001CF30)((void *)node);
|
||||
*(s16 *)(node + 0x18) = 0x4000;
|
||||
*(s16 *)(node + 0x1A) = 0x200;
|
||||
((Unkstruct_800B5CB8 *)node)->unk18 = 0x4000;
|
||||
((Unkstruct_800B5CB8 *)node)->unk1A = 0x200;
|
||||
*(s16 *)(param_1 + 0x16) = 0x200;
|
||||
*(s16 *)(param_1 + 0x14) = 0x1000;
|
||||
*(s16 *)(node + 0x28) = 0x240;
|
||||
*(s16 *)(node + 0x2A) = 0x180;
|
||||
*(s16 *)(node + 0x10) = w.vx;
|
||||
*(s16 *)(node + 0x12) = w.vy;
|
||||
((Unkstruct_800B5CB8 *)node)->unk28 = 0x240;
|
||||
((Unkstruct_800B5CB8 *)node)->unk2A = 0x180;
|
||||
((Unkstruct_800B5CB8 *)node)->unk10 = w.vx;
|
||||
((Unkstruct_800B5CB8 *)node)->unk12 = w.vy;
|
||||
*(s16 *)(param_1 + 2) = *(s16 *)(param_1 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
@@ -3377,7 +3377,7 @@ void func_8017BEF8(s32 param_1) {
|
||||
extern void (*D_801867E4[])(void);
|
||||
|
||||
void func_8017C150(void *a0) {
|
||||
D_801867E4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801867E4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3398,13 +3398,13 @@ void func_8017C18C(s32 a0) {
|
||||
r = func_800D222C(a0, &D_801867D0, 0x18);
|
||||
if (r != 0) {
|
||||
*(s32 *)(a0 + 0x20) = r;
|
||||
*(u32 *)(r + 4) = *(u32 *)(r + 4) | 0x5C000140;
|
||||
CAST_WIDTH(u32, r, 4) = CAST_WIDTH(u32, r, 4) | 0x5C000140;
|
||||
func_8001CF30((void *)r);
|
||||
*(s16 *)(r + 0x10) = 0x400;
|
||||
*(s16 *)(r + 0x18) = 0x3000;
|
||||
*(s16 *)(r + 0x1A) = 0x3000;
|
||||
*(s16 *)(r + 0x28) = 0x248;
|
||||
*(s16 *)(r + 0x2A) = 0x180;
|
||||
((Unkstruct_800B5CB8 *)r)->unk10 = 0x400;
|
||||
((Unkstruct_800B5CB8 *)r)->unk18 = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk1A = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk28 = 0x248;
|
||||
((Unkstruct_800B5CB8 *)r)->unk2A = 0x180;
|
||||
*(s16 *)(a0 + 2) = *(s16 *)(a0 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(a0);
|
||||
|
||||
@@ -3089,10 +3089,10 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_8018567C(void *a0, s32 a1, s32 a2) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a1);
|
||||
if (v1 != 0) {
|
||||
s32 v0 = *(s32 *)((char *)v1 + 0xCC);
|
||||
s32 v0 = ((Unkstruct_800B5CB8 *)v1)->unkCC;
|
||||
if (v0 == 0) {
|
||||
*(s32 *)((char *)v1 + 0xCC) = a2;
|
||||
*(s32 *)((char *)v1 + 0xD0) = (s32)a0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = a2;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = (s32)a0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3115,14 +3115,14 @@ void func_801856E0(s32 a0, s32 a1, s32 a2) {
|
||||
if (v1 == 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xCC) != s0) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkCC != s0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xD0) != s1) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkD0 != s1) {
|
||||
return;
|
||||
}
|
||||
*(s32 *)((char *)v1 + 0xCC) = 0;
|
||||
*(s32 *)((char *)v1 + 0xD0) = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3133,8 +3133,8 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_80185754(s32 a0, s32 a1) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a0);
|
||||
if (v1 != 0) {
|
||||
if (*(s16 *)(v1 + 0x10A) < a1) {
|
||||
*(s16 *)(v1 + 0x10A) = a1;
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unk10A < a1) {
|
||||
((Unkstruct_800B5CB8 *)v1)->unk10A = a1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3144,7 +3144,7 @@ void func_80185754(s32 a0, s32 a1) {
|
||||
extern void (*D_801BC184[])(void);
|
||||
|
||||
void func_801857AC(void *a0) {
|
||||
D_801BC184[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801BC184[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3326,13 +3326,13 @@ s32 func_801859D0(void *a0) {
|
||||
p = D_801202A0;
|
||||
end = p + 0x6480;
|
||||
for (; p != end; p += 0x10C) {
|
||||
tag = *(u16 *)p;
|
||||
tag = ((Unkstruct_800B5CB8 *)p)->unk0;
|
||||
if (tag != 0 && tag != 0x61 && func_80185ADC((s32)p) != 0) {
|
||||
t = *(s32 *)(p + 0x20);
|
||||
if (t != 0 && *(s32 *)(t + 0x24) != 0 && *(s32 *)(t + 0x4) >= 0) {
|
||||
in[0] = *(u16 *)(p + 0x6);
|
||||
in[1] = *(u16 *)(p + 0xA);
|
||||
in[2] = *(u16 *)(p + 0xE);
|
||||
t = ((Unkstruct_800B5CB8 *)p)->unk20;
|
||||
if (t != 0 && CAST_WIDTH(s32, t, 0x24) != 0 && CAST_WIDTH(s32, t, 0x4) >= 0) {
|
||||
in[0] = ((Unkstruct_800B5CB8 *)p)->unk6;
|
||||
in[1] = ((Unkstruct_800B5CB8 *)p)->unkA;
|
||||
in[2] = ((Unkstruct_800B5CB8 *)p)->unkE;
|
||||
func_8012F2E8((s32)a0, (s32)in, (s32)out);
|
||||
if (func_8012CB64((s32)out, -0xA0, 0x80, -0xC0, 0x80) != 0) {
|
||||
return 1;
|
||||
|
||||
@@ -1924,7 +1924,7 @@ extern void func_80016ED4(void *a0);
|
||||
extern void (*D_80182460[])(void);
|
||||
|
||||
void func_8016B4BC(void *a0) {
|
||||
D_80182460[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80182460[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2040,7 +2040,7 @@ extern void func_80015954(s32 a0, s32 a1);
|
||||
extern void (*D_801824B0[])(void);
|
||||
|
||||
void func_8016BBA4(void *a0) {
|
||||
D_801824B0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824B0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2164,7 +2164,7 @@ extern s32 D_80126B9C;
|
||||
extern void (*D_801824E8[])(void);
|
||||
|
||||
void func_8016CB84(void *a0) {
|
||||
D_801824E8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824E8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2216,7 +2216,7 @@ extern void ApplyMatrixSV(void *a, void *b, void *c);
|
||||
extern void (*D_8018250C[])(void);
|
||||
|
||||
void func_8016D428(void *a0) {
|
||||
D_8018250C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018250C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2294,7 +2294,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D26)
|
||||
extern void (*D_801825A8[])(void);
|
||||
|
||||
void func_8016DEA4(void *a0) {
|
||||
D_801825A8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801825A8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5408,11 +5408,11 @@ void func_8018C278(void *a0) {
|
||||
void *v1p;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)((u8 *)s0 + 0x20) = v0;
|
||||
((Unkstruct_800B5CB8 *)s0)->unk20 = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(s0);
|
||||
}
|
||||
func_8001C214(*(s32 *)((u8 *)s0 + 0x20), 0);
|
||||
func_8001C214(((Unkstruct_800B5CB8 *)s0)->unk20, 0);
|
||||
|
||||
v1 = func_80029504();
|
||||
if (v1 < 0xC8) {
|
||||
@@ -5440,12 +5440,12 @@ void func_8018C278(void *a0) {
|
||||
v0 = 1;
|
||||
}
|
||||
|
||||
do { *(s16 *)((u8 *)s0 + 0x2) = (s16)v0; } while (0);
|
||||
do { ((Unkstruct_800B5CB8 *)s0)->unk2 = (s16)v0; } while (0);
|
||||
func_80184CB8((s32 *)s0, (s32)&D_801E06A8);
|
||||
|
||||
v1p = *(void **)((u8 *)s0 + 0x68);
|
||||
v1p = CAST_SIGN(void *, (u8 *)s0, 0x68);
|
||||
*(s16 *)((u8 *)v1p + 0xC) = 0x7FFF;
|
||||
*(s32 *)((u8 *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_8018C3F0);
|
||||
((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_8018C3F0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1924,7 +1924,7 @@ extern void func_80016ED4(void *a0);
|
||||
extern void (*D_80182460[])(void);
|
||||
|
||||
void func_8016B4BC(void *a0) {
|
||||
D_80182460[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80182460[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2040,7 +2040,7 @@ extern void func_80015954(s32 a0, s32 a1);
|
||||
extern void (*D_801824B0[])(void);
|
||||
|
||||
void func_8016BBA4(void *a0) {
|
||||
D_801824B0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824B0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2164,7 +2164,7 @@ extern s32 D_80126B9C;
|
||||
extern void (*D_801824E8[])(void);
|
||||
|
||||
void func_8016CB84(void *a0) {
|
||||
D_801824E8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824E8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2216,7 +2216,7 @@ extern void ApplyMatrixSV(void *a, void *b, void *c);
|
||||
extern void (*D_8018250C[])(void);
|
||||
|
||||
void func_8016D428(void *a0) {
|
||||
D_8018250C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018250C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2294,7 +2294,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D26)
|
||||
extern void (*D_801825A8[])(void);
|
||||
|
||||
void func_8016DEA4(void *a0) {
|
||||
D_801825A8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801825A8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2924,9 +2924,9 @@ void func_8017D25C(s32 arg0) {
|
||||
s32 s3;
|
||||
s32 s4;
|
||||
|
||||
if ((*(s16 *)(arg0 + 0x70) & 0x8000) != 0) {
|
||||
if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) {
|
||||
var = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)(arg0 + 0x20) = var;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk20 = var;
|
||||
if (var != 0) {
|
||||
func_8001C2C4(var);
|
||||
sp10.unk06 = 0x385;
|
||||
@@ -2935,33 +2935,33 @@ void func_8017D25C(s32 arg0) {
|
||||
sp10.unk0E = 0;
|
||||
sp10.unk10 = 0;
|
||||
sp10.unk02 = -0x202;
|
||||
if (*(s32 *)(arg0 + 0xCC) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unkCC == 0) {
|
||||
sp10.unk08 = 0;
|
||||
sp10.unk00 = 0;
|
||||
sp10.unk04 = -0x140;
|
||||
*(s32 *)(arg0 + 0xCC) = func_8012C51C(&sp10, arg0);
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkCC = func_8012C51C(&sp10, arg0);
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0xD0) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unkD0 == 0) {
|
||||
sp10.unk08 = 1;
|
||||
sp10.unk00 = 0x40;
|
||||
sp10.unk04 = -0x60;
|
||||
*(s32 *)(arg0 + 0xD0) = func_8012C51C(&sp10, arg0);
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkD0 = func_8012C51C(&sp10, arg0);
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0xD4) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unkD4 == 0) {
|
||||
sp10.unk08 = 2;
|
||||
sp10.unk00 = -0x40;
|
||||
sp10.unk04 = -0x60;
|
||||
*(s32 *)(arg0 + 0xD4) = func_8012C51C(&sp10, arg0);
|
||||
((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_8012C51C(&sp10, arg0);
|
||||
}
|
||||
if ((*(s32 *)(arg0 + 0xCC) != 0) && (*(s32 *)(arg0 + 0xD0) != 0) && (*(s32 *)(arg0 + 0xD4) != 0)) {
|
||||
*(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1;
|
||||
if ((((Unkstruct_800B5CB8 *)arg0)->unkCC != 0) && (((Unkstruct_800B5CB8 *)arg0)->unkD0 != 0) && (((Unkstruct_800B5CB8 *)arg0)->unkD4 != 0)) {
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)(arg0 + 0x20) = var;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk20 = var;
|
||||
if (var != 0) {
|
||||
switch (*(s16 *)(arg0 + 0x70)) {
|
||||
switch (((Unkstruct_800B5CB8 *)arg0)->unk70) {
|
||||
case 0:
|
||||
s1 = (s32)&D_8018C384;
|
||||
s2 = (s32)&D_80181780;
|
||||
@@ -2981,12 +2981,12 @@ void func_8017D25C(s32 arg0) {
|
||||
s3 = 7;
|
||||
break;
|
||||
}
|
||||
func_8001C214(*(s32 *)(arg0 + 0x20), s1);
|
||||
func_8001D0E8(*(s32 *)(arg0 + 0x20), 0x7FFF, 0x7FFF);
|
||||
func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, s1);
|
||||
func_8001D0E8(((Unkstruct_800B5CB8 *)arg0)->unk20, 0x7FFF, 0x7FFF);
|
||||
func_8012A828((void *)arg0, (void *)s2);
|
||||
func_80143994(arg0, 0x3000);
|
||||
*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = s4;
|
||||
*(s16 *)(arg0 + 2) = s3;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = s4;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk2 = s3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3009,13 +3009,13 @@ extern u8 D_801922F0[];
|
||||
extern s32 jtbl_8019BCE8[];
|
||||
|
||||
void func_8017D4A4(void *arg0) {
|
||||
if (*(s32 *)((s32)arg0 + 0x90) == (s32)&D_80181928) {
|
||||
if (*(s16 *)((s32)arg0 + 0x98) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk90 == (s32)&D_80181928) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
|
||||
func_8012A828(arg0, D_80181970);
|
||||
}
|
||||
}
|
||||
if (*(s32 *)((s32)arg0 + 0x90) == (s32)&D_80181B48) {
|
||||
if (*(s16 *)((s32)arg0 + 0x98) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk90 == (s32)&D_80181B48) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
|
||||
func_8012A828(arg0, D_80181C18);
|
||||
}
|
||||
}
|
||||
@@ -3027,9 +3027,9 @@ void func_8017D4A4(void *arg0) {
|
||||
func_80029124(0x129, 0);
|
||||
func_8012A828(arg0, &D_801819F0);
|
||||
}
|
||||
switch ((s16)(*(u16 *)((s32)arg0 + 0x108))--) {
|
||||
switch ((s16)(((Unkstruct_800B5CB8 *)arg0)->unk108)--) {
|
||||
case 0:
|
||||
*(u16 *)((s32)arg0 + 0x108) = (rand() & 0x3F) + 0x28;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk108 = (rand() & 0x3F) + 0x28;
|
||||
break;
|
||||
case 1:
|
||||
func_800183E0((s32)D_801920E0);
|
||||
@@ -3068,18 +3068,18 @@ extern u8 D_8019A34C[];
|
||||
extern s32 jtbl_8019BD08[];
|
||||
|
||||
void func_8017D610(void *arg0) {
|
||||
if (*(s32 *)((s32)arg0 + 0x90) == (s32)&D_80181DE8) {
|
||||
if (*(s16 *)((s32)arg0 + 0x98) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk90 == (s32)&D_80181DE8) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
|
||||
func_8012A828(arg0, D_80181E40);
|
||||
}
|
||||
}
|
||||
if (*(s32 *)((s32)arg0 + 0x90) == (s32)&D_80181FB8) {
|
||||
if (*(s16 *)((s32)arg0 + 0x98) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk90 == (s32)&D_80181FB8) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
|
||||
func_8012A828(arg0, &D_801820B0);
|
||||
}
|
||||
}
|
||||
if (*(s32 *)((s32)arg0 + 0x90) == (s32)&D_80182138) {
|
||||
if (*(s16 *)((s32)arg0 + 0x98) == 0) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk90 == (s32)&D_80182138) {
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
|
||||
func_8012A828(arg0, &D_801820B0);
|
||||
}
|
||||
}
|
||||
@@ -3095,9 +3095,9 @@ void func_8017D610(void *arg0) {
|
||||
func_80029124(0x12C, 0);
|
||||
func_8012A828(arg0, &D_80182138);
|
||||
}
|
||||
switch ((s16)(*(u16 *)((s32)arg0 + 0x108))--) {
|
||||
switch ((s16)(((Unkstruct_800B5CB8 *)arg0)->unk108)--) {
|
||||
case 0:
|
||||
*(u16 *)((s32)arg0 + 0x108) = (rand() & 0x3F) + 0x3C;
|
||||
((Unkstruct_800B5CB8 *)arg0)->unk108 = (rand() & 0x3F) + 0x3C;
|
||||
break;
|
||||
case 1:
|
||||
func_800183E0((s32)D_8019A07C);
|
||||
@@ -3117,7 +3117,7 @@ void func_8017D610(void *arg0) {
|
||||
extern void (*D_801823B0[])(void);
|
||||
|
||||
void func_8017D7DC(void *a0) {
|
||||
D_801823B0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801823B0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3125,12 +3125,12 @@ extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_8012A828(s32 a0, void * a1);
|
||||
|
||||
void func_8017D818(void *arg0) {
|
||||
if (*(s16 *)((char *)arg0 + 0x10A) & 0x8000) {
|
||||
*(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x12) = func_80012ABC((s32)*(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x12), *(s16 *)((char *)arg0 + 0x10A) & 0xFFF, 4);
|
||||
if (((Unkstruct_800B5CB8 *)arg0)->unk10A & 0x8000) {
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk12 = func_80012ABC((s32)*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)arg0)->unk10A & 0xFFF, 4);
|
||||
}
|
||||
if (*(void **)((char *)arg0 + 0xF8) != 0 && *(void **)((char *)arg0 + 0x90) != *(void **)((char *)arg0 + 0xF8)) {
|
||||
func_8012A828(arg0, *(void **)((char *)arg0 + 0xF8));
|
||||
*(void **)((char *)arg0 + 0xF8) = 0;
|
||||
if (CAST_SIGN(void *, (char *)arg0, 0xF8) != 0 && CAST_SIGN(void *, (char *)arg0, 0x90) != CAST_SIGN(void *, (char *)arg0, 0xF8)) {
|
||||
func_8012A828(arg0, CAST_SIGN(void *, (char *)arg0, 0xF8));
|
||||
CAST_SIGN(void *, (char *)arg0, 0xF8) = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3086,10 +3086,10 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_80185C54(void *a0, s32 a1, s32 a2) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a1);
|
||||
if (v1 != 0) {
|
||||
s32 v0 = *(s32 *)((char *)v1 + 0xCC);
|
||||
s32 v0 = ((Unkstruct_800B5CB8 *)v1)->unkCC;
|
||||
if (v0 == 0) {
|
||||
*(s32 *)((char *)v1 + 0xCC) = a2;
|
||||
*(s32 *)((char *)v1 + 0xD0) = (s32)a0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = a2;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = (s32)a0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3112,14 +3112,14 @@ void func_80185CB8(s32 a0, s32 a1, s32 a2) {
|
||||
if (v1 == 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xCC) != s0) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkCC != s0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)((char *)v1 + 0xD0) != s1) {
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unkD0 != s1) {
|
||||
return;
|
||||
}
|
||||
*(s32 *)((char *)v1 + 0xCC) = 0;
|
||||
*(s32 *)((char *)v1 + 0xD0) = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkCC = 0;
|
||||
((Unkstruct_800B5CB8 *)v1)->unkD0 = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3130,8 +3130,8 @@ extern s32 func_8012E57C(s32 a0, s32 a1);
|
||||
void func_80185D2C(s32 a0, s32 a1) {
|
||||
s32 v1 = func_8012E57C(0x61, (s32)(s16)a0);
|
||||
if (v1 != 0) {
|
||||
if (*(s16 *)(v1 + 0x10A) < a1) {
|
||||
*(s16 *)(v1 + 0x10A) = a1;
|
||||
if (((Unkstruct_800B5CB8 *)v1)->unk10A < a1) {
|
||||
((Unkstruct_800B5CB8 *)v1)->unk10A = a1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3141,7 +3141,7 @@ void func_80185D2C(s32 a0, s32 a1) {
|
||||
extern void (*D_801B89F8[])(void);
|
||||
|
||||
void func_80185D84(void *a0) {
|
||||
D_801B89F8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801B89F8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3323,13 +3323,13 @@ s32 func_80185FA8(void *a0) {
|
||||
p = D_801202A0;
|
||||
end = p + 0x6480;
|
||||
for (; p != end; p += 0x10C) {
|
||||
tag = *(u16 *)p;
|
||||
tag = ((Unkstruct_800B5CB8 *)p)->unk0;
|
||||
if (tag != 0 && tag != 0x61 && func_801860B4((s32)p) != 0) {
|
||||
t = *(s32 *)(p + 0x20);
|
||||
if (t != 0 && *(s32 *)(t + 0x24) != 0 && *(s32 *)(t + 0x4) >= 0) {
|
||||
in[0] = *(u16 *)(p + 0x6);
|
||||
in[1] = *(u16 *)(p + 0xA);
|
||||
in[2] = *(u16 *)(p + 0xE);
|
||||
t = ((Unkstruct_800B5CB8 *)p)->unk20;
|
||||
if (t != 0 && CAST_WIDTH(s32, t, 0x24) != 0 && CAST_WIDTH(s32, t, 0x4) >= 0) {
|
||||
in[0] = ((Unkstruct_800B5CB8 *)p)->unk6;
|
||||
in[1] = ((Unkstruct_800B5CB8 *)p)->unkA;
|
||||
in[2] = ((Unkstruct_800B5CB8 *)p)->unkE;
|
||||
func_8012F2E8((s32)a0, (s32)in, (s32)out);
|
||||
if (func_8012CB64((s32)out, -0xA0, 0x80, -0xC0, 0x80) != 0) {
|
||||
return 1;
|
||||
|
||||
@@ -1924,7 +1924,7 @@ extern void func_80016ED4(void *a0);
|
||||
extern void (*D_80182460[])(void);
|
||||
|
||||
void func_8016B4BC(void *a0) {
|
||||
D_80182460[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80182460[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2040,7 +2040,7 @@ extern void func_80015954(s32 a0, s32 a1);
|
||||
extern void (*D_801824B0[])(void);
|
||||
|
||||
void func_8016BBA4(void *a0) {
|
||||
D_801824B0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824B0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2164,7 +2164,7 @@ extern s32 D_80126B9C;
|
||||
extern void (*D_801824E8[])(void);
|
||||
|
||||
void func_8016CB84(void *a0) {
|
||||
D_801824E8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801824E8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2216,7 +2216,7 @@ extern void ApplyMatrixSV(void *a, void *b, void *c);
|
||||
extern void (*D_8018250C[])(void);
|
||||
|
||||
void func_8016D428(void *a0) {
|
||||
D_8018250C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018250C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2294,7 +2294,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D26)
|
||||
extern void (*D_801825A8[])(void);
|
||||
|
||||
void func_8016DEA4(void *a0) {
|
||||
D_801825A8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801825A8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2626,34 +2626,34 @@ void func_8017AE2C(s32 param_1) {
|
||||
case 1:
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] <= 0) {
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2];
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2];
|
||||
goto reset_both;
|
||||
}
|
||||
{
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
return;
|
||||
case 2:
|
||||
func_8012B178(pv, (s32)g[4] << 8);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
break;
|
||||
case 3:
|
||||
if (g[1] != 0) {
|
||||
if (g[5] != 0) {
|
||||
void *p = (void *)(pv + 4);
|
||||
if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12),
|
||||
if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12),
|
||||
(s16)func_8012B744(p, &g[6])) < 0x100) {
|
||||
g[1] = 0;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744(p, &D_801AA79C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* &D_801AA790+0xC == &D_801AA79C; distinct rtx defeats gcc's address-CSE
|
||||
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
|
||||
@@ -2664,9 +2664,9 @@ void func_8017AE2C(s32 param_1) {
|
||||
}
|
||||
{
|
||||
s32 t = func_8012B744((void *)(pv + 4), &g[6]);
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] > 0) {
|
||||
@@ -2675,11 +2675,11 @@ void func_8017AE2C(s32 param_1) {
|
||||
g[1] = 0;
|
||||
return;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744((void *)(pv + 4), &D_801AA79C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* see note above: distinct rtx for the same address defeats address-CSE. */
|
||||
if (func_8012BE98(pv, (u16 *)((s32)&D_801AA790 + 0xC)) < 0x101) {
|
||||
@@ -3303,7 +3303,7 @@ void func_8017BE60(void *a0) {
|
||||
extern void (*D_80189218[])(void);
|
||||
|
||||
void func_8017BEBC(void *a0) {
|
||||
D_80189218[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80189218[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3354,16 +3354,16 @@ void func_8017BEF8(s32 param_1) {
|
||||
node = func_800D222C(param_1, &D_80189200, 0xFD);
|
||||
if (node != 0) {
|
||||
*(s32 *)(param_1 + 0x20) = node;
|
||||
*(u32 *)(node + 4) = *(u32 *)(node + 4) | 0x5D000100;
|
||||
CAST_WIDTH(u32, node, 4) = CAST_WIDTH(u32, node, 4) | 0x5D000100;
|
||||
((void (*)(void *))func_8001CF30)((void *)node);
|
||||
*(s16 *)(node + 0x18) = 0x4000;
|
||||
*(s16 *)(node + 0x1A) = 0x200;
|
||||
((Unkstruct_800B5CB8 *)node)->unk18 = 0x4000;
|
||||
((Unkstruct_800B5CB8 *)node)->unk1A = 0x200;
|
||||
*(s16 *)(param_1 + 0x16) = 0x200;
|
||||
*(s16 *)(param_1 + 0x14) = 0x1000;
|
||||
*(s16 *)(node + 0x28) = 0x240;
|
||||
*(s16 *)(node + 0x2A) = 0x180;
|
||||
*(s16 *)(node + 0x10) = w.vx;
|
||||
*(s16 *)(node + 0x12) = w.vy;
|
||||
((Unkstruct_800B5CB8 *)node)->unk28 = 0x240;
|
||||
((Unkstruct_800B5CB8 *)node)->unk2A = 0x180;
|
||||
((Unkstruct_800B5CB8 *)node)->unk10 = w.vx;
|
||||
((Unkstruct_800B5CB8 *)node)->unk12 = w.vy;
|
||||
*(s16 *)(param_1 + 2) = *(s16 *)(param_1 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(param_1);
|
||||
@@ -3377,7 +3377,7 @@ void func_8017BEF8(s32 param_1) {
|
||||
extern void (*D_80189220[])(void);
|
||||
|
||||
void func_8017C150(void *a0) {
|
||||
D_80189220[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80189220[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -3398,13 +3398,13 @@ void func_8017C18C(s32 a0) {
|
||||
r = func_800D222C(a0, &D_8018920C, 0x18);
|
||||
if (r != 0) {
|
||||
*(s32 *)(a0 + 0x20) = r;
|
||||
*(u32 *)(r + 4) = *(u32 *)(r + 4) | 0x5C000140;
|
||||
CAST_WIDTH(u32, r, 4) = CAST_WIDTH(u32, r, 4) | 0x5C000140;
|
||||
func_8001CF30((void *)r);
|
||||
*(s16 *)(r + 0x10) = 0x400;
|
||||
*(s16 *)(r + 0x18) = 0x3000;
|
||||
*(s16 *)(r + 0x1A) = 0x3000;
|
||||
*(s16 *)(r + 0x28) = 0x248;
|
||||
*(s16 *)(r + 0x2A) = 0x180;
|
||||
((Unkstruct_800B5CB8 *)r)->unk10 = 0x400;
|
||||
((Unkstruct_800B5CB8 *)r)->unk18 = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk1A = 0x3000;
|
||||
((Unkstruct_800B5CB8 *)r)->unk28 = 0x248;
|
||||
((Unkstruct_800B5CB8 *)r)->unk2A = 0x180;
|
||||
*(s16 *)(a0 + 2) = *(s16 *)(a0 + 2) + 1;
|
||||
} else {
|
||||
((void (*)(s32))func_80146C3C)(a0);
|
||||
|
||||
@@ -2845,7 +2845,7 @@ void func_801839D0(void *a0) {
|
||||
extern void (*D_8019A5A0[])(void);
|
||||
|
||||
void func_80183B80(void *a0) {
|
||||
D_8019A5A0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8019A5A0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2853,7 +2853,7 @@ void func_80183B80(void *a0) {
|
||||
extern void (*D_8019A5DC[])(void);
|
||||
|
||||
void func_80183BBC(void *a0) {
|
||||
D_8019A5DC[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8019A5DC[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2866,16 +2866,16 @@ void func_80183BF8(a0)
|
||||
void *a0;
|
||||
{
|
||||
if (func_8012C354((s32)a0, (s32)&D_8019A4F0) != 0) {
|
||||
*(u8 *)((s32)a0 + 0xC0) = 1;
|
||||
*(s16 *)((s32)a0 + 0xAE) = -1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkC0 = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkAE = -1;
|
||||
func_8012A828((s32 *)a0, (s32)D_801851C4);
|
||||
*(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1;
|
||||
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0xE00;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0xE00;
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0xE00;
|
||||
*(u16 *)((s32)a0 + 0xFC) = 0x300;
|
||||
*(u8 *)((s32)a0 + 0x75) = 8;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) + 1;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0xE00;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0xE00;
|
||||
*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0xE00;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkFC = 0x300;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk75 = 8;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2893,12 +2893,12 @@ s32 arg0;
|
||||
s32 s0 = arg0;
|
||||
|
||||
if (func_8012C354(s0, (s32)D_8019A5A8) != 0) {
|
||||
*(u8 *)(s0 + 0xC0) = 1;
|
||||
((Unkstruct_800B5CB8 *)s0)->unkC0 = 1;
|
||||
func_8012A828((s32 *)s0, (s32)D_801851C4);
|
||||
*(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) | 0x10;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x18) = 0xAAA;
|
||||
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x1C) = 0xAAA;
|
||||
((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C | 0x10;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk18 = 0xAAA;
|
||||
*(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x1C) = 0xAAA;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_8018779C[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_8018779C[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80187840[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80187840[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80187840[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2795,76 +2795,76 @@ void func_80184304(s32 a0) {
|
||||
s32 s1;
|
||||
s32 p;
|
||||
|
||||
if (*(s16 *)(a0 + 0xA) >= 0x10) {
|
||||
if (CAST_SIGN(s16, a0, 0xA) >= 0x10) {
|
||||
func_80184F88(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((*(u32 *)(a0 + 0xE0) & 8) &&
|
||||
(*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0)) {
|
||||
if ((CAST_SIGN(u32, a0, 0xE0) & 8) &&
|
||||
(CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0)) {
|
||||
func_8012DBD0(a0, 0x50,
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D);
|
||||
*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D);
|
||||
}
|
||||
|
||||
switch (*(u16 *)(a0 + 0x34)) {
|
||||
switch (((Unkstruct_800B5CB8 *)a0)->unk34) {
|
||||
case 0:
|
||||
s1 = func_8012CBF4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x2000) {
|
||||
*(u16 *)(a0 + 0x34) += 1;
|
||||
if (*(u8 **)(a0 + 0x90) == D_801D4CC0) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 += 1;
|
||||
if (CAST_SIGN(u8 *, a0, 0x90) == D_801D4CC0) {
|
||||
((s32 (*)())func_80187EF4)(a0, 0x9B8);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (s1 & 0x4000) {
|
||||
func_8012B23C(a0);
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 = 2;
|
||||
}
|
||||
if (*(u8 *)(a0 + 0xC1) != 0xB) {
|
||||
if (CAST_SIGN(u8, a0, 0xC1) != 0xB) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x14) < 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk14 < 0) {
|
||||
return;
|
||||
}
|
||||
func_80131E00(a0, 6);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
*(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16;
|
||||
*(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16;
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x4000) {
|
||||
func_8012B23C(a0);
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 = 2;
|
||||
return;
|
||||
}
|
||||
if (!(s1 & 0x6000)) {
|
||||
func_80131E00(a0, 0xD);
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x11) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) {
|
||||
return;
|
||||
}
|
||||
if (*(u8 **)(a0 + 0x90) == D_801D4CC0) {
|
||||
if (CAST_SIGN(u8 *, a0, 0x90) == D_801D4CC0) {
|
||||
((s32 (*)())func_80187EF4)(a0, 0x9B8);
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
@@ -2874,79 +2874,79 @@ void func_80184304(s32 a0) {
|
||||
case 2:
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x2000) {
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x3D) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x3D) {
|
||||
return;
|
||||
}
|
||||
func_80131E00(a0, 0xD);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
*(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16;
|
||||
*(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16;
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (!(s1 & 0x6000)) {
|
||||
func_80131E00(a0, 0xD);
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 5) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 5) {
|
||||
return;
|
||||
}
|
||||
*(u8 *)(a0 + 0xC1) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkC1 = 0;
|
||||
{
|
||||
u16 t = *(u16 *)(*(s32 *)(a0 + 0x78) + 2);
|
||||
*(u16 *)(a0 + 0x5E) = 0;
|
||||
*(u16 *)(a0 + 0x5C) = t;
|
||||
u16 t = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 2);
|
||||
CAST_WIDTH(u16, a0, 0x5E) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = t;
|
||||
}
|
||||
if (*(u16 *)(a0 + 2) == 0xD) {
|
||||
if (CAST_SIGN(u16, a0, 2) == 0xD) {
|
||||
return;
|
||||
}
|
||||
*(u16 *)(a0 + 2) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
s1 = func_8012CBF4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (!(s1 & 0x2000)) {
|
||||
return;
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x98) != 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
@@ -2970,8 +2970,8 @@ void func_80184768(s32 *a0) {
|
||||
s32 pad[2];
|
||||
func_80131B14();
|
||||
func_8012B14C(s0, (s32)&D_801BD134);
|
||||
*(u16 *)(s0 + 0x34) = 0;
|
||||
*(u32 *)(s0 + 0xE0) |= 0x8;
|
||||
((Unkstruct_800B5CB8 *)s0)->unk34 = 0;
|
||||
CAST_SIGN(u32, s0, 0xE0) |= 0x8;
|
||||
func_8012A828(s0, (void *)&(*(s32 *)D_801D4CC0));
|
||||
func_80185578(s0, 0);
|
||||
}
|
||||
@@ -2981,19 +2981,19 @@ extern s32 D_801BD2B4[];
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
|
||||
void func_801847CC(s32 *a0) {
|
||||
func_8012A828((s32)a0, D_801BD2B4[*(u16 *)((s32)a0 + 0x70) & 0xF]);
|
||||
*(s32 *)((s32)a0 + 0xE4) = 0;
|
||||
func_8012A828((s32)a0, D_801BD2B4[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]);
|
||||
((Unkstruct_800B5CB8 *)a0)->unkE4 = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void func_80184818(s32 param_1) {
|
||||
if (*(u8 *)(param_1 + 0xC1) != 0) {
|
||||
*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = func_80047948(*(s32 *)(param_1 + 0xE4) << 7) >> 5;
|
||||
*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = func_8004787C(*(s32 *)(param_1 + 0xE4) << 7) >> 4;
|
||||
if (CAST_SIGN(u8, param_1, 0xC1) != 0) {
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = func_80047948(((Unkstruct_800B5CB8 *)param_1)->unkE4 << 7) >> 5;
|
||||
*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = func_8004787C(((Unkstruct_800B5CB8 *)param_1)->unkE4 << 7) >> 4;
|
||||
func_8012B370(param_1);
|
||||
*(s32 *)(param_1 + 0xE4) += 1;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unkE4 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80191F30[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80191F30[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80191FD4[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80191FD4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80191FD4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2829,76 +2829,76 @@ void func_801867DC(s32 a0) {
|
||||
s32 s1;
|
||||
s32 p;
|
||||
|
||||
if (*(s16 *)(a0 + 0xA) >= 0x10) {
|
||||
if (CAST_SIGN(s16, a0, 0xA) >= 0x10) {
|
||||
func_80187460(a0);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((*(u32 *)(a0 + 0xE0) & 8) &&
|
||||
(*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0)) {
|
||||
if ((CAST_SIGN(u32, a0, 0xE0) & 8) &&
|
||||
(CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0)) {
|
||||
func_8012DBD0(a0, 0x50,
|
||||
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D);
|
||||
*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D);
|
||||
}
|
||||
|
||||
switch (*(u16 *)(a0 + 0x34)) {
|
||||
switch (((Unkstruct_800B5CB8 *)a0)->unk34) {
|
||||
case 0:
|
||||
s1 = func_8012CBF4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x2000) {
|
||||
*(u16 *)(a0 + 0x34) += 1;
|
||||
if (*(u8 **)(a0 + 0x90) == D_801D3E04) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 += 1;
|
||||
if (CAST_SIGN(u8 *, a0, 0x90) == D_801D3E04) {
|
||||
((s32 (*)())func_8018A3CC)(a0, 0x9B8);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (s1 & 0x4000) {
|
||||
func_8012B23C(a0);
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 = 2;
|
||||
}
|
||||
if (*(u8 *)(a0 + 0xC1) != 0xB) {
|
||||
if (CAST_SIGN(u8, a0, 0xC1) != 0xB) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)(a0 + 0x14) < 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk14 < 0) {
|
||||
return;
|
||||
}
|
||||
func_80131E00(a0, 6);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
*(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16;
|
||||
*(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16;
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x4000) {
|
||||
func_8012B23C(a0);
|
||||
*(u16 *)(a0 + 0x34) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk34 = 2;
|
||||
return;
|
||||
}
|
||||
if (!(s1 & 0x6000)) {
|
||||
func_80131E00(a0, 0xD);
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x11) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) {
|
||||
return;
|
||||
}
|
||||
if (*(u8 **)(a0 + 0x90) == D_801D3E04) {
|
||||
if (CAST_SIGN(u8 *, a0, 0x90) == D_801D3E04) {
|
||||
((s32 (*)())func_8018A3CC)(a0, 0x9B8);
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
@@ -2908,79 +2908,79 @@ void func_801867DC(s32 a0) {
|
||||
case 2:
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (s1 & 0x2000) {
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 0x3D) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x3D) {
|
||||
return;
|
||||
}
|
||||
func_80131E00(a0, 0xD);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
*(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16;
|
||||
*(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16;
|
||||
CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16;
|
||||
s1 = func_8012CBA4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (!(s1 & 0x6000)) {
|
||||
func_80131E00(a0, 0xD);
|
||||
return;
|
||||
}
|
||||
if ((*(s32 *)(a0 + 0x1C) & 3) == 3) {
|
||||
if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) {
|
||||
p = func_80143B6C(a0, 1);
|
||||
if (p != 0) {
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x18) = 0x6000;
|
||||
*(s16 *)(*(s32 *)(p + 0xCC) + 0x1A) = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk18 = 0x6000;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(p + 0xCC))->unk1A = 0x6000;
|
||||
}
|
||||
}
|
||||
*(s32 *)(a0 + 0x1C) += 1;
|
||||
if (*(s32 *)(a0 + 0x1C) < 5) {
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C += 1;
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk1C < 5) {
|
||||
return;
|
||||
}
|
||||
*(u8 *)(a0 + 0xC1) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkC1 = 0;
|
||||
{
|
||||
u16 t = *(u16 *)(*(s32 *)(a0 + 0x78) + 2);
|
||||
*(u16 *)(a0 + 0x5E) = 0;
|
||||
*(u16 *)(a0 + 0x5C) = t;
|
||||
u16 t = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 2);
|
||||
CAST_WIDTH(u16, a0, 0x5E) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk5C = t;
|
||||
}
|
||||
if (*(u16 *)(a0 + 2) == 0xD) {
|
||||
if (CAST_SIGN(u16, a0, 2) == 0xD) {
|
||||
return;
|
||||
}
|
||||
*(u16 *)(a0 + 2) = 2;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
s1 = func_8012CBF4(a0);
|
||||
if (s1 & 0x8000) {
|
||||
*(s32 *)(a0 + 0x18) = 0;
|
||||
*(s32 *)(a0 + 0x10) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x18) = 0;
|
||||
CAST_WIDTH(s32, a0, 0x10) = 0;
|
||||
}
|
||||
if (!(s1 & 0x2000)) {
|
||||
return;
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x98) != 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s16 *)(a0 + 0x76) <= 0) {
|
||||
if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) {
|
||||
func_80131E00(a0, 6);
|
||||
} else {
|
||||
func_80131C78(a0);
|
||||
@@ -3004,8 +3004,8 @@ void func_80186C40(s32 *a0) {
|
||||
s32 pad[2];
|
||||
func_80131B14();
|
||||
func_8012B14C(s0, (s32)&D_801BC278);
|
||||
*(u16 *)(s0 + 0x34) = 0;
|
||||
*(u32 *)(s0 + 0xE0) |= 0x8;
|
||||
((Unkstruct_800B5CB8 *)s0)->unk34 = 0;
|
||||
CAST_SIGN(u32, s0, 0xE0) |= 0x8;
|
||||
func_8012A828(s0, (void *)&(*(s32 *)D_801D3E04));
|
||||
func_80187A50(s0, 0);
|
||||
}
|
||||
@@ -3015,19 +3015,19 @@ extern void func_8012A828(s32 a0, void *a1);
|
||||
extern s32 D_801BC3F8[];
|
||||
|
||||
void func_80186CA4(s32 param_1) {
|
||||
func_8012A828(param_1, (void *)D_801BC3F8[*(u16 *)(param_1 + 0x70) & 0xF]);
|
||||
*(s32 *)(param_1 + 0xE4) = 0;
|
||||
func_8012A828(param_1, (void *)D_801BC3F8[CAST_SIGN(u16, param_1, 0x70) & 0xF]);
|
||||
((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void func_80186CF0(s32 param_1) {
|
||||
if (*(u8 *)(param_1 + 0xC1) != 0) {
|
||||
*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = func_80047948(*(s32 *)(param_1 + 0xE4) << 7) >> 5;
|
||||
*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = func_8004787C(*(s32 *)(param_1 + 0xE4) << 7) >> 4;
|
||||
if (CAST_SIGN(u8, param_1, 0xC1) != 0) {
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = func_80047948(((Unkstruct_800B5CB8 *)param_1)->unkE4 << 7) >> 5;
|
||||
*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = func_8004787C(((Unkstruct_800B5CB8 *)param_1)->unkE4 << 7) >> 4;
|
||||
func_8012B370(param_1);
|
||||
*(s32 *)(param_1 + 0xE4) += 1;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unkE4 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_801873D4[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_801873D4[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80187478[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80187478[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80187478[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -3591,7 +3591,7 @@ extern void func_80171A1C(u8 *a0);
|
||||
void func_8017DF50(void *arg0) {
|
||||
s32 b;
|
||||
s32 a;
|
||||
a = *(s32 *)(arg0 + 0x20);
|
||||
a = ((Unkstruct_80126B58 *)arg0)->unk20;
|
||||
func_8017E100();
|
||||
*(s16 *)(a + 0x12) = func_8014C568((s16 *)arg0, (s16 *)D_801B12E4);
|
||||
if (func_80146E98(arg0) != 0) {
|
||||
@@ -3600,10 +3600,10 @@ void func_8017DF50(void *arg0) {
|
||||
func_80171A1C((u8 *)arg0);
|
||||
} else {
|
||||
((void (*)(s32 *))func_8017E230)(arg0);
|
||||
if (*(s16 *)(arg0 + 0x20C) == 0) {
|
||||
if ((*(u16 *)(arg0 + 0xB8) & 0x8000) != 0) {
|
||||
*(u16 *)(arg0 + 0x20C) = 1;
|
||||
*(u16 *)(arg0 + 0xB8) = *(u16 *)(arg0 + 0xBA);
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk20C == 0) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB8 & 0x8000) != 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk20C = 1;
|
||||
((Unkstruct_80126B58 *)arg0)->unkB8 = ((Unkstruct_80126B58 *)arg0)->unkBA;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3645,7 +3645,7 @@ s32 func_8017E05C(void *a0)
|
||||
func_80146E90(a0, 4);
|
||||
func_8017E18C(a0, D_801B12E4, 4);
|
||||
func_80154150((s32)a0, 0xF);
|
||||
*(u16 *)((s32)a0 + 0x20C) = 0;
|
||||
((Unkstruct_80126B58 *)a0)->unk20C = 0;
|
||||
func_80171A34((s32 *)a0, 2);
|
||||
return 1;
|
||||
}
|
||||
@@ -3764,13 +3764,13 @@ extern s32 D_80188844;
|
||||
void func_8017E3C0(s32 a0)
|
||||
{
|
||||
if (func_8012C354(a0, (s32)D_80188804) != 0) {
|
||||
*(u8 *)(a0 + 0xC0) = 1;
|
||||
*(s32 *)(a0 + 0xB4) = -1;
|
||||
*(s16 *)(a0 + 0xAE) = -1;
|
||||
*(s16 *)(a0 + 0x2) = 1;
|
||||
*(u8 *)(a0 + 0x75) = 0;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkC0 = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkB4 = -1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unkAE = -1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk75 = 0;
|
||||
func_8012A828(a0, &D_80188844);
|
||||
*(s32 *)(a0 + 0x1C) = 0xA;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3880,18 +3880,18 @@ void func_8017E4E0(void *a0)
|
||||
func_8005A600((s32)p, 0, 0, (u16)tp, 0);
|
||||
|
||||
/* r0,r1,r2,r3 then g0..g3 then b0..b3 -- one load each */
|
||||
*(u8 *)(p + 0x10) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x18) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x20) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x28) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x11) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x19) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x21) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x29) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x12) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x1A) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x22) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x2A) = *(s32 *)((u8 *)a0 + 0x1C);
|
||||
*(u8 *)(p + 0x10) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x18) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x20) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x28) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x11) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x19) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x21) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x29) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x12) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x1A) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x22) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
*(u8 *)(p + 0x2A) = ((Unkstruct_800B5CB8 *)a0)->unk1C;
|
||||
|
||||
*(u8 *)(p + 0xF) = 8; /* tag len */
|
||||
*(u8 *)(p + 0x13) = 0x3A; /* code */
|
||||
@@ -3916,13 +3916,13 @@ extern void func_8012C218(void *a0);
|
||||
|
||||
void func_8017E648(void *a0)
|
||||
{
|
||||
switch (*(u16 *)((s32)a0 + 0x2)) {
|
||||
switch (CAST_SIGN(u16, (s32)a0, 0x2)) {
|
||||
case 0:
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x7F;
|
||||
*(u16 *)((s32)a0 + 0x2) = 1;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk1C = 0x7F;
|
||||
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (--*(s32 *)((s32)a0 + 0x1C) > 0) {
|
||||
if (--((Unkstruct_800B5CB8 *)a0)->unk1C > 0) {
|
||||
func_8017E4E0(a0);
|
||||
} else {
|
||||
func_8012C218(a0);
|
||||
@@ -4111,14 +4111,14 @@ void func_8017EA74(s32 a0) {
|
||||
if (rec == 0) {
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(rec + 0x2) >= 8) {
|
||||
if (CAST_SIGN(u16, rec, 0x2) >= 8) {
|
||||
return;
|
||||
}
|
||||
|
||||
mode = *(s16 *)(a0 + 0x2);
|
||||
switch (mode) {
|
||||
case 0:
|
||||
if (*(u16 *)(rec + 0x2) == 3) {
|
||||
if (CAST_SIGN(u16, rec, 0x2) == 3) {
|
||||
*(s16 *)(a0 + 0x2) = mode + 1;
|
||||
}
|
||||
break;
|
||||
@@ -4133,15 +4133,15 @@ void func_8017EA74(s32 a0) {
|
||||
|
||||
case 2:
|
||||
if (*(s16 *)(a0 + 0x8) < 2) {
|
||||
vecA[0] = *(u16 *)(rec + 0x6);
|
||||
vecA[1] = *(u16 *)(rec + 0xA);
|
||||
vecA[2] = *(u16 *)(rec + 0xE);
|
||||
vecA[0] = ((Unkstruct_800B5CB8 *)rec)->unk6;
|
||||
vecA[1] = ((Unkstruct_800B5CB8 *)rec)->unkA;
|
||||
vecA[2] = ((Unkstruct_800B5CB8 *)rec)->unkE;
|
||||
*(s32 *)(a0 + 0xC) = 1;
|
||||
} else {
|
||||
vecA[0] = D_80126B5E;
|
||||
vecA[1] = D_80126B62;
|
||||
vecA[2] = D_80126B66;
|
||||
if (*(u16 *)(rec + 0x2) == 4) {
|
||||
if (CAST_SIGN(u16, rec, 0x2) == 4) {
|
||||
*(s32 *)(a0 + 0xC) = 1;
|
||||
} else {
|
||||
*(s32 *)(a0 + 0xC) = 0;
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80180714[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80180714[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_801807B8[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_801807B8[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801807B8[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_8018ECA8[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_8018ECA8[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_8018ED4C[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_8018ED4C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018ED4C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80184598[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80184598[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_8018463C[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_8018463C[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018463C[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80195A64[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80195A64[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80195B08[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80195B08[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80195B08[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80193F74[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80193F74[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80194018[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80194018[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80194018[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80184DBC[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80184DBC[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80184E60[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80184E60[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80184E60[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80183C6C[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80183C6C[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80183D10[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80183D10[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80183D10[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80188F28[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80188F28[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80188FCC[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80188FCC[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80188FCC[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2025,8 +2025,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -2148,7 +2148,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -2367,9 +2367,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_8018CB4C[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_8018CB4C[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -2384,13 +2384,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -2404,7 +2404,7 @@ mask:
|
||||
void func_80159B70(void *a0) {
|
||||
|
||||
extern void (*D_8018CBF0[])(void);
|
||||
D_8018CBF0[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018CBF0[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2441,8 +2441,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2091,7 +2091,7 @@ s32 arg0;
|
||||
}
|
||||
|
||||
if (func_80149D9C(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149FA8)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2102,9 +2102,9 @@ s32 arg0;
|
||||
if (((s32 (*)(s32))func_80161B18)(arg0) != 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&D_800D5428) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D5428) {
|
||||
if (func_8014A048(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8014A218)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2118,12 +2118,12 @@ s32 arg0;
|
||||
case 2:
|
||||
case 6:
|
||||
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149AD4)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149BAC)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2136,7 +2136,7 @@ s32 arg0;
|
||||
break;
|
||||
case 5:
|
||||
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_800CCCC0(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2144,18 +2144,18 @@ s32 arg0;
|
||||
}
|
||||
|
||||
if (func_80149CD4(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015E880)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149704)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
|
||||
sv = *(s32 *)(arg0 + 0x2C);
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_8014C010(arg0, 1);
|
||||
((void (*)(s32, s32))func_80147078)(arg0, 0);
|
||||
((void (*)(s32))func_80159B70)(arg0);
|
||||
@@ -2166,41 +2166,41 @@ s32 arg0;
|
||||
}
|
||||
|
||||
((void (*)(s32))func_80148AFC)(arg0);
|
||||
if (*(u32 *)(arg0 + 0x44) & 0x200) {
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk44 & 0x200) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
func_80154150(arg0, 0xA);
|
||||
func_80154A74(arg0, 0x1C);
|
||||
}
|
||||
((void (*)(s32, s32))func_80146DB8)(arg0, (s32)&(*(s32 *)&D_8018CA2C));
|
||||
func_80147AD4(arg0, 0, 0, 0);
|
||||
} else {
|
||||
switch (*(u8 *)(arg0 + 0xA9)) {
|
||||
switch (((Unkstruct_80126B58 *)arg0)->unkA9) {
|
||||
case 0x41:
|
||||
func_80147AD4(arg0, 0, 0, grav);
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 4) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
} else if (func_8016F1C4() == 0) {
|
||||
if ((*(s16 *)(p + 0x26) < 0x20) || (*(s16 *)(p + 0x2E) < 0x20)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
} else if ((*(s16 *)(p + 0x26) < 0x40) || (*(s16 *)(p + 0x2E) < 0x30)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) < min) {
|
||||
*(s32 *)(arg0 + 0x2C) = min;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < min) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = min;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) >= hi) {
|
||||
*(s32 *)(arg0 + 0x2C) = hi;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C >= hi) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = hi;
|
||||
}
|
||||
lo1 = -0x94000;
|
||||
t = *(s32 *)(arg0 + 0x2C);
|
||||
t = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
if (t < lo1) {
|
||||
func_80154150(arg0, 8);
|
||||
} else if (t < -0x70000) {
|
||||
@@ -2212,29 +2212,29 @@ s32 arg0;
|
||||
break;
|
||||
case 0x53:
|
||||
case 0x73:
|
||||
*(s32 *)(arg0 + 0x2C) = (min * (((s32 (*)(s32))func_80148824)(arg0) & 0xFF)) / 127;
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = (min * (((s32 (*)(s32))func_80148824)(arg0) & 0xFF)) / 127;
|
||||
if (func_8016F1C4() == 0) {
|
||||
if ((*(s16 *)(p + 0x26) < 0x40) || (*(s16 *)(p + 0x2E) < 0x30)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
}
|
||||
}
|
||||
if ((*(s16 *)(p + 0x26) < 0x20) || (*(s16 *)(p + 0x2E) < 0x20)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) < min) {
|
||||
*(s32 *)(arg0 + 0x2C) = min;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < min) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = min;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) >= hi) {
|
||||
*(s32 *)(arg0 + 0x2C) = hi;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C >= hi) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = hi;
|
||||
}
|
||||
func_80147A84(arg0);
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
lo2 = -0x94000;
|
||||
t = *(s32 *)(arg0 + 0x2C);
|
||||
t = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
if (t < lo2) {
|
||||
func_80154150(arg0, 8);
|
||||
} else if (t < -0x70000) {
|
||||
@@ -2248,11 +2248,11 @@ s32 arg0;
|
||||
}
|
||||
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
if ((min >= *(s32 *)(arg0 + 0x2C)) && !(D_800B99DA & 7)) {
|
||||
if ((min >= ((Unkstruct_80126B58 *)arg0)->unk2C) && !(D_800B99DA & 7)) {
|
||||
func_8014C010(arg0, 2);
|
||||
}
|
||||
if (((s32 (*)(s32))func_8014D738)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015C6E0)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2260,18 +2260,18 @@ s32 arg0;
|
||||
((void (*)(s32))func_80155440)(arg0);
|
||||
func_80154150(arg0, 0x12);
|
||||
func_80154A74(arg0, 0x17);
|
||||
*(s32 *)(arg0 + 0x23C) = 1;
|
||||
((Unkstruct_80126B58 *)arg0)->unk23C = 1;
|
||||
} else {
|
||||
if (*(s32 *)(arg0 + 0x23C) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C != 0) {
|
||||
func_801553C0(arg0);
|
||||
func_80154150(arg0, 6);
|
||||
func_80154A74(arg0, 0x21);
|
||||
}
|
||||
*(s32 *)(arg0 + 0x23C) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk23C = 0;
|
||||
}
|
||||
if (((s32 (*)(s32))func_80161278)(arg0) == 0) {
|
||||
if (*(u16 *)(arg0 + 0xB8) & 0x2000) {
|
||||
func_80161C24(arg0, *(u16 *)(arg0 + 0x16E));
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x2000) {
|
||||
func_80161C24(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
|
||||
}
|
||||
((void (*)(s32))func_80172608)(arg0);
|
||||
((void (*)(s32))func_801483E8)(arg0);
|
||||
@@ -2297,7 +2297,7 @@ void func_8015AC48(s32 arg0)
|
||||
extern M2C_UNK D_8018CA3C;
|
||||
func_80154150(arg0, 9);
|
||||
func_80146DB8((s32 *)arg0, &D_8018CA3C);
|
||||
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
|
||||
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
|
||||
}
|
||||
|
||||
|
||||
@@ -2315,7 +2315,7 @@ void func_8015AC48(s32 arg0)
|
||||
void func_8015AD3C(void *a0) {
|
||||
|
||||
extern void (*D_8018CC00[])(void);
|
||||
D_8018CC00[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8018CC00[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2411,42 +2411,42 @@ s32 arg0;
|
||||
s32 t;
|
||||
|
||||
flag = 0;
|
||||
if ((func_80161A60(arg0) != 0) && (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) && (*(s32 *)(arg0 + 0x34) >= 0)) {
|
||||
if ((func_80161A60(arg0) != 0) && (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) && (((Unkstruct_80126B58 *)arg0)->unk34 >= 0)) {
|
||||
flag = 1;
|
||||
if (*(s32 *)(arg0 + 0x5C) == 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk5C == 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
*(s32 *)(arg0 + 0x5C) = 1;
|
||||
((Unkstruct_80126B58 *)arg0)->unk5C = 1;
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x5C) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk5C = 0;
|
||||
}
|
||||
((void (*)(s32))func_80149FB0)(arg0);
|
||||
if (*(s32 *)(arg0 + 0x1B0) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 == 0) {
|
||||
switch (((s32 (*)(s32))func_801619A4)(arg0)) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 6:
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&(*(s32 *)&D_800D4BE0)) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&(*(s32 *)&D_800D4BE0)) {
|
||||
if (func_80149C08(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_801577C8)(arg0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ((*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4E94) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4ED4) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4E94) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4ED4) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if (func_8015B6F4(arg0) == 0) {
|
||||
((void (*)(s32))func_8015B7B4)(arg0);
|
||||
}
|
||||
} else {
|
||||
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
|
||||
func_80154A74(arg0, 0x22);
|
||||
((void (*)(s32))func_8015B8F8)(arg0);
|
||||
*(u32 *)(arg0 + 0x44) &= ~2;
|
||||
((Unkstruct_80126B58 *)arg0)->unk44 &= ~2;
|
||||
if (flag != 0) {
|
||||
((void (*)(s32, s32, s32, s32))func_80146994)(0x3B, arg0, 0, 0);
|
||||
}
|
||||
@@ -2461,50 +2461,50 @@ s32 arg0;
|
||||
break;
|
||||
case 5:
|
||||
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_800CCCC0(arg0);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (*(u32 *)(arg0 + 0x44) & 2) {
|
||||
((void (*)(s32, s32))func_80155FF8)(arg0, *(u8 *)(arg0 + 0x1AA));
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk44 & 2) {
|
||||
((void (*)(s32, s32))func_80155FF8)(arg0, ((Unkstruct_80126B58 *)arg0)->unk1AA);
|
||||
} else {
|
||||
if ((*(s32 *)(arg0 + 0x240) == 0) && (((s32 (*)(s32))func_8015B858)(arg0) != 0)) {
|
||||
*(s32 *)(arg0 + 0x240) += 1;
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unk240 == 0) && (((s32 (*)(s32))func_8015B858)(arg0) != 0)) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk240 += 1;
|
||||
}
|
||||
if ((*(s32 *)(arg0 + 0xB4) == (s32)&(*(s32 *)&D_800D4BE0)) && (*(u16 *)(arg0 + 0xB8) & 0x8000)) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&(*(s32 *)&D_800D4BE0)) && (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x8000)) {
|
||||
((void (*)(s32))func_8015B8F8)(arg0);
|
||||
} else if ((*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4A9C) ||
|
||||
(*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4B48)) {
|
||||
if (*(u16 *)(arg0 + 0xB8) & 0x8000) {
|
||||
if (*(s32 *)(arg0 + 0x34) >= 0) {
|
||||
*(u16 *)(arg0 + 0xB8) += 1;
|
||||
} else if ((((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4A9C) ||
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4B48)) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x8000) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unkB8 += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(u8 *)(arg0 + 0x1C6) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1C6 != 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) {
|
||||
func_80148038(arg0, 0xFFFE6000);
|
||||
} else {
|
||||
func_80148038(arg0, 0x1A000);
|
||||
}
|
||||
lim = 0x40000;
|
||||
if ((*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4E94) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4ED4) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4E94) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4ED4) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
lim = 0xC0000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x34) < -lim) {
|
||||
*(s32 *)(arg0 + 0x34) = -lim;
|
||||
} else if (lim < *(s32 *)(arg0 + 0x34)) {
|
||||
*(s32 *)(arg0 + 0x34) = lim;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 < -lim) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk34 = -lim;
|
||||
} else if (lim < ((Unkstruct_80126B58 *)arg0)->unk34) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk34 = lim;
|
||||
}
|
||||
func_80147460(arg0);
|
||||
} else {
|
||||
if (*(s32 *)(arg0 + 0x34) < 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 < 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) {
|
||||
func_80147814(arg0, 0xFFFF0000);
|
||||
}
|
||||
@@ -2512,14 +2512,14 @@ s32 arg0;
|
||||
}
|
||||
}
|
||||
if (func_800CF8B4() != 0) {
|
||||
*(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = ((*(u16 *)&D_801152A0) + func_801491C4(arg0)) & 0xFFF;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = ((*(u16 *)&D_801152A0) + func_801491C4(arg0)) & 0xFFF;
|
||||
}
|
||||
if (flag == 0) {
|
||||
if ((u8)((s32 (*)(s32))func_80148AFC)(arg0)) {
|
||||
(*(u16 *)&D_801152A0) = func_80149184(arg0);
|
||||
((void (*)(s32, s32))func_80146E90)(arg0, 4);
|
||||
if (*(s32 *)(arg0 + 0x2C) > -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C > -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
func_80147A30(arg0, -0x10000, 0xBA000);
|
||||
} else {
|
||||
func_80147A30(arg0, -0x1000, 0xBA000);
|
||||
@@ -2531,7 +2531,7 @@ s32 arg0;
|
||||
}
|
||||
func_80147A84(arg0);
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
if (*(u8 *)(arg0 + 0x1C6) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1C6 == 0) {
|
||||
func_80148038(arg0, 0x1A000);
|
||||
func_80147460(arg0);
|
||||
}
|
||||
@@ -2541,79 +2541,79 @@ s32 arg0;
|
||||
(*(u16 *)&D_801152A0) = func_80149184(arg0);
|
||||
func_80146D90(arg0);
|
||||
func_80147AD4(arg0, 0, 0, 0xFFFF4000);
|
||||
*(s32 *)(arg0 + 0x50) += *(s32 *)(arg0 + 0x10);
|
||||
*(s32 *)(arg0 + 0x54) += *(s32 *)(arg0 + 0x14);
|
||||
*(s32 *)(arg0 + 0x58) += *(s32 *)(arg0 + 0x18);
|
||||
if (*(s32 *)(arg0 + 0x50) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x50) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x50) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x50) = -0xBA000;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 += ((Unkstruct_80126B58 *)arg0)->unk10;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 += ((Unkstruct_80126B58 *)arg0)->unk14;
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 += ((Unkstruct_80126B58 *)arg0)->unk18;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk50 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = -0xBA000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x54) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x54) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x54) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x54) = -0xBA000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk54 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = -0xBA000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x58) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x58) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x58) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x58) = -0xBA000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk58 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = -0xBA000;
|
||||
}
|
||||
*(s32 *)(arg0 + 0x10) = *(s32 *)(arg0 + 0x50);
|
||||
*(s32 *)(arg0 + 0x14) = *(s32 *)(arg0 + 0x54);
|
||||
*(s32 *)(arg0 + 0x18) = *(s32 *)(arg0 + 0x58);
|
||||
((Unkstruct_80126B58 *)arg0)->unk10 = ((Unkstruct_80126B58 *)arg0)->unk50;
|
||||
((Unkstruct_80126B58 *)arg0)->unk14 = ((Unkstruct_80126B58 *)arg0)->unk54;
|
||||
((Unkstruct_80126B58 *)arg0)->unk18 = ((Unkstruct_80126B58 *)arg0)->unk58;
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
} else {
|
||||
doit = 0;
|
||||
if (*(s32 *)(arg0 + 0x50) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x50) >= 0) {
|
||||
*(s32 *)(arg0 + 0x50) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x50) < 0) {
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x50) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x50) >= 0) {
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x54) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x54) >= 0) {
|
||||
*(s32 *)(arg0 + 0x54) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x54) < 0) {
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x54) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x54) >= 0) {
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x58) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x58) >= 0) {
|
||||
*(s32 *)(arg0 + 0x58) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x58) < 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x58) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x58) >= 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (doit != 0) {
|
||||
*(s32 *)(arg0 + 0x10) = *(s32 *)(arg0 + 0x50);
|
||||
*(s32 *)(arg0 + 0x14) = *(s32 *)(arg0 + 0x54);
|
||||
*(s32 *)(arg0 + 0x18) = *(s32 *)(arg0 + 0x58);
|
||||
((Unkstruct_80126B58 *)arg0)->unk10 = ((Unkstruct_80126B58 *)arg0)->unk50;
|
||||
((Unkstruct_80126B58 *)arg0)->unk14 = ((Unkstruct_80126B58 *)arg0)->unk54;
|
||||
((Unkstruct_80126B58 *)arg0)->unk18 = ((Unkstruct_80126B58 *)arg0)->unk58;
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
}
|
||||
if (!(*(u32 *)(arg0 + 0x44) & 2)) {
|
||||
if (!(((Unkstruct_80126B58 *)arg0)->unk44 & 2)) {
|
||||
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xF, 0x12);
|
||||
}
|
||||
}
|
||||
@@ -2621,22 +2621,22 @@ s32 arg0;
|
||||
if (t != 0) {
|
||||
func_800CCB78(t);
|
||||
}
|
||||
if ((*(u16 *)(arg0 + 0x1C8) & 0x1F) == 0) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unk1C8 & 0x1F) == 0) {
|
||||
((void (*)(s32, s32, s32, s32))func_80146994)(0x3C, arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x1B0) != 0) {
|
||||
if (*(s32 *)(arg0 + 0x1B0) == 1) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 == 1) {
|
||||
func_80154A74(arg0, 0x22);
|
||||
func_80154150(arg0, 0xF);
|
||||
} else {
|
||||
((void (*)(s32, s32))func_80154274)(arg0, *(s32 *)(arg0 + 0x1B4));
|
||||
((void (*)(s32, s32))func_80154274)(arg0, ((Unkstruct_80126B58 *)arg0)->unk1B4);
|
||||
}
|
||||
}
|
||||
r = ((s32 (*)(s32))func_80161488)(arg0);
|
||||
if (r & 5) {
|
||||
*(u32 *)(arg0 + 0x44) &= ~2;
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4A9C) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk44 &= ~2;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4A9C) {
|
||||
func_80154150(arg0, 0xE);
|
||||
} else {
|
||||
func_80154150(arg0, 0x10);
|
||||
@@ -2645,10 +2645,10 @@ s32 arg0;
|
||||
}
|
||||
if (r == 0) {
|
||||
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015CC40)(arg0);
|
||||
} else if ((((s32 (*)(s32))func_8014A69C)(arg0) != 0) && (((s32 (*)(s32))func_8014E6A0)(arg0) != 0)) {
|
||||
D_8018CAA8[*(u16 *)arg0]((void *)arg0);
|
||||
D_8018CAA8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015CF8C)(arg0);
|
||||
} else {
|
||||
((void (*)(s32))func_801725A4)(arg0);
|
||||
|
||||
@@ -2025,8 +2025,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -2148,7 +2148,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -2367,9 +2367,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80185670[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80185670[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -2384,13 +2384,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -2404,7 +2404,7 @@ mask:
|
||||
void func_80159B70(void *a0) {
|
||||
|
||||
extern void (*D_80185714[])(void);
|
||||
D_80185714[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80185714[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2441,8 +2441,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2092,7 +2092,7 @@ s32 arg0;
|
||||
}
|
||||
|
||||
if (func_80149D9C(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149FA8)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2103,9 +2103,9 @@ s32 arg0;
|
||||
if (((s32 (*)(s32))func_80161B18)(arg0) != 0) {
|
||||
return;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&D_800D5428) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D5428) {
|
||||
if (func_8014A048(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8014A218)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2119,12 +2119,12 @@ s32 arg0;
|
||||
case 2:
|
||||
case 6:
|
||||
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149AD4)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149BAC)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2137,7 +2137,7 @@ s32 arg0;
|
||||
break;
|
||||
case 5:
|
||||
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_800CCCC0(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2145,18 +2145,18 @@ s32 arg0;
|
||||
}
|
||||
|
||||
if (func_80149CD4(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015E880)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_80149704)(arg0);
|
||||
return;
|
||||
}
|
||||
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
|
||||
sv = *(s32 *)(arg0 + 0x2C);
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_8014C010(arg0, 1);
|
||||
((void (*)(s32, s32))func_80147078)(arg0, 0);
|
||||
((void (*)(s32))func_80159B70)(arg0);
|
||||
@@ -2167,41 +2167,41 @@ s32 arg0;
|
||||
}
|
||||
|
||||
((void (*)(s32))func_80148AFC)(arg0);
|
||||
if (*(u32 *)(arg0 + 0x44) & 0x200) {
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk44 & 0x200) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
func_80154150(arg0, 0xA);
|
||||
func_80154A74(arg0, 0x1C);
|
||||
}
|
||||
((void (*)(s32, s32))func_80146DB8)(arg0, (s32)&(*(s32 *)&D_80185550));
|
||||
func_80147AD4(arg0, 0, 0, 0);
|
||||
} else {
|
||||
switch (*(u8 *)(arg0 + 0xA9)) {
|
||||
switch (((Unkstruct_80126B58 *)arg0)->unkA9) {
|
||||
case 0x41:
|
||||
func_80147AD4(arg0, 0, 0, grav);
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 4) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
} else if (func_8016F1C4() == 0) {
|
||||
if ((*(s16 *)(p + 0x26) < 0x20) || (*(s16 *)(p + 0x2E) < 0x20)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
} else if ((*(s16 *)(p + 0x26) < 0x40) || (*(s16 *)(p + 0x2E) < 0x30)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) < min) {
|
||||
*(s32 *)(arg0 + 0x2C) = min;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < min) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = min;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) >= hi) {
|
||||
*(s32 *)(arg0 + 0x2C) = hi;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C >= hi) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = hi;
|
||||
}
|
||||
lo1 = -0x94000;
|
||||
t = *(s32 *)(arg0 + 0x2C);
|
||||
t = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
if (t < lo1) {
|
||||
func_80154150(arg0, 8);
|
||||
} else if (t < -0x70000) {
|
||||
@@ -2213,29 +2213,29 @@ s32 arg0;
|
||||
break;
|
||||
case 0x53:
|
||||
case 0x73:
|
||||
*(s32 *)(arg0 + 0x2C) = (min * (((s32 (*)(s32))func_80148824)(arg0) & 0xFF)) / 127;
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = (min * (((s32 (*)(s32))func_80148824)(arg0) & 0xFF)) / 127;
|
||||
if (func_8016F1C4() == 0) {
|
||||
if ((*(s16 *)(p + 0x26) < 0x40) || (*(s16 *)(p + 0x2E) < 0x30)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
}
|
||||
}
|
||||
if ((*(s16 *)(p + 0x26) < 0x20) || (*(s16 *)(p + 0x2E) < 0x20)) {
|
||||
if (*(s32 *)(arg0 + 0x2C) < -0x40000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x40000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < -0x40000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x40000;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) < min) {
|
||||
*(s32 *)(arg0 + 0x2C) = min;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C < min) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = min;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x2C) >= hi) {
|
||||
*(s32 *)(arg0 + 0x2C) = hi;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C >= hi) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = hi;
|
||||
}
|
||||
func_80147A84(arg0);
|
||||
if (*(s32 *)(arg0 + 0x23C) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C == 0) {
|
||||
lo2 = -0x94000;
|
||||
t = *(s32 *)(arg0 + 0x2C);
|
||||
t = ((Unkstruct_80126B58 *)arg0)->unk2C;
|
||||
if (t < lo2) {
|
||||
func_80154150(arg0, 8);
|
||||
} else if (t < -0x70000) {
|
||||
@@ -2249,11 +2249,11 @@ s32 arg0;
|
||||
}
|
||||
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
if ((min >= *(s32 *)(arg0 + 0x2C)) && !(D_800B99DA & 7)) {
|
||||
if ((min >= ((Unkstruct_80126B58 *)arg0)->unk2C) && !(D_800B99DA & 7)) {
|
||||
func_8014C010(arg0, 2);
|
||||
}
|
||||
if (((s32 (*)(s32))func_8014D738)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015C6E0)(arg0);
|
||||
return;
|
||||
}
|
||||
@@ -2261,18 +2261,18 @@ s32 arg0;
|
||||
((void (*)(s32))func_80155440)(arg0);
|
||||
func_80154150(arg0, 0x12);
|
||||
func_80154A74(arg0, 0x17);
|
||||
*(s32 *)(arg0 + 0x23C) = 1;
|
||||
((Unkstruct_80126B58 *)arg0)->unk23C = 1;
|
||||
} else {
|
||||
if (*(s32 *)(arg0 + 0x23C) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk23C != 0) {
|
||||
func_801553C0(arg0);
|
||||
func_80154150(arg0, 6);
|
||||
func_80154A74(arg0, 0x21);
|
||||
}
|
||||
*(s32 *)(arg0 + 0x23C) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk23C = 0;
|
||||
}
|
||||
if (((s32 (*)(s32))func_80161278)(arg0) == 0) {
|
||||
if (*(u16 *)(arg0 + 0xB8) & 0x2000) {
|
||||
func_80161C24(arg0, *(u16 *)(arg0 + 0x16E));
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x2000) {
|
||||
func_80161C24(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
|
||||
}
|
||||
((void (*)(s32))func_80172608)(arg0);
|
||||
((void (*)(s32))func_801483E8)(arg0);
|
||||
@@ -2298,7 +2298,7 @@ void func_8015AC48(s32 arg0)
|
||||
extern M2C_UNK D_80185560;
|
||||
func_80154150(arg0, 9);
|
||||
func_80146DB8((s32 *)arg0, &D_80185560);
|
||||
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
|
||||
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
|
||||
}
|
||||
|
||||
|
||||
@@ -2316,7 +2316,7 @@ void func_8015AC48(s32 arg0)
|
||||
void func_8015AD3C(void *a0) {
|
||||
|
||||
extern void (*D_80185724[])(void);
|
||||
D_80185724[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80185724[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2412,42 +2412,42 @@ s32 arg0;
|
||||
s32 t;
|
||||
|
||||
flag = 0;
|
||||
if ((func_80161A60(arg0) != 0) && (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) && (*(s32 *)(arg0 + 0x34) >= 0)) {
|
||||
if ((func_80161A60(arg0) != 0) && (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) && (((Unkstruct_80126B58 *)arg0)->unk34 >= 0)) {
|
||||
flag = 1;
|
||||
if (*(s32 *)(arg0 + 0x5C) == 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk5C == 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
*(s32 *)(arg0 + 0x5C) = 1;
|
||||
((Unkstruct_80126B58 *)arg0)->unk5C = 1;
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x5C) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk5C = 0;
|
||||
}
|
||||
((void (*)(s32))func_80149FB0)(arg0);
|
||||
if (*(s32 *)(arg0 + 0x1B0) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 == 0) {
|
||||
switch (((s32 (*)(s32))func_801619A4)(arg0)) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 6:
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&(*(s32 *)&D_800D4BE0)) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&(*(s32 *)&D_800D4BE0)) {
|
||||
if (func_80149C08(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_801577C8)(arg0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ((*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4E94) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4ED4) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4E94) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4ED4) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if (func_8015B6F4(arg0) == 0) {
|
||||
((void (*)(s32))func_8015B7B4)(arg0);
|
||||
}
|
||||
} else {
|
||||
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
|
||||
func_80154A74(arg0, 0x22);
|
||||
((void (*)(s32))func_8015B8F8)(arg0);
|
||||
*(u32 *)(arg0 + 0x44) &= ~2;
|
||||
((Unkstruct_80126B58 *)arg0)->unk44 &= ~2;
|
||||
if (flag != 0) {
|
||||
((void (*)(s32, s32, s32, s32))func_80146994)(0x3B, arg0, 0, 0);
|
||||
}
|
||||
@@ -2462,50 +2462,50 @@ s32 arg0;
|
||||
break;
|
||||
case 5:
|
||||
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
func_800CCCC0(arg0);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (*(u32 *)(arg0 + 0x44) & 2) {
|
||||
((void (*)(s32, s32))func_80155FF8)(arg0, *(u8 *)(arg0 + 0x1AA));
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk44 & 2) {
|
||||
((void (*)(s32, s32))func_80155FF8)(arg0, ((Unkstruct_80126B58 *)arg0)->unk1AA);
|
||||
} else {
|
||||
if ((*(s32 *)(arg0 + 0x240) == 0) && (((s32 (*)(s32))func_8015B858)(arg0) != 0)) {
|
||||
*(s32 *)(arg0 + 0x240) += 1;
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unk240 == 0) && (((s32 (*)(s32))func_8015B858)(arg0) != 0)) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk240 += 1;
|
||||
}
|
||||
if ((*(s32 *)(arg0 + 0xB4) == (s32)&(*(s32 *)&D_800D4BE0)) && (*(u16 *)(arg0 + 0xB8) & 0x8000)) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&(*(s32 *)&D_800D4BE0)) && (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x8000)) {
|
||||
((void (*)(s32))func_8015B8F8)(arg0);
|
||||
} else if ((*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4A9C) ||
|
||||
(*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4B48)) {
|
||||
if (*(u16 *)(arg0 + 0xB8) & 0x8000) {
|
||||
if (*(s32 *)(arg0 + 0x34) >= 0) {
|
||||
*(u16 *)(arg0 + 0xB8) += 1;
|
||||
} else if ((((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4A9C) ||
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4B48)) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB8 & 0x8000) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unkB8 += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(u8 *)(arg0 + 0x1C6) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1C6 != 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) {
|
||||
func_80148038(arg0, 0xFFFE6000);
|
||||
} else {
|
||||
func_80148038(arg0, 0x1A000);
|
||||
}
|
||||
lim = 0x40000;
|
||||
if ((*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4E94) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&D_800D4ED4) &&
|
||||
(*(s32 *)(arg0 + 0xB4) != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4E94) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&D_800D4ED4) &&
|
||||
(((Unkstruct_80126B58 *)arg0)->unkB4 != (s32)&(*(s32 *)&D_800D4F8C))) {
|
||||
lim = 0xC0000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x34) < -lim) {
|
||||
*(s32 *)(arg0 + 0x34) = -lim;
|
||||
} else if (lim < *(s32 *)(arg0 + 0x34)) {
|
||||
*(s32 *)(arg0 + 0x34) = lim;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 < -lim) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk34 = -lim;
|
||||
} else if (lim < ((Unkstruct_80126B58 *)arg0)->unk34) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk34 = lim;
|
||||
}
|
||||
func_80147460(arg0);
|
||||
} else {
|
||||
if (*(s32 *)(arg0 + 0x34) < 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk34 < 0) {
|
||||
if (((s32 (*)(s32))func_801487F4)(arg0) & 0x40) {
|
||||
func_80147814(arg0, 0xFFFF0000);
|
||||
}
|
||||
@@ -2513,14 +2513,14 @@ s32 arg0;
|
||||
}
|
||||
}
|
||||
if (func_800CF8B4() != 0) {
|
||||
*(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = ((*(u16 *)&D_801152A0) + func_801491C4(arg0)) & 0xFFF;
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = ((*(u16 *)&D_801152A0) + func_801491C4(arg0)) & 0xFFF;
|
||||
}
|
||||
if (flag == 0) {
|
||||
if ((u8)((s32 (*)(s32))func_80148AFC)(arg0)) {
|
||||
(*(u16 *)&D_801152A0) = func_80149184(arg0);
|
||||
((void (*)(s32, s32))func_80146E90)(arg0, 4);
|
||||
if (*(s32 *)(arg0 + 0x2C) > -0x80000) {
|
||||
*(s32 *)(arg0 + 0x2C) = -0x80000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk2C > -0x80000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk2C = -0x80000;
|
||||
func_80147A30(arg0, -0x10000, 0xBA000);
|
||||
} else {
|
||||
func_80147A30(arg0, -0x1000, 0xBA000);
|
||||
@@ -2532,7 +2532,7 @@ s32 arg0;
|
||||
}
|
||||
func_80147A84(arg0);
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
if (*(u8 *)(arg0 + 0x1C6) == 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1C6 == 0) {
|
||||
func_80148038(arg0, 0x1A000);
|
||||
func_80147460(arg0);
|
||||
}
|
||||
@@ -2542,79 +2542,79 @@ s32 arg0;
|
||||
(*(u16 *)&D_801152A0) = func_80149184(arg0);
|
||||
func_80146D90(arg0);
|
||||
func_80147AD4(arg0, 0, 0, 0xFFFF4000);
|
||||
*(s32 *)(arg0 + 0x50) += *(s32 *)(arg0 + 0x10);
|
||||
*(s32 *)(arg0 + 0x54) += *(s32 *)(arg0 + 0x14);
|
||||
*(s32 *)(arg0 + 0x58) += *(s32 *)(arg0 + 0x18);
|
||||
if (*(s32 *)(arg0 + 0x50) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x50) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x50) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x50) = -0xBA000;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 += ((Unkstruct_80126B58 *)arg0)->unk10;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 += ((Unkstruct_80126B58 *)arg0)->unk14;
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 += ((Unkstruct_80126B58 *)arg0)->unk18;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk50 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = -0xBA000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x54) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x54) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x54) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x54) = -0xBA000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk54 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = -0xBA000;
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x58) > 0xBA000) {
|
||||
*(s32 *)(arg0 + 0x58) = 0xBA000;
|
||||
} else if (*(s32 *)(arg0 + 0x58) < -0xBA000) {
|
||||
*(s32 *)(arg0 + 0x58) = -0xBA000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 > 0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0xBA000;
|
||||
} else if (((Unkstruct_80126B58 *)arg0)->unk58 < -0xBA000) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = -0xBA000;
|
||||
}
|
||||
*(s32 *)(arg0 + 0x10) = *(s32 *)(arg0 + 0x50);
|
||||
*(s32 *)(arg0 + 0x14) = *(s32 *)(arg0 + 0x54);
|
||||
*(s32 *)(arg0 + 0x18) = *(s32 *)(arg0 + 0x58);
|
||||
((Unkstruct_80126B58 *)arg0)->unk10 = ((Unkstruct_80126B58 *)arg0)->unk50;
|
||||
((Unkstruct_80126B58 *)arg0)->unk14 = ((Unkstruct_80126B58 *)arg0)->unk54;
|
||||
((Unkstruct_80126B58 *)arg0)->unk18 = ((Unkstruct_80126B58 *)arg0)->unk58;
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
} else {
|
||||
doit = 0;
|
||||
if (*(s32 *)(arg0 + 0x50) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x50) >= 0) {
|
||||
*(s32 *)(arg0 + 0x50) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x50) < 0) {
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x50) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x50) >= 0) {
|
||||
*(s32 *)(arg0 + 0x50) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk50 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk50 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x54) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x54) >= 0) {
|
||||
*(s32 *)(arg0 + 0x54) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x54) < 0) {
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x54) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x54) >= 0) {
|
||||
*(s32 *)(arg0 + 0x54) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk54 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk54 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x58) != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 != 0) {
|
||||
doit = 1;
|
||||
if (*(s32 *)(arg0 + 0x58) >= 0) {
|
||||
*(s32 *)(arg0 + 0x58) -= 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x58) < 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 -= 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 < 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
}
|
||||
} else {
|
||||
*(s32 *)(arg0 + 0x58) += 0x8000;
|
||||
if (*(s32 *)(arg0 + 0x58) >= 0) {
|
||||
*(s32 *)(arg0 + 0x58) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 += 0x8000;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk58 >= 0) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk58 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (doit != 0) {
|
||||
*(s32 *)(arg0 + 0x10) = *(s32 *)(arg0 + 0x50);
|
||||
*(s32 *)(arg0 + 0x14) = *(s32 *)(arg0 + 0x54);
|
||||
*(s32 *)(arg0 + 0x18) = *(s32 *)(arg0 + 0x58);
|
||||
((Unkstruct_80126B58 *)arg0)->unk10 = ((Unkstruct_80126B58 *)arg0)->unk50;
|
||||
((Unkstruct_80126B58 *)arg0)->unk14 = ((Unkstruct_80126B58 *)arg0)->unk54;
|
||||
((Unkstruct_80126B58 *)arg0)->unk18 = ((Unkstruct_80126B58 *)arg0)->unk58;
|
||||
((void (*)(s32))func_801473EC)(arg0);
|
||||
}
|
||||
if (!(*(u32 *)(arg0 + 0x44) & 2)) {
|
||||
if (!(((Unkstruct_80126B58 *)arg0)->unk44 & 2)) {
|
||||
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xF, 0x12);
|
||||
}
|
||||
}
|
||||
@@ -2622,22 +2622,22 @@ s32 arg0;
|
||||
if (t != 0) {
|
||||
func_800CCB78(t);
|
||||
}
|
||||
if ((*(u16 *)(arg0 + 0x1C8) & 0x1F) == 0) {
|
||||
if ((((Unkstruct_80126B58 *)arg0)->unk1C8 & 0x1F) == 0) {
|
||||
((void (*)(s32, s32, s32, s32))func_80146994)(0x3C, arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
if (*(s32 *)(arg0 + 0x1B0) != 0) {
|
||||
if (*(s32 *)(arg0 + 0x1B0) == 1) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 != 0) {
|
||||
if (((Unkstruct_80126B58 *)arg0)->unk1B0 == 1) {
|
||||
func_80154A74(arg0, 0x22);
|
||||
func_80154150(arg0, 0xF);
|
||||
} else {
|
||||
((void (*)(s32, s32))func_80154274)(arg0, *(s32 *)(arg0 + 0x1B4));
|
||||
((void (*)(s32, s32))func_80154274)(arg0, ((Unkstruct_80126B58 *)arg0)->unk1B4);
|
||||
}
|
||||
}
|
||||
r = ((s32 (*)(s32))func_80161488)(arg0);
|
||||
if (r & 5) {
|
||||
*(u32 *)(arg0 + 0x44) &= ~2;
|
||||
if (*(s32 *)(arg0 + 0xB4) == (s32)&D_800D4A9C) {
|
||||
((Unkstruct_80126B58 *)arg0)->unk44 &= ~2;
|
||||
if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D4A9C) {
|
||||
func_80154150(arg0, 0xE);
|
||||
} else {
|
||||
func_80154150(arg0, 0x10);
|
||||
@@ -2646,10 +2646,10 @@ s32 arg0;
|
||||
}
|
||||
if (r == 0) {
|
||||
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015CC40)(arg0);
|
||||
} else if ((((s32 (*)(s32))func_8014A69C)(arg0) != 0) && (((s32 (*)(s32))func_8014E6A0)(arg0) != 0)) {
|
||||
D_801855CC[*(u16 *)arg0]((void *)arg0);
|
||||
D_801855CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
|
||||
((void (*)(s32))func_8015CF8C)(arg0);
|
||||
} else {
|
||||
((void (*)(s32))func_801725A4)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_8017FA40[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_8017FA40[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_8017FAE4[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_8017FAE4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_8017FAE4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -1171,8 +1171,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1284,7 +1284,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1489,9 +1489,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_801804E4[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_801804E4[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1506,13 +1506,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1523,7 +1523,7 @@ mask:
|
||||
extern void (*D_80180588[])(void);
|
||||
|
||||
void func_80159B70(void *a0) {
|
||||
D_80180588[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80180588[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1558,8 +1558,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2617,34 +2617,34 @@ void func_8017AE2C(s32 param_1) {
|
||||
case 1:
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] <= 0) {
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2];
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2];
|
||||
goto reset_both;
|
||||
}
|
||||
{
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
return;
|
||||
case 2:
|
||||
func_8012B178(pv, (s32)g[4] << 8);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
break;
|
||||
case 3:
|
||||
if (g[1] != 0) {
|
||||
if (g[5] != 0) {
|
||||
void *p = (void *)(pv + 4);
|
||||
if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12),
|
||||
if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12),
|
||||
(s16)func_8012B744(p, &g[6])) < 0x100) {
|
||||
g[1] = 0;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744(p, &D_801A3D3C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* &D_801A3D30+0xC == &D_801A3D3C; distinct rtx defeats gcc's address-CSE
|
||||
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
|
||||
@@ -2655,9 +2655,9 @@ void func_8017AE2C(s32 param_1) {
|
||||
}
|
||||
{
|
||||
s32 t = func_8012B744((void *)(pv + 4), &g[6]);
|
||||
s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]);
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
*(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r;
|
||||
s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]);
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r;
|
||||
}
|
||||
g[1] = (u16)g[1] - 1;
|
||||
if (g[1] > 0) {
|
||||
@@ -2666,11 +2666,11 @@ void func_8017AE2C(s32 param_1) {
|
||||
g[1] = 0;
|
||||
return;
|
||||
}
|
||||
*(s16 *)(*(s32 *)(pv + 0x20) + 0x12) =
|
||||
((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 =
|
||||
func_8012B744((void *)(pv + 4), &D_801A3D3C);
|
||||
func_8012B178(pv, 0xFFFA0000);
|
||||
func_8012AD80(pv);
|
||||
*(u16 *)(pv + 0xA) -= 8;
|
||||
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
|
||||
func_8012B030((u8 *)pv);
|
||||
/* see note above: distinct rtx for the same address defeats address-CSE. */
|
||||
if (func_8012BE98(pv, (u16 *)((s32)&D_801A3D30 + 0xC)) < 0x101) {
|
||||
@@ -3962,7 +3962,7 @@ void func_8017DA7C(s32 *arg0) {
|
||||
extern void (*D_801819E4[])(void);
|
||||
|
||||
void func_8017DACC(void *a0) {
|
||||
D_801819E4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801819E4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -4008,13 +4008,13 @@ void func_8017DBCC(s32 param_1) {
|
||||
s32 v0;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C194)();
|
||||
*(s32 *)(param_1 + 0x20) = v0;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
|
||||
if (v0 != 0) {
|
||||
func_8001CB6C((u8 *)v0, (s32)D_801819F4, 0x1E8, 0x190);
|
||||
*(u8 *)(v0 + 0x27) = 0x3C;
|
||||
*(short *)(v0 + 0x1A) = 0x2000;
|
||||
*(short *)(v0 + 0x18) = 0x2000;
|
||||
*(short *)(param_1 + 0xFC) = 0;
|
||||
((Unkstruct_800B5CB8 *)v0)->unk27 = 0x3C;
|
||||
((Unkstruct_800B5CB8 *)v0)->unk1A = 0x2000;
|
||||
((Unkstruct_800B5CB8 *)v0)->unk18 = 0x2000;
|
||||
((Unkstruct_800B5CB8 *)param_1)->unkFC = 0;
|
||||
func_8012AD50((void *)param_1);
|
||||
}
|
||||
}
|
||||
@@ -4041,7 +4041,7 @@ void func_8017DC40(s32 param_1)
|
||||
extern void (*D_80181A78[])(void);
|
||||
|
||||
void func_8017DCA8(void *a0) {
|
||||
D_80181A78[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80181A78[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1448,8 +1448,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -1571,7 +1571,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -1790,9 +1790,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80184700[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80184700[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -1807,13 +1807,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -1827,7 +1827,7 @@ mask:
|
||||
void func_80159B70(void *a0) {
|
||||
|
||||
extern void (*D_801847A4[])(void);
|
||||
D_801847A4[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_801847A4[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -1864,8 +1864,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
@@ -2026,8 +2026,8 @@ void func_80158BB0(void *arg0) {
|
||||
func_80147324(0x456);
|
||||
func_80154274(arg0, &D_800D58D8);
|
||||
func_80154A74(arg0, 0x16);
|
||||
M2C_FIELD(arg0, s32 *, 0x234) = 0xE30000;
|
||||
M2C_FIELD(M2C_FIELD(arg0, void **, 0x20), s16 *, 0x10) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0xE30000;
|
||||
((Unkstruct_800B5CB8 *)M2C_FIELD(arg0, void **, 0x20))->unk10 = 0;
|
||||
func_801474EC(arg0);
|
||||
func_801474D8(arg0);
|
||||
func_801472C8(arg0);
|
||||
@@ -2149,7 +2149,7 @@ void func_8015934C(void *arg0) {
|
||||
D_800AE6BD += 1;
|
||||
}
|
||||
temp_v1 = M2C_FIELD(arg0, void **, 0x20);
|
||||
M2C_FIELD(temp_v1, u16 *, 0x12) = (u16) ((M2C_FIELD(temp_v1, u16 *, 0x12) + 0x16) & 0xFFF);
|
||||
((Unkstruct_800B5CB8 *)temp_v1)->unk12 = (u16) ((((Unkstruct_800B5CB8 *)temp_v1)->unk12 + 0x16) & 0xFFF);
|
||||
}
|
||||
|
||||
|
||||
@@ -2368,9 +2368,9 @@ void func_80159A20(unsigned char *param_1)
|
||||
func_80158638(param_1);
|
||||
((void (*)(u8 *))func_8015126C)(param_1);
|
||||
((void (*)(u8 *))func_8014900C)(param_1);
|
||||
D_80180DC0[*(u16 *)param_1 & 0x7fff](param_1);
|
||||
*(u32 *)(param_1 + 0x44) |= 0x8000000;
|
||||
switch (*(u16 *)param_1) {
|
||||
D_80180DC0[((Unkstruct_80126B58 *)param_1)->unk0 & 0x7fff](param_1);
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 |= 0x8000000;
|
||||
switch (((Unkstruct_80126B58 *)param_1)->unk0) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 0xb:
|
||||
@@ -2385,13 +2385,13 @@ void func_80159A20(unsigned char *param_1)
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (*(u16 *)(param_1 + 2) == 3) {
|
||||
if (((Unkstruct_80126B58 *)param_1)->unk2 == 3) {
|
||||
goto mask;
|
||||
}
|
||||
return;
|
||||
}
|
||||
mask:
|
||||
*(u32 *)(param_1 + 0x44) &= 0xf7ffffff;
|
||||
((Unkstruct_80126B58 *)param_1)->unk44 &= 0xf7ffffff;
|
||||
}
|
||||
|
||||
#include "../shared/ov/func_80159B08.h"
|
||||
@@ -2405,7 +2405,7 @@ mask:
|
||||
void func_80159B70(void *a0) {
|
||||
|
||||
extern void (*D_80180E64[])(void);
|
||||
D_80180E64[*(u16 *)((s32)a0 + 0x2)]();
|
||||
D_80180E64[((Unkstruct_80126B58 *)a0)->unk2]();
|
||||
}
|
||||
|
||||
|
||||
@@ -2442,8 +2442,8 @@ void func_80159BE4(s32 arg0)
|
||||
func_80154150(arg0, 4);
|
||||
func_80154A74(arg0, 0x11);
|
||||
}
|
||||
*(int *)(arg0 + 0x234) = 0;
|
||||
*(int *)(arg0 + 0x238) = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk234 = 0;
|
||||
((Unkstruct_80126B58 *)arg0)->unk238 = 0;
|
||||
func_801553C0(arg0);
|
||||
((void (*)(int))func_801553A8)(arg0);
|
||||
((void (*)(int))func_80172590)(arg0);
|
||||
|
||||
Reference in New Issue
Block a user