T3: batch t3_S26 — restruct: batch t3_S26 rung S — 50 files (TUs; 1618 drawable) · 881 bodies: 2790 sites → members / 45 kept / 450 skipped · levers off 0 · compiles 752 in 145 s wall · final 50/50 identical · written 45 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 406770 cast sites in 57839 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 20:09:49 -06:00
parent 51aca098fa
commit 25e807cf41
49 changed files with 5740 additions and 2979 deletions
+150 -150
View File
@@ -1,7 +1,7 @@
{
"head": "77a5f4086a",
"head": "acd5997bda",
"stamp": "588cbf38c6e4",
"generated": "2026-10-01 19:44",
"generated": "2026-10-01 19:56",
"aliases": [
"main",
"md_SC07_004",
@@ -21,176 +21,176 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 8.789,
"mean_s": 0.103
"seconds": 8.665,
"mean_s": 0.102
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.631,
"mean_s": 0.631
"seconds": 0.59,
"mean_s": 0.59
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 6.114000000000002,
"mean_s": 0.191
"seconds": 6.005000000000001,
"mean_s": 0.188
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 5.089,
"mean_s": 0.182
"seconds": 5.154000000000001,
"mean_s": 0.184
}
},
"per_object_seconds": {
"build/src/800.o": 0.906,
"build/src/800_b.o": 0.104,
"build/src/800_b_2.o": 0.387,
"build/src/800_b_o0a.o": 0.09,
"build/src/800_c.o": 0.242,
"build/src/800b2.o": 0.103,
"build/src/apicard1.o": 0.095,
"build/src/apicard2.o": 0.083,
"build/src/apicard3.o": 0.098,
"build/src/apicard4.o": 0.114,
"build/src/apicard5.o": 0.112,
"build/src/apicard6.o": 0.087,
"build/src/apicard7.o": 0.102,
"build/src/boot.o": 0.142,
"build/src/gap.o": 0.112,
"build/src/libapi1.o": 0.106,
"build/src/libapi2.o": 0.076,
"build/src/libc2_1.o": 0.085,
"build/src/libc2_2.o": 0.077,
"build/src/libcd1.o": 0.09,
"build/src/libcd2.o": 0.078,
"build/src/libetc.o": 0.085,
"build/src/libgpu.o": 0.091,
"build/src/libgpu2.o": 0.102,
"build/src/libgs1.o": 0.093,
"build/src/libgs2.o": 0.089,
"build/src/libgs3.o": 0.076,
"build/src/libgs4.o": 0.086,
"build/src/libgs5.o": 0.087,
"build/src/libgs6.o": 0.103,
"build/src/libgs7.o": 0.088,
"build/src/libgs8.o": 0.081,
"build/src/libgte1.o": 0.073,
"build/src/800.o": 0.88,
"build/src/800_b.o": 0.103,
"build/src/800_b_2.o": 0.376,
"build/src/800_b_o0a.o": 0.086,
"build/src/800_c.o": 0.245,
"build/src/800b2.o": 0.089,
"build/src/apicard1.o": 0.085,
"build/src/apicard2.o": 0.079,
"build/src/apicard3.o": 0.099,
"build/src/apicard4.o": 0.083,
"build/src/apicard5.o": 0.109,
"build/src/apicard6.o": 0.082,
"build/src/apicard7.o": 0.101,
"build/src/boot.o": 0.124,
"build/src/gap.o": 0.096,
"build/src/libapi1.o": 0.094,
"build/src/libapi2.o": 0.073,
"build/src/libc2_1.o": 0.088,
"build/src/libc2_2.o": 0.073,
"build/src/libcd1.o": 0.091,
"build/src/libcd2.o": 0.088,
"build/src/libetc.o": 0.084,
"build/src/libgpu.o": 0.09,
"build/src/libgpu2.o": 0.096,
"build/src/libgs1.o": 0.083,
"build/src/libgs2.o": 0.075,
"build/src/libgs3.o": 0.082,
"build/src/libgs4.o": 0.082,
"build/src/libgs5.o": 0.08,
"build/src/libgs6.o": 0.098,
"build/src/libgs7.o": 0.077,
"build/src/libgs8.o": 0.076,
"build/src/libgte1.o": 0.076,
"build/src/libgte10.o": 0.086,
"build/src/libgte11.o": 0.086,
"build/src/libgte12.o": 0.083,
"build/src/libgte13.o": 0.084,
"build/src/libgte11.o": 0.083,
"build/src/libgte12.o": 0.082,
"build/src/libgte13.o": 0.087,
"build/src/libgte14.o": 0.083,
"build/src/libgte15.o": 0.09,
"build/src/libgte16.o": 0.085,
"build/src/libgte17.o": 0.078,
"build/src/libgte15.o": 0.077,
"build/src/libgte16.o": 0.087,
"build/src/libgte17.o": 0.086,
"build/src/libgte18.o": 0.08,
"build/src/libgte19.o": 0.087,
"build/src/libgte2.o": 0.085,
"build/src/libgte20.o": 0.075,
"build/src/libgte21.o": 0.087,
"build/src/libgte22.o": 0.081,
"build/src/libgte23.o": 0.094,
"build/src/libgte24.o": 0.075,
"build/src/libgte25.o": 0.088,
"build/src/libgte26.o": 0.085,
"build/src/libgte27.o": 0.081,
"build/src/libgte28.o": 0.08,
"build/src/libgte29.o": 0.088,
"build/src/libgte3.o": 0.079,
"build/src/libgte30.o": 0.075,
"build/src/libgte4.o": 0.082,
"build/src/libgte5.o": 0.089,
"build/src/libgte6.o": 0.084,
"build/src/libgte7.o": 0.085,
"build/src/libgte8.o": 0.089,
"build/src/libgte9.o": 0.092,
"build/src/libmcrd1.o": 0.098,
"build/src/libmcrd2.o": 0.086,
"build/src/libpad1.o": 0.075,
"build/src/libpad2.o": 0.084,
"build/src/sgap.o": 0.085,
"build/src/sgap_2.o": 0.096,
"build/src/sgap_3.o": 0.092,
"build/src/sgap_4.o": 0.088,
"build/src/sgap_5.o": 0.091,
"build/src/sgap_6.o": 0.087,
"build/src/libgte19.o": 0.079,
"build/src/libgte2.o": 0.086,
"build/src/libgte20.o": 0.079,
"build/src/libgte21.o": 0.077,
"build/src/libgte22.o": 0.085,
"build/src/libgte23.o": 0.086,
"build/src/libgte24.o": 0.077,
"build/src/libgte25.o": 0.084,
"build/src/libgte26.o": 0.079,
"build/src/libgte27.o": 0.093,
"build/src/libgte28.o": 0.073,
"build/src/libgte29.o": 0.089,
"build/src/libgte3.o": 0.086,
"build/src/libgte30.o": 0.081,
"build/src/libgte4.o": 0.083,
"build/src/libgte5.o": 0.087,
"build/src/libgte6.o": 0.096,
"build/src/libgte7.o": 0.083,
"build/src/libgte8.o": 0.084,
"build/src/libgte9.o": 0.08,
"build/src/libmcrd1.o": 0.096,
"build/src/libmcrd2.o": 0.075,
"build/src/libpad1.o": 0.084,
"build/src/libpad2.o": 0.087,
"build/src/sgap.o": 0.081,
"build/src/sgap_2.o": 0.09,
"build/src/sgap_3.o": 0.084,
"build/src/sgap_4.o": 0.086,
"build/src/sgap_5.o": 0.083,
"build/src/sgap_6.o": 0.08,
"build/src/sgap_8.o": 0.095,
"build/src/snd1.o": 0.092,
"build/src/snd10.o": 0.079,
"build/src/snd11.o": 0.084,
"build/src/snd12.o": 0.076,
"build/src/snd2.o": 0.099,
"build/src/snd3.o": 0.093,
"build/src/snd4.o": 0.09,
"build/src/snd5.o": 0.088,
"build/src/snd6.o": 0.088,
"build/src/snd7.o": 0.081,
"build/src/snd8.o": 0.079,
"build/src/snd9.o": 0.084,
"build/src/md_SC07_004/md_SC07_004.o": 0.631,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.179,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.633,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.48,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.121,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.165,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.202,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.164,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.12,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.107,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.228,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.11,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.221,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.136,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.097,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.096,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.567,
"build/src/snd1.o": 0.096,
"build/src/snd10.o": 0.087,
"build/src/snd11.o": 0.082,
"build/src/snd12.o": 0.091,
"build/src/snd2.o": 0.102,
"build/src/snd3.o": 0.091,
"build/src/snd4.o": 0.097,
"build/src/snd5.o": 0.104,
"build/src/snd6.o": 0.098,
"build/src/snd7.o": 0.093,
"build/src/snd8.o": 0.1,
"build/src/snd9.o": 0.122,
"build/src/md_SC07_004/md_SC07_004.o": 0.59,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.183,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.624,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.479,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.087,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.097,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.174,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.213,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.145,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.116,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.106,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.232,
"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.209,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.126,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.096,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.103,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.117,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.56,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.325,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.141,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.261,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.136,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.094,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.216,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.244,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.33,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.089,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.09,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.16,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.531,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.419,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.133,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.248,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.081,
"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.101,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.2,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.258,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.083,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.334,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.072,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.087,
"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.161,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.534,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.431,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.076,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.159,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.192,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.151,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.104,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.09,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.221,
"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.205,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.127,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.099,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.116,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.44,
"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.133,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.214,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.155,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.19,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.146,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.106,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.093,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.218,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.097,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.208,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.125,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.096,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.129,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.446,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.273,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.137,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.218,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.085,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.124,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.093,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.132,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.527,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.065,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.079
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.126,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.097,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.131,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.547,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.069,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.084
},
"ok": true,
"seconds": 2.5
"seconds": 2.6
}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -1,33 +1,33 @@
type_census — 2026-10-02T01:53:07Z at 77a5f4086a (src stamp 0596f1428861b303, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 52.4 s, total 263.0 s
type_census — 2026-10-02T02:06:17Z at acd5997bda (src stamp 4415230c19eed892, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 52.4 s, total 266.5 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 409811 = P 322584 + I 55319 + X 13790 + M 18118 (+ A address-of 18890; + C typed cast-member 111283) in 58244 bodies · coverage OK (raw {'P': 322584, 'I': 55319, 'X': 13790, 'A': 18890, 'C': 111283, 'M': 18118, 'K': 13170}) · refused 0 · absolute 0 · readability regex over raw text 325421
by base: param 207492 · local 137002 · gaddr 40114 · nested 13251 · global 8760 · other 1693 · addr-of 1338 · ident 161
by width: s4 114148 · s2 112122 · u2 106953 · u1 39469 · agg 13417 · p4 11228 · u4 9947 · s1 2527
top bases: param_1(param) 65716 · a0(param) 56873 · arg0(param) 54184 · p(local) 16211 · p(param) 8657 · cach(local) 8246 · s0(local) 7239 · buf(local) 7056 · s1(local) 6639 · flag(local) 5453 · iVar2(local) 5066 · dst(local) 4853 · iVar1(local) 4192 · iVar3(local) 4065 · cur(local) 3375 · e(local) 3258
CAST SITES deref 406770 = P 319858 + I 55319 + X 13790 + M 17803 (+ A address-of 18890; + C typed cast-member 114028) in 57839 bodies · coverage OK (raw {'P': 319858, 'I': 55319, 'X': 13790, 'A': 18890, 'C': 114028, 'M': 17803, 'K': 13421}) · refused 0 · absolute 0 · readability regex over raw text 322695
by base: param 205960 · local 135699 · gaddr 40114 · nested 13071 · global 8760 · other 1667 · addr-of 1338 · ident 161
by width: s4 113428 · s2 111402 · u2 105442 · u1 39379 · agg 13417 · p4 11228 · u4 9947 · s1 2527
top bases: param_1(param) 64724 · a0(param) 56513 · arg0(param) 54004 · p(local) 16211 · p(param) 8657 · cach(local) 8246 · s0(local) 7239 · buf(local) 7056 · s1(local) 6639 · flag(local) 5453 · iVar2(local) 5066 · dst(local) 4853 · iVar1(local) 4192 · cur(local) 3375 · iVar3(local) 3345 · e(local) 3258
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6442 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 19004 types explain 405799/409811 deref sites (99.0 %); unassigned 4012; 4027 types span ≥2 bodies (348096 sites), 14977 single-body; types with conflicts 860, suspect 11
merges by evidence {'param': 39638, 'ret-of': 5627, 'assign&': 1276, 'assign': 19017, 'arg': 10948, 'return': 1533, 'arg&': 275, 'field': 7643, 'nested': 9}; vetoed {'assign&-multisource': 12213, 'arg&-conduit': 14638, 'arg&-no-overlap': 3409, 'arg-conduit': 130587, 'assign-multisource': 33223, 'field-multisource': 6017, 'arg-no-overlap': 40949, 'ret-of-multisource': 6602, 'ret-of': 623, 'assign': 324, 'assign&': 335, 'arg': 204, 'return': 6, 'field': 456}
Unkstruct_800B5CB8 sites 45623 bodies 5868 fields 129 size≥0x10c width-conflicts 50 sign-mixed 57 merges {'param': 9168, 'assign': 8578, 'arg': 6948, 'ret-of': 2389} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
Unkstruct_80126B58 sites 38489 bodies 8426 fields 171 size≥0x24c width-conflicts 50 sign-mixed 53 merges {'param': 2234, 'arg': 1163, 'assign&': 106, 'field': 48} at D_80126B58 ptr D_80126B58
STRUCT MAP 19010 types explain 402784/406770 deref sites (99.0 %); unassigned 3986; 4027 types span ≥2 bodies (345142 sites), 14983 single-body; types with conflicts 864, suspect 11
merges by evidence {'param': 39634, 'arg': 10946, 'assign&': 1274, 'ret-of': 5611, 'assign': 19031, 'return': 1532, 'arg&': 274, 'field': 7633, 'nested': 9}; vetoed {'assign-multisource': 33223, 'ret-of-multisource': 6602, 'arg-conduit': 130812, 'assign&-multisource': 12213, 'arg&-conduit': 14638, 'field-multisource': 6017, 'ret-of': 637, 'arg&-no-overlap': 3407, 'assign': 308, 'arg-no-overlap': 41541, 'return': 7, 'assign&': 337, 'arg': 204, 'field': 288}
Unkstruct_800B5CB8 sites 44028 bodies 5733 fields 129 size≥0x10c width-conflicts 50 sign-mixed 57 merges {'param': 9164, 'assign': 8579, 'arg': 6945, 'ret-of': 2389} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
Unkstruct_80126B58 sites 38129 bodies 8066 fields 171 size≥0x24c width-conflicts 50 sign-mixed 53 merges {'param': 2234, 'arg': 1163, 'assign&': 106, 'field': 48} at D_80126B58 ptr D_80126B58
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}
Unkstruct_f8ed2b9f sites 4061 bodies 4061 fields 1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2}
Unkstruct_a32b99a1 sites 3936 bodies 123 fields 8 size≥0x4b width-conflicts 0 sign-mixed 1 merges {}
Unkstruct_8e3dbe51 sites 3930 bodies 131 fields 5 size≥0x4c width-conflicts 0 sign-mixed 1 merges {}
Unkstruct_80126948 sites 3285 bodies 1099 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 104, 'arg': 13, 'param': 10, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
Unkstruct_57a28935 sites 3271 bodies 196 fields 26 size≥0xa4 width-conflicts 3 sign-mixed 9 merges {'param': 268, 'arg': 133}
Unkstruct_1fa9e810 sites 3144 bodies 131 fields 3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {}
Unkstruct_30b21035 sites 3100 bodies 124 fields 13 size≥0x54 width-conflicts 0 sign-mixed 0 merges {}
GLOBAL BLOCKS 2123 runs of ≥4 adjacent scalar D_ symbols (14249 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
GLOBAL BLOCKS 2127 runs of ≥4 adjacent scalar D_ symbols (14269 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) · 0x801b8710+0x54 ×21 (D_801B8710..D_801B8760)
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) · 409811 cast sites in 58244 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: 19004 types over 19004 clusters explain 405799/409811 sites (99.0 %); 4012 unassigned sites; 860 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 406770 cast sites in 57839 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: 19010 types over 19010 clusters explain 402784/406770 sites (99.0 %); 3986 unassigned sites; 864 types with conflicts
+59 -59
View File
@@ -1568,7 +1568,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80185904[])(void);
void func_801425CC(void *a0) {
D_80185904[*(u16 *)((s32)a0 + 0x2)]();
D_80185904[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1881,7 +1881,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1889,7 +1889,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80185B74);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2050,7 +2050,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80185DF4[])(void);
void func_80143B30(void *a0) {
D_80185DF4[*(u16 *)((s32)a0 + 0x2)]();
D_80185DF4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2062,7 +2062,7 @@ void func_80143B30(void *a0) {
extern void (*D_80185E00[])(void);
void func_80143C38(void *a0) {
D_80185E00[*(u16 *)((s32)a0 + 0x2)]();
D_80185E00[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2072,7 +2072,7 @@ void func_80143C38(void *a0) {
extern void (*D_80185E08[])(void);
void func_80143C98(void *a0) {
D_80185E08[*(u16 *)((s32)a0 + 0x2)]();
D_80185E08[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2093,35 +2093,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80185E2C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80185E2C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80185E2C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2133,7 +2133,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80185E50[])(void);
void func_80143E68(void *a0) {
D_80185E50[*(u16 *)((s32)a0 + 0x2)]();
D_80185E50[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2149,7 +2149,7 @@ void func_80143E68(void *a0) {
extern void (*D_80185E64[])(void);
void func_80144054(void *a0) {
D_80185E64[*(u16 *)((s32)a0 + 0x2)]();
D_80185E64[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2173,9 +2173,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80185E6C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80185E6C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2201,19 +2201,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80185DE8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2236,7 +2236,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2245,9 +2245,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2281,29 +2281,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80185E10);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80185E1C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2335,15 +2335,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80185E58, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2355,7 +2355,7 @@ void func_80144880(s32 param_1)
extern void (*D_80185E74[])(void);
void func_801449C8(void *a0) {
D_80185E74[*(u16 *)((s32)a0 + 0x2)]();
D_80185E74[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2365,7 +2365,7 @@ void func_801449C8(void *a0) {
extern void (*D_80185E7C[])(void);
void func_80144A2C(void *a0) {
D_80185E7C[*(u16 *)((s32)a0 + 0x2)]();
D_80185E7C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -2200,7 +2200,7 @@ void func_801424E4(short *param_1) {
void func_801425CC(void *a0) {
extern void (*D_80185040[])(void);
D_80185040[*(u16 *)((s32)a0 + 0x2)]();
D_80185040[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2539,7 +2539,7 @@ void func_8014305C(int param_1)
short sVar1;
int iVar2;
*(int *)(param_1 + 0x20) = iVar2 = ((int (*)(void))func_8012C1B8)();
((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar2 = ((int (*)(void))func_8012C1B8)();
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(param_1);
} else {
@@ -2547,7 +2547,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(param_1 + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(iVar2 + 0x1a) = sVar1;
*(short *)(iVar2 + 0x18) = sVar1;
*(short *)(param_1 + 0xfc) = 0;
((Unkstruct_800B5CB8 *)param_1)->unkFC = 0;
func_8012A828(param_1, D_801852B0);
((void (*)(int))func_80142B2C)(param_1);
}
@@ -2722,7 +2722,7 @@ void func_8014358C(s32 param_1)
void func_80143B30(void *a0) {
extern void (*D_80185530[])(void);
D_80185530[*(u16 *)((s32)a0 + 0x2)]();
D_80185530[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2737,7 +2737,7 @@ void func_80143B30(void *a0) {
void func_80143C38(void *a0) {
extern void (*D_8018553C[])(void);
D_8018553C[*(u16 *)((s32)a0 + 0x2)]();
D_8018553C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2749,7 +2749,7 @@ void func_80143C38(void *a0) {
void func_80143C98(void *a0) {
extern void (*D_80185544[])(void);
D_80185544[*(u16 *)((s32)a0 + 0x2)]();
D_80185544[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2771,35 +2771,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80185568[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80185568[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80185568[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2812,7 +2812,7 @@ void func_80143D28(s32 param_1) {
void func_80143E68(void *a0) {
extern void (*D_8018558C[])(void);
D_8018558C[*(u16 *)((s32)a0 + 0x2)]();
D_8018558C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2833,7 +2833,7 @@ void func_80143EB4(void) {
void func_80144054(void *a0) {
extern void (*D_801855A0[])(void);
D_801855A0[*(u16 *)((s32)a0 + 0x2)]();
D_801855A0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2924,9 +2924,9 @@ void func_801442F8(int param_1)
extern void (*D_801855A8[])();
int iVar1;
D_801855A8[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801855A8[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2953,19 +2953,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80185524, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2988,7 +2988,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2997,9 +2997,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -3036,29 +3036,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018554C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80185558);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -3091,15 +3091,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80185594, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -3113,7 +3113,7 @@ void func_80144880(s32 param_1)
void func_801449C8(void *a0) {
extern void (*D_801855B0[])(void);
D_801855B0[*(u16 *)((s32)a0 + 0x2)]();
D_801855B0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -3125,7 +3125,7 @@ void func_801449C8(void *a0) {
void func_80144A2C(void *a0) {
extern void (*D_801855B8[])(void);
D_801855B8[*(u16 *)((s32)a0 + 0x2)]();
D_801855B8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80180530[])(void);
void func_801425CC(void *a0) {
D_80180530[*(u16 *)((s32)a0 + 0x2)]();
D_80180530[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801807A0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80180A20[])(void);
void func_80143B30(void *a0) {
D_80180A20[*(u16 *)((s32)a0 + 0x2)]();
D_80180A20[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80180A2C[])(void);
void func_80143C38(void *a0) {
D_80180A2C[*(u16 *)((s32)a0 + 0x2)]();
D_80180A2C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80180A34[])(void);
void func_80143C98(void *a0) {
D_80180A34[*(u16 *)((s32)a0 + 0x2)]();
D_80180A34[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80180A58[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80180A58[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80180A58[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80180A7C[])(void);
void func_80143E68(void *a0) {
D_80180A7C[*(u16 *)((s32)a0 + 0x2)]();
D_80180A7C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80180A90[])(void);
void func_80144054(void *a0) {
D_80180A90[*(u16 *)((s32)a0 + 0x2)]();
D_80180A90[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80180A98[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80180A98[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80180A14, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80180A3C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80180A48);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80180A84, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80180AA0[])(void);
void func_801449C8(void *a0) {
D_80180AA0[*(u16 *)((s32)a0 + 0x2)]();
D_80180AA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80180AA8[])(void);
void func_80144A2C(void *a0) {
D_80180AA8[*(u16 *)((s32)a0 + 0x2)]();
D_80180AA8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80186200[])(void);
void func_801425CC(void *a0) {
D_80186200[*(u16 *)((s32)a0 + 0x2)]();
D_80186200[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80186470);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801866F0[])(void);
void func_80143B30(void *a0) {
D_801866F0[*(u16 *)((s32)a0 + 0x2)]();
D_801866F0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801866FC[])(void);
void func_80143C38(void *a0) {
D_801866FC[*(u16 *)((s32)a0 + 0x2)]();
D_801866FC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186704[])(void);
void func_80143C98(void *a0) {
D_80186704[*(u16 *)((s32)a0 + 0x2)]();
D_80186704[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80186728[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80186728[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80186728[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018674C[])(void);
void func_80143E68(void *a0) {
D_8018674C[*(u16 *)((s32)a0 + 0x2)]();
D_8018674C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186760[])(void);
void func_80144054(void *a0) {
D_80186760[*(u16 *)((s32)a0 + 0x2)]();
D_80186760[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80186768[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80186768[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801866E4, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018670C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80186718);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186754, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80186770[])(void);
void func_801449C8(void *a0) {
D_80186770[*(u16 *)((s32)a0 + 0x2)]();
D_80186770[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80186778[])(void);
void func_80144A2C(void *a0) {
D_80186778[*(u16 *)((s32)a0 + 0x2)]();
D_80186778[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1583,7 +1583,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018E940[])(void);
void func_801425CC(void *a0) {
D_8018E940[*(u16 *)((s32)a0 + 0x2)]();
D_8018E940[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1896,7 +1896,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1904,7 +1904,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018EBB0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2065,7 +2065,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018EE30[])(void);
void func_80143B30(void *a0) {
D_8018EE30[*(u16 *)((s32)a0 + 0x2)]();
D_8018EE30[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2077,7 +2077,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018EE3C[])(void);
void func_80143C38(void *a0) {
D_8018EE3C[*(u16 *)((s32)a0 + 0x2)]();
D_8018EE3C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2087,7 +2087,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018EE44[])(void);
void func_80143C98(void *a0) {
D_8018EE44[*(u16 *)((s32)a0 + 0x2)]();
D_8018EE44[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2108,35 +2108,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018EE68[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018EE68[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018EE68[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2148,7 +2148,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018EE8C[])(void);
void func_80143E68(void *a0) {
D_8018EE8C[*(u16 *)((s32)a0 + 0x2)]();
D_8018EE8C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2164,7 +2164,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018EEA0[])(void);
void func_80144054(void *a0) {
D_8018EEA0[*(u16 *)((s32)a0 + 0x2)]();
D_8018EEA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2188,9 +2188,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018EEA8[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018EEA8[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2216,19 +2216,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018EE24, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2251,7 +2251,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2260,9 +2260,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2296,29 +2296,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018EE4C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018EE58);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2350,15 +2350,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018EE94, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2370,7 +2370,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018EEB0[])(void);
void func_801449C8(void *a0) {
D_8018EEB0[*(u16 *)((s32)a0 + 0x2)]();
D_8018EEB0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2380,7 +2380,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018EEB8[])(void);
void func_80144A2C(void *a0) {
D_8018EEB8[*(u16 *)((s32)a0 + 0x2)]();
D_8018EEB8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1567,7 +1567,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80186930[])(void);
void func_801425CC(void *a0) {
D_80186930[*(u16 *)((s32)a0 + 0x2)]();
D_80186930[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1880,7 +1880,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1888,7 +1888,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80186BA0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2049,7 +2049,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80186E20[])(void);
void func_80143B30(void *a0) {
D_80186E20[*(u16 *)((s32)a0 + 0x2)]();
D_80186E20[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2061,7 +2061,7 @@ void func_80143B30(void *a0) {
extern void (*D_80186E2C[])(void);
void func_80143C38(void *a0) {
D_80186E2C[*(u16 *)((s32)a0 + 0x2)]();
D_80186E2C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2071,7 +2071,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186E34[])(void);
void func_80143C98(void *a0) {
D_80186E34[*(u16 *)((s32)a0 + 0x2)]();
D_80186E34[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2092,35 +2092,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80186E58[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80186E58[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80186E58[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2132,7 +2132,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80186E7C[])(void);
void func_80143E68(void *a0) {
D_80186E7C[*(u16 *)((s32)a0 + 0x2)]();
D_80186E7C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2148,7 +2148,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186E90[])(void);
void func_80144054(void *a0) {
D_80186E90[*(u16 *)((s32)a0 + 0x2)]();
D_80186E90[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2172,9 +2172,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80186E98[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80186E98[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2200,19 +2200,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80186E14, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2235,7 +2235,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2244,9 +2244,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2280,29 +2280,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80186E3C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80186E48);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2334,15 +2334,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186E84, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2354,7 +2354,7 @@ void func_80144880(s32 param_1)
extern void (*D_80186EA0[])(void);
void func_801449C8(void *a0) {
D_80186EA0[*(u16 *)((s32)a0 + 0x2)]();
D_80186EA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2364,7 +2364,7 @@ void func_801449C8(void *a0) {
extern void (*D_80186EA8[])(void);
void func_80144A2C(void *a0) {
D_80186EA8[*(u16 *)((s32)a0 + 0x2)]();
D_80186EA8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1583,7 +1583,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018DA14[])(void);
void func_801425CC(void *a0) {
D_8018DA14[*(u16 *)((s32)a0 + 0x2)]();
D_8018DA14[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1896,7 +1896,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1904,7 +1904,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018DC84);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2065,7 +2065,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018DF04[])(void);
void func_80143B30(void *a0) {
D_8018DF04[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF04[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2077,7 +2077,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018DF10[])(void);
void func_80143C38(void *a0) {
D_8018DF10[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF10[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2087,7 +2087,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018DF18[])(void);
void func_80143C98(void *a0) {
D_8018DF18[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF18[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2108,35 +2108,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018DF3C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018DF3C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018DF3C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2148,7 +2148,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018DF60[])(void);
void func_80143E68(void *a0) {
D_8018DF60[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF60[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2164,7 +2164,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018DF74[])(void);
void func_80144054(void *a0) {
D_8018DF74[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF74[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2188,9 +2188,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018DF7C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018DF7C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2216,19 +2216,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018DEF8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2251,7 +2251,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2260,9 +2260,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2296,29 +2296,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018DF20);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018DF2C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2350,15 +2350,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018DF68, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2370,7 +2370,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018DF84[])(void);
void func_801449C8(void *a0) {
D_8018DF84[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF84[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2380,7 +2380,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018DF8C[])(void);
void func_80144A2C(void *a0) {
D_8018DF8C[*(u16 *)((s32)a0 + 0x2)]();
D_8018DF8C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1581,7 +1581,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018880C[])(void);
void func_801425CC(void *a0) {
D_8018880C[*(u16 *)((s32)a0 + 0x2)]();
D_8018880C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1894,7 +1894,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1902,7 +1902,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80188A7C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2063,7 +2063,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80188CFC[])(void);
void func_80143B30(void *a0) {
D_80188CFC[*(u16 *)((s32)a0 + 0x2)]();
D_80188CFC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2075,7 +2075,7 @@ void func_80143B30(void *a0) {
extern void (*D_80188D08[])(void);
void func_80143C38(void *a0) {
D_80188D08[*(u16 *)((s32)a0 + 0x2)]();
D_80188D08[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2085,7 +2085,7 @@ void func_80143C38(void *a0) {
extern void (*D_80188D10[])(void);
void func_80143C98(void *a0) {
D_80188D10[*(u16 *)((s32)a0 + 0x2)]();
D_80188D10[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2106,35 +2106,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80188D34[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80188D34[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80188D34[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2146,7 +2146,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80188D58[])(void);
void func_80143E68(void *a0) {
D_80188D58[*(u16 *)((s32)a0 + 0x2)]();
D_80188D58[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2162,7 +2162,7 @@ void func_80143E68(void *a0) {
extern void (*D_80188D6C[])(void);
void func_80144054(void *a0) {
D_80188D6C[*(u16 *)((s32)a0 + 0x2)]();
D_80188D6C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2186,9 +2186,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80188D74[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80188D74[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2214,19 +2214,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80188CF0, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2249,7 +2249,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2258,9 +2258,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2294,29 +2294,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80188D18);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80188D24);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2348,15 +2348,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80188D60, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2368,7 +2368,7 @@ void func_80144880(s32 param_1)
extern void (*D_80188D7C[])(void);
void func_801449C8(void *a0) {
D_80188D7C[*(u16 *)((s32)a0 + 0x2)]();
D_80188D7C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2378,7 +2378,7 @@ void func_801449C8(void *a0) {
extern void (*D_80188D84[])(void);
void func_80144A2C(void *a0) {
D_80188D84[*(u16 *)((s32)a0 + 0x2)]();
D_80188D84[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018132C[])(void);
void func_801425CC(void *a0) {
D_8018132C[*(u16 *)((s32)a0 + 0x2)]();
D_8018132C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018159C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018181C[])(void);
void func_80143B30(void *a0) {
D_8018181C[*(u16 *)((s32)a0 + 0x2)]();
D_8018181C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80181828[])(void);
void func_80143C38(void *a0) {
D_80181828[*(u16 *)((s32)a0 + 0x2)]();
D_80181828[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80181830[])(void);
void func_80143C98(void *a0) {
D_80181830[*(u16 *)((s32)a0 + 0x2)]();
D_80181830[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80181854[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80181854[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80181854[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80181878[])(void);
void func_80143E68(void *a0) {
D_80181878[*(u16 *)((s32)a0 + 0x2)]();
D_80181878[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018188C[])(void);
void func_80144054(void *a0) {
D_8018188C[*(u16 *)((s32)a0 + 0x2)]();
D_8018188C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80181894[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80181894[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80181810, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80181838);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80181844);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80181880, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018189C[])(void);
void func_801449C8(void *a0) {
D_8018189C[*(u16 *)((s32)a0 + 0x2)]();
D_8018189C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801818A4[])(void);
void func_80144A2C(void *a0) {
D_801818A4[*(u16 *)((s32)a0 + 0x2)]();
D_801818A4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1603,7 +1603,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018269C[])(void);
void func_801425CC(void *a0) {
D_8018269C[*(u16 *)((s32)a0 + 0x2)]();
D_8018269C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1916,7 +1916,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1924,7 +1924,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018290C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2085,7 +2085,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80182B8C[])(void);
void func_80143B30(void *a0) {
D_80182B8C[*(u16 *)((s32)a0 + 0x2)]();
D_80182B8C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2097,7 +2097,7 @@ void func_80143B30(void *a0) {
extern void (*D_80182B98[])(void);
void func_80143C38(void *a0) {
D_80182B98[*(u16 *)((s32)a0 + 0x2)]();
D_80182B98[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2107,7 +2107,7 @@ void func_80143C38(void *a0) {
extern void (*D_80182BA0[])(void);
void func_80143C98(void *a0) {
D_80182BA0[*(u16 *)((s32)a0 + 0x2)]();
D_80182BA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2128,35 +2128,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80182BC4[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80182BC4[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80182BC4[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2168,7 +2168,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80182BE8[])(void);
void func_80143E68(void *a0) {
D_80182BE8[*(u16 *)((s32)a0 + 0x2)]();
D_80182BE8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2184,7 +2184,7 @@ void func_80143E68(void *a0) {
extern void (*D_80182BFC[])(void);
void func_80144054(void *a0) {
D_80182BFC[*(u16 *)((s32)a0 + 0x2)]();
D_80182BFC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2208,9 +2208,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80182C04[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80182C04[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2236,19 +2236,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80182B80, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2271,7 +2271,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2280,9 +2280,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2316,29 +2316,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80182BA8);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80182BB4);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2370,15 +2370,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80182BF0, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2390,7 +2390,7 @@ void func_80144880(s32 param_1)
extern void (*D_80182C0C[])(void);
void func_801449C8(void *a0) {
D_80182C0C[*(u16 *)((s32)a0 + 0x2)]();
D_80182C0C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2400,7 +2400,7 @@ void func_801449C8(void *a0) {
extern void (*D_80182C14[])(void);
void func_80144A2C(void *a0) {
D_80182C14[*(u16 *)((s32)a0 + 0x2)]();
D_80182C14[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8017F57C[])(void);
void func_801425CC(void *a0) {
D_8017F57C[*(u16 *)((s32)a0 + 0x2)]();
D_8017F57C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8017F7EC);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8017FA6C[])(void);
void func_80143B30(void *a0) {
D_8017FA6C[*(u16 *)((s32)a0 + 0x2)]();
D_8017FA6C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8017FA78[])(void);
void func_80143C38(void *a0) {
D_8017FA78[*(u16 *)((s32)a0 + 0x2)]();
D_8017FA78[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8017FA80[])(void);
void func_80143C98(void *a0) {
D_8017FA80[*(u16 *)((s32)a0 + 0x2)]();
D_8017FA80[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8017FAA4[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8017FAA4[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8017FAA4[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8017FAC8[])(void);
void func_80143E68(void *a0) {
D_8017FAC8[*(u16 *)((s32)a0 + 0x2)]();
D_8017FAC8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8017FADC[])(void);
void func_80144054(void *a0) {
D_8017FADC[*(u16 *)((s32)a0 + 0x2)]();
D_8017FADC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8017FAE4[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8017FAE4[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8017FA60, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8017FA88);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8017FA94);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8017FAD0, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8017FAEC[])(void);
void func_801449C8(void *a0) {
D_8017FAEC[*(u16 *)((s32)a0 + 0x2)]();
D_8017FAEC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8017FAF4[])(void);
void func_80144A2C(void *a0) {
D_8017FAF4[*(u16 *)((s32)a0 + 0x2)]();
D_8017FAF4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80182364[])(void);
void func_801425CC(void *a0) {
D_80182364[*(u16 *)((s32)a0 + 0x2)]();
D_80182364[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801825D4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80182854[])(void);
void func_80143B30(void *a0) {
D_80182854[*(u16 *)((s32)a0 + 0x2)]();
D_80182854[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80182860[])(void);
void func_80143C38(void *a0) {
D_80182860[*(u16 *)((s32)a0 + 0x2)]();
D_80182860[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80182868[])(void);
void func_80143C98(void *a0) {
D_80182868[*(u16 *)((s32)a0 + 0x2)]();
D_80182868[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018288C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018288C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018288C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801828B0[])(void);
void func_80143E68(void *a0) {
D_801828B0[*(u16 *)((s32)a0 + 0x2)]();
D_801828B0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_801828C4[])(void);
void func_80144054(void *a0) {
D_801828C4[*(u16 *)((s32)a0 + 0x2)]();
D_801828C4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801828CC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801828CC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80182848, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80182870);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018287C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801828B8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801828D4[])(void);
void func_801449C8(void *a0) {
D_801828D4[*(u16 *)((s32)a0 + 0x2)]();
D_801828D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801828DC[])(void);
void func_80144A2C(void *a0) {
D_801828DC[*(u16 *)((s32)a0 + 0x2)]();
D_801828DC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1566,7 +1566,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018C9A0[])(void);
void func_801425CC(void *a0) {
D_8018C9A0[*(u16 *)((s32)a0 + 0x2)]();
D_8018C9A0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1879,7 +1879,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1887,7 +1887,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018CC10);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2048,7 +2048,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018CE90[])(void);
void func_80143B30(void *a0) {
D_8018CE90[*(u16 *)((s32)a0 + 0x2)]();
D_8018CE90[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2060,7 +2060,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018CE9C[])(void);
void func_80143C38(void *a0) {
D_8018CE9C[*(u16 *)((s32)a0 + 0x2)]();
D_8018CE9C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2070,7 +2070,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018CEA4[])(void);
void func_80143C98(void *a0) {
D_8018CEA4[*(u16 *)((s32)a0 + 0x2)]();
D_8018CEA4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2091,35 +2091,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018CEC8[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018CEC8[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018CEC8[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2131,7 +2131,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018CEEC[])(void);
void func_80143E68(void *a0) {
D_8018CEEC[*(u16 *)((s32)a0 + 0x2)]();
D_8018CEEC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2147,7 +2147,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018CF00[])(void);
void func_80144054(void *a0) {
D_8018CF00[*(u16 *)((s32)a0 + 0x2)]();
D_8018CF00[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2171,9 +2171,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018CF08[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018CF08[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2199,19 +2199,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018CE84, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2234,7 +2234,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2243,9 +2243,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2279,29 +2279,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018CEAC);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018CEB8);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2333,15 +2333,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018CEF4, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2353,7 +2353,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018CF10[])(void);
void func_801449C8(void *a0) {
D_8018CF10[*(u16 *)((s32)a0 + 0x2)]();
D_8018CF10[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2363,7 +2363,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018CF18[])(void);
void func_80144A2C(void *a0) {
D_8018CF18[*(u16 *)((s32)a0 + 0x2)]();
D_8018CF18[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018031C[])(void);
void func_801425CC(void *a0) {
D_8018031C[*(u16 *)((s32)a0 + 0x2)]();
D_8018031C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018058C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018080C[])(void);
void func_80143B30(void *a0) {
D_8018080C[*(u16 *)((s32)a0 + 0x2)]();
D_8018080C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80180818[])(void);
void func_80143C38(void *a0) {
D_80180818[*(u16 *)((s32)a0 + 0x2)]();
D_80180818[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80180820[])(void);
void func_80143C98(void *a0) {
D_80180820[*(u16 *)((s32)a0 + 0x2)]();
D_80180820[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80180844[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80180844[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80180844[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80180868[])(void);
void func_80143E68(void *a0) {
D_80180868[*(u16 *)((s32)a0 + 0x2)]();
D_80180868[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018087C[])(void);
void func_80144054(void *a0) {
D_8018087C[*(u16 *)((s32)a0 + 0x2)]();
D_8018087C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80180884[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80180884[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80180800, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80180828);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80180834);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80180870, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018088C[])(void);
void func_801449C8(void *a0) {
D_8018088C[*(u16 *)((s32)a0 + 0x2)]();
D_8018088C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80180894[])(void);
void func_80144A2C(void *a0) {
D_80180894[*(u16 *)((s32)a0 + 0x2)]();
D_80180894[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1581,7 +1581,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80188340[])(void);
void func_801425CC(void *a0) {
D_80188340[*(u16 *)((s32)a0 + 0x2)]();
D_80188340[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1894,7 +1894,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1902,7 +1902,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801885B0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2063,7 +2063,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80188830[])(void);
void func_80143B30(void *a0) {
D_80188830[*(u16 *)((s32)a0 + 0x2)]();
D_80188830[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2075,7 +2075,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018883C[])(void);
void func_80143C38(void *a0) {
D_8018883C[*(u16 *)((s32)a0 + 0x2)]();
D_8018883C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2085,7 +2085,7 @@ void func_80143C38(void *a0) {
extern void (*D_80188844[])(void);
void func_80143C98(void *a0) {
D_80188844[*(u16 *)((s32)a0 + 0x2)]();
D_80188844[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2106,35 +2106,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80188868[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80188868[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80188868[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2146,7 +2146,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018888C[])(void);
void func_80143E68(void *a0) {
D_8018888C[*(u16 *)((s32)a0 + 0x2)]();
D_8018888C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2162,7 +2162,7 @@ void func_80143E68(void *a0) {
extern void (*D_801888A0[])(void);
void func_80144054(void *a0) {
D_801888A0[*(u16 *)((s32)a0 + 0x2)]();
D_801888A0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2186,9 +2186,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801888A8[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801888A8[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2214,19 +2214,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80188824, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2249,7 +2249,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2258,9 +2258,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2294,29 +2294,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018884C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80188858);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2348,15 +2348,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80188894, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2368,7 +2368,7 @@ void func_80144880(s32 param_1)
extern void (*D_801888B0[])(void);
void func_801449C8(void *a0) {
D_801888B0[*(u16 *)((s32)a0 + 0x2)]();
D_801888B0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2378,7 +2378,7 @@ void func_801449C8(void *a0) {
extern void (*D_801888B8[])(void);
void func_80144A2C(void *a0) {
D_801888B8[*(u16 *)((s32)a0 + 0x2)]();
D_801888B8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018CE0C[])(void);
void func_801425CC(void *a0) {
D_8018CE0C[*(u16 *)((s32)a0 + 0x2)]();
D_8018CE0C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018D07C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018D2FC[])(void);
void func_80143B30(void *a0) {
D_8018D2FC[*(u16 *)((s32)a0 + 0x2)]();
D_8018D2FC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018D308[])(void);
void func_80143C38(void *a0) {
D_8018D308[*(u16 *)((s32)a0 + 0x2)]();
D_8018D308[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018D310[])(void);
void func_80143C98(void *a0) {
D_8018D310[*(u16 *)((s32)a0 + 0x2)]();
D_8018D310[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018D334[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018D334[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018D334[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018D358[])(void);
void func_80143E68(void *a0) {
D_8018D358[*(u16 *)((s32)a0 + 0x2)]();
D_8018D358[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018D36C[])(void);
void func_80144054(void *a0) {
D_8018D36C[*(u16 *)((s32)a0 + 0x2)]();
D_8018D36C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018D374[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018D374[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018D2F0, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018D318);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018D324);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018D360, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018D37C[])(void);
void func_801449C8(void *a0) {
D_8018D37C[*(u16 *)((s32)a0 + 0x2)]();
D_8018D37C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018D384[])(void);
void func_80144A2C(void *a0) {
D_8018D384[*(u16 *)((s32)a0 + 0x2)]();
D_8018D384[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80188C44[])(void);
void func_801425CC(void *a0) {
D_80188C44[*(u16 *)((s32)a0 + 0x2)]();
D_80188C44[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80188EB4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80189134[])(void);
void func_80143B30(void *a0) {
D_80189134[*(u16 *)((s32)a0 + 0x2)]();
D_80189134[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80189140[])(void);
void func_80143C38(void *a0) {
D_80189140[*(u16 *)((s32)a0 + 0x2)]();
D_80189140[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80189148[])(void);
void func_80143C98(void *a0) {
D_80189148[*(u16 *)((s32)a0 + 0x2)]();
D_80189148[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018916C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018916C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018916C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80189190[])(void);
void func_80143E68(void *a0) {
D_80189190[*(u16 *)((s32)a0 + 0x2)]();
D_80189190[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_801891A4[])(void);
void func_80144054(void *a0) {
D_801891A4[*(u16 *)((s32)a0 + 0x2)]();
D_801891A4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801891AC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801891AC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80189128, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80189150);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018915C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80189198, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801891B4[])(void);
void func_801449C8(void *a0) {
D_801891B4[*(u16 *)((s32)a0 + 0x2)]();
D_801891B4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801891BC[])(void);
void func_80144A2C(void *a0) {
D_801891BC[*(u16 *)((s32)a0 + 0x2)]();
D_801891BC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1619,7 +1619,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80183280[])(void);
void func_801425CC(void *a0) {
D_80183280[*(u16 *)((s32)a0 + 0x2)]();
D_80183280[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1932,7 +1932,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1940,7 +1940,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801834F0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2101,7 +2101,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80183770[])(void);
void func_80143B30(void *a0) {
D_80183770[*(u16 *)((s32)a0 + 0x2)]();
D_80183770[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2113,7 +2113,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018377C[])(void);
void func_80143C38(void *a0) {
D_8018377C[*(u16 *)((s32)a0 + 0x2)]();
D_8018377C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2123,7 +2123,7 @@ void func_80143C38(void *a0) {
extern void (*D_80183784[])(void);
void func_80143C98(void *a0) {
D_80183784[*(u16 *)((s32)a0 + 0x2)]();
D_80183784[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2144,35 +2144,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_801837A8[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_801837A8[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_801837A8[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2184,7 +2184,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801837CC[])(void);
void func_80143E68(void *a0) {
D_801837CC[*(u16 *)((s32)a0 + 0x2)]();
D_801837CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2200,7 +2200,7 @@ void func_80143E68(void *a0) {
extern void (*D_801837E0[])(void);
void func_80144054(void *a0) {
D_801837E0[*(u16 *)((s32)a0 + 0x2)]();
D_801837E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2224,9 +2224,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801837E8[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801837E8[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2252,19 +2252,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80183764, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2287,7 +2287,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2296,9 +2296,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2332,29 +2332,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018378C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80183798);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2386,15 +2386,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801837D4, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2406,7 +2406,7 @@ void func_80144880(s32 param_1)
extern void (*D_801837F0[])(void);
void func_801449C8(void *a0) {
D_801837F0[*(u16 *)((s32)a0 + 0x2)]();
D_801837F0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2416,7 +2416,7 @@ void func_801449C8(void *a0) {
extern void (*D_801837F8[])(void);
void func_80144A2C(void *a0) {
D_801837F8[*(u16 *)((s32)a0 + 0x2)]();
D_801837F8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+59 -59
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018379C[])(void);
void func_801425CC(void *a0) {
D_8018379C[*(u16 *)((s32)a0 + 0x2)]();
D_8018379C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80183A0C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80183C8C[])(void);
void func_80143B30(void *a0) {
D_80183C8C[*(u16 *)((s32)a0 + 0x2)]();
D_80183C8C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80183C98[])(void);
void func_80143C38(void *a0) {
D_80183C98[*(u16 *)((s32)a0 + 0x2)]();
D_80183C98[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80183CA0[])(void);
void func_80143C98(void *a0) {
D_80183CA0[*(u16 *)((s32)a0 + 0x2)]();
D_80183CA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80183CC4[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80183CC4[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80183CC4[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80183CE8[])(void);
void func_80143E68(void *a0) {
D_80183CE8[*(u16 *)((s32)a0 + 0x2)]();
D_80183CE8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80183CFC[])(void);
void func_80144054(void *a0) {
D_80183CFC[*(u16 *)((s32)a0 + 0x2)]();
D_80183CFC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80183D04[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80183D04[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80183C80, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80183CA8);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80183CB4);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80183CF0, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80183D0C[])(void);
void func_801449C8(void *a0) {
D_80183D0C[*(u16 *)((s32)a0 + 0x2)]();
D_80183D0C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80183D14[])(void);
void func_80144A2C(void *a0) {
D_80183D14[*(u16 *)((s32)a0 + 0x2)]();
D_80183D14[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018AA98[])(void);
void func_801425CC(void *a0) {
D_8018AA98[*(u16 *)((s32)a0 + 0x2)]();
D_8018AA98[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018AD08);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018AF88[])(void);
void func_80143B30(void *a0) {
D_8018AF88[*(u16 *)((s32)a0 + 0x2)]();
D_8018AF88[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018AF94[])(void);
void func_80143C38(void *a0) {
D_8018AF94[*(u16 *)((s32)a0 + 0x2)]();
D_8018AF94[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018AF9C[])(void);
void func_80143C98(void *a0) {
D_8018AF9C[*(u16 *)((s32)a0 + 0x2)]();
D_8018AF9C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018AFC0[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018AFC0[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018AFC0[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018AFE4[])(void);
void func_80143E68(void *a0) {
D_8018AFE4[*(u16 *)((s32)a0 + 0x2)]();
D_8018AFE4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018AFF8[])(void);
void func_80144054(void *a0) {
D_8018AFF8[*(u16 *)((s32)a0 + 0x2)]();
D_8018AFF8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018B000[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018B000[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018AF7C, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018AFA4);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018AFB0);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018AFEC, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018B008[])(void);
void func_801449C8(void *a0) {
D_8018B008[*(u16 *)((s32)a0 + 0x2)]();
D_8018B008[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018B010[])(void);
void func_80144A2C(void *a0) {
D_8018B010[*(u16 *)((s32)a0 + 0x2)]();
D_8018B010[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018CEBC[])(void);
void func_801425CC(void *a0) {
D_8018CEBC[*(u16 *)((s32)a0 + 0x2)]();
D_8018CEBC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018D12C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018D3AC[])(void);
void func_80143B30(void *a0) {
D_8018D3AC[*(u16 *)((s32)a0 + 0x2)]();
D_8018D3AC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018D3B8[])(void);
void func_80143C38(void *a0) {
D_8018D3B8[*(u16 *)((s32)a0 + 0x2)]();
D_8018D3B8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018D3C0[])(void);
void func_80143C98(void *a0) {
D_8018D3C0[*(u16 *)((s32)a0 + 0x2)]();
D_8018D3C0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018D3E4[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018D3E4[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018D3E4[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018D408[])(void);
void func_80143E68(void *a0) {
D_8018D408[*(u16 *)((s32)a0 + 0x2)]();
D_8018D408[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018D41C[])(void);
void func_80144054(void *a0) {
D_8018D41C[*(u16 *)((s32)a0 + 0x2)]();
D_8018D41C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018D424[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018D424[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018D3A0, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018D3C8);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018D3D4);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018D410, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018D42C[])(void);
void func_801449C8(void *a0) {
D_8018D42C[*(u16 *)((s32)a0 + 0x2)]();
D_8018D42C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018D434[])(void);
void func_80144A2C(void *a0) {
D_8018D434[*(u16 *)((s32)a0 + 0x2)]();
D_8018D434[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018DD64[])(void);
void func_801425CC(void *a0) {
D_8018DD64[*(u16 *)((s32)a0 + 0x2)]();
D_8018DD64[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018DFD4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018E254[])(void);
void func_80143B30(void *a0) {
D_8018E254[*(u16 *)((s32)a0 + 0x2)]();
D_8018E254[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018E260[])(void);
void func_80143C38(void *a0) {
D_8018E260[*(u16 *)((s32)a0 + 0x2)]();
D_8018E260[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018E268[])(void);
void func_80143C98(void *a0) {
D_8018E268[*(u16 *)((s32)a0 + 0x2)]();
D_8018E268[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018E28C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018E28C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018E28C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018E2B0[])(void);
void func_80143E68(void *a0) {
D_8018E2B0[*(u16 *)((s32)a0 + 0x2)]();
D_8018E2B0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018E2C4[])(void);
void func_80144054(void *a0) {
D_8018E2C4[*(u16 *)((s32)a0 + 0x2)]();
D_8018E2C4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018E2CC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018E2CC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018E248, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018E270);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018E27C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018E2B8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018E2D4[])(void);
void func_801449C8(void *a0) {
D_8018E2D4[*(u16 *)((s32)a0 + 0x2)]();
D_8018E2D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018E2DC[])(void);
void func_80144A2C(void *a0) {
D_8018E2DC[*(u16 *)((s32)a0 + 0x2)]();
D_8018E2DC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80186134[])(void);
void func_801425CC(void *a0) {
D_80186134[*(u16 *)((s32)a0 + 0x2)]();
D_80186134[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801863A4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80186624[])(void);
void func_80143B30(void *a0) {
D_80186624[*(u16 *)((s32)a0 + 0x2)]();
D_80186624[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80186630[])(void);
void func_80143C38(void *a0) {
D_80186630[*(u16 *)((s32)a0 + 0x2)]();
D_80186630[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186638[])(void);
void func_80143C98(void *a0) {
D_80186638[*(u16 *)((s32)a0 + 0x2)]();
D_80186638[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018665C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018665C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018665C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80186680[])(void);
void func_80143E68(void *a0) {
D_80186680[*(u16 *)((s32)a0 + 0x2)]();
D_80186680[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186694[])(void);
void func_80144054(void *a0) {
D_80186694[*(u16 *)((s32)a0 + 0x2)]();
D_80186694[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018669C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018669C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80186618, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80186640);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018664C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186688, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801866A4[])(void);
void func_801449C8(void *a0) {
D_801866A4[*(u16 *)((s32)a0 + 0x2)]();
D_801866A4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801866AC[])(void);
void func_80144A2C(void *a0) {
D_801866AC[*(u16 *)((s32)a0 + 0x2)]();
D_801866AC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80188D08[])(void);
void func_801425CC(void *a0) {
D_80188D08[*(u16 *)((s32)a0 + 0x2)]();
D_80188D08[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80188F78);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801891F8[])(void);
void func_80143B30(void *a0) {
D_801891F8[*(u16 *)((s32)a0 + 0x2)]();
D_801891F8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80189204[])(void);
void func_80143C38(void *a0) {
D_80189204[*(u16 *)((s32)a0 + 0x2)]();
D_80189204[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018920C[])(void);
void func_80143C98(void *a0) {
D_8018920C[*(u16 *)((s32)a0 + 0x2)]();
D_8018920C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80189230[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80189230[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80189230[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80189254[])(void);
void func_80143E68(void *a0) {
D_80189254[*(u16 *)((s32)a0 + 0x2)]();
D_80189254[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80189268[])(void);
void func_80144054(void *a0) {
D_80189268[*(u16 *)((s32)a0 + 0x2)]();
D_80189268[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80189270[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80189270[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801891EC, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80189214);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80189220);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018925C, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80189278[])(void);
void func_801449C8(void *a0) {
D_80189278[*(u16 *)((s32)a0 + 0x2)]();
D_80189278[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80189280[])(void);
void func_80144A2C(void *a0) {
D_80189280[*(u16 *)((s32)a0 + 0x2)]();
D_80189280[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1581,7 +1581,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80182368[])(void);
void func_801425CC(void *a0) {
D_80182368[*(u16 *)((s32)a0 + 0x2)]();
D_80182368[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1894,7 +1894,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1902,7 +1902,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801825D8);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2063,7 +2063,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80182858[])(void);
void func_80143B30(void *a0) {
D_80182858[*(u16 *)((s32)a0 + 0x2)]();
D_80182858[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2075,7 +2075,7 @@ void func_80143B30(void *a0) {
extern void (*D_80182864[])(void);
void func_80143C38(void *a0) {
D_80182864[*(u16 *)((s32)a0 + 0x2)]();
D_80182864[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2085,7 +2085,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018286C[])(void);
void func_80143C98(void *a0) {
D_8018286C[*(u16 *)((s32)a0 + 0x2)]();
D_8018286C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2106,35 +2106,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80182890[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80182890[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80182890[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2146,7 +2146,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801828B4[])(void);
void func_80143E68(void *a0) {
D_801828B4[*(u16 *)((s32)a0 + 0x2)]();
D_801828B4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2162,7 +2162,7 @@ void func_80143E68(void *a0) {
extern void (*D_801828C8[])(void);
void func_80144054(void *a0) {
D_801828C8[*(u16 *)((s32)a0 + 0x2)]();
D_801828C8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2186,9 +2186,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801828D0[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801828D0[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2214,19 +2214,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018284C, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2249,7 +2249,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2258,9 +2258,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2294,29 +2294,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80182874);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80182880);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2348,15 +2348,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801828BC, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2368,7 +2368,7 @@ void func_80144880(s32 param_1)
extern void (*D_801828D8[])(void);
void func_801449C8(void *a0) {
D_801828D8[*(u16 *)((s32)a0 + 0x2)]();
D_801828D8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2378,7 +2378,7 @@ void func_801449C8(void *a0) {
extern void (*D_801828E0[])(void);
void func_80144A2C(void *a0) {
D_801828E0[*(u16 *)((s32)a0 + 0x2)]();
D_801828E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80181EE8[])(void);
void func_801425CC(void *a0) {
D_80181EE8[*(u16 *)((s32)a0 + 0x2)]();
D_80181EE8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80182158);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801823D8[])(void);
void func_80143B30(void *a0) {
D_801823D8[*(u16 *)((s32)a0 + 0x2)]();
D_801823D8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801823E4[])(void);
void func_80143C38(void *a0) {
D_801823E4[*(u16 *)((s32)a0 + 0x2)]();
D_801823E4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_801823EC[])(void);
void func_80143C98(void *a0) {
D_801823EC[*(u16 *)((s32)a0 + 0x2)]();
D_801823EC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80182410[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80182410[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80182410[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80182434[])(void);
void func_80143E68(void *a0) {
D_80182434[*(u16 *)((s32)a0 + 0x2)]();
D_80182434[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80182448[])(void);
void func_80144054(void *a0) {
D_80182448[*(u16 *)((s32)a0 + 0x2)]();
D_80182448[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80182450[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80182450[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801823CC, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_801823F4);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80182400);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018243C, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80182458[])(void);
void func_801449C8(void *a0) {
D_80182458[*(u16 *)((s32)a0 + 0x2)]();
D_80182458[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80182460[])(void);
void func_80144A2C(void *a0) {
D_80182460[*(u16 *)((s32)a0 + 0x2)]();
D_80182460[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_801872C8[])(void);
void func_801425CC(void *a0) {
D_801872C8[*(u16 *)((s32)a0 + 0x2)]();
D_801872C8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80187538);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801877B8[])(void);
void func_80143B30(void *a0) {
D_801877B8[*(u16 *)((s32)a0 + 0x2)]();
D_801877B8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801877C4[])(void);
void func_80143C38(void *a0) {
D_801877C4[*(u16 *)((s32)a0 + 0x2)]();
D_801877C4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_801877CC[])(void);
void func_80143C98(void *a0) {
D_801877CC[*(u16 *)((s32)a0 + 0x2)]();
D_801877CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_801877F0[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_801877F0[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_801877F0[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80187814[])(void);
void func_80143E68(void *a0) {
D_80187814[*(u16 *)((s32)a0 + 0x2)]();
D_80187814[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80187828[])(void);
void func_80144054(void *a0) {
D_80187828[*(u16 *)((s32)a0 + 0x2)]();
D_80187828[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80187830[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80187830[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801877AC, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_801877D4);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_801877E0);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018781C, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80187838[])(void);
void func_801449C8(void *a0) {
D_80187838[*(u16 *)((s32)a0 + 0x2)]();
D_80187838[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80187840[])(void);
void func_80144A2C(void *a0) {
D_80187840[*(u16 *)((s32)a0 + 0x2)]();
D_80187840[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80186754[])(void);
void func_801425CC(void *a0) {
D_80186754[*(u16 *)((s32)a0 + 0x2)]();
D_80186754[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801869C4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80186C44[])(void);
void func_80143B30(void *a0) {
D_80186C44[*(u16 *)((s32)a0 + 0x2)]();
D_80186C44[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80186C50[])(void);
void func_80143C38(void *a0) {
D_80186C50[*(u16 *)((s32)a0 + 0x2)]();
D_80186C50[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186C58[])(void);
void func_80143C98(void *a0) {
D_80186C58[*(u16 *)((s32)a0 + 0x2)]();
D_80186C58[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80186C7C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80186C7C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80186C7C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80186CA0[])(void);
void func_80143E68(void *a0) {
D_80186CA0[*(u16 *)((s32)a0 + 0x2)]();
D_80186CA0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186CB4[])(void);
void func_80144054(void *a0) {
D_80186CB4[*(u16 *)((s32)a0 + 0x2)]();
D_80186CB4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80186CBC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80186CBC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80186C38, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80186C60);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80186C6C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186CA8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80186CC4[])(void);
void func_801449C8(void *a0) {
D_80186CC4[*(u16 *)((s32)a0 + 0x2)]();
D_80186CC4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80186CCC[])(void);
void func_80144A2C(void *a0) {
D_80186CCC[*(u16 *)((s32)a0 + 0x2)]();
D_80186CCC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80185D20[])(void);
void func_801425CC(void *a0) {
D_80185D20[*(u16 *)((s32)a0 + 0x2)]();
D_80185D20[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80185F90);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80186210[])(void);
void func_80143B30(void *a0) {
D_80186210[*(u16 *)((s32)a0 + 0x2)]();
D_80186210[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018621C[])(void);
void func_80143C38(void *a0) {
D_8018621C[*(u16 *)((s32)a0 + 0x2)]();
D_8018621C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186224[])(void);
void func_80143C98(void *a0) {
D_80186224[*(u16 *)((s32)a0 + 0x2)]();
D_80186224[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80186248[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80186248[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80186248[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018626C[])(void);
void func_80143E68(void *a0) {
D_8018626C[*(u16 *)((s32)a0 + 0x2)]();
D_8018626C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186280[])(void);
void func_80144054(void *a0) {
D_80186280[*(u16 *)((s32)a0 + 0x2)]();
D_80186280[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80186288[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80186288[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80186204, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018622C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80186238);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186274, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80186290[])(void);
void func_801449C8(void *a0) {
D_80186290[*(u16 *)((s32)a0 + 0x2)]();
D_80186290[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80186298[])(void);
void func_80144A2C(void *a0) {
D_80186298[*(u16 *)((s32)a0 + 0x2)]();
D_80186298[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80184CFC[])(void);
void func_801425CC(void *a0) {
D_80184CFC[*(u16 *)((s32)a0 + 0x2)]();
D_80184CFC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80184F6C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801851EC[])(void);
void func_80143B30(void *a0) {
D_801851EC[*(u16 *)((s32)a0 + 0x2)]();
D_801851EC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801851F8[])(void);
void func_80143C38(void *a0) {
D_801851F8[*(u16 *)((s32)a0 + 0x2)]();
D_801851F8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80185200[])(void);
void func_80143C98(void *a0) {
D_80185200[*(u16 *)((s32)a0 + 0x2)]();
D_80185200[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80185224[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80185224[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80185224[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80185248[])(void);
void func_80143E68(void *a0) {
D_80185248[*(u16 *)((s32)a0 + 0x2)]();
D_80185248[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018525C[])(void);
void func_80144054(void *a0) {
D_8018525C[*(u16 *)((s32)a0 + 0x2)]();
D_8018525C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80185264[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80185264[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801851E0, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80185208);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80185214);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80185250, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018526C[])(void);
void func_801449C8(void *a0) {
D_8018526C[*(u16 *)((s32)a0 + 0x2)]();
D_8018526C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80185274[])(void);
void func_80144A2C(void *a0) {
D_80185274[*(u16 *)((s32)a0 + 0x2)]();
D_80185274[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_801875B4[])(void);
void func_801425CC(void *a0) {
D_801875B4[*(u16 *)((s32)a0 + 0x2)]();
D_801875B4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80187824);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80187AA4[])(void);
void func_80143B30(void *a0) {
D_80187AA4[*(u16 *)((s32)a0 + 0x2)]();
D_80187AA4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80187AB0[])(void);
void func_80143C38(void *a0) {
D_80187AB0[*(u16 *)((s32)a0 + 0x2)]();
D_80187AB0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80187AB8[])(void);
void func_80143C98(void *a0) {
D_80187AB8[*(u16 *)((s32)a0 + 0x2)]();
D_80187AB8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80187ADC[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80187ADC[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80187ADC[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80187B00[])(void);
void func_80143E68(void *a0) {
D_80187B00[*(u16 *)((s32)a0 + 0x2)]();
D_80187B00[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80187B14[])(void);
void func_80144054(void *a0) {
D_80187B14[*(u16 *)((s32)a0 + 0x2)]();
D_80187B14[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80187B1C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80187B1C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80187A98, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80187AC0);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80187ACC);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80187B08, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80187B24[])(void);
void func_801449C8(void *a0) {
D_80187B24[*(u16 *)((s32)a0 + 0x2)]();
D_80187B24[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80187B2C[])(void);
void func_80144A2C(void *a0) {
D_80187B2C[*(u16 *)((s32)a0 + 0x2)]();
D_80187B2C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1603,7 +1603,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80185564[])(void);
void func_801425CC(void *a0) {
D_80185564[*(u16 *)((s32)a0 + 0x2)]();
D_80185564[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1916,7 +1916,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1924,7 +1924,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801857D4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2085,7 +2085,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80185A54[])(void);
void func_80143B30(void *a0) {
D_80185A54[*(u16 *)((s32)a0 + 0x2)]();
D_80185A54[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2097,7 +2097,7 @@ void func_80143B30(void *a0) {
extern void (*D_80185A60[])(void);
void func_80143C38(void *a0) {
D_80185A60[*(u16 *)((s32)a0 + 0x2)]();
D_80185A60[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2107,7 +2107,7 @@ void func_80143C38(void *a0) {
extern void (*D_80185A68[])(void);
void func_80143C98(void *a0) {
D_80185A68[*(u16 *)((s32)a0 + 0x2)]();
D_80185A68[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2128,35 +2128,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80185A8C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80185A8C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80185A8C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2168,7 +2168,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80185AB0[])(void);
void func_80143E68(void *a0) {
D_80185AB0[*(u16 *)((s32)a0 + 0x2)]();
D_80185AB0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2184,7 +2184,7 @@ void func_80143E68(void *a0) {
extern void (*D_80185AC4[])(void);
void func_80144054(void *a0) {
D_80185AC4[*(u16 *)((s32)a0 + 0x2)]();
D_80185AC4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2208,9 +2208,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80185ACC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80185ACC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2236,19 +2236,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80185A48, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2271,7 +2271,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2280,9 +2280,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2316,29 +2316,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80185A70);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80185A7C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2370,15 +2370,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80185AB8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2390,7 +2390,7 @@ void func_80144880(s32 param_1)
extern void (*D_80185AD4[])(void);
void func_801449C8(void *a0) {
D_80185AD4[*(u16 *)((s32)a0 + 0x2)]();
D_80185AD4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2400,7 +2400,7 @@ void func_801449C8(void *a0) {
extern void (*D_80185ADC[])(void);
void func_80144A2C(void *a0) {
D_80185ADC[*(u16 *)((s32)a0 + 0x2)]();
D_80185ADC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018C0F4[])(void);
void func_801425CC(void *a0) {
D_8018C0F4[*(u16 *)((s32)a0 + 0x2)]();
D_8018C0F4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018C364);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018C5E4[])(void);
void func_80143B30(void *a0) {
D_8018C5E4[*(u16 *)((s32)a0 + 0x2)]();
D_8018C5E4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018C5F0[])(void);
void func_80143C38(void *a0) {
D_8018C5F0[*(u16 *)((s32)a0 + 0x2)]();
D_8018C5F0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018C5F8[])(void);
void func_80143C98(void *a0) {
D_8018C5F8[*(u16 *)((s32)a0 + 0x2)]();
D_8018C5F8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018C61C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018C61C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018C61C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018C640[])(void);
void func_80143E68(void *a0) {
D_8018C640[*(u16 *)((s32)a0 + 0x2)]();
D_8018C640[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018C654[])(void);
void func_80144054(void *a0) {
D_8018C654[*(u16 *)((s32)a0 + 0x2)]();
D_8018C654[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018C65C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018C65C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018C5D8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018C600);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018C60C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018C648, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018C664[])(void);
void func_801449C8(void *a0) {
D_8018C664[*(u16 *)((s32)a0 + 0x2)]();
D_8018C664[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018C66C[])(void);
void func_80144A2C(void *a0) {
D_8018C66C[*(u16 *)((s32)a0 + 0x2)]();
D_8018C66C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_801820D4[])(void);
void func_801425CC(void *a0) {
D_801820D4[*(u16 *)((s32)a0 + 0x2)]();
D_801820D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80182344);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801825C4[])(void);
void func_80143B30(void *a0) {
D_801825C4[*(u16 *)((s32)a0 + 0x2)]();
D_801825C4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801825D0[])(void);
void func_80143C38(void *a0) {
D_801825D0[*(u16 *)((s32)a0 + 0x2)]();
D_801825D0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_801825D8[])(void);
void func_80143C98(void *a0) {
D_801825D8[*(u16 *)((s32)a0 + 0x2)]();
D_801825D8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_801825FC[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_801825FC[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_801825FC[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80182620[])(void);
void func_80143E68(void *a0) {
D_80182620[*(u16 *)((s32)a0 + 0x2)]();
D_80182620[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80182634[])(void);
void func_80144054(void *a0) {
D_80182634[*(u16 *)((s32)a0 + 0x2)]();
D_80182634[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018263C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018263C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801825B8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_801825E0);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_801825EC);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80182628, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80182644[])(void);
void func_801449C8(void *a0) {
D_80182644[*(u16 *)((s32)a0 + 0x2)]();
D_80182644[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018264C[])(void);
void func_80144A2C(void *a0) {
D_8018264C[*(u16 *)((s32)a0 + 0x2)]();
D_8018264C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8017F780[])(void);
void func_801425CC(void *a0) {
D_8017F780[*(u16 *)((s32)a0 + 0x2)]();
D_8017F780[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8017F9F0);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8017FC70[])(void);
void func_80143B30(void *a0) {
D_8017FC70[*(u16 *)((s32)a0 + 0x2)]();
D_8017FC70[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8017FC7C[])(void);
void func_80143C38(void *a0) {
D_8017FC7C[*(u16 *)((s32)a0 + 0x2)]();
D_8017FC7C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8017FC84[])(void);
void func_80143C98(void *a0) {
D_8017FC84[*(u16 *)((s32)a0 + 0x2)]();
D_8017FC84[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8017FCA8[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8017FCA8[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8017FCA8[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8017FCCC[])(void);
void func_80143E68(void *a0) {
D_8017FCCC[*(u16 *)((s32)a0 + 0x2)]();
D_8017FCCC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8017FCE0[])(void);
void func_80144054(void *a0) {
D_8017FCE0[*(u16 *)((s32)a0 + 0x2)]();
D_8017FCE0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8017FCE8[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8017FCE8[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8017FC64, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8017FC8C);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8017FC98);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8017FCD4, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8017FCF0[])(void);
void func_801449C8(void *a0) {
D_8017FCF0[*(u16 *)((s32)a0 + 0x2)]();
D_8017FCF0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8017FCF8[])(void);
void func_80144A2C(void *a0) {
D_8017FCF8[*(u16 *)((s32)a0 + 0x2)]();
D_8017FCF8[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80185D54[])(void);
void func_801425CC(void *a0) {
D_80185D54[*(u16 *)((s32)a0 + 0x2)]();
D_80185D54[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80185FC4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80186244[])(void);
void func_80143B30(void *a0) {
D_80186244[*(u16 *)((s32)a0 + 0x2)]();
D_80186244[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80186250[])(void);
void func_80143C38(void *a0) {
D_80186250[*(u16 *)((s32)a0 + 0x2)]();
D_80186250[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80186258[])(void);
void func_80143C98(void *a0) {
D_80186258[*(u16 *)((s32)a0 + 0x2)]();
D_80186258[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018627C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018627C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018627C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801862A0[])(void);
void func_80143E68(void *a0) {
D_801862A0[*(u16 *)((s32)a0 + 0x2)]();
D_801862A0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_801862B4[])(void);
void func_80144054(void *a0) {
D_801862B4[*(u16 *)((s32)a0 + 0x2)]();
D_801862B4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801862BC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801862BC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80186238, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80186260);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018626C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801862A8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801862C4[])(void);
void func_801449C8(void *a0) {
D_801862C4[*(u16 *)((s32)a0 + 0x2)]();
D_801862C4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801862CC[])(void);
void func_80144A2C(void *a0) {
D_801862CC[*(u16 *)((s32)a0 + 0x2)]();
D_801862CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80186B5C[])(void);
void func_801425CC(void *a0) {
D_80186B5C[*(u16 *)((s32)a0 + 0x2)]();
D_80186B5C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80186DCC);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018704C[])(void);
void func_80143B30(void *a0) {
D_8018704C[*(u16 *)((s32)a0 + 0x2)]();
D_8018704C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80187058[])(void);
void func_80143C38(void *a0) {
D_80187058[*(u16 *)((s32)a0 + 0x2)]();
D_80187058[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80187060[])(void);
void func_80143C98(void *a0) {
D_80187060[*(u16 *)((s32)a0 + 0x2)]();
D_80187060[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80187084[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80187084[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80187084[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801870A8[])(void);
void func_80143E68(void *a0) {
D_801870A8[*(u16 *)((s32)a0 + 0x2)]();
D_801870A8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_801870BC[])(void);
void func_80144054(void *a0) {
D_801870BC[*(u16 *)((s32)a0 + 0x2)]();
D_801870BC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801870C4[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801870C4[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80187040, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80187068);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80187074);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801870B0, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801870CC[])(void);
void func_801449C8(void *a0) {
D_801870CC[*(u16 *)((s32)a0 + 0x2)]();
D_801870CC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801870D4[])(void);
void func_80144A2C(void *a0) {
D_801870D4[*(u16 *)((s32)a0 + 0x2)]();
D_801870D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018420C[])(void);
void func_801425CC(void *a0) {
D_8018420C[*(u16 *)((s32)a0 + 0x2)]();
D_8018420C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018447C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801846FC[])(void);
void func_80143B30(void *a0) {
D_801846FC[*(u16 *)((s32)a0 + 0x2)]();
D_801846FC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80184708[])(void);
void func_80143C38(void *a0) {
D_80184708[*(u16 *)((s32)a0 + 0x2)]();
D_80184708[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80184710[])(void);
void func_80143C98(void *a0) {
D_80184710[*(u16 *)((s32)a0 + 0x2)]();
D_80184710[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80184734[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80184734[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80184734[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80184758[])(void);
void func_80143E68(void *a0) {
D_80184758[*(u16 *)((s32)a0 + 0x2)]();
D_80184758[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018476C[])(void);
void func_80144054(void *a0) {
D_8018476C[*(u16 *)((s32)a0 + 0x2)]();
D_8018476C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80184774[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80184774[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801846F0, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80184718);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80184724);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80184760, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018477C[])(void);
void func_801449C8(void *a0) {
D_8018477C[*(u16 *)((s32)a0 + 0x2)]();
D_8018477C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80184784[])(void);
void func_80144A2C(void *a0) {
D_80184784[*(u16 *)((s32)a0 + 0x2)]();
D_80184784[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8017FE74[])(void);
void func_801425CC(void *a0) {
D_8017FE74[*(u16 *)((s32)a0 + 0x2)]();
D_8017FE74[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_801800E4);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80180364[])(void);
void func_80143B30(void *a0) {
D_80180364[*(u16 *)((s32)a0 + 0x2)]();
D_80180364[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80180370[])(void);
void func_80143C38(void *a0) {
D_80180370[*(u16 *)((s32)a0 + 0x2)]();
D_80180370[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80180378[])(void);
void func_80143C98(void *a0) {
D_80180378[*(u16 *)((s32)a0 + 0x2)]();
D_80180378[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018039C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018039C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018039C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_801803C0[])(void);
void func_80143E68(void *a0) {
D_801803C0[*(u16 *)((s32)a0 + 0x2)]();
D_801803C0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_801803D4[])(void);
void func_80144054(void *a0) {
D_801803D4[*(u16 *)((s32)a0 + 0x2)]();
D_801803D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_801803DC[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_801803DC[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80180358, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80180380);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018038C);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_801803C8, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_801803E4[])(void);
void func_801449C8(void *a0) {
D_801803E4[*(u16 *)((s32)a0 + 0x2)]();
D_801803E4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_801803EC[])(void);
void func_80144A2C(void *a0) {
D_801803EC[*(u16 *)((s32)a0 + 0x2)]();
D_801803EC[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_801818E0[])(void);
void func_801425CC(void *a0) {
D_801818E0[*(u16 *)((s32)a0 + 0x2)]();
D_801818E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80181B50);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80181DD0[])(void);
void func_80143B30(void *a0) {
D_80181DD0[*(u16 *)((s32)a0 + 0x2)]();
D_80181DD0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80181DDC[])(void);
void func_80143C38(void *a0) {
D_80181DDC[*(u16 *)((s32)a0 + 0x2)]();
D_80181DDC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80181DE4[])(void);
void func_80143C98(void *a0) {
D_80181DE4[*(u16 *)((s32)a0 + 0x2)]();
D_80181DE4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80181E08[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80181E08[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80181E08[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80181E2C[])(void);
void func_80143E68(void *a0) {
D_80181E2C[*(u16 *)((s32)a0 + 0x2)]();
D_80181E2C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80181E40[])(void);
void func_80144054(void *a0) {
D_80181E40[*(u16 *)((s32)a0 + 0x2)]();
D_80181E40[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80181E48[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80181E48[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80181DC4, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80181DEC);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80181DF8);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80181E34, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80181E50[])(void);
void func_801449C8(void *a0) {
D_80181E50[*(u16 *)((s32)a0 + 0x2)]();
D_80181E50[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80181E58[])(void);
void func_80144A2C(void *a0) {
D_80181E58[*(u16 *)((s32)a0 + 0x2)]();
D_80181E58[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80183CE4[])(void);
void func_801425CC(void *a0) {
D_80183CE4[*(u16 *)((s32)a0 + 0x2)]();
D_80183CE4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80183F54);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801841D4[])(void);
void func_80143B30(void *a0) {
D_801841D4[*(u16 *)((s32)a0 + 0x2)]();
D_801841D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801841E0[])(void);
void func_80143C38(void *a0) {
D_801841E0[*(u16 *)((s32)a0 + 0x2)]();
D_801841E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_801841E8[])(void);
void func_80143C98(void *a0) {
D_801841E8[*(u16 *)((s32)a0 + 0x2)]();
D_801841E8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018420C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018420C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018420C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80184230[])(void);
void func_80143E68(void *a0) {
D_80184230[*(u16 *)((s32)a0 + 0x2)]();
D_80184230[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80184244[])(void);
void func_80144054(void *a0) {
D_80184244[*(u16 *)((s32)a0 + 0x2)]();
D_80184244[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018424C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018424C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801841C8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_801841F0);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_801841FC);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80184238, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80184254[])(void);
void func_801449C8(void *a0) {
D_80184254[*(u16 *)((s32)a0 + 0x2)]();
D_80184254[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018425C[])(void);
void func_80144A2C(void *a0) {
D_8018425C[*(u16 *)((s32)a0 + 0x2)]();
D_8018425C[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_80185CF0[])(void);
void func_801425CC(void *a0) {
D_80185CF0[*(u16 *)((s32)a0 + 0x2)]();
D_80185CF0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80185F60);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_801861E0[])(void);
void func_80143B30(void *a0) {
D_801861E0[*(u16 *)((s32)a0 + 0x2)]();
D_801861E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_801861EC[])(void);
void func_80143C38(void *a0) {
D_801861EC[*(u16 *)((s32)a0 + 0x2)]();
D_801861EC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_801861F4[])(void);
void func_80143C98(void *a0) {
D_801861F4[*(u16 *)((s32)a0 + 0x2)]();
D_801861F4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80186218[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80186218[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80186218[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018623C[])(void);
void func_80143E68(void *a0) {
D_8018623C[*(u16 *)((s32)a0 + 0x2)]();
D_8018623C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80186250[])(void);
void func_80144054(void *a0) {
D_80186250[*(u16 *)((s32)a0 + 0x2)]();
D_80186250[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80186258[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80186258[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_801861D4, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_801861FC);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80186208);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80186244, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80186260[])(void);
void func_801449C8(void *a0) {
D_80186260[*(u16 *)((s32)a0 + 0x2)]();
D_80186260[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80186268[])(void);
void func_80144A2C(void *a0) {
D_80186268[*(u16 *)((s32)a0 + 0x2)]();
D_80186268[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018AD9C[])(void);
void func_801425CC(void *a0) {
D_8018AD9C[*(u16 *)((s32)a0 + 0x2)]();
D_8018AD9C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018B00C);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018B28C[])(void);
void func_80143B30(void *a0) {
D_8018B28C[*(u16 *)((s32)a0 + 0x2)]();
D_8018B28C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018B298[])(void);
void func_80143C38(void *a0) {
D_8018B298[*(u16 *)((s32)a0 + 0x2)]();
D_8018B298[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018B2A0[])(void);
void func_80143C98(void *a0) {
D_8018B2A0[*(u16 *)((s32)a0 + 0x2)]();
D_8018B2A0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018B2C4[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018B2C4[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018B2C4[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018B2E8[])(void);
void func_80143E68(void *a0) {
D_8018B2E8[*(u16 *)((s32)a0 + 0x2)]();
D_8018B2E8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018B2FC[])(void);
void func_80144054(void *a0) {
D_8018B2FC[*(u16 *)((s32)a0 + 0x2)]();
D_8018B2FC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018B304[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018B304[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018B280, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018B2A8);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018B2B4);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018B2F0, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018B30C[])(void);
void func_801449C8(void *a0) {
D_8018B30C[*(u16 *)((s32)a0 + 0x2)]();
D_8018B30C[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018B314[])(void);
void func_80144A2C(void *a0) {
D_8018B314[*(u16 *)((s32)a0 + 0x2)]();
D_8018B314[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_801835B8[])(void);
void func_801425CC(void *a0) {
D_801835B8[*(u16 *)((s32)a0 + 0x2)]();
D_801835B8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_80183828);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_80183AA8[])(void);
void func_80143B30(void *a0) {
D_80183AA8[*(u16 *)((s32)a0 + 0x2)]();
D_80183AA8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_80183AB4[])(void);
void func_80143C38(void *a0) {
D_80183AB4[*(u16 *)((s32)a0 + 0x2)]();
D_80183AB4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_80183ABC[])(void);
void func_80143C98(void *a0) {
D_80183ABC[*(u16 *)((s32)a0 + 0x2)]();
D_80183ABC[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_80183AE0[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_80183AE0[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_80183AE0[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_80183B04[])(void);
void func_80143E68(void *a0) {
D_80183B04[*(u16 *)((s32)a0 + 0x2)]();
D_80183B04[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_80183B18[])(void);
void func_80144054(void *a0) {
D_80183B18[*(u16 *)((s32)a0 + 0x2)]();
D_80183B18[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_80183B20[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_80183B20[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_80183A9C, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_80183AC4);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_80183AD0);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_80183B0C, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_80183B28[])(void);
void func_801449C8(void *a0) {
D_80183B28[*(u16 *)((s32)a0 + 0x2)]();
D_80183B28[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_80183B30[])(void);
void func_80144A2C(void *a0) {
D_80183B30[*(u16 *)((s32)a0 + 0x2)]();
D_80183B30[((Unkstruct_80126B58 *)a0)->unk2]();
}
+60 -60
View File
@@ -1565,7 +1565,7 @@ void func_801424E4(short *param_1) {
extern void (*D_8018BFE4[])(void);
void func_801425CC(void *a0) {
D_8018BFE4[*(u16 *)((s32)a0 + 0x2)]();
D_8018BFE4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -1878,7 +1878,7 @@ void func_8014305C(int param_1)
do { iVar2 = ((int (*)(void))func_8012C1B8)(); } while (0);
s1_copy = iVar2;
*(int *)(s0_param + 0x20) = iVar2;
((Unkstruct_800B5CB8 *)s0_param)->unk20 = iVar2;
if (iVar2 == 0) {
((void (*)(int))func_8012CAE4)(s0_param);
} else {
@@ -1886,7 +1886,7 @@ void func_8014305C(int param_1)
sVar1 = (*(unsigned short *)(s0_param + 0x70) & 0xf) * 0x600 + 0xc00;
*(short *)(s1_copy + 0x1a) = sVar1;
*(short *)(s1_copy + 0x18) = sVar1;
*(short *)(s0_param + 0xfc) = 0;
((Unkstruct_800B5CB8 *)s0_param)->unkFC = 0;
func_8012A828(s0_param, D_8018C254);
((void (*)(int))func_80142B2C)(s0_param);
}
@@ -2047,7 +2047,7 @@ void func_8014358C(s32 param_1)
extern void (*D_8018C4D4[])(void);
void func_80143B30(void *a0) {
D_8018C4D4[*(u16 *)((s32)a0 + 0x2)]();
D_8018C4D4[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2059,7 +2059,7 @@ void func_80143B30(void *a0) {
extern void (*D_8018C4E0[])(void);
void func_80143C38(void *a0) {
D_8018C4E0[*(u16 *)((s32)a0 + 0x2)]();
D_8018C4E0[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2069,7 +2069,7 @@ void func_80143C38(void *a0) {
extern void (*D_8018C4E8[])(void);
void func_80143C98(void *a0) {
D_8018C4E8[*(u16 *)((s32)a0 + 0x2)]();
D_8018C4E8[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2090,35 +2090,35 @@ extern void func_8012C218(void *a0);
void func_80143D28(s32 param_1) {
extern MatEntry D_8018C50C[];
s32 iVar2 = *(s32 *)(param_1 + 0x64); /* $s1 */
MatEntry *p = &D_8018C50C[*(s16 *)(param_1 + 0x70)];
s32 iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk64; /* $s1 */
MatEntry *p = &D_8018C50C[((Unkstruct_800B5CB8 *)param_1)->unk70];
u16 uVar5 = p->f8;
s32 iVar3 = *(s32 *)(param_1 + 0x20);
s32 iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20;
s32 sVar4;
s32 iVar1;
*(s16 *)(iVar3 + 0x14) = uVar5;
*(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa;
CAST_WIDTH(s16, iVar3, 0x14) = uVar5;
((Unkstruct_800B5CB8 *)iVar3)->unk12 = ((Unkstruct_800B5CB8 *)iVar3)->unk12 + p->fa;
sVar4 = 0x1000;
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50));
((void (*)(void *, void *, void *))ApplyMatrixSV)((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50));
if (*(s16 *)(param_1 + 0xfe) == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) ||
if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0 &&
(iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC ||
*(u8 *)(iVar2 + 0xc1) != 6)) {
if (0x10 < *(s32 *)(param_1 + 0x1c)) {
*(s32 *)(param_1 + 0x1c) = 0x10;
if (0x10 < ((Unkstruct_800B5CB8 *)param_1)->unk1C) {
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10;
}
*(s16 *)(param_1 + 0xfe) = 1;
((Unkstruct_800B5CB8 *)param_1)->unkFE = 1;
}
iVar1 = *(s32 *)(param_1 + 0x1c);
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C;
if (iVar1 < 0x11) {
sVar4 = iVar1 << 8;
}
if (0x73 < iVar1) {
sVar4 = (0x78 - iVar1) << 10;
}
*(s16 *)(iVar3 + 0x18) = *(s16 *)(iVar3 + 0x1a) = *(s16 *)(iVar3 + 0x1c) = sVar4;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = ((Unkstruct_800B5CB8 *)iVar3)->unk1A = CAST_WIDTH(s16, iVar3, 0x1c) = sVar4;
if (func_8012BEE8(param_1)) {
func_8012C218((void *)param_1);
@@ -2130,7 +2130,7 @@ void func_80143D28(s32 param_1) {
extern void (*D_8018C530[])(void);
void func_80143E68(void *a0) {
D_8018C530[*(u16 *)((s32)a0 + 0x2)]();
D_8018C530[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2146,7 +2146,7 @@ void func_80143E68(void *a0) {
extern void (*D_8018C544[])(void);
void func_80144054(void *a0) {
D_8018C544[*(u16 *)((s32)a0 + 0x2)]();
D_8018C544[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2170,9 +2170,9 @@ void func_801442F8(int param_1)
{
int iVar1;
D_8018C54C[*(u16 *)(param_1 + 2)]();
iVar1 = *(int *)(param_1 + 0x1c) + 1;
*(int *)(param_1 + 0x1c) = iVar1;
D_8018C54C[CAST_SIGN(u16, param_1, 2)]();
iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1;
((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1;
if (0x1d < iVar1) {
func_8012C218(param_1);
}
@@ -2198,19 +2198,19 @@ void func_80144364(int param_1) {
*(int *)(param_1 + 0xCC) = iVar3;
*(u16 *)(param_1 + 0xFC) = uVar2;
func_8001CB6C((u8 *)iVar3, (s32)&D_8018C4C8, 0x250, 0x1A0);
*(s32 *)(iVar3 + 4) = 0x60000000;
*(u8 *)(iVar3 + 0x27) = 0x14;
*(u16 *)(iVar3 + 0x10) = 0x400;
*(u16 *)(iVar3 + 8) = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
*(u16 *)(iVar3 + 0xA) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
*(u16 *)(iVar3 + 0xC) = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
CAST_WIDTH(s32, iVar3, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)iVar3)->unk27 = 0x14;
((Unkstruct_800B5CB8 *)iVar3)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)iVar3)->unk8 = *(u16 *)(*(int *)(param_1 + 0x64) + 6);
((Unkstruct_800B5CB8 *)iVar3)->unkA = *(u16 *)(*(int *)(param_1 + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)iVar3)->unkC = *(u16 *)(*(int *)(param_1 + 0x64) + 0xE);
sVar1 = *(s16 *)(param_1 + 0x70);
if (sVar1 != 0) {
*(s16 *)(iVar3 + 0x1A) = sVar1;
*(s16 *)(iVar3 + 0x18) = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = sVar1;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar1;
} else {
*(u16 *)(iVar3 + 0x1A) = 0x2000;
*(u16 *)(iVar3 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar3)->unk18 = 0x2000;
}
*(u16 *)(param_1 + 2) = 1;
}
@@ -2233,7 +2233,7 @@ void func_80144458(void *arg0) {
void *temp_v0;
temp_s2 = M2C_FIELD(arg0, void **, 0xCC);
if (M2C_FIELD(arg0, s16 *, 0x70) == 0) {
if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) {
temp_v0 = M2C_FIELD(M2C_FIELD(arg0, void **, 0x64), void **, 0x20);
if (temp_v0 != NULL) {
temp_s0 = (M2C_FIELD(temp_v0, s16 *, 0x12) - 0x400) & 0xFFF;
@@ -2242,9 +2242,9 @@ void func_80144458(void *arg0) {
func_8012AD80(arg0);
}
}
M2C_FIELD(temp_s2, u16 *, 8) = (u16) M2C_FIELD(arg0, u16 *, 6);
M2C_FIELD(temp_s2, u16 *, 0xA) = (u16) M2C_FIELD(arg0, u16 *, 0xA);
M2C_FIELD(temp_s2, u16 *, 0xC) = (u16) M2C_FIELD(arg0, u16 *, 0xE);
((Unkstruct_800B5CB8 *)temp_s2)->unk8 = (u16) ((Unkstruct_800B5CB8 *)arg0)->unk6;
((Unkstruct_800B5CB8 *)temp_s2)->unkA = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkA;
((Unkstruct_800B5CB8 *)temp_s2)->unkC = (u16) ((Unkstruct_800B5CB8 *)arg0)->unkE;
if (func_80128ED8(temp_s2, arg0 + 0xD0) != 0) {
func_80016714(temp_s2, 0x38);
func_8012C218(arg0);
@@ -2278,29 +2278,29 @@ void func_8014477C(void *param_1) {
s32 fv;
v0 = ((s32 (*)(void))func_8012C1B8)();
*(s32 *)((s32)param_1 + 0x20) = v0;
((Unkstruct_800B5CB8 *)param_1)->unk20 = v0;
if (v0 == 0) {
func_8012CAE4(param_1);
return;
}
((void (*)(s32, void *))func_8001CA1C)(v0, &D_8018C4F0);
if (*(u16 *)(*(s32 *)((s32)param_1 + 0x64)) != 0) {
*(s16 *)((s32)param_1 + 0xFC) = *(u16 *)(*(s32 *)((s32)param_1 + 0x64) + 0x36);
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64) != 0) {
((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36);
uVar2 = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x30;
((Unkstruct_800B5CB8 *)param_1)->unkA = gv + fv;
} else {
*(u16 *)((s32)param_1 + 0xA) = *(u16 *)((s32)param_1 + 0xA) - 0x60;
((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x60;
}
}
((void (*)(void *, void *))func_8012A828)(param_1, &D_8018C4FC);
v1 = (s32)*(s16 *)((s32)param_1 + 0x70) << 0xC;
*(s16 *)((s32)param_1 + 0x2) = 1;
*(s16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x12) = v1 / 3;
*(s32 *)((s32)param_1 + 0x1C) = 0x78;
v1 = (s32)((Unkstruct_800B5CB8 *)param_1)->unk70 << 0xC;
((Unkstruct_800B5CB8 *)param_1)->unk2 = 1;
((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk12 = v1 / 3;
((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78;
}
@@ -2332,15 +2332,15 @@ void func_80144880(s32 param_1)
func_8001CB6C((u8 *)obj, (s32)&D_8018C538, 0x300, 0x1D0);
b = 0x6A;
}
*(u8 *)(obj + 0x27) = (u8)b;
*(s32 *)(obj + 4) = 0x60000000;
*(u16 *)(obj + 0x10) = 0x400;
*(u16 *)(obj + 8) = *(u16 *)(*(s32 *)(self + 0x64) + 6);
*(u16 *)(obj + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
((Unkstruct_800B5CB8 *)obj)->unk27 = (u8)b;
CAST_WIDTH(s32, obj, 4) = 0x60000000;
((Unkstruct_800B5CB8 *)obj)->unk10 = 0x400;
((Unkstruct_800B5CB8 *)obj)->unk8 = *(u16 *)(*(s32 *)(self + 0x64) + 6);
((Unkstruct_800B5CB8 *)obj)->unkA = *(u16 *)(*(s32 *)(self + 0x64) + 0xA);
e = *(u16 *)(*(s32 *)(self + 0x64) + 0xE);
*(u16 *)(obj + 0x1A) = 0x4000;
*(u16 *)(obj + 0x18) = 0x4000;
*(u16 *)(obj + 0xC) = (u16)e;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x4000;
((Unkstruct_800B5CB8 *)obj)->unkC = (u16)e;
*(s16 *)(self + 2) = *(s16 *)(self + 2) + 1;
}
}
@@ -2352,7 +2352,7 @@ void func_80144880(s32 param_1)
extern void (*D_8018C554[])(void);
void func_801449C8(void *a0) {
D_8018C554[*(u16 *)((s32)a0 + 0x2)]();
D_8018C554[((Unkstruct_80126B58 *)a0)->unk2]();
}
@@ -2362,7 +2362,7 @@ void func_801449C8(void *a0) {
extern void (*D_8018C55C[])(void);
void func_80144A2C(void *a0) {
D_8018C55C[*(u16 *)((s32)a0 + 0x2)]();
D_8018C55C[((Unkstruct_80126B58 *)a0)->unk2]();
}