T3: batch t3_S41 — restruct: batch t3_S41 rung S — 50 files (TUs; 978 drawable) · 142 bodies: 1572 sites → members / 28 kept / 97 skipped · levers off 0 · compiles 143 in 21 s wall · final 50/50 identical · written 38 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 373091 cast sites in 52932 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:
Drew T
2026-10-01 22:59:13 -06:00
parent 4e4a0ee96f
commit d243154205
42 changed files with 2026 additions and 1755 deletions
+157 -157
View File
@@ -1,7 +1,7 @@
{
"head": "c1018046ce",
"head": "097bfa0768",
"stamp": "588cbf38c6e4",
"generated": "2026-10-01 22:36",
"generated": "2026-10-01 22:49",
"aliases": [
"main",
"md_SC07_004",
@@ -21,176 +21,176 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 7.598,
"mean_s": 0.089
"seconds": 8.717000000000002,
"mean_s": 0.103
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.553,
"mean_s": 0.553
"seconds": 0.651,
"mean_s": 0.651
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 5.5200000000000005,
"mean_s": 0.173
"seconds": 6.111000000000002,
"mean_s": 0.191
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.545999999999999,
"mean_s": 0.162
"seconds": 5.230000000000001,
"mean_s": 0.187
}
},
"per_object_seconds": {
"build/src/800.o": 0.775,
"build/src/800_b.o": 0.087,
"build/src/800_b_2.o": 0.328,
"build/src/800_b_o0a.o": 0.072,
"build/src/800_c.o": 0.197,
"build/src/800b2.o": 0.086,
"build/src/apicard1.o": 0.069,
"build/src/apicard2.o": 0.078,
"build/src/apicard3.o": 0.074,
"build/src/apicard4.o": 0.089,
"build/src/apicard5.o": 0.097,
"build/src/apicard6.o": 0.07,
"build/src/apicard7.o": 0.092,
"build/src/boot.o": 0.106,
"build/src/gap.o": 0.084,
"build/src/libapi1.o": 0.083,
"build/src/libapi2.o": 0.064,
"build/src/libc2_1.o": 0.072,
"build/src/libc2_2.o": 0.066,
"build/src/libcd1.o": 0.076,
"build/src/libcd2.o": 0.063,
"build/src/libetc.o": 0.069,
"build/src/libgpu.o": 0.067,
"build/src/libgpu2.o": 0.076,
"build/src/libgs1.o": 0.066,
"build/src/libgs2.o": 0.072,
"build/src/libgs3.o": 0.067,
"build/src/libgs4.o": 0.073,
"build/src/libgs5.o": 0.064,
"build/src/libgs6.o": 0.087,
"build/src/libgs7.o": 0.07,
"build/src/libgs8.o": 0.066,
"build/src/libgte1.o": 0.071,
"build/src/libgte10.o": 0.062,
"build/src/libgte11.o": 0.069,
"build/src/libgte12.o": 0.068,
"build/src/libgte13.o": 0.077,
"build/src/libgte14.o": 0.077,
"build/src/libgte15.o": 0.07,
"build/src/libgte16.o": 0.069,
"build/src/libgte17.o": 0.069,
"build/src/libgte18.o": 0.069,
"build/src/libgte19.o": 0.067,
"build/src/libgte2.o": 0.07,
"build/src/libgte20.o": 0.067,
"build/src/libgte21.o": 0.074,
"build/src/libgte22.o": 0.071,
"build/src/libgte23.o": 0.071,
"build/src/libgte24.o": 0.07,
"build/src/libgte25.o": 0.074,
"build/src/libgte26.o": 0.066,
"build/src/libgte27.o": 0.068,
"build/src/libgte28.o": 0.069,
"build/src/libgte29.o": 0.067,
"build/src/libgte3.o": 0.074,
"build/src/libgte30.o": 0.088,
"build/src/libgte4.o": 0.071,
"build/src/libgte5.o": 0.066,
"build/src/libgte6.o": 0.079,
"build/src/libgte7.o": 0.072,
"build/src/libgte8.o": 0.075,
"build/src/libgte9.o": 0.075,
"build/src/libmcrd1.o": 0.091,
"build/src/libmcrd2.o": 0.08,
"build/src/libpad1.o": 0.082,
"build/src/libpad2.o": 0.091,
"build/src/sgap.o": 0.098,
"build/src/sgap_2.o": 0.084,
"build/src/sgap_3.o": 0.083,
"build/src/sgap_4.o": 0.086,
"build/src/sgap_5.o": 0.08,
"build/src/sgap_6.o": 0.089,
"build/src/sgap_8.o": 0.088,
"build/src/snd1.o": 0.089,
"build/src/snd10.o": 0.084,
"build/src/snd11.o": 0.081,
"build/src/snd12.o": 0.082,
"build/src/snd2.o": 0.085,
"build/src/snd3.o": 0.085,
"build/src/snd4.o": 0.09,
"build/src/snd5.o": 0.074,
"build/src/snd6.o": 0.093,
"build/src/snd7.o": 0.079,
"build/src/snd8.o": 0.074,
"build/src/snd9.o": 0.09,
"build/src/md_SC07_004/md_SC07_004.o": 0.553,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.143,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.56,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.427,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.08,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.155,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.182,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.134,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.111,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.093,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.211,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.107,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.197,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.127,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.106,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.095,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.114,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.498,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.293,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.127,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.234,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.08,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.203,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.237,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.298,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.071,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.084,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.103,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.152,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.458,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.374,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.08,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.07,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.149,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.161,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.132,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.092,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.085,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.214,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.098,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.195,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.111,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.078,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.09,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.108,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.365,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.225,
"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.191,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.115,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.122,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.456,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.071,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.074
"build/src/800.o": 0.894,
"build/src/800_b.o": 0.106,
"build/src/800_b_2.o": 0.361,
"build/src/800_b_o0a.o": 0.094,
"build/src/800_c.o": 0.265,
"build/src/800b2.o": 0.094,
"build/src/apicard1.o": 0.083,
"build/src/apicard2.o": 0.095,
"build/src/apicard3.o": 0.088,
"build/src/apicard4.o": 0.098,
"build/src/apicard5.o": 0.117,
"build/src/apicard6.o": 0.102,
"build/src/apicard7.o": 0.093,
"build/src/boot.o": 0.128,
"build/src/gap.o": 0.116,
"build/src/libapi1.o": 0.087,
"build/src/libapi2.o": 0.076,
"build/src/libc2_1.o": 0.093,
"build/src/libc2_2.o": 0.074,
"build/src/libcd1.o": 0.093,
"build/src/libcd2.o": 0.076,
"build/src/libetc.o": 0.075,
"build/src/libgpu.o": 0.089,
"build/src/libgpu2.o": 0.098,
"build/src/libgs1.o": 0.093,
"build/src/libgs2.o": 0.085,
"build/src/libgs3.o": 0.073,
"build/src/libgs4.o": 0.077,
"build/src/libgs5.o": 0.068,
"build/src/libgs6.o": 0.099,
"build/src/libgs7.o": 0.082,
"build/src/libgs8.o": 0.079,
"build/src/libgte1.o": 0.078,
"build/src/libgte10.o": 0.084,
"build/src/libgte11.o": 0.103,
"build/src/libgte12.o": 0.079,
"build/src/libgte13.o": 0.081,
"build/src/libgte14.o": 0.09,
"build/src/libgte15.o": 0.087,
"build/src/libgte16.o": 0.079,
"build/src/libgte17.o": 0.078,
"build/src/libgte18.o": 0.086,
"build/src/libgte19.o": 0.083,
"build/src/libgte2.o": 0.079,
"build/src/libgte20.o": 0.078,
"build/src/libgte21.o": 0.088,
"build/src/libgte22.o": 0.096,
"build/src/libgte23.o": 0.08,
"build/src/libgte24.o": 0.095,
"build/src/libgte25.o": 0.102,
"build/src/libgte26.o": 0.078,
"build/src/libgte27.o": 0.083,
"build/src/libgte28.o": 0.102,
"build/src/libgte29.o": 0.088,
"build/src/libgte3.o": 0.087,
"build/src/libgte30.o": 0.092,
"build/src/libgte4.o": 0.079,
"build/src/libgte5.o": 0.071,
"build/src/libgte6.o": 0.077,
"build/src/libgte7.o": 0.083,
"build/src/libgte8.o": 0.098,
"build/src/libgte9.o": 0.086,
"build/src/libmcrd1.o": 0.106,
"build/src/libmcrd2.o": 0.078,
"build/src/libpad1.o": 0.086,
"build/src/libpad2.o": 0.075,
"build/src/sgap.o": 0.091,
"build/src/sgap_2.o": 0.08,
"build/src/sgap_3.o": 0.095,
"build/src/sgap_4.o": 0.087,
"build/src/sgap_5.o": 0.092,
"build/src/sgap_6.o": 0.09,
"build/src/sgap_8.o": 0.091,
"build/src/snd1.o": 0.088,
"build/src/snd10.o": 0.077,
"build/src/snd11.o": 0.078,
"build/src/snd12.o": 0.076,
"build/src/snd2.o": 0.079,
"build/src/snd3.o": 0.082,
"build/src/snd4.o": 0.093,
"build/src/snd5.o": 0.083,
"build/src/snd6.o": 0.088,
"build/src/snd7.o": 0.08,
"build/src/snd8.o": 0.102,
"build/src/snd9.o": 0.099,
"build/src/md_SC07_004/md_SC07_004.o": 0.651,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.173,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.629,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.482,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.095,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.163,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.209,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.152,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.115,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.114,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.229,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.222,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.131,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.088,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.092,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.125,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.587,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.316,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.146,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.262,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.091,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.141,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.102,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.208,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.253,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.077,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.353,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.089,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.087,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.099,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.169,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.513,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.441,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.073,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.073,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.175,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.225,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.155,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.117,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.095,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.243,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.103,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.239,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.141,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.104,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.117,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.131,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.406,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.27,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.154,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.208,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.123,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.142,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.488,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.062,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.068
},
"ok": true,
"seconds": 2.2
"seconds": 2.4
}
File diff suppressed because one or more lines are too long
+380 -109
View File
@@ -1,9 +1,9 @@
{
"summary": {
"head": "c1018046ce",
"src_stamp": "5d4c882d8420769e",
"head": "097bfa0768",
"src_stamp": "7593fa3a25cde59b",
"tool_stamp": "e17c5fa676",
"when": "2026-10-02T04:46:32Z",
"when": "2026-10-02T04:56:33Z",
"files": 7306,
"tus": 4121,
"headers": 3181,
@@ -36,82 +36,77 @@
},
"casts": {
"by_form": {
"P": 290038,
"I": 55140,
"P": 288691,
"I": 54922,
"X": 13790,
"A": 18890,
"C": 139996,
"M": 15719,
"K": 18709
"C": 141534,
"M": 15688,
"K": 18733
},
"raw_counts": {
"P": 290038,
"I": 55140,
"P": 288691,
"I": 54922,
"X": 13790,
"A": 18890,
"C": 139996,
"M": 15719,
"K": 18709
"C": 141534,
"M": 15688,
"K": 18733
},
"coverage_ok": true,
"refused": 0,
"deref_total": 374687,
"deref_total": 373091,
"addr_form": 18890,
"typed_cast_member": 139996,
"bodies": 53000,
"typed_cast_member": 141534,
"bodies": 52932,
"by_bclass": {
"local": 127622,
"param": 183414,
"global": 8755,
"local": 127583,
"param": 181907,
"global": 8748,
"gaddr": 40113,
"nested": 11670,
"nested": 11627,
"ident": 161,
"other": 1614,
"addr-of": 1338
},
"by_width": {
"s2": 106111,
"s4": 102600,
"u2": 94067,
"u1": 36291,
"s2": 106083,
"s4": 101526,
"u2": 93677,
"u1": 36262,
"agg": 13415,
"p4": 11179,
"u4": 9114,
"p4": 11177,
"u4": 9041,
"s1": 1910
},
"readability_raw_regex": 292875,
"readability_raw_regex": 291528,
"abs_casts": 0,
"top_bases": [
[
"param",
"param_1",
59051
59000
],
[
"param",
"arg0",
51649
50462
],
[
"param",
"a0",
43957
43926
],
[
"local",
"p",
13451
13439
],
[
"local",
"cach",
8246
],
[
"param",
"p",
7168
],
[
"local",
"buf",
@@ -122,10 +117,15 @@
"s0",
7049
],
[
"param",
"p",
6930
],
[
"local",
"s1",
6579
6578
],
[
"local",
@@ -200,7 +200,7 @@
[
"local",
"obj",
2084
2080
],
[
"param",
@@ -245,7 +245,7 @@
[
"local",
"pv",
1646
1637
],
[
"local",
@@ -270,7 +270,7 @@
[
"local",
"s2",
1309
1308
],
[
"local",
@@ -284,17 +284,17 @@
]
],
"macros": {
"CAST_SIGN": 7663,
"CAST_WIDTH": 9049,
"CAST_SIGN": 7672,
"CAST_WIDTH": 9064,
"CAST_NONSTRUCT": 302,
"CAST_ALIAS": 1063,
"CAST_MISALIGNED": 620
},
"check_raw": {
"P": 290033,
"I": 55140,
"P": 288686,
"I": 54922,
"X": 13790,
"M": 15718
"M": 15687
},
"macro_sites": [
{
@@ -18744,6 +18744,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -18854,6 +18865,39 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3134,
"pos": 114758,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_801E3E18",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c",
"fn": "func_8017C048",
"line": 3385,
"pos": 116229,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "p",
"bclass": "local",
"off": 204
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.c",
"fn": "func_8017C048",
"line": 3388,
"pos": 116365,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "p",
"bclass": "local",
"off": 208
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_8017CF90.c",
"fn": "func_801814B4",
@@ -18942,6 +18986,94 @@
"bclass": "param",
"off": 224
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2872,
"pos": 104216,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "arg0",
"bclass": "param",
"off": 232
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2878,
"pos": 104378,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 224
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2887,
"pos": 104762,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "arg0",
"bclass": "param",
"off": 232
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2905,
"pos": 105348,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "s1",
"bclass": "local",
"off": 2
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2906,
"pos": 105394,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "arg0",
"bclass": "param",
"off": 232
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2913,
"pos": 105700,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "arg0",
"bclass": "param",
"off": 232
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2914,
"pos": 105765,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "s2",
"bclass": "local",
"off": 6
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181984.c",
"fn": "func_80181984",
"line": 2916,
"pos": 105861,
"name": "CAST_SIGN",
"cls": "SIGN",
"base": "arg0",
"bclass": "param",
"off": 232
},
{
"tu": "src/ov_SC02_005/ov_SC02_005_jr_80181D30.c",
"fn": "func_80181D30",
@@ -23056,6 +23188,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_011/ov_SC02_011_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_011/ov_SC02_011_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -23166,6 +23309,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_011/ov_SC02_011_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3132,
"pos": 114688,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_801EACF8",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c",
"fn": "func_8017BEF8",
@@ -26444,6 +26598,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_015/ov_SC02_015_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1697,
"pos": 68761,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_015/ov_SC02_015_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -26554,6 +26719,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_015/ov_SC02_015_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3130,
"pos": 114616,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_8018FE78",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.c",
"fn": "func_8017BEF8",
@@ -27137,6 +27313,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_016/ov_SC02_016_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_016/ov_SC02_016_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -27247,6 +27434,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_016/ov_SC02_016_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3132,
"pos": 114688,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_801B3A90",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_016/ov_SC02_016_jr_8017AE2C.c",
"fn": "func_8017BEF8",
@@ -28633,6 +28831,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_017/ov_SC02_017_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_017/ov_SC02_017_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -28743,6 +28952,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_017/ov_SC02_017_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3132,
"pos": 114688,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_801EF2B8",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_017/ov_SC02_017_jr_8017AE2C.c",
"fn": "func_8017BEF8",
@@ -31086,6 +31306,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_021/ov_SC02_021_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_021/ov_SC02_021_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -31196,6 +31427,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_021/ov_SC02_021_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3132,
"pos": 114688,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_80192828",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_021/ov_SC02_021_jr_8017C294.c",
"fn": "func_8017D81C",
@@ -31911,6 +32153,17 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_026/ov_SC02_026_jr_8015AE2C.c",
"fn": "func_8015B950",
"line": 1699,
"pos": 68833,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "arg0",
"bclass": "param",
"off": 36
},
{
"tu": "src/ov_SC02_026/ov_SC02_026_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -32021,6 +32274,17 @@
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_026/ov_SC02_026_jr_80178D40.c",
"fn": "func_80178D40",
"line": 3132,
"pos": 114688,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "D_801CFC68",
"bclass": "global",
"off": 4
},
{
"tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c",
"fn": "func_8017DD0C",
@@ -207145,66 +207409,88 @@
"cross_callees": 96
},
"struct_map": {
"types": 18771,
"explained_sites": 370756,
"deref_sites": 374687,
"explained_pct": 99.0,
"types": 18831,
"explained_sites": 369160,
"deref_sites": 373091,
"explained_pct": 98.9,
"unassigned_sites": 3931,
"conflicts": 856,
"suspect": 10,
"suspect": 11,
"evidence": {
"param": 39478,
"arg": 10978,
"assign": 19188,
"ret-of": 5696,
"arg&": 301,
"assign&": 1287,
"return": 1533,
"field": 7101,
"param": 39482,
"arg": 10951,
"assign": 19177,
"ret-of": 5697,
"return": 1532,
"assign&": 1267,
"arg&": 275,
"field": 7098,
"nested": 9
},
"vetoed": {
"arg-conduit": 136500,
"arg-conduit": 136621,
"arg&-conduit": 14638,
"assign&-multisource": 12224,
"assign-multisource": 33167,
"arg&-no-overlap": 3060,
"ret-of-multisource": 6608,
"arg-no-overlap": 29255,
"field-multisource": 5786,
"ret-of": 301,
"assign": 357,
"assign&": 319,
"arg": 168,
"return": 4,
"assign-multisource": 33195,
"ret-of-multisource": 6615,
"arg-no-overlap": 39517,
"arg&-no-overlap": 3406,
"field-multisource": 5765,
"ret-of": 302,
"assign": 364,
"assign&": 338,
"arg": 137,
"return": 6,
"field": 40
},
"singletons": 14793,
"multi_body": 3978,
"sites_in_multi_body": 314209,
"singletons": 14839,
"multi_body": 3992,
"sites_in_multi_body": 312579,
"top": [
{
"name": "Unkstruct_800D3888",
"sites": 56614,
"bodies": 8901,
"name": "Unkstruct_80126B58",
"sites": 29403,
"bodies": 4045,
"size_hint": 588,
"fields": 222,
"conflicts": 50,
"sign_mixed": 78,
"fields": 167,
"conflicts": 49,
"sign_mixed": 53,
"merges": {
"arg&": 280,
"param": 11376,
"arg": 8147,
"assign": 8662,
"ret-of": 2375,
"return": 708,
"assign&": 150,
"field": 1426
"assign&": 104,
"param": 2234,
"arg": 1162,
"assign": 43,
"field": 44
},
"globals_at": [
"D_80126B58"
],
"globals_ptr": [
"D_80126B58"
]
},
{
"name": "Unkstruct_800B5CB8",
"sites": 23752,
"bodies": 4617,
"size_hint": 268,
"fields": 129,
"conflicts": 50,
"sign_mixed": 58,
"merges": {
"arg&": 254,
"assign&": 18,
"assign": 8583,
"param": 9154,
"ret-of": 2376,
"arg": 6967,
"return": 706,
"field": 1235
},
"globals_at": [
"D_800B5CB8",
"D_800D3888",
"D_800DE5A0",
"D_801269F0"
"D_80181448"
],
"globals_ptr": [
"D_8006386C",
@@ -207397,7 +207683,7 @@
"sign_mixed": 3,
"merges": {
"field": 1,
"assign": 130
"assign": 132
},
"globals_at": [],
"globals_ptr": [
@@ -207539,21 +207825,6 @@
},
"globals_at": [],
"globals_ptr": []
},
{
"name": "Unkstruct_cd1bacd2",
"sites": 1764,
"bodies": 126,
"size_hint": 56,
"fields": 10,
"conflicts": 0,
"sign_mixed": 0,
"merges": {
"param": 2,
"assign": 2
},
"globals_at": [],
"globals_ptr": []
}
]
},
@@ -207587,8 +207858,8 @@
"block_frames": 629
},
"global_blocks": {
"n": 2126,
"members": 14264,
"n": 2124,
"members": 14253,
"top": [
{
"base": "0x800cf10c",
@@ -207766,9 +208037,9 @@
"path": ".run/P37/census/parked.tsv"
},
"timing": {
"walk_s": 57.9,
"decls_s": 223.1,
"total_s": 234.2
"walk_s": 43.1,
"decls_s": 207.6,
"total_s": 217.8
}
},
"dup_layout_classes": [
+12 -12
View File
@@ -1,16 +1,17 @@
type_census — 2026-10-02T04:46:32Z at c1018046ce (src stamp 5d4c882d8420769e, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 57.9 s, total 234.2 s
type_census — 2026-10-02T04:56:33Z at 097bfa0768 (src stamp 7593fa3a25cde59b, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 43.1 s, total 217.8 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 374687 = P 290038 + I 55140 + X 13790 + M 15719 (+ A address-of 18890; + C typed cast-member 139996) in 53000 bodies · coverage OK (raw {'P': 290038, 'I': 55140, 'X': 13790, 'A': 18890, 'C': 139996, 'M': 15719, 'K': 18709}) · refused 0 · absolute 0 · readability regex over raw text 292875
by base: param 183414 · local 127622 · gaddr 40113 · nested 11670 · global 8755 · other 1614 · addr-of 1338 · ident 161
by width: s2 106111 · s4 102600 · u2 94067 · u1 36291 · agg 13415 · p4 11179 · u4 9114 · s1 1910
top bases: param_1(param) 59051 · arg0(param) 51649 · a0(param) 43957 · p(local) 13451 · cach(local) 8246 · p(param) 7168 · buf(local) 7056 · s0(local) 7049 · s1(local) 6579 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4720 · iVar1(local) 3811 · cur(local) 3375 · e(local) 3234 · src(local) 2599
CAST SITES deref 373091 = P 288691 + I 54922 + X 13790 + M 15688 (+ A address-of 18890; + C typed cast-member 141534) in 52932 bodies · coverage OK (raw {'P': 288691, 'I': 54922, 'X': 13790, 'A': 18890, 'C': 141534, 'M': 15688, 'K': 18733}) · refused 0 · absolute 0 · readability regex over raw text 291528
by base: param 181907 · local 127583 · gaddr 40113 · nested 11627 · global 8748 · other 1614 · addr-of 1338 · ident 161
by width: s2 106083 · s4 101526 · u2 93677 · u1 36262 · agg 13415 · p4 11177 · u4 9041 · s1 1910
top bases: param_1(param) 59000 · arg0(param) 50462 · a0(param) 43926 · p(local) 13439 · cach(local) 8246 · buf(local) 7056 · s0(local) 7049 · p(param) 6930 · s1(local) 6578 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4720 · iVar1(local) 3811 · cur(local) 3375 · e(local) 3234 · src(local) 2599
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6427 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 18771 types explain 370756/374687 deref sites (99.0 %); unassigned 3931; 3978 types span ≥2 bodies (314209 sites), 14793 single-body; types with conflicts 856, suspect 10
merges by evidence {'param': 39478, 'arg': 10978, 'assign': 19188, 'ret-of': 5696, 'arg&': 301, 'assign&': 1287, 'return': 1533, 'field': 7101, 'nested': 9}; vetoed {'arg-conduit': 136500, 'arg&-conduit': 14638, 'assign&-multisource': 12224, 'assign-multisource': 33167, 'arg&-no-overlap': 3060, 'ret-of-multisource': 6608, 'arg-no-overlap': 29255, 'field-multisource': 5786, 'ret-of': 301, 'assign': 357, 'assign&': 319, 'arg': 168, 'return': 4, 'field': 40}
Unkstruct_800D3888 sites 56614 bodies 8901 fields 222 size≥0x24c width-conflicts 50 sign-mixed 78 merges {'param': 11376, 'assign': 8662, 'arg': 8147, 'ret-of': 2375} at D_800D3888,D_800DE5A0,D_801269F0 ptr D_8006386C,D_80074778,D_80074780
STRUCT MAP 18831 types explain 369160/373091 deref sites (98.9 %); unassigned 3931; 3992 types span ≥2 bodies (312579 sites), 14839 single-body; types with conflicts 856, suspect 11
merges by evidence {'param': 39482, 'arg': 10951, 'assign': 19177, 'ret-of': 5697, 'return': 1532, 'assign&': 1267, 'arg&': 275, 'field': 7098, 'nested': 9}; vetoed {'arg-conduit': 136621, 'arg&-conduit': 14638, 'assign&-multisource': 12224, 'assign-multisource': 33195, 'ret-of-multisource': 6615, 'arg-no-overlap': 39517, 'arg&-no-overlap': 3406, 'field-multisource': 5765, 'ret-of': 302, 'assign': 364, 'assign&': 338, 'arg': 137, 'return': 6, 'field': 40}
Unkstruct_80126B58 sites 29403 bodies 4045 fields 167 size≥0x24c width-conflicts 49 sign-mixed 53 merges {'param': 2234, 'arg': 1162, 'assign&': 104, 'field': 44} at D_80126B58 ptr D_80126B58
Unkstruct_800B5CB8 sites 23752 bodies 4617 fields 129 size≥0x10c width-conflicts 50 sign-mixed 58 merges {'param': 9154, 'assign': 8583, 'arg': 6967, 'ret-of': 2376} at D_800B5CB8,D_800D3888,D_80181448 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': 10, 'arg': 4}
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 +22,12 @@ STRUCT MAP 18771 types explain 370756/374687 deref sites (99.0 %); unassigned
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
Unkstruct_a2c8734a sites 2604 bodies 124 fields 8 size≥0x34 width-conflicts 0 sign-mixed 3 merges {'param': 2}
GLOBAL BLOCKS 2126 runs of ≥4 adjacent scalar D_ symbols (14264 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)
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)
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)
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) · 374687 cast sites in 53000 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: 18771 types over 18771 clusters explain 370756/374687 sites (99.0 %); 3931 unassigned sites; 856 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 373091 cast sites in 52932 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: 18831 types over 18831 clusters explain 369160/373091 sites (98.9 %); 3931 unassigned sites; 856 types with conflicts
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_80192F7C[*(u16 *)p](p);
D_80192F7C[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_801930CC[])(void);
void func_8015A264(void *a0) {
D_801930CC[*(u16 *)((s32)a0 + 0x2)]();
D_801930CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_80192F7C[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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)&D_80192F00);
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_80192F10);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_801930D4[])(void);
void func_8015AD3C(void *a0) {
D_801930D4[*(u16 *)((s32)a0 + 0x2)]();
D_801930D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((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_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_80192F7C[*(u16 *)arg0]((void *)arg0);
D_80192F7C[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_80192F10);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_801930FC[])(void);
void func_8015BFF4(void *a0) {
D_801930FC[*(u16 *)((s32)a0 + 0x2)]();
D_801930FC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3131,7 +3131,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_801E3E18 = *(s32 *)(D_801E3E18 + 4);
D_801E3E18 = CAST_WIDTH(s32, D_801E3E18, 4);
return;
case 0x37:
(*(s16*)&D_801E4C4C) = 3;
+30 -30
View File
@@ -2619,34 +2619,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_801E4BB4);
func_8012B178(pv, 0xFFFA0000);
func_8012AD80(pv);
*(u16 *)(pv + 0xA) -= 8;
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
func_8012B030((u8 *)pv);
/* &D_801E4BA8+0xC == &D_801E4BB4; distinct rtx defeats gcc's address-CSE
so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */
@@ -2657,9 +2657,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) {
@@ -2668,11 +2668,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_801E4BB4);
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_801E4BA8 + 0xC)) < 0x101) {
@@ -3339,9 +3339,9 @@ void func_8017BF9C(s32 a0, s32 a1) {
p = D_801202A0;
for (i = 0; i < 0x60; i++) {
if (*(u16 *)p == 0x6B) {
*(s32 *)(p + 0xD4) = a0;
*(s32 *)(p + 0xD8) = a1;
if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x6B) {
((Unkstruct_800B5CB8 *)p)->unkD4 = a0;
((Unkstruct_800B5CB8 *)p)->unkD8 = a1;
return;
}
p += 0x10C;
@@ -3358,10 +3358,10 @@ void func_8017BFF0(s32 a0, s32 a1, s32 a2) {
p = D_801202A0;
for (i = 0; i < 0x60; i++) {
if (*(u16 *)p == 0x6B) {
*(s16 *)(p + 0x70) = a2;
*(s32 *)(p + 0xD4) = a0;
*(s32 *)(p + 0xD8) = a1;
if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x6B) {
((Unkstruct_800B5CB8 *)p)->unk70 = a2;
((Unkstruct_800B5CB8 *)p)->unkD4 = a0;
((Unkstruct_800B5CB8 *)p)->unkD8 = a1;
return;
}
p += 0x10C;
@@ -3380,12 +3380,12 @@ void func_8017C048(void) {
p = D_801202A0;
for (i = 0; i < 0x60; i++) {
if (*(u16 *)p == 0x6B) {
if (*(s32 *)(p + 0xCC) != 0) {
func_80016714(*(void **)(p + 0xCC), 0x38);
if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x6B) {
if (((Unkstruct_800B5CB8 *)p)->unkCC != 0) {
func_80016714(CAST_SIGN(void *, p, 0xCC), 0x38);
}
if (*(s32 *)(p + 0xD0) != 0) {
func_80016714(*(void **)(p + 0xD0), 0x38);
if (((Unkstruct_800B5CB8 *)p)->unkD0 != 0) {
func_80016714(CAST_SIGN(void *, p, 0xD0), 0x38);
}
func_8012C218(p);
return;
@@ -3399,7 +3399,7 @@ void func_8017C048(void) {
extern void (*D_80194320[])(void);
void func_8017C0F4(void *a0) {
D_80194320[*(u16 *)((s32)a0 + 0x2)]();
D_80194320[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -3542,12 +3542,12 @@ void func_8017C130(void *a0) {
bank = D_801E42D0;
func_80024054(*(void **)((s32)a0 + 0xDC), bank);
func_8001CE28((void *)obj, bank);
*(s16 *)(obj + 0x8) = *(u16 *)((s32)a0 + 0x6) + 6;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)((s32)a0 + 0x6) + 6;
{
s32 y = *(u16 *)((s32)a0 + 0xA);
*(s16 *)(obj + 0x2C) = 3;
*(u8 *)(obj + 0x27) = 1;
*(s16 *)(obj + 0xA) = y + 9;
((Unkstruct_800B5CB8 *)obj)->unk2C = 3;
((Unkstruct_800B5CB8 *)obj)->unk27 = 1;
((Unkstruct_800B5CB8 *)obj)->unkA = y + 9;
}
*(s32 *)((s32)a0 + 0xD0) = obj;
}
+21 -21
View File
@@ -2868,64 +2868,64 @@ void func_80181984(s32 arg0) {
u16 chk;
s2 = (s32)&D_80126B58;
s1 = *(s32 *)(arg0 + 0xD0);
if (*(u32 *)(arg0 + 0xE8) & 0x60000) {
s1 = ((Unkstruct_800B5CB8 *)arg0)->unkD0;
if (CAST_SIGN(u32, arg0, 0xE8) & 0x60000) {
func_80182998();
return;
}
switch (*(u16 *)(arg0 + 0x34)) {
switch (((Unkstruct_800B5CB8 *)arg0)->unk34) {
case 0:
if (*(s16 *)(arg0 + 0xE0) >= 0) {
if (CAST_WIDTH(s16, arg0, 0xE0) >= 0) {
func_80185D84((void *)arg0);
}
if (*(s32 *)(arg0 + 0x94) == 4 && *(s16 *)(arg0 + 0x98) == 1) {
if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 4 && ((Unkstruct_800B5CB8 *)arg0)->unk98 == 1) {
func_8002D4C8(0x4F8, 0);
}
if (func_8012BEE8(arg0) != 0) {
(*(u16 *)(arg0 + 0x34))++;
(((Unkstruct_800B5CB8 *)arg0)->unk34)++;
func_80186304((u8 *)arg0, 8, 2);
*(u32 *)(arg0 + 0xE8) &= ~1;
CAST_SIGN(u32, arg0, 0xE8) &= ~1;
func_80186F58((void *)arg0);
}
break;
case 1:
if (*(s32 *)(arg0 + 0x94) == 3 && *(s16 *)(arg0 + 0x98) == 1) {
(*(u16 *)(arg0 + 0x34))++;
if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 3 && ((Unkstruct_800B5CB8 *)arg0)->unk98 == 1) {
(((Unkstruct_800B5CB8 *)arg0)->unk34)++;
func_801846CC((void *)s1);
}
break;
case 2:
if (*(s16 *)(arg0 + 0x98) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
func_80186F9C(arg0, 0x1C);
func_8002D4C8(0x4F0, 0);
(*(u16 *)(arg0 + 0x34))++;
(((Unkstruct_800B5CB8 *)arg0)->unk34)++;
}
/* fallthrough */
case 3:
if (*(u16 *)(s1 + 2) == 4) {
if (*(u32 *)(arg0 + 0xE8) & 0x2000) {
*(s32 *)(arg0 + 0x1C) = 0x20;
if (CAST_SIGN(u16, s1, 2) == 4) {
if (CAST_SIGN(u32, arg0, 0xE8) & 0x2000) {
((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x20;
} else {
*(s32 *)(arg0 + 0x1C) = 0x40;
((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40;
}
chk = D_801E4BBC;
*(u16 *)(arg0 + 0x34) = 4;
if (chk == 0 && (*(u32 *)(arg0 + 0xE8) & 0x80) == 0 &&
(u16)(*(u16 *)(s2 + 6) + 0xBF) < 0x8F) {
((Unkstruct_800B5CB8 *)arg0)->unk34 = 4;
if (chk == 0 && (CAST_SIGN(u32, arg0, 0xE8) & 0x80) == 0 &&
(u16)(CAST_SIGN(u16, s2, 6) + 0xBF) < 0x8F) {
func_8012C588(0x5E, 0);
*(u32 *)(arg0 + 0xE8) |= 0x80;
CAST_SIGN(u32, arg0, 0xE8) |= 0x80;
}
}
break;
case 4:
if (func_8012BEE8(arg0) != 0) {
(*(u16 *)(arg0 + 0x34))++;
(((Unkstruct_800B5CB8 *)arg0)->unk34)++;
func_80186304((u8 *)arg0, 9, 2);
func_80184A34(s1);
}
break;
case 5:
if (*(s16 *)(arg0 + 0x98) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) {
func_801838A8((u8 *)arg0);
}
break;
+11 -11
View File
@@ -1172,8 +1172,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);
@@ -1285,7 +1285,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);
}
@@ -1490,9 +1490,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_80193470[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_80193470[((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:
@@ -1507,13 +1507,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"
@@ -1524,7 +1524,7 @@ mask:
extern void (*D_80193514[])(void);
void func_80159B70(void *a0) {
D_80193514[*(u16 *)((s32)a0 + 0x2)]();
D_80193514[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1559,8 +1559,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);
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_801933CC[*(u16 *)p](p);
D_801933CC[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_8019351C[])(void);
void func_8015A264(void *a0) {
D_8019351C[*(u16 *)((s32)a0 + 0x2)]();
D_8019351C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_801933CC[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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_80193350));
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_80193360);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_80193524[])(void);
void func_8015AD3C(void *a0) {
D_80193524[*(u16 *)((s32)a0 + 0x2)]();
D_80193524[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((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_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_801933CC[*(u16 *)arg0]((void *)arg0);
D_801933CC[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_80193360);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_8019354C[])(void);
void func_8015BFF4(void *a0) {
D_8019354C[*(u16 *)((s32)a0 + 0x2)]();
D_8019354C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3129,7 +3129,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_801EACF8 = *(s32 *)(D_801EACF8 + 4);
D_801EACF8 = CAST_WIDTH(s32, D_801EACF8, 4);
return;
case 0x37:
(*(s16*)&D_801EBA7C) = 3;
+11 -11
View File
@@ -1170,8 +1170,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);
@@ -1283,7 +1283,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);
}
@@ -1488,9 +1488,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_80180984[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_80180984[((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:
@@ -1505,13 +1505,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"
@@ -1522,7 +1522,7 @@ mask:
extern void (*D_80180A28[])(void);
void func_80159B70(void *a0) {
D_80180A28[*(u16 *)((s32)a0 + 0x2)]();
D_80180A28[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1557,8 +1557,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);
+33 -33
View File
@@ -1209,7 +1209,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1225,7 +1225,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1236,12 +1236,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1258,7 +1258,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1266,26 +1266,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_801808E0[*(u16 *)p](p);
D_801808E0[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1296,17 +1296,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1314,20 +1314,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1335,7 +1335,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1352,7 +1352,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1376,7 +1376,7 @@ after_b4c:
extern void (*D_80180A30[])(void);
void func_8015A264(void *a0) {
D_80180A30[*(u16 *)((s32)a0 + 0x2)]();
D_80180A30[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1404,7 +1404,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1417,12 +1417,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1236,7 +1236,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1247,9 +1247,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_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1263,12 +1263,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1281,7 +1281,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1289,18 +1289,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_801808E0[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1311,41 +1311,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)&D_80180864);
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) {
@@ -1357,29 +1357,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) {
@@ -1393,11 +1393,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_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1405,18 +1405,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);
@@ -1440,7 +1440,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_80180874);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1454,7 +1454,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_80180A38[])(void);
void func_8015AD3C(void *a0) {
D_80180A38[*(u16 *)((s32)a0 + 0x2)]();
D_80180A38[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1252,42 +1252,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_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((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);
}
@@ -1302,50 +1302,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((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);
}
@@ -1353,14 +1353,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);
@@ -1372,7 +1372,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);
}
@@ -1382,79 +1382,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);
}
}
@@ -1462,22 +1462,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);
@@ -1486,10 +1486,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((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_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1654,12 +1654,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1672,61 +1672,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1746,12 +1746,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_801808E0[*(u16 *)arg0]((void *)arg0);
D_801808E0[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_80180874);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1794,7 +1794,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_80180A60[])(void);
void func_8015BFF4(void *a0) {
D_80180A60[*(u16 *)((s32)a0 + 0x2)]();
D_80180A60[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3127,7 +3127,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_8018FE78 = *(s32 *)(D_8018FE78 + 4);
D_8018FE78 = CAST_WIDTH(s32, D_8018FE78, 4);
return;
case 0x37:
(*(s16*)&D_8019069C) = 3;
+11 -11
View File
@@ -1172,8 +1172,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);
@@ -1285,7 +1285,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);
}
@@ -1490,9 +1490,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_80186BBC[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_80186BBC[((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:
@@ -1507,13 +1507,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"
@@ -1524,7 +1524,7 @@ mask:
extern void (*D_80186C60[])(void);
void func_80159B70(void *a0) {
D_80186C60[*(u16 *)((s32)a0 + 0x2)]();
D_80186C60[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1559,8 +1559,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);
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_80186B18[*(u16 *)p](p);
D_80186B18[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_80186C68[])(void);
void func_8015A264(void *a0) {
D_80186C68[*(u16 *)((s32)a0 + 0x2)]();
D_80186C68[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_80186B18[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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_80186A9C));
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_80186AAC);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_80186C70[])(void);
void func_8015AD3C(void *a0) {
D_80186C70[*(u16 *)((s32)a0 + 0x2)]();
D_80186C70[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((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_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_80186B18[*(u16 *)arg0]((void *)arg0);
D_80186B18[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_80186AAC);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_80186C98[])(void);
void func_8015BFF4(void *a0) {
D_80186C98[*(u16 *)((s32)a0 + 0x2)]();
D_80186C98[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3129,7 +3129,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_801B3A90 = *(s32 *)(D_801B3A90 + 4);
D_801B3A90 = CAST_WIDTH(s32, D_801B3A90, 4);
return;
case 0x37:
(*(s16*)&D_801B4AD4) = 3;
+11 -11
View File
@@ -1172,8 +1172,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);
@@ -1285,7 +1285,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);
}
@@ -1490,9 +1490,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_8018CC14[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_8018CC14[((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:
@@ -1507,13 +1507,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"
@@ -1524,7 +1524,7 @@ mask:
extern void (*D_8018CCB8[])(void);
void func_80159B70(void *a0) {
D_8018CCB8[*(u16 *)((s32)a0 + 0x2)]();
D_8018CCB8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1559,8 +1559,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);
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_8018CB70[*(u16 *)p](p);
D_8018CB70[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_8018CCC0[])(void);
void func_8015A264(void *a0) {
D_8018CCC0[*(u16 *)((s32)a0 + 0x2)]();
D_8018CCC0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_8018CB70[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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_8018CAF4));
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_8018CB04);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_8018CCC8[])(void);
void func_8015AD3C(void *a0) {
D_8018CCC8[*(u16 *)((s32)a0 + 0x2)]();
D_8018CCC8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((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_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_8018CB70[*(u16 *)arg0]((void *)arg0);
D_8018CB70[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_8018CB04);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_8018CCF0[])(void);
void func_8015BFF4(void *a0) {
D_8018CCF0[*(u16 *)((s32)a0 + 0x2)]();
D_8018CCF0[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3129,7 +3129,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_801EF2B8 = *(s32 *)(D_801EF2B8 + 4);
D_801EF2B8 = CAST_WIDTH(s32, D_801EF2B8, 4);
return;
case 0x37:
(*(s16*)&D_801EFD34) = 3;
+11 -11
View File
@@ -1172,8 +1172,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);
@@ -1285,7 +1285,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);
}
@@ -1490,9 +1490,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_80182208[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_80182208[((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:
@@ -1507,13 +1507,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"
@@ -1524,7 +1524,7 @@ mask:
extern void (*D_801822AC[])(void);
void func_80159B70(void *a0) {
D_801822AC[*(u16 *)((s32)a0 + 0x2)]();
D_801822AC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1559,8 +1559,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);
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_80182164[*(u16 *)p](p);
D_80182164[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_801822B4[])(void);
void func_8015A264(void *a0) {
D_801822B4[*(u16 *)((s32)a0 + 0x2)]();
D_801822B4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_80182164[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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_801820E8));
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_801820F8);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_801822BC[])(void);
void func_8015AD3C(void *a0) {
D_801822BC[*(u16 *)((s32)a0 + 0x2)]();
D_801822BC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((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_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_80182164[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_80182164[*(u16 *)arg0]((void *)arg0);
D_80182164[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_801820F8);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_801822E4[])(void);
void func_8015BFF4(void *a0) {
D_801822E4[*(u16 *)((s32)a0 + 0x2)]();
D_801822E4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3129,7 +3129,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_80192828 = *(s32 *)(D_80192828 + 4);
D_80192828 = CAST_WIDTH(s32, D_80192828, 4);
return;
case 0x37:
(*(s16*)&D_8019389C) = 3;
+15 -15
View File
@@ -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_80193804);
func_8012B178(pv, 0xFFFA0000);
func_8012AD80(pv);
*(u16 *)(pv + 0xA) -= 8;
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
func_8012B030((u8 *)pv);
/* &D_801937F8+0xC == &D_80193804; 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_80193804);
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_801937F8 + 0xC)) < 0x101) {
@@ -3304,7 +3304,7 @@ void func_8017BE60(void *a0) {
extern void (*D_801834CC[])(void);
void func_8017BEBC(void *a0) {
D_801834CC[*(u16 *)((s32)a0 + 0x2)]();
D_801834CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -3378,7 +3378,7 @@ void func_8017BEF8(s32 param_1) {
extern void (*D_801834D4[])(void);
void func_8017C150(void *a0) {
D_801834D4[*(u16 *)((s32)a0 + 0x2)]();
D_801834D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+11 -11
View File
@@ -1172,8 +1172,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);
@@ -1285,7 +1285,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);
}
@@ -1490,9 +1490,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_8018885C[*(u16 *)param_1 & 0x7fff](param_1);
*(u32 *)(param_1 + 0x44) |= 0x8000000;
switch (*(u16 *)param_1) {
D_8018885C[((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:
@@ -1507,13 +1507,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"
@@ -1524,7 +1524,7 @@ mask:
extern void (*D_80188900[])(void);
void func_80159B70(void *a0) {
D_80188900[*(u16 *)((s32)a0 + 0x2)]();
D_80188900[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1559,8 +1559,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);
+33 -33
View File
@@ -1211,7 +1211,7 @@ void func_80159C84(u8 *p) {
s32 t;
if (((s32 (*)(void))func_80149D9C)() != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149FA8)(p);
return;
}
@@ -1227,7 +1227,7 @@ void func_80159C84(u8 *p) {
return;
}
if (func_801496D4(p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
((void (*)(u8 *))func_80149704)(p);
return;
}
@@ -1238,12 +1238,12 @@ void func_80159C84(u8 *p) {
case 2:
case 6:
if (func_80149AA8((s32 *)p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
func_80149AD4((s32 *)p);
return;
}
if (func_80149B54((s32 *)p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
if (func_8014A738(p) != 0) {
((void (*)(u8 *))func_8014A830)(p);
return;
@@ -1260,7 +1260,7 @@ void func_80159C84(u8 *p) {
break;
case 5:
if (func_80149A64((s32 *)p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
func_800CCCC0(p);
return;
}
@@ -1268,26 +1268,26 @@ void func_80159C84(u8 *p) {
}
if (func_80149CD4((s32)p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015E880((s32 *)p);
return;
}
if (func_801488A8(p) != 0) {
D_801887B8[*(u16 *)p](p);
D_801887B8[((Unkstruct_80126B58 *)p)->unk0](p);
func_8015A230((s32 *)p);
return;
}
if ((*(u32 *)(p + 0x44) & 0x200) == 0 && *(u16 *)(p + 0xD4) == 0x8000) {
if (*(s32 *)(p + 0x234) >= 3) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0 && ((Unkstruct_80126B58 *)p)->unkD4 == 0x8000) {
if (((Unkstruct_80126B58 *)p)->unk234 >= 3) {
t = (s32)&D_800D5F44;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F34);
goto after_b4c;
}
} else {
t = (s32)&D_800D5F14;
if (*(s32 *)(p + 0xD0) == t) {
if (((Unkstruct_80126B58 *)p)->unkD0 == t) {
func_80154B4C(p, (s32)&D_800D5F04);
goto after_b4c;
}
@@ -1298,17 +1298,17 @@ void func_80159C84(u8 *p) {
}
after_b4c:
if (*(u16 *)(p + 0xB8) & 0x8000) {
if ((*(u32 *)(p + 0x44) & 0x200) == 0) {
if (((Unkstruct_80126B58 *)p)->unkB8 & 0x8000) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 0x200) == 0) {
if (func_8016F1AC() != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
}
switch (*(s32 *)(p + 0x234)) {
switch (((Unkstruct_80126B58 *)p)->unk234) {
case 0:
if ((*(s32 *)(p + 0x238))++ >= 4) {
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 4) {
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 1);
break;
}
@@ -1316,20 +1316,20 @@ after_b4c:
func_80154190(p, 0);
break;
case 1:
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 0);
break;
case 2:
if ((*(s32 *)(p + 0x238))++ >= 2) {
if ((*(u32 *)(p + 0x44) & 4) != 0) {
*(s32 *)(p + 0x234) = 0;
*(s32 *)(p + 0x238) = 0;
if ((((Unkstruct_80126B58 *)p)->unk238)++ >= 2) {
if ((((Unkstruct_80126B58 *)p)->unk44 & 4) != 0) {
((Unkstruct_80126B58 *)p)->unk234 = 0;
((Unkstruct_80126B58 *)p)->unk238 = 0;
func_80154150((s32)p, 0);
break;
}
*(s32 *)(p + 0x238) = 0;
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk238 = 0;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80154150((s32)p, 2);
break;
}
@@ -1337,7 +1337,7 @@ after_b4c:
break;
case 3:
func_80147324(0x445);
*(s32 *)(p + 0x234) = *(s32 *)(p + 0x234) + 1;
((Unkstruct_80126B58 *)p)->unk234 = ((Unkstruct_80126B58 *)p)->unk234 + 1;
func_80155440((s32 *)p);
func_80154150((s32)p, 3);
func_80154A74((s32)p, 0x13);
@@ -1354,7 +1354,7 @@ after_b4c:
}
}
if (*(s32 *)(p + 0xB4) == (s32)&D_800D49F4) {
if (((Unkstruct_80126B58 *)p)->unkB4 == (s32)&D_800D49F4) {
func_80147A84((s32)p);
func_801473EC((s32 *)p);
if ((D_800B99DA & 3) == 0) {
@@ -1378,7 +1378,7 @@ after_b4c:
extern void (*D_80188908[])(void);
void func_8015A264(void *a0) {
D_80188908[*(u16 *)((s32)a0 + 0x2)]();
D_80188908[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1406,7 +1406,7 @@ void func_8015A2D8(s32 param_1)
if ((*(unsigned int *)(param_1 + 0x44) & 0x200) != 0) {
func_80154150(param_1, 10);
func_80154A74(param_1, 0x1c);
*(int *)(param_1 + 0x2c) = 0xfffc0000;
((Unkstruct_80126B58 *)param_1)->unk2C = 0xfffc0000;
goto LAB_8015a38c;
}
bVar1 = *(unsigned char *)(param_1 + 0xa9);
@@ -1419,12 +1419,12 @@ void func_8015A2D8(s32 param_1)
func_80154150(param_1, 6);
break;
default:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
goto LAB_8015a390;
}
func_80154A74(param_1, 0x21);
LAB_8015a38c:
*(int *)(param_1 + 0x23c) = 0;
((Unkstruct_80126B58 *)param_1)->unk23C = 0;
LAB_8015a390:
func_8014C010(param_1, 2);
((void (*)(int))func_801553A8)(param_1);
+45 -45
View File
@@ -1238,7 +1238,7 @@ s32 arg0;
}
if (func_80149D9C(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149FA8)(arg0);
return;
}
@@ -1249,9 +1249,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_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8014A218)(arg0);
return;
}
@@ -1265,12 +1265,12 @@ s32 arg0;
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1283,7 +1283,7 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
@@ -1291,18 +1291,18 @@ s32 arg0;
}
if (func_80149CD4(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) == 0) {
sv = *(s32 *)(arg0 + 0x2C);
D_801887B8[*(u16 *)arg0]((void *)arg0);
sv = ((Unkstruct_80126B58 *)arg0)->unk2C;
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_8014C010(arg0, 1);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
@@ -1313,41 +1313,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_8018873C));
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) {
@@ -1359,29 +1359,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) {
@@ -1395,11 +1395,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_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015C6E0)(arg0);
return;
}
@@ -1407,18 +1407,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);
@@ -1442,7 +1442,7 @@ void func_8015AC48(s32 arg0)
{
func_80154150(arg0, 9);
func_80146DB8((s32 *)arg0, &D_8018874C);
func_80161CD0(arg0, M2C_FIELD(arg0, u16 *, 0x16E));
func_80161CD0(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
}
@@ -1456,7 +1456,7 @@ void func_8015AC48(s32 arg0)
extern void (*D_80188910[])(void);
void func_8015AD3C(void *a0) {
D_80188910[*(u16 *)((s32)a0 + 0x2)]();
D_80188910[((Unkstruct_80126B58 *)a0)->unk2]();
}
+111 -111
View File
@@ -1254,42 +1254,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_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((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);
}
@@ -1304,50 +1304,50 @@ s32 arg0;
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((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);
}
@@ -1355,14 +1355,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);
@@ -1374,7 +1374,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);
}
@@ -1384,79 +1384,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);
}
}
@@ -1464,22 +1464,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);
@@ -1488,10 +1488,10 @@ s32 arg0;
}
if (r == 0) {
if ((((s32 (*)(s32))func_8014A674)(arg0) != 0) && (((s32 (*)(s32))func_8014E434)(arg0) != 0)) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((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_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015CF8C)(arg0);
} else {
((void (*)(s32))func_801725A4)(arg0);
@@ -1656,12 +1656,12 @@ s32 func_8015B950(s32 arg0)
case 2:
case 6:
if (((s32 (*)(s32))func_80149AA8)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149AD4)(arg0);
return;
}
if (((s32 (*)(s32))func_80149B54)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149BAC)(arg0);
return;
}
@@ -1674,61 +1674,61 @@ s32 func_8015B950(s32 arg0)
break;
case 5:
if (((s32 (*)(s32))func_80149A64)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
func_800CCCC0(arg0);
return;
}
break;
}
if (func_80149CD4(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_8015E880)(arg0);
return;
}
if (((s32 (*)(s32))func_80149744)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149788)(arg0);
return;
}
if (((s32 (*)(s32))func_801496D4)(arg0) != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32))func_80149704)(arg0);
if (((u8)((s32 (*)(s32))func_80148AFC)(arg0)) == 0) {
func_80146D90(arg0);
}
if ((*(s32 *)(arg0 + 0x24) | *(s32 *)(arg0 + 0x2C)) != 0) {
if ((CAST_WIDTH(s32, arg0, 0x24) | ((Unkstruct_80126B58 *)arg0)->unk2C) != 0) {
func_80154150(arg0, 0xF);
} else {
((void (*)(s32, s32, s32))func_801541D8)(arg0, 0xD, 6);
}
*(s32 *)(arg0 + 0x238) = 1;
((Unkstruct_80126B58 *)arg0)->unk238 = 1;
return;
}
if (((s32 (*)(s32))func_801488A8)(arg0) != 0) {
sp10[0] = 0;
sp10[1] = 0;
sp10[2] = 0;
t = *(s16 *)(arg0 + 0x26);
t = ((Unkstruct_80126B58 *)arg0)->unk26;
sp18[0] = t;
sp18[1] = 0;
t = *(s16 *)(arg0 + 0x2E);
sp18[2] = t;
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 1);
((void (*)(s32))func_8015A264)(arg0);
t = -(((s32 (*)(s16 *, s16 *))func_80013294)(sp10, sp18) << 0x10);
if (t < *(s32 *)(arg0 + 0x2C)) {
*(s32 *)(arg0 + 0x2C) = t;
if (t < ((Unkstruct_80126B58 *)arg0)->unk2C) {
((Unkstruct_80126B58 *)arg0)->unk2C = t;
}
return;
}
if (*(u16 *)(arg0 + 0xB8) == 0x8000) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) {
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
return;
}
z = *(s32 *)(arg0 + 0x2C);
z = ((Unkstruct_80126B58 *)arg0)->unk2C;
if (func_8016F1AC() != 0) {
goto zero;
}
@@ -1748,12 +1748,12 @@ zero:
doit = 0;
join:
if (doit != 0) {
D_801887B8[*(u16 *)arg0]((void *)arg0);
D_801887B8[((Unkstruct_80126B58 *)arg0)->unk0]((void *)arg0);
((void (*)(s32, s32))func_80147078)(arg0, 0);
((void (*)(s32))func_80159B70)(arg0);
func_80154150(arg0, 9);
((void (*)(s32, s32 *))func_80146DB8)(arg0, &D_8018874C);
((void (*)(s32, s32))func_80161CD0)(arg0, *(u16 *)(arg0 + 0x16E));
((void (*)(s32, s32))func_80161CD0)(arg0, ((Unkstruct_80126B58 *)arg0)->unk16E);
return;
}
if (func_80161208(arg0) == 0) {
@@ -1796,7 +1796,7 @@ void func_8015BE38(struct Obj *a0) {
extern void (*D_80188938[])(void);
void func_8015BFF4(void *a0) {
D_80188938[*(u16 *)((s32)a0 + 0x2)]();
D_80188938[((Unkstruct_80126B58 *)a0)->unk2]();
}
+1 -1
View File
@@ -3129,7 +3129,7 @@ s32 func_80178D40(s32 arg0, s32 arg1)
if (((s32 (*)(s32))((Cmd_80178D40 *)arg1)->a.w)(((Actor_80178D40 *)arg0)) == 0) {
break;
}
D_801CFC68 = *(s32 *)(D_801CFC68 + 4);
D_801CFC68 = CAST_WIDTH(s32, D_801CFC68, 4);
return;
case 0x37:
(*(s16*)&D_801D02BC) = 3;
+14 -14
View File
@@ -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_801D0224);
func_8012B178(pv, 0xFFFA0000);
func_8012AD80(pv);
*(u16 *)(pv + 0xA) -= 8;
((Unkstruct_800B5CB8 *)pv)->unkA -= 8;
func_8012B030((u8 *)pv);
/* &D_801D0218+0xC == &D_801D0224; 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_801D0224);
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_801D0218 + 0xC)) < 0x101) {
@@ -3366,7 +3366,7 @@ void func_8017BF88(s32 a0) {
extern void (*D_80189B14[])(void);
void func_8017C0E4(void *a0) {
D_80189B14[*(u16 *)((s32)a0 + 0x2)]();
D_80189B14[((Unkstruct_80126B58 *)a0)->unk2]();
}