From 0bd7785cefda00c54b3b826d9f19fb6a000647ee Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 1 Oct 2026 13:03:04 -0600 Subject: [PATCH] =?UTF-8?q?T3:=20batch=20t3=5FS1=20=E2=80=94=20restruct:?= =?UTF-8?q?=20batch=20t3=5FS1=20rung=20S=20=E2=80=94=2050=20files=20(TUs;?= =?UTF-8?q?=202088=20drawable)=20=C2=B7=203803=20bodies:=2024546=20sites?= =?UTF-8?q?=20=E2=86=92=20members=20/=202835=20kept=20/=209346=20skipped?= =?UTF-8?q?=20=C2=B7=20levers=20off=2014=20=C2=B7=20compiles=206948=20in?= =?UTF-8?q?=201701=20s=20wall=20=C2=B7=20final=2050/50=20identical=20?= =?UTF-8?q?=C2=B7=20written=2050=20files=20|=20R22=20check-all:=20218=20pa?= =?UTF-8?q?ssed,=200=20failed=20of=20218=20|=20type=5Fcensus:=201650=20def?= =?UTF-8?q?initions=20(523=20layouts,=2053=20duplicate=20classes,=200=20va?= =?UTF-8?q?riant=20camps)=20=C2=B7=20473279=20cast=20sites=20in=2067648=20?= =?UTF-8?q?bodies=20over=208=20base=20classes=20(4=20forms=20+=20A,=20cove?= =?UTF-8?q?rage=20OK)=20=C2=B7=20229=20lying=20declarations=20/=2024=20cal?= =?UTF-8?q?lees=20(+5293=20K&R=20sites,=20+418=20cross-binary=20apart)=20?= =?UTF-8?q?=C2=B7=20controls=204/4=20(restruct=5Fcycle)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 302 +- .run/P37/census/struct_map_top.json | 2 +- .run/P37/census/type_census.json | 56645 +++++++++++++++++++- .run/P37/census/type_census.txt | 34 +- src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c | 682 +- src/ov_SC02_005/ov_SC02_005_jr_80185E80.c | 1170 +- src/ov_SC02_011/ov_SC02_011_jr_80183178.c | 648 +- src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c | 1192 +- src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c | 1080 +- src/ov_SC02_026/ov_SC02_026_jr_8017C180.c | 1798 +- src/ov_SC02_027/ov_SC02_027_jr_8017D898.c | 2124 +- src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c | 790 +- src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c | 832 +- src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c | 1446 +- src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c | 922 +- src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c | 1002 +- src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c | 624 +- src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c | 2002 +- src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c | 556 +- src/ov_SC03_028/ov_SC03_028_jr_80185C14.c | 600 +- src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c | 1194 +- src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c | 788 +- src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c | 1172 +- src/ov_SC03_091/ov_SC03_091_jr_8018326C.c | 1142 +- src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c | 1496 +- src/ov_SC03_098/ov_SC03_098_jr_8017D898.c | 1382 +- src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c | 1170 +- src/ov_SC03_100/ov_SC03_100_jr_8017D898.c | 958 +- src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c | 1140 +- src/ov_SC03_103/ov_SC03_103_jr_8017C294.c | 1218 +- src/ov_SC03_104/ov_SC03_104_jr_80186538.c | 834 +- src/ov_SC03_107/ov_SC03_107_jr_801789AC.c | 734 +- src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c | 484 +- src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c | 1228 +- src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c | 442 +- src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c | 924 +- src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c | 854 +- src/ov_SC04_011/ov_SC04_011_jr_8017D494.c | 1326 +- src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c | 448 +- src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c | 668 +- src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c | 598 +- src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c | 434 +- src/ov_SC05_010/ov_SC05_010_jr_8018473C.c | 664 +- src/ov_SC05_018/ov_SC05_018_jr_8017D604.c | 632 +- src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c | 769 +- src/ov_SC06_008/ov_SC06_008_jr_8017C294.c | 1332 +- src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c | 1528 +- src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c | 1754 +- src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c | 1172 +- src/ov_SC06_022/ov_SC06_022_jr_80184A28.c | 1784 +- src/ov_SC06_024/ov_SC06_024_jr_80186F00.c | 1684 +- src/ov_SC06_029/ov_SC06_029_jr_8017C954.c | 706 +- src/ov_SC06_032/ov_SC06_032_jr_80182890.c | 2338 +- src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c | 1162 +- 54 files changed, 83369 insertions(+), 27241 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 327d58cc93..41c112d403 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "3507628e40", + "head": "fe2e814776", "stamp": "588cbf38c6e4", - "generated": "2026-10-01 12:16", + "generated": "2026-10-01 12:24", "aliases": [ "main", "md_SC07_004", @@ -21,176 +21,176 @@ "main": { "objects": 85, "identical": 85, - "seconds": 8.519999999999998, - "mean_s": 0.1 + "seconds": 9.309, + "mean_s": 0.11 }, "md_SC07_004": { "objects": 1, "identical": 1, - "seconds": 0.602, - "mean_s": 0.602 + "seconds": 0.653, + "mean_s": 0.653 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 6.038, - "mean_s": 0.189 + "seconds": 6.504, + "mean_s": 0.203 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 5.418000000000002, - "mean_s": 0.194 + "seconds": 5.495, + "mean_s": 0.196 } }, "per_object_seconds": { - "build/src/800.o": 0.9, - "build/src/800_b.o": 0.111, - "build/src/800_b_2.o": 0.368, - "build/src/800_b_o0a.o": 0.081, - "build/src/800_c.o": 0.239, - "build/src/800b2.o": 0.093, - "build/src/apicard1.o": 0.089, - "build/src/apicard2.o": 0.084, - "build/src/apicard3.o": 0.105, - "build/src/apicard4.o": 0.073, - "build/src/apicard5.o": 0.102, - "build/src/apicard6.o": 0.098, - "build/src/apicard7.o": 0.121, - "build/src/boot.o": 0.128, - "build/src/gap.o": 0.093, - "build/src/libapi1.o": 0.081, - "build/src/libapi2.o": 0.071, - "build/src/libc2_1.o": 0.081, + "build/src/800.o": 0.994, + "build/src/800_b.o": 0.097, + "build/src/800_b_2.o": 0.4, + "build/src/800_b_o0a.o": 0.097, + "build/src/800_c.o": 0.27, + "build/src/800b2.o": 0.143, + "build/src/apicard1.o": 0.087, + "build/src/apicard2.o": 0.092, + "build/src/apicard3.o": 0.117, + "build/src/apicard4.o": 0.106, + "build/src/apicard5.o": 0.109, + "build/src/apicard6.o": 0.1, + "build/src/apicard7.o": 0.115, + "build/src/boot.o": 0.138, + "build/src/gap.o": 0.119, + "build/src/libapi1.o": 0.112, + "build/src/libapi2.o": 0.08, + "build/src/libc2_1.o": 0.092, "build/src/libc2_2.o": 0.073, - "build/src/libcd1.o": 0.1, - "build/src/libcd2.o": 0.079, - "build/src/libetc.o": 0.081, - "build/src/libgpu.o": 0.09, - "build/src/libgpu2.o": 0.086, - "build/src/libgs1.o": 0.08, - "build/src/libgs2.o": 0.081, - "build/src/libgs3.o": 0.074, - "build/src/libgs4.o": 0.079, - "build/src/libgs5.o": 0.077, - "build/src/libgs6.o": 0.1, - "build/src/libgs7.o": 0.081, - "build/src/libgs8.o": 0.071, - "build/src/libgte1.o": 0.083, - "build/src/libgte10.o": 0.075, - "build/src/libgte11.o": 0.076, - "build/src/libgte12.o": 0.088, - "build/src/libgte13.o": 0.083, - "build/src/libgte14.o": 0.09, - "build/src/libgte15.o": 0.074, - "build/src/libgte16.o": 0.085, - "build/src/libgte17.o": 0.079, - "build/src/libgte18.o": 0.08, - "build/src/libgte19.o": 0.077, - "build/src/libgte2.o": 0.078, - "build/src/libgte20.o": 0.08, - "build/src/libgte21.o": 0.075, - "build/src/libgte22.o": 0.085, - "build/src/libgte23.o": 0.09, - "build/src/libgte24.o": 0.082, - "build/src/libgte25.o": 0.077, - "build/src/libgte26.o": 0.079, - "build/src/libgte27.o": 0.087, - "build/src/libgte28.o": 0.087, - "build/src/libgte29.o": 0.086, - "build/src/libgte3.o": 0.09, - "build/src/libgte30.o": 0.091, - "build/src/libgte4.o": 0.107, - "build/src/libgte5.o": 0.094, - "build/src/libgte6.o": 0.077, - "build/src/libgte7.o": 0.074, - "build/src/libgte8.o": 0.082, - "build/src/libgte9.o": 0.084, - "build/src/libmcrd1.o": 0.09, - "build/src/libmcrd2.o": 0.083, - "build/src/libpad1.o": 0.089, - "build/src/libpad2.o": 0.093, - "build/src/sgap.o": 0.1, - "build/src/sgap_2.o": 0.077, - "build/src/sgap_3.o": 0.082, - "build/src/sgap_4.o": 0.093, - "build/src/sgap_5.o": 0.079, - "build/src/sgap_6.o": 0.08, - "build/src/sgap_8.o": 0.085, - "build/src/snd1.o": 0.099, - "build/src/snd10.o": 0.084, - "build/src/snd11.o": 0.08, - "build/src/snd12.o": 0.074, - "build/src/snd2.o": 0.091, - "build/src/snd3.o": 0.079, - "build/src/snd4.o": 0.082, - "build/src/snd5.o": 0.083, + "build/src/libcd1.o": 0.113, + "build/src/libcd2.o": 0.081, + "build/src/libetc.o": 0.079, + "build/src/libgpu.o": 0.087, + "build/src/libgpu2.o": 0.092, + "build/src/libgs1.o": 0.094, + "build/src/libgs2.o": 0.083, + "build/src/libgs3.o": 0.081, + "build/src/libgs4.o": 0.101, + "build/src/libgs5.o": 0.081, + "build/src/libgs6.o": 0.102, + "build/src/libgs7.o": 0.098, + "build/src/libgs8.o": 0.11, + "build/src/libgte1.o": 0.084, + "build/src/libgte10.o": 0.077, + "build/src/libgte11.o": 0.084, + "build/src/libgte12.o": 0.099, + "build/src/libgte13.o": 0.085, + "build/src/libgte14.o": 0.085, + "build/src/libgte15.o": 0.093, + "build/src/libgte16.o": 0.083, + "build/src/libgte17.o": 0.076, + "build/src/libgte18.o": 0.108, + "build/src/libgte19.o": 0.081, + "build/src/libgte2.o": 0.091, + "build/src/libgte20.o": 0.084, + "build/src/libgte21.o": 0.108, + "build/src/libgte22.o": 0.084, + "build/src/libgte23.o": 0.078, + "build/src/libgte24.o": 0.077, + "build/src/libgte25.o": 0.101, + "build/src/libgte26.o": 0.128, + "build/src/libgte27.o": 0.107, + "build/src/libgte28.o": 0.078, + "build/src/libgte29.o": 0.075, + "build/src/libgte3.o": 0.095, + "build/src/libgte30.o": 0.081, + "build/src/libgte4.o": 0.082, + "build/src/libgte5.o": 0.085, + "build/src/libgte6.o": 0.083, + "build/src/libgte7.o": 0.076, + "build/src/libgte8.o": 0.085, + "build/src/libgte9.o": 0.087, + "build/src/libmcrd1.o": 0.092, + "build/src/libmcrd2.o": 0.085, + "build/src/libpad1.o": 0.087, + "build/src/libpad2.o": 0.098, + "build/src/sgap.o": 0.088, + "build/src/sgap_2.o": 0.093, + "build/src/sgap_3.o": 0.075, + "build/src/sgap_4.o": 0.099, + "build/src/sgap_5.o": 0.078, + "build/src/sgap_6.o": 0.089, + "build/src/sgap_8.o": 0.089, + "build/src/snd1.o": 0.098, + "build/src/snd10.o": 0.094, + "build/src/snd11.o": 0.1, + "build/src/snd12.o": 0.089, + "build/src/snd2.o": 0.113, + "build/src/snd3.o": 0.087, + "build/src/snd4.o": 0.108, + "build/src/snd5.o": 0.082, "build/src/snd6.o": 0.088, - "build/src/snd7.o": 0.089, - "build/src/snd8.o": 0.074, - "build/src/snd9.o": 0.081, - "build/src/md_SC07_004/md_SC07_004.o": 0.602, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.174, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.626, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.475, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.088, + "build/src/snd7.o": 0.129, + "build/src/snd8.o": 0.081, + "build/src/snd9.o": 0.084, + "build/src/md_SC07_004/md_SC07_004.o": 0.653, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.184, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.674, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.524, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.098, "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.164, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.199, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.154, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.123, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.091, - "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.105, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.225, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.122, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.081, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.093, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.125, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.574, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.322, - "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.251, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.097, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.141, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.099, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.219, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.251, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.084, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.344, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.076, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.095, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.084, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.104, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.177, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.549, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.435, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.081, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.078, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.163, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.209, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.154, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.111, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.233, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.168, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.231, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.172, + "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.097, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.245, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.117, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.229, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.134, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.109, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.14, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.612, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.357, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.149, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.272, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.094, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.148, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.111, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.226, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.276, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.366, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.084, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.096, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.092, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.102, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.181, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.567, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.467, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.08, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.087, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.166, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.206, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.16, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.116, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.104, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.248, "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.104, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.218, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.226, "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.135, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.098, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.107, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.137, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.106, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.104, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.135, "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.463, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.287, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.148, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.23, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.097, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.134, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.145, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.58, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.069, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.078 + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.289, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.136, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.223, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.091, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.138, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.101, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.136, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.565, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.078, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.083 }, "ok": true, - "seconds": 2.6 + "seconds": 2.7 } diff --git a/.run/P37/census/struct_map_top.json b/.run/P37/census/struct_map_top.json index 5739f35750..ef6f0174e4 100644 --- a/.run/P37/census/struct_map_top.json +++ b/.run/P37/census/struct_map_top.json @@ -1 +1 @@ -{"head": "7845da8f03", "when": "2026-10-01T17:32:55Z", "n_types": 19123, "types": [{"id": "AT:D_800B5CB8", "name": "Unkstruct_800B5CB8", "sites": 107580, "bodies": 11184, "nodes": 29942, "globals_at": ["D_800B5CB8", "D_800D3888", "D_80181448", "D_80181538", "D_801818AC", "D_8018192C", "D_80181D34", "D_80181D70", "D_80181D9C", "D_8018270C", "D_80182E80", "D_801831DC", "D_801832A8", "D_801834D4", "D_80183D08", "D_80184070", "D_801845C4", "D_801845D8", "D_80184664", "D_801846B4"], "globals_ptr": ["D_8006386C", "D_80074778", "D_80074780", "D_80074784", "D_80074790", "D_800747C0", "D_800747D4", "D_800747D8", "D_800747E8", "D_80075838", "D_80075A40", "D_80076040", "D_800760C8", "D_80078E50", "D_80078E80", "D_80078E84", "D_80078E88", "D_80078EAF", "D_80078EE4", "D_80078EE8"], "params": 4852, "size_hint": 268, "fields": 134, "layout": [[0, 2, "u", 367], [1, 1, "u", 11], [2, 2, "s", 3260], [3, 1, "u", 9], [4, 4, "s", 1376], [5, 4, "s", 2], [6, 2, "u", 1597], [8, 2, "u", 480], [10, 2, "u", 3444], [12, 2, "u", 470], [13, 1, "u", 12], [14, 2, "u", 1641], [16, 4, "s", 2139], [18, 2, "u", 4483], [20, 4, "s", 1156], [22, 2, "s", 280], [24, 4, "s", 2122], [26, 2, "u", 1431], [28, 4, "s", 7913], [30, 2, "s", 133], [31, 1, "s", 1], [32, 4, "s", 13163], [33, 1, "u", 8], [34, 1, "u", 12], [35, 1, "u", 5], [36, 4, "s", 111], [37, 1, "u", 9], [38, 1, "u", 11], [39, 1, "u", 403], [40, 4, "s", 31], [42, 2, "u", 24], [44, 2, "u", 728], [46, 2, "u", 31], [48, 4, "s", 31], [50, 2, "s", 11], [52, 2, "u", 2952], [54, 2, "u", 62], [56, 4, "s", 175], [58, 2, "u", 353], [60, 4, "s", 125], [62, 2, "u", 352], [64, 4, "s", 176], [66, 2, "u", 352], [68, 4, "s", 46], [72, 4, "s", 418], [74, 2, "u", 13], [76, 4, "s", 163], [80, 4, "s", 126], [82, 2, "s", 48], [84, 2, "u", 13], [88, 4, "s", 396], [92, 2, "u", 947], [94, 1, "u", 295], [96, 2, "s", 802], [98, 2, "u", 184], [100, 4, "s", 2014], [104, 4, "s", 123], [108, 4, "s", 152], [112, 2, "s", 1813], [114, 2, "u", 321], [116, 1, "u", 41], [117, 1, "u", 275], [118, 2, "s", 910], [120, 4, "s", 615]], "conflicts": [[0, {"2u": 367, "2s": 38, "4s": 25, "1u": 24, "4p": 10}], [1, {"1u": 11, "2u": 6}], [2, {"2u": 2271, "2s": 3260, "1u": 7}], [4, {"4s": 1376, "4u": 538, "2u": 26, "2s": 61, "1s": 2}], [6, {"2u": 1597, "2s": 696, "4s": 2}], [8, {"2s": 36, "4s": 466, "2u": 480, "4u": 9}], [12, {"2s": 22, "4s": 399, "2u": 470, "4u": 6, "1u": 16}], [16, {"2s": 935, "2u": 1925, "4s": 2139, "4u": 8, "4p": 3}], [18, {"2s": 2789, "2u": 4483, "4s": 2}], [20, {"2s": 416, "2u": 310, "4s": 1156, "4u": 13}], [24, {"2s": 778, "2u": 1062, "4s": 2122, "4u": 13}], [28, {"2s": 306, "2u": 160, "4s": 7913, "4u": 59, "1u": 5}]], "evidence": {"PV": 4852, "L": 10009, "PTR": 9758, "AT": 266, "P": 4852, "R": 86, "FLD": 119}, "sign_mixed": 55, "merges": {"arg&": 249, "param": 9704, "arg": 7080, "assign": 8078, "return": 713, "ret-of": 1477, "assign&": 18, "field": 2622}, "suspect": true}, {"id": "AT:D_80126B58", "name": "Unkstruct_80126B58", "sites": 65397, "bodies": 17047, "nodes": 3390, "globals_at": ["D_80126B58"], "globals_ptr": ["D_80126B58"], "params": 1051, "size_hint": 588, "fields": 175, "layout": [[0, 2, "u", 9057], [2, 2, "u", 10770], [4, 4, "s", 12], [5, 4, "s", 1], [6, 2, "s", 237], [8, 4, "s", 15], [10, 2, "s", 520], [12, 4, "s", 13], [14, 2, "s", 239], [16, 4, "s", 464], [18, 2, "u", 22], [20, 4, "s", 440], [22, 2, "u", 6], [24, 4, "s", 438], [26, 2, "u", 8], [28, 4, "s", 105], [30, 4, "u", 1], [32, 4, "s", 2252], [34, 4, "u", 1], [36, 4, "s", 142], [38, 2, "s", 133], [40, 4, "s", 12], [44, 4, "s", 4448], [46, 2, "s", 135], [48, 4, "s", 171], [52, 4, "s", 979], [56, 4, "s", 7], [60, 2, "u", 8], [62, 2, "s", 4], [64, 2, "s", 4], [66, 2, "s", 6], [68, 4, "u", 1744], [70, 2, "s", 1], [76, 4, "s", 49], [77, 1, "u", 13], [78, 1, "u", 2], [79, 1, "u", 133], [80, 4, "s", 2181], [84, 4, "s", 2151], [88, 4, "s", 2145], [89, 1, "u", 3], [90, 2, "s", 7], [91, 1, "u", 1], [92, 4, "s", 404], [93, 1, "u", 3], [94, 1, "u", 3], [95, 1, "u", 1], [96, 2, "u", 72], [98, 2, "u", 26], [100, 2, "u", 14], [102, 2, "u", 10], [103, 1, "u", 2], [104, 2, "s", 1], [106, 2, "s", 1], [108, 2, "s", 1], [112, 2, "s", 2], [114, 2, "s", 1], [116, 2, "s", 1], [121, 2, "s", 1], [126, 2, "u", 1], [136, 2, "u", 7], [138, 2, "u", 7], [140, 2, "u", 7], [168, 1, "u", 32]], "conflicts": [[4, {"4s": 12, "2u": 5}], [6, {"2s": 237, "2u": 178, "4s": 1}], [8, {"4s": 15, "2u": 5}], [12, {"4s": 13, "2u": 5}], [16, {"4p": 2, "4s": 464, "2u": 283, "2s": 10}], [20, {"2u": 6, "4s": 440, "4u": 2}], [24, {"2u": 8, "4s": 438, "4u": 2}], [36, {"4s": 142, "2s": 20, "2u": 2}], [40, {"4s": 12, "1u": 2, "2s": 11, "2u": 1}], [44, {"4s": 4448, "4u": 8, "2s": 3}], [48, {"4s": 171, "1u": 2, "4u": 4}], [68, {"4u": 1744, "2s": 1, "4s": 331}]], "evidence": {"PV": 1051, "L": 1272, "AT": 1, "P": 1051, "PTR": 1, "FLD": 14}, "sign_mixed": 60, "merges": {"assign&": 106, "param": 2102, "arg": 1087, "assign": 43, "field": 51}, "suspect": true}, {"id": "L:F:5d04529f0dac0bc0e8ed5a58782010f1c9e3ebdb:arg0", "name": "Unkstruct_cb638a45", "sites": 6477, "bodies": 381, "nodes": 15, "globals_at": [], "globals_ptr": [], "params": 5, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 1143], [6, 2, "s", 1143], [8, 2, "s", 1016], [10, 2, "s", 1016], [12, 2, "s", 1143], [14, 2, "s", 1016]], "conflicts": [], "evidence": {"PV": 5, "P": 5, "L": 5}, "sign_mixed": 0, "merges": {"param": 10, "arg": 4}, "suspect": false}, {"id": "L:F:a2c00e890871a3d894f8977fdd58daffe546a666:arg0", "name": "Unkstruct_dac960ce", "sites": 4464, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 588, "fields": 13, "layout": [[0, 2, "u", 248], [6, 2, "s", 248], [10, 2, "u", 496], [14, 2, "s", 248], [68, 4, "u", 124], [184, 2, "u", 496], [186, 2, "u", 124], [446, 1, "u", 248], [580, 1, "u", 372], [581, 1, "u", 620], [582, 2, "u", 248], [584, 2, "u", 248], [586, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fdea804fac944d7874892061563887debbf5f021:a1", "name": "Unkstruct_0caecd54", "sites": 4340, "bodies": 124, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 23, "layout": [[0, 2, "u", 248], [2, 2, "u", 124], [4, 2, "u", 124], [6, 2, "u", 248], [8, 2, "u", 124], [10, 2, "u", 248], [12, 2, "u", 124], [14, 2, "u", 248], [32, 4, "s", 496], [54, 2, "u", 124], [80, 2, "u", 124], [82, 2, "u", 124], [84, 2, "u", 124], [100, 4, "s", 372], [104, 4, "s", 248], [112, 2, "u", 124], [114, 2, "u", 124], [120, 4, "s", 124], [136, 2, "u", 124], [138, 2, "u", 124], [140, 2, "u", 124], [220, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1, "R": 1}, "sign_mixed": 1, "merges": {"param": 2, "assign": 1, "return": 1}, "suspect": false}, {"id": "L:F:037c9974beb20a2b4fedb50684f58aba7da3df41:a0", "name": "Unkstruct_f8ed2b9f", "sites": 4061, "bodies": 4061, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 535, "fields": 1, "layout": [[534, 1, "u", 4061]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cach", "name": "Unkstruct_a32b99a1", "sites": 3936, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 8, "layout": [[20, 4, "s", 984], [26, 2, "s", 246], [52, 2, "u", 492], [58, 2, "u", 123], [62, 2, "u", 369], [64, 2, "u", 984], [66, 1, "u", 246], [74, 1, "u", 369]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:cach", "name": "Unkstruct_8e3dbe51", "sites": 3930, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 76, "fields": 5, "layout": [[30, 2, "s", 393], [46, 2, "s", 262], [71, 1, "u", 1441], [72, 1, "u", 786], [75, 1, "u", 917]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "FLD:AT:D_80126B58:0x178", "name": "Unkstruct_8014A1B0", "sites": 3778, "bodies": 542, "nodes": 35, "globals_at": [], "globals_ptr": [], "params": 5, "size_hint": 254, "fields": 13, "layout": [[0, 2, "u", 401], [6, 2, "s", 539], [10, 2, "s", 539], [14, 2, "s", 539], [32, 4, "s", 133], [92, 2, "u", 2], [94, 2, "u", 1], [96, 2, "u", 1], [98, 2, "u", 1], [120, 4, "s", 1617], [200, 1, "u", 1], [201, 1, "u", 1], [252, 2, "s", 1]], "conflicts": [], "evidence": {"L": 21, "PV": 5, "P": 5, "R": 1, "FLD": 3}, "sign_mixed": 1, "merges": {"field": 13, "arg": 10, "param": 10, "return": 1}, "suspect": false}, {"id": "FLD:L:F:0142ec5f23f03ef302b2868332ae4bf0df389535:param_1:0x20", "name": "Unkstruct_80128EA8", "sites": 3311, "bodies": 632, "nodes": 53, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 18, "layout": [[4, 4, "u", 666], [8, 2, "u", 1], [10, 2, "u", 1], [12, 2, "u", 1], [16, 2, "s", 59], [18, 2, "s", 29], [20, 2, "s", 8], [24, 2, "u", 414], [26, 2, "u", 414], [32, 4, "s", 2], [36, 1, "s", 134], [37, 1, "s", 134], [38, 1, "s", 134], [39, 1, "u", 142], [40, 2, "s", 94], [42, 2, "s", 79], [44, 2, "u", 4], [52, 4, "s", 135]], "conflicts": [], "evidence": {"L": 43, "PV": 1, "P": 1, "R": 2, "FLD": 6}, "sign_mixed": 13, "merges": {"field": 7, "arg": 23, "ret-of": 19, "assign": 1, "param": 2}, "suspect": false}, {"id": "L:F:011613e668968182114e5cc5d5f0c821df50d7b8:a0", "name": "Unkstruct_57a28935", "sites": 3271, "bodies": 196, "nodes": 402, "globals_at": [], "globals_ptr": [], "params": 134, "size_hint": 164, "fields": 26, "layout": [[5, 1, "u", 228], [8, 4, "s", 74], [12, 2, "s", 74], [16, 4, "s", 151], [20, 4, "s", 123], [24, 2, "s", 154], [26, 2, "s", 153], [28, 2, "s", 148], [32, 2, "s", 96], [34, 2, "s", 92], [36, 2, "s", 78], [40, 2, "s", 312], [42, 2, "s", 298], [44, 2, "s", 298], [46, 2, "s", 117], [48, 2, "s", 83], [50, 2, "s", 80], [60, 4, "s", 74], [64, 4, "s", 74], [68, 4, "s", 74], [72, 4, "s", 74], [76, 4, "s", 74], [80, 4, "s", 74], [156, 4, "s", 13], [160, 2, "u", 4], [162, 2, "u", 3]], "conflicts": [[8, {"4s": 74, "2s": 74}], [16, {"4s": 151, "2s": 76}], [20, {"4s": 123, "2s": 74}]], "evidence": {"PV": 134, "P": 134, "L": 134}, "sign_mixed": 9, "merges": {"param": 268, "arg": 133}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:flag", "name": "Unkstruct_1fa9e810", "sites": 3144, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 73, "fields": 3, "layout": [[46, 2, "s", 393], [71, 1, "u", 524], [72, 1, "u", 2227]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:f290967a9bfb3ed845a5d2a766082ed2705729c6:buf", "name": "Unkstruct_30b21035", "sites": 3100, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 84, "fields": 13, "layout": [[32, 2, "s", 248], [34, 2, "s", 248], [36, 2, "s", 248], [40, 2, "s", 248], [42, 2, "s", 248], [44, 2, "s", 248], [48, 2, "s", 248], [50, 2, "s", 248], [52, 2, "s", 248], [56, 2, "s", 248], [58, 2, "s", 248], [60, 2, "s", 248], [80, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80126948", "name": "Unkstruct_80126948", "sites": 2986, "bodies": 832, "nodes": 125, "globals_at": ["D_80126948", "D_80126E60"], "globals_ptr": ["D_80114EE8", "D_801151D4", "D_80126948", "D_80126E60", "D_80126F04", "D_80126FA8"], "params": 3, "size_hint": 164, "fields": 34, "layout": [[0, 4, "s", 7], [4, 1, "u", 43], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 26], [20, 4, "s", 24], [24, 2, "s", 2], [26, 2, "u", 13], [32, 2, "s", 2], [34, 2, "u", 12], [36, 2, "s", 1], [40, 2, "s", 1], [42, 2, "s", 4], [44, 2, "s", 1], [46, 2, "s", 2], [48, 2, "s", 4], [50, 2, "s", 2], [52, 4, "s", 4], [56, 2, "u", 16], [60, 4, "s", 539], [64, 4, "s", 139], [68, 4, "s", 539], [72, 4, "s", 539], [76, 4, "s", 140], [80, 4, "s", 673], [92, 4, "s", 57], [96, 4, "s", 53], [100, 4, "s", 57], [104, 4, "s", 13], [108, 4, "s", 9], [112, 4, "s", 13], [156, 4, "s", 1], [160, 2, "s", 1], [162, 2, "s", 1]], "conflicts": [], "evidence": {"PV": 3, "PTR": 6, "L": 111, "P": 3, "AT": 2}, "sign_mixed": 10, "merges": {"arg&": 1, "assign": 99, "param": 6, "arg": 14, "assign&": 4}, "suspect": false}, {"id": "L:F:1fd5c5850652e651e5db7bf9ff6d4ae99aab9d03:arg0", "name": "Unkstruct_adc0bee4", "sites": 2646, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 8, "layout": [[2, 2, "u", 252], [6, 2, "s", 378], [10, 2, "s", 378], [14, 2, "s", 378], [18, 2, "u", 126], [22, 2, "u", 126], [32, 4, "s", 126], [48, 4, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 3, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1", "name": "Unkstruct_198fc7cc", "sites": 2580, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 16, "layout": [[2, 2, "u", 258], [6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [16, 4, "s", 129], [18, 2, "u", 129], [20, 4, "s", 129], [22, 2, "s", 129], [24, 4, "s", 129], [26, 2, "u", 129], [28, 4, "s", 258], [32, 4, "s", 258], [40, 2, "u", 129], [44, 4, "s", 129], [48, 4, "s", 129], [52, 4, "s", 129]], "conflicts": [[18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:AT:D_800B5CB8:0x64", "name": "Unkstruct_801439FC", "sites": 2489, "bodies": 981, "nodes": 103, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 268, "fields": 57, "layout": [[0, 2, "u", 151], [2, 2, "u", 15], [4, 4, "s", 66], [6, 2, "u", 37], [8, 4, "s", 67], [10, 2, "u", 34], [12, 4, "s", 67], [14, 2, "u", 32], [16, 4, "s", 2], [18, 2, "s", 3], [20, 4, "s", 2], [24, 4, "s", 2], [28, 4, "s", 6], [32, 4, "s", 457], [52, 2, "s", 2], [54, 2, "s", 263], [56, 4, "s", 1], [60, 4, "s", 1], [64, 4, "s", 1], [88, 4, "s", 134], [92, 2, "u", 21], [94, 2, "u", 16], [96, 2, "s", 15], [98, 2, "u", 15], [100, 4, "s", 1], [104, 4, "s", 1], [108, 4, "s", 4], [112, 2, "s", 76], [118, 2, "s", 17], [124, 2, "u", 15], [126, 2, "u", 15], [128, 2, "u", 15], [144, 4, "s", 16], [148, 4, "s", 13], [152, 2, "s", 1], [193, 1, "u", 150], [204, 4, "s", 38], [206, 2, "u", 11], [208, 4, "s", 16], [212, 2, "u", 11], [214, 2, "u", 11], [216, 2, "u", 11], [220, 4, "s", 8], [224, 4, "s", 36], [226, 2, "u", 1], [228, 4, "s", 2], [232, 4, "u", 3], [240, 4, "s", 2], [248, 4, "s", 21], [250, 2, "s", 2], [252, 2, "s", 19], [254, 2, "s", 38], [256, 2, "u", 25], [258, 2, "u", 3], [260, 2, "s", 1], [262, 2, "s", 2], [266, 2, "u", 2]], "conflicts": [[204, {"4s": 38, "2u": 11}], [208, {"4s": 16, "2u": 11}], [6, "overlap"], [10, "overlap"], [14, "overlap"], [18, "overlap"], [206, "overlap"], [226, "overlap"], [250, "overlap"]], "evidence": {"L": 102, "FLD": 1}, "sign_mixed": 22, "merges": {"field": 102}, "suspect": false}, {"id": "FLD:L:F:ed1c24ca47a915759f6ba3f907f5b5d82aa3c397:base:0x24", "name": "Unkstruct_80130D48", "sites": 2382, "bodies": 587, "nodes": 121, "globals_at": [], "globals_ptr": ["D_80072C84", "D_80078E78"], "params": 0, "size_hint": 100, "fields": 25, "layout": [[0, 1, "u", 266], [4, 4, "s", 6], [20, 4, "s", 3], [24, 4, "s", 1], [26, 2, "u", 26], [34, 2, "s", 1], [36, 4, "s", 3], [38, 2, "s", 533], [40, 4, "s", 6], [42, 2, "s", 1], [44, 4, "s", 2], [46, 2, "s", 534], [48, 4, "s", 4], [50, 2, "s", 1], [52, 2, "u", 2], [55, 1, "u", 1], [58, 2, "u", 135], [60, 2, "u", 139], [62, 2, "u", 266], [64, 2, "u", 400], [67, 1, "s", 1], [73, 1, "u", 1], [80, 4, "s", 1], [96, 4, "s", 6], [98, 2, "s", 4]], "conflicts": [[26, "overlap"], [38, "overlap"], [42, "overlap"], [46, "overlap"], [50, "overlap"], [98, "overlap"]], "evidence": {"L": 118, "PTR": 2, "FLD": 1}, "sign_mixed": 3, "merges": {"field": 1, "assign": 119}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:buf", "name": "Unkstruct_ed8f1335", "sites": 2356, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 18, "layout": [[0, 4, "s", 124], [4, 2, "s", 248], [6, 2, "s", 124], [8, 2, "s", 124], [10, 2, "s", 124], [12, 2, "s", 124], [14, 1, "u", 124], [15, 1, "u", 124], [16, 2, "s", 124], [18, 2, "s", 124], [20, 1, "u", 124], [21, 1, "u", 124], [22, 1, "u", 124], [24, 2, "s", 124], [26, 2, "s", 124], [28, 2, "s", 124], [30, 2, "s", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:11f86a358e6d71766aa362f8cfb3a9eb58ca58bc:param_1", "name": "Unkstruct_8016B4F8", "sites": 2140, "bodies": 535, "nodes": 39, "globals_at": [], "globals_ptr": [], "params": 13, "size_hint": 48, "fields": 5, "layout": [[16, 4, "s", 269], [20, 4, "s", 269], [24, 4, "s", 402], [28, 4, "s", 666], [44, 4, "s", 534]], "conflicts": [], "evidence": {"PV": 13, "P": 13, "L": 13}, "sign_mixed": 0, "merges": {"param": 26, "arg": 12}, "suspect": false}, {"id": "L:F:07b460bb9e8b53760af60379de40d6d476777b34:param_1", "name": "Unkstruct_80139C7C", "sites": 2111, "bodies": 265, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 68, "fields": 14, "layout": [[8, 4, "s", 262], [24, 2, "s", 131], [28, 2, "s", 131], [32, 1, "u", 132], [34, 1, "u", 525], [36, 2, "u", 1], [38, 2, "u", 1], [44, 2, "s", 262], [46, 2, "s", 262], [48, 2, "s", 1], [50, 2, "s", 1], [52, 2, "s", 133], [54, 2, "s", 131], [64, 4, "s", 2]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 3, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:989ea29447ebea9f665718fe835d44c289cd476c:L", "name": "Unkstruct_b047cdf2", "sites": 2108, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 6, "layout": [[0, 2, "s", 1116], [2, 2, "s", 248], [8, 4, "s", 124], [12, 4, "s", 372], [24, 4, "s", 124], [28, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:flag", "name": "Unkstruct_2729e670", "sites": 2091, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 6, "layout": [[20, 4, "s", 369], [26, 2, "s", 369], [52, 2, "u", 369], [60, 2, "u", 123], [64, 2, "u", 492], [74, 1, "u", 369]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:s", "name": "Unkstruct_dd542e54", "sites": 2016, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 24, "fields": 7, "layout": [[7, 1, "u", 126], [12, 2, "u", 126], [14, 2, "u", 126], [16, 2, "u", 252], [18, 2, "u", 252], [20, 2, "u", 126], [22, 2, "u", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:param_1", "name": "Unkstruct_f49880fd", "sites": 2000, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 84, "fields": 6, "layout": [[24, 2, "s", 250], [26, 2, "s", 250], [28, 2, "s", 125], [72, 4, "s", 375], [76, 4, "s", 500], [80, 4, "s", 375]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cb8944340208a6dacc6cd8ff089a3c5b21bf4b3:a0", "name": "Unkstruct_a8d34bce", "sites": 1948, "bodies": 1948, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 533, "fields": 1, "layout": [[532, 1, "u", 1948]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:4c09002e2679c98f83f9f9cfd76c32f960133d5d:param_1", "name": "Unkstruct_568f7bda", "sites": 1875, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 9, "layout": [[2, 2, "s", 125], [6, 2, "s", 125], [10, 2, "s", 125], [14, 2, "s", 125], [18, 2, "s", 250], [28, 4, "s", 500], [40, 2, "s", 125], [48, 4, "s", 250], [52, 4, "p", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1e5bdb3d889cf99856e8e0f53e443c0d445ca75e:param_1", "name": "Unkstruct_8016DF5C", "sites": 1791, "bodies": 131, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 56, "fields": 9, "layout": [[2, 2, "s", 255], [6, 2, "s", 128], [10, 2, "s", 128], [14, 2, "s", 128], [28, 4, "s", 258], [32, 4, "s", 128], [44, 4, "u", 127], [48, 4, "s", 127], [52, 4, "s", 128]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 3, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:dd085c59e1d27a2cec8deecf598ef9fa6b2300a9:param", "name": "Unkstruct_cd1bacd2", "sites": 1764, "bodies": 126, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 10, "layout": [[2, 2, "u", 252], [6, 2, "u", 126], [10, 2, "u", 126], [14, 2, "u", 126], [16, 2, "s", 126], [18, 2, "u", 252], [22, 2, "u", 252], [26, 2, "u", 252], [32, 4, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 3, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 2}, "suspect": false}, {"id": "AT:D_8011F7A8", "name": "Unkstruct_8011F7A8", "sites": 1742, "bodies": 270, "nodes": 19, "globals_at": ["D_8011F7A8"], "globals_ptr": [], "params": 0, "size_hint": 286, "fields": 7, "layout": [[7, 1, "u", 399], [8, 1, "u", 266], [18, 2, "u", 266], [20, 2, "u", 133], [22, 2, "u", 266], [130, 2, "u", 133], [284, 2, "u", 266]], "conflicts": [], "evidence": {"L": 18, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 18}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cur", "name": "Unkstruct_84612d18", "sites": 1722, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 8, "layout": [[20, 4, "s", 246], [26, 2, "s", 246], [52, 2, "u", 246], [58, 2, "u", 123], [62, 2, "u", 246], [64, 2, "u", 246], [66, 1, "u", 123], [74, 1, "u", 246]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:304d1a1cd67647ffff0d682a49fc7bd3bb4ca331:puVar10", "name": "Unkstruct_57db4d07", "sites": 1664, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 13, "layout": [[-21, 1, "u", 128], [-20, 4, "u", 128], [-16, 1, "u", 128], [-15, 1, "u", 128], [-14, 1, "u", 128], [-13, 1, "u", 128], [-12, 2, "u", 128], [-10, 2, "u", 128], [-8, 1, "u", 128], [-7, 1, "u", 128], [-6, 2, "u", 128], [-4, 2, "u", 128], [-2, 2, "u", 128]], "conflicts": [[-21, "overlap"], [-20, "overlap"], [-16, "overlap"], [-15, "overlap"], [-14, "overlap"], [-13, "overlap"], [-12, "overlap"], [-10, "overlap"], [-8, "overlap"], [-7, "overlap"], [-6, "overlap"], [-4, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:0ef566a105e459b80720f079223698904a0de611:param_1:0x20", "name": "Unkstruct_4692fc17", "sites": 1612, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 4, "layout": [[18, 2, "s", 248], [24, 2, "s", 248], [26, 2, "u", 248], [28, 2, "u", 248]], "conflicts": [], "evidence": {"L": 2, "FLD": 1}, "sign_mixed": 3, "merges": {"field": 2}, "suspect": false}, {"id": "L:F:12c4b7be41f646d9e1ef4c88c1d179890b4a56fb:param_1", "name": "Unkstruct_eda88e53", "sites": 1596, "bodies": 133, "nodes": 24, "globals_at": [], "globals_ptr": [], "params": 8, "size_hint": 84, "fields": 6, "layout": [[60, 4, "s", 133], [64, 4, "s", 133], [68, 4, "s", 133], [72, 4, "s", 133], [76, 4, "s", 133], [80, 4, "s", 133]], "conflicts": [[60, {"4s": 133, "2s": 133}], [64, {"4s": 133, "2s": 133}], [68, {"4s": 133, "2s": 133}], [72, {"4s": 133, "2s": 133}], [76, {"4s": 133, "2s": 133}], [80, {"4s": 133, "2s": 133}]], "evidence": {"PV": 8, "P": 8, "L": 8}, "sign_mixed": 0, "merges": {"param": 16, "arg": 7}, "suspect": false}, {"id": "L:F:016bfe21cadcda9221c71177a8a4d810e798d34f:pkt", "name": "Unkstruct_8012D3B4", "sites": 1588, "bodies": 183, "nodes": 160, "globals_at": [], "globals_ptr": ["D_80074808", "D_800A5E60"], "params": 8, "size_hint": 36, "fields": 23, "layout": [[0, 4, "u", 25], [3, 1, "u", 17], [4, 4, "u", 28], [5, 1, "u", 1], [6, 1, "u", 1], [7, 1, "u", 12], [8, 2, "s", 145], [10, 2, "s", 145], [12, 2, "s", 4], [13, 1, "u", 1], [14, 2, "s", 138], [16, 2, "s", 141], [18, 2, "s", 141], [20, 4, "u", 4], [21, 1, "u", 1], [22, 2, "s", 134], [24, 2, "s", 137], [26, 2, "s", 137], [28, 4, "u", 4], [29, 1, "u", 1], [30, 1, "u", 1], [32, 2, "s", 137], [34, 2, "s", 137]], "conflicts": [[4, {"4u": 28, "4s": 12, "1u": 1}], [12, {"2u": 2, "4s": 1, "2s": 4, "4u": 4, "1u": 1}], [14, {"2s": 138, "2u": 10, "1u": 1}], [16, {"2s": 141, "2u": 6, "4u": 1}], [20, {"4u": 4, "1u": 1}], [22, {"2s": 134, "2u": 10, "1u": 1}], [28, {"4u": 4, "1u": 1}], [3, "overlap"], [5, "overlap"], [6, "overlap"], [7, "overlap"], [13, "overlap"]], "evidence": {"L": 137, "PV": 8, "P": 8, "PTR": 2, "R": 5}, "sign_mixed": 9, "merges": {"assign": 75, "return": 5, "param": 16, "arg": 10, "ret-of": 53}, "suspect": false}, {"id": "L:F:a3efbb1f6dada4f05ad25b37afb41ac912d4e9ed:param_1", "name": "Unkstruct_4e09b6d9", "sites": 1572, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 50, "fields": 9, "layout": [[6, 2, "u", 131], [10, 2, "u", 131], [14, 2, "u", 131], [36, 1, "u", 131], [38, 2, "u", 262], [40, 2, "s", 262], [42, 2, "u", 131], [44, 4, "s", 131], [48, 2, "u", 131]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:606b9cd56050502da9c870c663e07d5753cfef65:arg1", "name": "Unkstruct_23e45db5", "sites": 1512, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 22, "fields": 11, "layout": [[0, 2, "u", 252], [2, 2, "s", 126], [4, 2, "s", 126], [6, 2, "s", 126], [8, 2, "s", 126], [10, 2, "s", 126], [12, 2, "s", 126], [14, 2, "s", 126], [16, 2, "s", 126], [18, 2, "s", 126], [20, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a62137677b6eec4b6b27aa122999967c9240c0fc:puVar1", "name": "Unkstruct_47470ce3", "sites": 1488, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 6, "layout": [[18, 2, "s", 124], [20, 2, "s", 124], [22, 2, "s", 372], [24, 2, "s", 372], [26, 2, "s", 372], [28, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a8f4060c5f3c8d9ae6472f3ae009c575b5e99ead:arg0", "name": "Unkstruct_b5c0372a", "sites": 1441, "bodies": 131, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 88, "fields": 9, "layout": [[6, 2, "s", 131], [10, 2, "s", 131], [14, 2, "s", 131], [18, 1, "u", 262], [48, 4, "s", 262], [52, 4, "s", 131], [76, 4, "s", 131], [80, 4, "s", 131], [84, 4, "s", 131]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:cur", "name": "Unkstruct_0980b9f0", "sites": 1441, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 73, "fields": 4, "layout": [[30, 2, "s", 131], [46, 2, "s", 262], [71, 1, "u", 393], [72, 1, "u", 655]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a5b4fc886a867d7e491da7f2769704ece0eee579:a0", "name": "Unkstruct_ba6e2e9f", "sites": 1439, "bodies": 1439, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 1439]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fdea804fac944d7874892061563887debbf5f021:a0", "name": "Unkstruct_a68f6d03", "sites": 1364, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 20, "fields": 9, "layout": [[0, 2, "u", 124], [2, 2, "u", 124], [4, 2, "u", 124], [6, 2, "u", 124], [8, 2, "u", 124], [10, 2, "u", 372], [12, 2, "s", 124], [14, 2, "u", 124], [16, 4, "s", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:77b6ecefb14cc475d995f1680b9348665ff66743:p", "name": "Unkstruct_8fdd92d1", "sites": 1300, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 4, "layout": [[10, 2, "s", 260], [12, 4, "u", 130], [14, 2, "u", 650], [32, 4, "u", 130]], "conflicts": [[12, {"4u": 130, "1u": 130}], [14, "overlap"]], "evidence": {"PV": 1, "L": 2, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:38e54b73b4e193a02893e5f0406ab99b3b88f59a:param_1", "name": "Unkstruct_110cf29e", "sites": 1250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 7, "layout": [[6, 2, "u", 250], [10, 2, "u", 250], [14, 2, "u", 250], [16, 4, "s", 125], [20, 4, "s", 125], [24, 4, "s", 125], [42, 2, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:arg0", "name": "Unkstruct_4db8cec8", "sites": 1240, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 8, "layout": [[26, 2, "u", 124], [32, 1, "u", 124], [34, 1, "u", 124], [40, 2, "u", 248], [42, 2, "u", 124], [48, 2, "u", 248], [50, 2, "u", 124], [52, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:2a34f6ae0fbc42dba731f3cb61b452b132151f49:param_1", "name": "Unkstruct_f0bc3b7a", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 7, "layout": [[32, 4, "s", 124], [100, 4, "s", 372], [112, 2, "s", 248], [144, 4, "s", 124], [152, 2, "s", 124], [252, 2, "s", 124], [254, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0289b3cb56bcf08db160c872a5dd2fb73fb84820:arg0", "name": "Unkstruct_297e7547", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 88, "fields": 10, "layout": [[4, 1, "u", 124], [12, 4, "s", 124], [20, 4, "s", 124], [32, 2, "s", 124], [34, 2, "s", 124], [36, 2, "s", 124], [46, 2, "s", 124], [48, 2, "s", 124], [50, 2, "s", 124], [84, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d28b333ee76050463046f0e1e298531aec6f5954:param_1", "name": "Unkstruct_dd59c999", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 6, "layout": [[2, 2, "u", 248], [6, 2, "s", 124], [10, 2, "u", 248], [14, 2, "s", 124], [32, 4, "s", 124], [52, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9cc20d766b9997aab372938831fb29f5096150bf:arg0", "name": "Unkstruct_919ca3ea", "sites": 1230, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 246], [6, 2, "s", 246], [8, 2, "s", 123], [10, 2, "s", 123], [12, 2, "s", 246], [14, 2, "s", 246]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:f3920c81bd648c06944654709f5f2737b73b2aa6:param_1", "name": "Unkstruct_a459e3e5", "sites": 1220, "bodies": 122, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 6, "layout": [[2, 2, "s", 244], [28, 4, "s", 122], [40, 2, "s", 122], [42, 2, "s", 122], [44, 4, "s", 488], [48, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:FLD:AT:D_80126B58:0x178:0x78", "name": "Unkstruct_8014CA00", "sites": 1219, "bodies": 407, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 46, "fields": 4, "layout": [[12, 2, "s", 273], [14, 2, "s", 273], [16, 2, "s", 273], [44, 2, "s", 1]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 3, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:05e15c2a22084e23bfef1c49d10e45ddb56bc792:np", "name": "Unkstruct_74787850", "sites": 1206, "bodies": 1073, "nodes": 2, "globals_at": [], "globals_ptr": ["D_801152A8"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 804]], "conflicts": [], "evidence": {"PTR": 1, "L": 1}, "sign_mixed": 1, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:741e694989de8029f7fb58b84f991c3adff430b3:param_1", "name": "Unkstruct_f9a7989e", "sites": 1179, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 2, "u", 262], [32, 4, "s", 524], [52, 2, "u", 262]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:94945b92a3ffae0d24f74ce4cd9cffd105741cbe:param_1", "name": "Unkstruct_0b30043d", "sites": 1128, "bodies": 376, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[32, 4, "s", 376], [88, 4, "s", 376], [92, 2, "s", 376]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fe40e9ccdaa2d5f0ba2f4c3e37a6970152d41247:param_1", "name": "Unkstruct_301381d4", "sites": 1116, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 2, "u", 248], [32, 4, "s", 496], [52, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:2f386ebb9a66fcb2ac404d69911dc62e11ced48e:param_1", "name": "Unkstruct_0ced46e2", "sites": 1116, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[2, 2, "s", 248], [100, 4, "s", 496], [112, 2, "s", 124], [204, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a4", "name": "Unkstruct_4857195e", "sites": 1107, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 5, "layout": [[4, 2, "s", 123], [12, 2, "s", 123], [20, 2, "s", 123], [28, 2, "s", 123], [48, 4, "u", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:77b6d94dff9bef0b15b418f0bd59eaa0256ec56d:param_1", "name": "Unkstruct_50a3f6b4", "sites": 1040, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 4, "s", 260], [6, 4, "s", 260], [50, 4, "s", 520]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_800B9A02", "name": "Unkstruct_800B9A02", "sites": 992, "bodies": 434, "nodes": 70, "globals_at": ["D_800B9A02"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 992]], "conflicts": [], "evidence": {"AT": 1, "L": 69}, "sign_mixed": 0, "merges": {"assign&": 69}, "suspect": false}, {"id": "L:F:0fdb1818230a528aa8124f3e3ca3abbc37c4da35:param_1", "name": "Unkstruct_f74e3af7", "sites": 992, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[2, 2, "u", 124], [100, 4, "s", 496], [112, 2, "s", 124], [204, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:03930f4cac6145c72bae2246355d9b7366ea8883:base", "name": "Unkstruct_b6c7c603", "sites": 931, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 7, "layout": [[-12, 4, "s", 133], [4, 4, "s", 133], [8, 4, "s", 133], [12, 4, "s", 133], [20, 4, "s", 133], [24, 4, "s", 133], [28, 4, "s", 133]], "conflicts": [[-12, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:52e92ffa088470b82cc06482daa51b2f80995c31:ix:0x28", "name": "Unkstruct_b774eeeb", "sites": 917, "bodies": 131, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 65, "fields": 4, "layout": [[4, 1, "u", 262], [13, 1, "u", 262], [32, 2, "u", 262], [64, 1, "u", 131]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:0cbff40c35cd7f98519c33fa669d174d54170c93:a0", "name": "Unkstruct_859b4fab", "sites": 910, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 176, "fields": 4, "layout": [[32, 4, "s", 130], [169, 1, "u", 130], [170, 2, "u", 130], [174, 2, "u", 520]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:03fe969bf84574f92bb856d0cb59dedb7299d891:p", "name": "Unkstruct_801463A0", "sites": 907, "bodies": 210, "nodes": 10, "globals_at": [], "globals_ptr": ["D_80126B78"], "params": 0, "size_hint": 84, "fields": 13, "layout": [[0, 4, "s", 1], [4, 2, "u", 2], [8, 2, "s", 2], [10, 2, "s", 2], [12, 2, "s", 2], [16, 2, "s", 2], [18, 2, "s", 40], [20, 2, "s", 1], [32, 4, "s", 2], [44, 2, "u", 2], [72, 4, "s", 2], [76, 4, "s", 2], [80, 4, "s", 2]], "conflicts": [], "evidence": {"PTR": 1, "L": 9}, "sign_mixed": 1, "merges": {"assign": 9}, "suspect": false}, {"id": "L:F:bf6d1e48a836c45fb0c51ee0d2312b14e4fc27be:p", "name": "Unkstruct_6d3f3f5d", "sites": 889, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 6, "layout": [[4, 2, "s", 127], [32, 4, "u", 127], [36, 4, "u", 127], [40, 4, "u", 127], [44, 4, "u", 127], [52, 4, "u", 127]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1", "name": "Unkstruct_6d856e9d", "sites": 889, "bodies": 127, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 30, "fields": 5, "layout": [[14, 4, "s", 127], [16, 4, "s", 127], [22, 4, "u", 127], [24, 4, "s", 254], [26, 4, "s", 127]], "conflicts": [[16, "overlap"], [24, "overlap"], [26, "overlap"]], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 1, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "FLD:L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1:0x18", "name": "Unkstruct_d0c6cce6", "sites": 889, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 254], [10, 2, "u", 254], [14, 2, "u", 254], [54, 2, "u", 127]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:84255a903577529ee712cdbc97647e719440dfd3:p2", "name": "Unkstruct_1e86c313", "sites": 882, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 4, "layout": [[0, 2, "u", 252], [2, 2, "u", 252], [4, 2, "u", 252], [6, 2, "u", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9df4b60ade927cf864b1a0a1438721c480ca9784:param", "name": "Unkstruct_a41ec127", "sites": 882, "bodies": 126, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 6, "layout": [[16, 2, "s", 252], [18, 2, "u", 126], [22, 2, "u", 126], [26, 2, "u", 126], [32, 4, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:0f5e993b3c8ed7a59daf16fb6d43086aa8b7fae8:a0", "name": "Unkstruct_17738e2c", "sites": 876, "bodies": 33, "nodes": 77, "globals_at": [], "globals_ptr": [], "params": 25, "size_hint": 164, "fields": 32, "layout": [[5, 1, "u", 15], [8, 2, "s", 21], [12, 2, "s", 20], [16, 4, "s", 42], [20, 2, "s", 20], [24, 2, "s", 40], [26, 2, "s", 48], [28, 2, "s", 40], [32, 2, "s", 20], [34, 2, "s", 28], [36, 2, "s", 20], [40, 2, "s", 80], [42, 2, "s", 80], [44, 2, "s", 80], [46, 2, "s", 25], [48, 2, "s", 20], [50, 2, "s", 21], [56, 2, "s", 1], [58, 2, "s", 1], [60, 4, "s", 20], [62, 2, "s", 1], [64, 4, "s", 20], [66, 2, "s", 1], [68, 4, "s", 20], [70, 2, "s", 1], [72, 4, "s", 20], [76, 4, "s", 20], [80, 4, "s", 20], [156, 2, "s", 16], [158, 2, "s", 2], [160, 2, "s", 4], [162, 2, "s", 32]], "conflicts": [[8, {"4s": 20, "2s": 21}], [12, {"4s": 4, "2s": 20}], [16, {"4s": 42, "2s": 21}], [20, {"2s": 20, "4s": 5}], [32, {"2s": 20, "4s": 1}], [60, {"4s": 20, "2s": 1}], [64, {"4s": 20, "2s": 1}], [68, {"4s": 20, "2s": 1}], [72, {"4s": 20, "2s": 1}], [62, "overlap"], [66, "overlap"], [70, "overlap"]], "evidence": {"PV": 25, "P": 25, "L": 27}, "sign_mixed": 5, "merges": {"param": 50, "assign": 1, "arg": 25}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_1", "name": "Unkstruct_3f697924", "sites": 875, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 5, "layout": [[6, 2, "u", 125], [10, 2, "u", 125], [14, 2, "u", 125], [48, 4, "s", 375], [52, 4, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:858edb9b0da77e1274071626f287939881c33e7b:p2", "name": "Unkstruct_e505dcd3", "sites": 868, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 4, "layout": [[0, 2, "u", 248], [2, 2, "u", 248], [4, 2, "u", 248], [6, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:d28b333ee76050463046f0e1e298531aec6f5954:param_1:0x34", "name": "Unkstruct_fe02110c", "sites": 868, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 3, "layout": [[6, 2, "s", 248], [10, 2, "s", 124], [14, 2, "s", 248]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 2, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:1d09228dd5c2462bead8cd0b014ea599fe154e57:param_1", "name": "Unkstruct_92677d11", "sites": 861, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 576, "fields": 5, "layout": [[0, 2, "u", 246], [32, 4, "s", 246], [564, 4, "s", 123], [568, 4, "s", 123], [572, 4, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:659637a8357e1c0b8fa595c33bfce17ffab95582:a0v", "name": "Unkstruct_86465c2c", "sites": 861, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 7, "layout": [[6, 2, "u", 123], [10, 2, "u", 123], [14, 2, "u", 123], [18, 2, "u", 123], [22, 2, "u", 123], [26, 2, "u", 123], [28, 4, "s", 123]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:8dd1002c19f72a778eeb3a7a4fb715299d59ae25:param_1", "name": "Unkstruct_ffd2397c", "sites": 854, "bodies": 122, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 5, "layout": [[2, 2, "s", 244], [28, 4, "s", 122], [42, 2, "s", 122], [44, 4, "s", 244], [48, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_801270C0", "name": "Unkstruct_801270C0", "sites": 821, "bodies": 820, "nodes": 2, "globals_at": ["D_801270C0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 821]], "conflicts": [], "evidence": {"AT": 1, "L": 1}, "sign_mixed": 0, "merges": {"assign&": 1}, "suspect": false}, {"id": "L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg", "name": "Unkstruct_2932a0a7", "sites": 798, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 18, "fields": 6, "layout": [[4, 4, "s", 133], [6, 4, "s", 133], [8, 4, "s", 133], [10, 4, "s", 133], [12, 4, "s", 133], [14, 4, "s", 133]], "conflicts": [[6, "overlap"], [8, "overlap"], [10, "overlap"], [12, "overlap"], [14, "overlap"]], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:00b75d213b2a41107232b1f6692e0f9cc00b7ee7:a0", "name": "Unkstruct_0a8f505b", "sites": 790, "bodies": 83, "nodes": 81, "globals_at": [], "globals_ptr": [], "params": 27, "size_hint": 268, "fields": 14, "layout": [[2, 2, "u", 54], [10, 2, "u", 25], [28, 4, "s", 87], [32, 4, "s", 75], [94, 2, "u", 50], [204, 4, "s", 50], [208, 4, "s", 25], [216, 4, "p", 25], [220, 4, "p", 29], [252, 2, "u", 50], [254, 2, "u", 50], [262, 2, "s", 50], [264, 2, "s", 58], [266, 2, "s", 75]], "conflicts": [], "evidence": {"PV": 27, "P": 27, "L": 27}, "sign_mixed": 5, "merges": {"param": 54, "arg": 26}, "suspect": false}, {"id": "FLD:L:F:741e694989de8029f7fb58b84f991c3adff430b3:param_1:0x20", "name": "Unkstruct_12f4cee2", "sites": 786, "bodies": 131, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 5, "layout": [[4, 4, "s", 262], [24, 2, "u", 131], [26, 2, "u", 131], [32, 4, "u", 131], [39, 1, "u", 131]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:2efadbdef7c8f0b9d8e61f5f99c4ab820ab31fe4:arg0", "name": "Unkstruct_d2490774", "sites": 786, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 176, "fields": 3, "layout": [[169, 1, "u", 131], [170, 2, "u", 131], [174, 2, "u", 524]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:014b70c0a649b66cfd0c62d144155ce53b1dba62:a0", "name": "Unkstruct_80135260", "sites": 780, "bodies": 130, "nodes": 434, "globals_at": [], "globals_ptr": [], "params": 144, "size_hint": 84, "fields": 3, "layout": [[72, 4, "s", 260], [76, 4, "s", 260], [80, 4, "s", 260]], "conflicts": [], "evidence": {"PV": 144, "P": 144, "L": 146}, "sign_mixed": 0, "merges": {"param": 288, "arg": 143, "assign": 2}, "suspect": false}, {"id": "L:F:d8b2cb544bf2d39e0fd9a5b84f7c2c59493b1aaf:puVar4", "name": "Unkstruct_b196f9c0", "sites": 768, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 5, "layout": [[0, 2, "u", 128], [4, 4, "s", 128], [10, 1, "u", 128], [16, 1, "u", 128], [18, 2, "u", 128]], "conflicts": [[0, {"2u": 128, "4s": 128}]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:903c7004189f0bb3a018ec60a8a59dde7bc4da31:arr", "name": "Unkstruct_36c327cf", "sites": 762, "bodies": 127, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 24, "fields": 2, "layout": [[20, 2, "u", 381], [22, 2, "u", 381]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:c9a642091d2ee140cadc8a4c4b8fb8797e9a5234:param_1", "name": "Unkstruct_6cd0e445", "sites": 756, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 2, "layout": [[6, 2, "s", 378], [14, 2, "s", 378]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:p", "name": "Unkstruct_c0b9c5d5", "sites": 750, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 6, "layout": [[4, 2, "u", 125], [6, 2, "u", 125], [8, 2, "u", 125], [10, 2, "u", 125], [12, 2, "u", 125], [14, 2, "u", 125]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fc3f1ffd17e7582fc5f58fe5091b90ca656cccd7:arg0", "name": "Unkstruct_64375b18", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 160, "fields": 5, "layout": [[114, 2, "u", 248], [144, 4, "p", 124], [148, 4, "s", 124], [154, 2, "s", 124], [156, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:fdea804fac944d7874892061563887debbf5f021:a1:0x20", "name": "Unkstruct_438adcd1", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 5, "layout": [[0, 2, "u", 248], [8, 2, "u", 124], [10, 2, "u", 124], [12, 2, "u", 124], [18, 2, "s", 124]], "conflicts": [], "evidence": {"L": 2, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 2}, "suspect": false}, {"id": "FLD:L:F:fe40e9ccdaa2d5f0ba2f4c3e37a6970152d41247:param_1:0x20", "name": "Unkstruct_97b6f459", "sites": 744, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 5, "layout": [[4, 4, "s", 248], [24, 2, "u", 124], [26, 2, "u", 124], [32, 4, "u", 124], [39, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:0ef566a105e459b80720f079223698904a0de611:iVar1", "name": "Unkstruct_38975874", "sites": 744, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 132, "fields": 4, "layout": [[4, 4, "u", 248], [26, 2, "u", 124], [44, 2, "u", 248], [128, 4, "p", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:847846f948e9fe926200a820d3a38dde0be26e63:p", "name": "Unkstruct_76b1caf3", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 3, "fields": 2, "layout": [[1, 1, "u", 248], [2, 1, "u", 496]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1477ad6a9f9211dc890db15516297afa81abfb58:param", "name": "Unkstruct_8016BBE0", "sites": 690, "bodies": 139, "nodes": 15, "globals_at": [], "globals_ptr": [], "params": 5, "size_hint": 56, "fields": 9, "layout": [[2, 2, "u", 134], [16, 2, "s", 134], [18, 2, "u", 5], [20, 2, "s", 134], [22, 2, "u", 5], [26, 2, "u", 5], [32, 4, "s", 134], [44, 4, "s", 134], [52, 4, "s", 5]], "conflicts": [], "evidence": {"PV": 5, "P": 5, "L": 5}, "sign_mixed": 0, "merges": {"param": 10, "arg": 4}, "suspect": false}, {"id": "L:F:018117d92e996b5ccd97dd6fed38b144533be2bc:r", "name": "Unkstruct_80146A6C", "sites": 680, "bodies": 137, "nodes": 8, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 44, "fields": 7, "layout": [[6, 2, "s", 135], [10, 2, "s", 135], [14, 2, "s", 135], [16, 4, "s", 2], [20, 4, "s", 2], [24, 4, "s", 2], [42, 2, "s", 134]], "conflicts": [], "evidence": {"L": 7, "R": 1}, "sign_mixed": 0, "merges": {"ret-of": 7}, "suspect": false}, {"id": "AT:D_800AF630", "name": "Unkstruct_800AF630", "sites": 671, "bodies": 537, "nodes": 9, "globals_at": ["D_800AF630"], "globals_ptr": [], "params": 0, "size_hint": 41948, "fields": 3, "layout": [[0, 1, "u", 402], [41938, 2, "u", 268], [41946, 2, "s", 1]], "conflicts": [], "evidence": {"L": 8, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 8}, "suspect": true}, {"id": "L:F:97e3900f87dfe459a7294ab6797acf8c399fa39a:end", "name": "Unkstruct_8012C284", "sites": 668, "bodies": 533, "nodes": 8, "globals_at": [], "globals_ptr": ["D_80126720"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 402]], "conflicts": [], "evidence": {"PTR": 1, "L": 7}, "sign_mixed": 1, "merges": {"assign": 7}, "suspect": false}, {"id": "AT:D_80115128", "name": "Unkstruct_80115128", "sites": 667, "bodies": 534, "nodes": 1, "globals_at": ["D_80115128"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 667]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:arg0", "name": "Unkstruct_896c95f7", "sites": 665, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[28, 4, "s", 133], [32, 4, "s", 399], [92, 2, "s", 133]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "L:F:266b753080d094a813817359fce34335dcf6f7ac:p0C", "name": "Unkstruct_61789347", "sites": 665, "bodies": 133, "nodes": 7, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 2, "P": 2, "L": 3}, "sign_mixed": 0, "merges": {"arg": 2, "param": 4}, "suspect": false}, {"id": "L:F:04935bd819ff7041efbd72e2cff30ce433c2ce1c:base", "name": "Unkstruct_5f294c87", "sites": 665, "bodies": 133, "nodes": 394, "globals_at": [], "globals_ptr": [], "params": 131, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 131, "P": 131, "L": 132}, "sign_mixed": 0, "merges": {"param": 262, "arg": 131}, "suspect": false}, {"id": "FLD:L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg:0x8", "name": "Unkstruct_801345F8", "sites": 665, "bodies": 133, "nodes": 16, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 6, "FLD": 2}, "sign_mixed": 0, "merges": {"field": 2, "param": 8, "arg": 5}, "suspect": false}, {"id": "FLD:L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg:0x6", "name": "Unkstruct_801345F8", "sites": 665, "bodies": 133, "nodes": 16, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 6, "FLD": 2}, "sign_mixed": 0, "merges": {"field": 2, "param": 8, "arg": 5}, "suspect": false}, {"id": "AT:D_801152A0", "name": "Unkstruct_801152A0", "sites": 665, "bodies": 399, "nodes": 1, "globals_at": ["D_801152A0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 665]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:77b6d94dff9bef0b15b418f0bd59eaa0256ec56d:param_1:0x32", "name": "Unkstruct_fdd04bae", "sites": 650, "bodies": 130, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 3, "layout": [[4, 4, "s", 260], [12, 4, "s", 260], [54, 2, "s", 130]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:33923e514bd02d6671035bee0f8b344b58b3d972:param_1", "name": "Unkstruct_eb8b6fbf", "sites": 645, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[32, 4, "s", 129], [88, 4, "s", 129], [92, 2, "s", 129], [220, 4, "s", 129], [252, 2, "s", 129]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1:0x34", "name": "Unkstruct_90d0825c", "sites": 645, "bodies": 129, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 5, "layout": [[4, 4, "u", 129], [6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [26, 2, "s", 129]], "conflicts": [[6, "overlap"]], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:1542055f1c9f4304a7a2a4a6d7952d5524bbd6f6:param_1", "name": "Unkstruct_27c177f1", "sites": 645, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 4, "layout": [[2, 2, "s", 258], [22, 2, "s", 129], [32, 4, "s", 129], [48, 4, "s", 129]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:8de2505415803d505ca54f1d5ec81c291e2191a8:d", "name": "Unkstruct_4f9f60b8", "sites": 630, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 120, "fields": 4, "layout": [[4, 4, "u", 252], [24, 2, "s", 126], [26, 2, "s", 126], [118, 2, "s", 126]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:25ab0fa8060d0fde4162393b2fe6d2e173139b54:param_1", "name": "Unkstruct_7a31a22f", "sites": 630, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 412, "fields": 2, "layout": [[32, 4, "s", 126], [408, 4, "s", 504]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:2e7a0e0cf5ddcacbaf0f3497e29d348050488cd0:param_1", "name": "Unkstruct_187abeff", "sites": 630, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 104, "fields": 5, "layout": [[44, 2, "s", 126], [46, 2, "s", 126], [96, 2, "s", 126], [98, 2, "s", 126], [102, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:dd085c59e1d27a2cec8deecf598ef9fa6b2300a9:s2", "name": "Unkstruct_f9fa1fb7", "sites": 630, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 4, "layout": [[4, 4, "s", 252], [24, 2, "s", 126], [26, 2, "s", 126], [30, 2, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:1e5bdb3d889cf99856e8e0f53e443c0d445ca75e:iNew", "name": "Unkstruct_20d4328b", "sites": 630, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[4, 4, "u", 252], [24, 2, "s", 126], [26, 2, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_3", "name": "Unkstruct_d94ab931", "sites": 625, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 4, "layout": [[0, 2, "u", 125], [1, 2, "u", 125], [2, 2, "u", 125], [4, 2, "s", 125]], "conflicts": [[1, "overlap"], [2, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_2", "name": "Unkstruct_7ef9c9ef", "sites": 625, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 4, "layout": [[0, 2, "u", 125], [1, 2, "u", 125], [2, 2, "u", 125], [4, 2, "s", 125]], "conflicts": [[1, "overlap"], [2, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:caab8c0f44bbde0b21a1f7471e8403d253a4136e:iVar1", "name": "Unkstruct_ad0948d5", "sites": 625, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 5, "layout": [[16, 2, "s", 125], [18, 2, "s", 125], [20, 2, "s", 125], [24, 2, "s", 125], [26, 2, "s", 125]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:bb765a44f6697075a978938eba4856b29cf6ac16:param_1:0x20", "name": "Unkstruct_fccefc1f", "sites": 625, "bodies": 125, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 26, "fields": 2, "layout": [[18, 2, "u", 250], [24, 2, "u", 375]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:e4a8eda15597710d8e18c0c552e2c5d772f45ea3:param_1", "name": "Unkstruct_57ae03d1", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 248], [40, 4, "s", 372]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0ef566a105e459b80720f079223698904a0de611:param_1", "name": "Unkstruct_af1e9d57", "sites": 620, "bodies": 248, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 100, "fields": 4, "layout": [[32, 4, "s", 248], [80, 4, "s", 124], [96, 2, "u", 124], [98, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:8135fa3c427f4ca639d9562fd2c45229be7d8689:arg0", "name": "Unkstruct_172cbd29", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 508, "fields": 2, "layout": [[0, 2, "u", 496], [504, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fd006a820b6cb56b1fca204bcbda6be36d434bbd:param_1", "name": "Unkstruct_2c2c1d2e", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 4, "layout": [[2, 2, "s", 248], [16, 4, "s", 124], [20, 4, "s", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5d384070f557c4e179ee23e15ca41c21eeb65e76:a0", "name": "Unkstruct_aaf4c4dd", "sites": 615, "bodies": 615, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 22, "fields": 1, "layout": [[21, 1, "u", 615]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:out3", "name": "Unkstruct_293d71dc", "sites": 600, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e1b0419f54c26cc0ccd6be1f438874310e36c635:a0", "name": "Unkstruct_78eaa73c", "sites": 553, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 266, "fields": 15, "layout": [[6, 2, "s", 21], [10, 2, "s", 28], [14, 2, "s", 21], [32, 4, "s", 266], [100, 4, "s", 70], [112, 2, "s", 14], [204, 4, "p", 7], [208, 4, "p", 21], [252, 2, "u", 7], [254, 2, "s", 7], [256, 2, "u", 7], [258, 2, "u", 7], [260, 2, "u", 7], [262, 2, "u", 7], [264, 2, "s", 14]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 7, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_8011512E", "name": "Unkstruct_8011512E", "sites": 532, "bodies": 133, "nodes": 1, "globals_at": ["D_8011512E"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 532]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a0", "name": "Unkstruct_8016BFA8", "sites": 532, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 36, "fields": 4, "layout": [[6, 2, "u", 133], [10, 2, "u", 133], [14, 2, "u", 133], [32, 4, "s", 133]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:fd901a9a5b08fe3e2d8866b949886e73e5e6ade9:e", "name": "Unkstruct_7476116e", "sites": 532, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 532]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:be9288d1f2eaecc1cb9835a4658eb37749f9bcbe:d", "name": "Unkstruct_30befa8c", "sites": 520, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 3, "layout": [[32, 4, "s", 130], [112, 2, "u", 260], [252, 2, "s", 130]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "L:F:b5f85ed5dd4d2a1750ce5c6720e8c63407a6b0e8:a0", "name": "Unkstruct_01082f7a", "sites": 520, "bodies": 520, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 520]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1:0x30", "name": "Unkstruct_db0ee441", "sites": 516, "bodies": 129, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [54, 2, "u", 129]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:8de2505415803d505ca54f1d5ec81c291e2191a8:param_1", "name": "Unkstruct_290ce261", "sites": 504, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 3, "layout": [[32, 4, "s", 126], [112, 2, "u", 126], [252, 2, "s", 252]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:b25150e61818e0e15b1d045fef5830235d52337c:iVar1", "name": "Unkstruct_d6100faa", "sites": 504, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 3, "layout": [[4, 4, "u", 252], [16, 2, "s", 126], [30, 2, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:894cf835217a9370ccd529001bb1a43ea9c65f21:param_2", "name": "Unkstruct_fc43506c", "sites": 504, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 14, "fields": 3, "layout": [[8, 2, "u", 126], [10, 2, "s", 126], [12, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cc8290154fb662b23f83a0d99af3b530814bc30:param_1", "name": "Unkstruct_7cb40b10", "sites": 500, "bodies": 500, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 500]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:b164", "name": "Unkstruct_4e078af8", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 124], [2, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 2, "merges": {}, "suspect": false}, {"id": "L:F:865c6699e7072df19983825933b0da5a8df2e612:arg0", "name": "Unkstruct_494cef68", "sites": 496, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 392, "fields": 2, "layout": [[0, 2, "u", 248], [388, 4, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:0fdb1818230a528aa8124f3e3ca3abbc37c4da35:param_1:0x64", "name": "Unkstruct_93df0322", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 124], [10, 2, "u", 124], [14, 2, "u", 124], [54, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:2f386ebb9a66fcb2ac404d69911dc62e11ced48e:param_1:0x64", "name": "Unkstruct_3b2b6e45", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 124], [10, 2, "u", 124], [14, 2, "u", 124], [54, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:4443448ce7d9b1ff56b0340cee1e78758be199cb:param_2", "name": "Unkstruct_9e228c39", "sites": 492, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "s", 123], [2, 2, "s", 123], [4, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:s0b", "name": "Unkstruct_a05973fa", "sites": 492, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 44, "fields": 3, "layout": [[24, 4, "s", 246], [32, 4, "p", 123], [40, 4, "s", 123]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0", "name": "Unkstruct_48c11385", "sites": 441, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 104, "fields": 5, "layout": [[4, 4, "s", 21], [8, 4, "s", 21], [12, 4, "s", 21], [32, 4, "s", 210], [100, 4, "s", 168]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a3818d1fe32af81de33548695a2bad677be3a52a:a0", "name": "Unkstruct_a55a221e", "sites": 428, "bodies": 428, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 533, "fields": 1, "layout": [[532, 1, "u", 428]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "PTR:D_80115158", "name": "Unkstruct_02864986", "sites": 420, "bodies": 420, "nodes": 1, "globals_at": [], "globals_ptr": ["D_80115158"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 137]], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "FLD:AT:D_800B5CB8:0x78", "name": "Unkstruct_80131B14", "sites": 404, "bodies": 383, "nodes": 23, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 50, "fields": 5, "layout": [[0, 2, "u", 34], [2, 2, "u", 60], [8, 4, "s", 2], [46, 2, "s", 1], [48, 2, "s", 307]], "conflicts": [], "evidence": {"L": 22, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 22}, "suspect": false}, {"id": "AT:D_8011511A", "name": "Unkstruct_8011511A", "sites": 404, "bodies": 146, "nodes": 15, "globals_at": ["D_8011511A"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 390]], "conflicts": [], "evidence": {"AT": 1, "L": 14}, "sign_mixed": 1, "merges": {"assign&": 14}, "suspect": false}, {"id": "FLD:L:F:11f86a358e6d71766aa362f8cfb3a9eb58ca58bc:param_1:0x18", "name": "Unkstruct_8016B5C0", "sites": 399, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 133], [26, 2, "s", 266]], "conflicts": [], "evidence": {"L": 3, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 3}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a3", "name": "Unkstruct_8016BFA8", "sites": 399, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 133], [2, 2, "u", 133], [4, 2, "u", 133]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "AT:D_8011F7F0", "name": "Unkstruct_8011F7F0", "sites": 399, "bodies": 133, "nodes": 10, "globals_at": ["D_8011F7F0"], "globals_ptr": [], "params": 0, "size_hint": 66, "fields": 3, "layout": [[30, 2, "s", 133], [46, 2, "u", 133], [64, 2, "u", 133]], "conflicts": [], "evidence": {"L": 9, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 9}, "suspect": false}, {"id": "L:F:16a750960362018cc369e0f92a6ed206750386f3:a0", "name": "Unkstruct_630777a3", "sites": 399, "bodies": 266, "nodes": 33, "globals_at": [], "globals_ptr": [], "params": 11, "size_hint": 5, "fields": 2, "layout": [[0, 1, "u", 133], [4, 1, "u", 266]], "conflicts": [], "evidence": {"PV": 11, "P": 11, "L": 11}, "sign_mixed": 0, "merges": {"param": 22, "arg": 10}, "suspect": false}, {"id": "L:F:f88573dff145c554981bca20355a96b6dfaea27d:param_1", "name": "Unkstruct_1649b9a7", "sites": 392, "bodies": 28, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 8, "layout": [[2, 2, "s", 56], [6, 2, "s", 56], [10, 2, "u", 56], [14, 2, "s", 56], [20, 2, "s", 28], [22, 2, "s", 28], [32, 4, "s", 28], [52, 4, "s", 28]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:02f3d948e09a3e6d0e1d58f9893278085dee5950:param_1", "name": "Unkstruct_ea5ed765", "sites": 390, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 219, "fields": 1, "layout": [[218, 1, "u", 390]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:014b70c0a649b66cfd0c62d144155ce53b1dba62:a3", "name": "Unkstruct_80135260", "sites": 390, "bodies": 130, "nodes": 431, "globals_at": [], "globals_ptr": [], "params": 143, "size_hint": 6, "fields": 3, "layout": [[0, 2, "s", 130], [2, 2, "s", 130], [4, 2, "s", 130]], "conflicts": [], "evidence": {"PV": 143, "P": 143, "L": 145}, "sign_mixed": 0, "merges": {"param": 286, "arg": 142, "assign": 2}, "suspect": false}, {"id": "L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:iVar2", "name": "Unkstruct_a472a6ba", "sites": 387, "bodies": 129, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[4, 4, "u", 129], [24, 2, "s", 129], [26, 2, "s", 129]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:304d1a1cd67647ffff0d682a49fc7bd3bb4ca331:OTE", "name": "Unkstruct_f2440762", "sites": 384, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "u", 384]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:b25150e61818e0e15b1d045fef5830235d52337c:param_1", "name": "Unkstruct_80164BDC", "sites": 384, "bodies": 128, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 100, "fields": 5, "layout": [[10, 2, "s", 1], [32, 4, "s", 127], [76, 4, "s", 1], [96, 2, "s", 127], [98, 2, "s", 127]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 1, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:c43d345b308a05793ac9a8edca20a5c739ae9813:a0", "name": "Unkstruct_8c2ab96e", "sites": 384, "bodies": 128, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 3, "layout": [[3, 1, "u", 128], [4, 2, "u", 128], [6, 2, "u", 128]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:out3", "name": "Unkstruct_d448adea", "sites": 384, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1:0x1a", "name": "Unkstruct_2552224c", "sites": 381, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 3, "layout": [[6, 2, "u", 127], [10, 2, "u", 127], [14, 2, "u", 127]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:q1", "name": "Unkstruct_e79a0730", "sites": 378, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 2, "layout": [[32, 2, "u", 252], [34, 2, "u", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:src", "name": "Unkstruct_1a8e907f", "sites": 378, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "u", 378]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:84255a903577529ee712cdbc97647e719440dfd3:p1", "name": "Unkstruct_e1c73ac0", "sites": 378, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 126], [2, 2, "u", 126], [4, 2, "u", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1fd5c5850652e651e5db7bf9ff6d4ae99aab9d03:p1", "name": "Unkstruct_8ba4da0a", "sites": 378, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[18, 2, "u", 126], [22, 2, "u", 126], [26, 2, "u", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:9df4b60ade927cf864b1a0a1438721c480ca9784:param:0x20", "name": "Unkstruct_93e44aed", "sites": 378, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 126], [26, 2, "s", 252]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:124028da4bc28443465198bfe8220d31b867cfe8:param_2", "name": "Unkstruct_8dd0822e", "sites": 378, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 14, "fields": 3, "layout": [[8, 2, "u", 126], [10, 2, "s", 126], [12, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:param_4", "name": "Unkstruct_89684c99", "sites": 375, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 125], [2, 2, "u", 125], [4, 2, "u", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:bb765a44f6697075a978938eba4856b29cf6ac16:param_1", "name": "Unkstruct_d0754cca", "sites": 375, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "s", 250], [32, 4, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:695bc29300546c372ed373f9f26b961fa5dea2c1:a0", "name": "Unkstruct_89f82b52", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 458, "fields": 3, "layout": [[68, 4, "u", 124], [172, 2, "u", 124], [456, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:858edb9b0da77e1274071626f287939881c33e7b:p1", "name": "Unkstruct_924d03d6", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 124], [2, 2, "u", 124], [4, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:66a9253f13334598aac89a2be8e072eb5a5a6621:param_1:0x18c", "name": "Unkstruct_7fd6458b", "sites": 372, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 64, "fields": 1, "layout": [[60, 4, "s", 372]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:a8b2812a7f92a80f310198d49b4dbdb58a0160dd:param_1", "name": "Unkstruct_92a372de", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "s", 248], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d28b333ee76050463046f0e1e298531aec6f5954:iVar3", "name": "Unkstruct_4a31f01c", "sites": 372, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[18, 2, "u", 124], [22, 2, "u", 124], [26, 2, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:FLD:L:F:66a9253f13334598aac89a2be8e072eb5a5a6621:param_1:0x18c:0x3c", "name": "Unkstruct_39de3511", "sites": 372, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 18, "fields": 3, "layout": [[12, 2, "u", 124], [14, 2, "s", 124], [16, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a06a0968fc994e3570786e8595151cfd5a7bd33c:param_1", "name": "Unkstruct_1b4331f0", "sites": 369, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[32, 4, "s", 123], [88, 4, "s", 123], [92, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:27e50fe90649c2a36422062babe9f76e89ad16e5:param_1", "name": "Unkstruct_75e9a6af", "sites": 369, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 3, "layout": [[6, 2, "s", 123], [10, 2, "s", 123], [14, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0ea500b04cc8ed4dd983c7ab3468fdb979e7dba5:param_1", "name": "Unkstruct_c59d6379", "sites": 366, "bodies": 14, "nodes": 21, "globals_at": [], "globals_ptr": [], "params": 7, "size_hint": 162, "fields": 24, "layout": [[5, 1, "u", 12], [8, 4, "s", 8], [12, 2, "s", 8], [16, 4, "s", 16], [20, 2, "s", 8], [24, 2, "s", 16], [26, 2, "s", 16], [28, 2, "s", 16], [32, 2, "s", 10], [34, 2, "s", 11], [36, 2, "s", 10], [40, 2, "s", 32], [42, 2, "s", 32], [44, 2, "s", 32], [46, 2, "s", 10], [48, 2, "s", 10], [50, 2, "s", 10], [60, 4, "s", 8], [64, 4, "s", 8], [68, 4, "s", 8], [72, 4, "s", 8], [76, 4, "s", 8], [80, 4, "s", 8], [160, 2, "s", 15]], "conflicts": [[8, {"4s": 8, "2s": 8}], [16, {"4s": 16, "2s": 8}], [20, {"4s": 6, "2s": 8}]], "evidence": {"PV": 7, "P": 7, "L": 7}, "sign_mixed": 3, "merges": {"param": 14, "arg": 6}, "suspect": false}, {"id": "L:F:2fcbb507072c0155e0be8559c319e0badc676579:buf", "name": "Unkstruct_5c635b4b", "sites": 364, "bodies": 14, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 52, "fields": 13, "layout": [[0, 2, "s", 28], [2, 2, "s", 28], [4, 2, "s", 28], [8, 2, "s", 28], [10, 2, "s", 28], [12, 2, "s", 28], [16, 2, "s", 28], [18, 2, "s", 28], [20, 2, "s", 28], [24, 2, "s", 28], [26, 2, "s", 28], [28, 2, "s", 28], [48, 4, "s", 28]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800AE620", "name": "Unkstruct_800AE620", "sites": 325, "bodies": 322, "nodes": 3, "globals_at": ["D_800AE620"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 2}, "sign_mixed": 0, "merges": {"assign&": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:out2", "name": "Unkstruct_814e4d87", "sites": 300, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:flag", "name": "Unkstruct_09b02bee", "sites": 300, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 150], [2, 2, "s", 150]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:ea7424d9729cc61d5cc082e384615f9e83e8d527:a0", "name": "Unkstruct_1ef3b11b", "sites": 280, "bodies": 10, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 268, "fields": 7, "layout": [[28, 4, "s", 20], [112, 2, "s", 60], [212, 4, "p", 10], [216, 4, "p", 10], [252, 2, "s", 10], [264, 2, "s", 90], [266, 2, "s", 70]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80115188", "name": "Unkstruct_80115188", "sites": 274, "bodies": 270, "nodes": 1, "globals_at": ["D_80115188"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 8]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:016bfe21cadcda9221c71177a8a4d810e798d34f:base", "name": "Unkstruct_80129CF8", "sites": 273, "bodies": 90, "nodes": 118, "globals_at": [], "globals_ptr": ["D_800AF630"], "params": 0, "size_hint": 42037, "fields": 33, "layout": [[392, 2, "u", 5], [394, 2, "u", 5], [408, 4, "s", 2], [412, 2, "u", 4], [414, 2, "u", 5], [41896, 2, "u", 2], [41898, 2, "u", 28], [41900, 2, "u", 1], [41902, 2, "u", 3], [41904, 2, "u", 2], [41908, 2, "u", 9], [41910, 2, "u", 16], [41912, 2, "u", 11], [41914, 2, "u", 6], [41916, 2, "u", 6], [41918, 2, "u", 4], [41920, 2, "u", 4], [41922, 2, "u", 4], [41926, 2, "u", 6], [41928, 2, "u", 5], [41930, 2, "u", 3], [41932, 2, "u", 7], [41934, 2, "u", 7], [41936, 2, "u", 4], [41938, 2, "u", 73], [41940, 2, "u", 2], [41944, 2, "s", 16], [41946, 2, "s", 4], [41948, 2, "s", 4], [41950, 2, "s", 1], [41955, 1, "u", 1], [41960, 4, "s", 11], [42036, 1, "u", 1]], "conflicts": [], "evidence": {"L": 117, "PTR": 1}, "sign_mixed": 5, "merges": {"assign": 117}, "suspect": true}, {"id": "L:F:aa1b9ff2f846d7698f54c6a1e7b5b72bb7e2bcda:a0", "name": "Unkstruct_a2d6c72b", "sites": 273, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 4, "layout": [[28, 4, "s", 63], [32, 4, "s", 84], [112, 2, "s", 42], [254, 2, "s", 84]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80078EB4", "name": "Unkstruct_80078EB4", "sites": 270, "bodies": 137, "nodes": 1, "globals_at": ["D_80078EB4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 270]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115118", "name": "Unkstruct_80115118", "sites": 268, "bodies": 265, "nodes": 15, "globals_at": ["D_80115118"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 134]], "conflicts": [], "evidence": {"AT": 1, "L": 14}, "sign_mixed": 1, "merges": {"assign&": 14}, "suspect": false}, {"id": "AT:D_801152B0", "name": "Unkstruct_801152B0", "sites": 268, "bodies": 268, "nodes": 1, "globals_at": ["D_801152B0"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_801269F4", "name": "Unkstruct_801269F4", "sites": 267, "bodies": 134, "nodes": 1, "globals_at": ["D_801269F4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:2a34f6ae0fbc42dba731f3cb61b452b132151f49:iVar1", "name": "Unkstruct_8012C1DC", "sites": 267, "bodies": 134, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[0, 2, "u", 1], [24, 2, "s", 133], [26, 2, "s", 133]], "conflicts": [], "evidence": {"L": 4, "R": 1}, "sign_mixed": 0, "merges": {"ret-of": 3, "return": 1}, "suspect": false}, {"id": "AT:D_8011515C", "name": "Unkstruct_8011515C", "sites": 267, "bodies": 267, "nodes": 1, "globals_at": ["D_8011515C"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 137]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:e1", "name": "Unkstruct_1db7b82d", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 46, "fields": 1, "layout": [[44, 2, "u", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:e2", "name": "Unkstruct_6bd63257", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 2, "layout": [[24, 2, "s", 133], [28, 2, "s", 133]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fd68090f6752fd1a61ec242c522b368e1fb43e92:s0", "name": "Unkstruct_f85de09d", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6966b8be15e9832708a2dbf4b5b13ee7d3060710:sp", "name": "Unkstruct_a310cf42", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115124", "name": "Unkstruct_80115124", "sites": 266, "bodies": 266, "nodes": 1, "globals_at": ["D_80115124"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800D4BE0", "name": "Unkstruct_800D4BE0", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": ["D_800D4BE0"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800D4F8C", "name": "Unkstruct_800D4F8C", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": ["D_800D4F8C"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a1", "name": "Unkstruct_8016BFA8", "sites": 266, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a2", "name": "Unkstruct_8016BFA8", "sites": 266, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:b", "name": "Unkstruct_80176734", "sites": 266, "bodies": 133, "nodes": 3, "globals_at": [], "globals_ptr": ["D_8011F7B0"], "params": 0, "size_hint": 44, "fields": 1, "layout": [[40, 4, "s", 266]], "conflicts": [], "evidence": {"L": 2, "PTR": 1}, "sign_mixed": 0, "merges": {"assign": 2}, "suspect": false}, {"id": "AT:D_80126B62", "name": "Unkstruct_80126B62", "sites": 265, "bodies": 252, "nodes": 4, "globals_at": ["D_80126B62"], "globals_ptr": [], "params": 0, "size_hint": 14, "fields": 2, "layout": [[0, 2, "s", 262], [10, 4, "s", 1]], "conflicts": [], "evidence": {"AT": 1, "L": 3}, "sign_mixed": 1, "merges": {"assign&": 3}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:pp", "name": "Unkstruct_76f4299b", "sites": 262, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 74, "fields": 1, "layout": [[73, 1, "u", 262]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:be9288d1f2eaecc1cb9835a4658eb37749f9bcbe:obj", "name": "Unkstruct_3816caab", "sites": 260, "bodies": 130, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 130], [26, 2, "s", 130]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:a57747ff39fc5e679a5d66ad52a5fecdb16e3749:param_1", "name": "Unkstruct_ac2c8f05", "sites": 260, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 366, "fields": 1, "layout": [[364, 2, "u", 260]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8b2cb544bf2d39e0fd9a5b84f7c2c59493b1aaf:param_1", "name": "Unkstruct_985493b9", "sites": 256, "bodies": 128, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 449, "fields": 2, "layout": [[424, 1, "u", 128], [448, 1, "u", 128]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:19e58ae08e2232f72d7b0ff8bdb0d57e16ea558b:a0", "name": "Unkstruct_c21b1a66", "sites": 255, "bodies": 255, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 5, "fields": 1, "layout": [[4, 1, "u", 255]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:324c3534fcf5e33e05b7a4d4b899c209594cbefe:arg0", "name": "Unkstruct_ae2d1f2a", "sites": 252, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 588, "fields": 13, "layout": [[0, 2, "u", 14], [6, 2, "s", 14], [10, 2, "u", 28], [14, 2, "s", 14], [68, 4, "u", 7], [184, 2, "u", 28], [186, 2, "u", 7], [446, 1, "u", 14], [580, 1, "u", 21], [581, 1, "u", 35], [582, 2, "u", 14], [584, 2, "u", 14], [586, 2, "u", 14]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:25ab0fa8060d0fde4162393b2fe6d2e173139b54:param_1:0x20", "name": "Unkstruct_746c35d0", "sites": 252, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "u", 252]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:988adeae4dfa58056e1909876ae4cae41e37f3cf:puVar3", "name": "Unkstruct_faf094bf", "sites": 252, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6143fc1990bdc9fd66a1eb5d4299f4720c7611e1:a0", "name": "Unkstruct_5d117345", "sites": 252, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 4, "layout": [[28, 4, "s", 63], [32, 4, "s", 84], [112, 2, "s", 21], [254, 2, "s", 84]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126B66", "name": "Unkstruct_80126B66", "sites": 250, "bodies": 222, "nodes": 6, "globals_at": ["D_80126B66"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 249]], "conflicts": [], "evidence": {"AT": 1, "L": 5}, "sign_mixed": 1, "merges": {"assign&": 5}, "suspect": false}, {"id": "L:F:a2c6e6c9e0cd31da19954438810a7e982cbc79fb:param_1", "name": "Unkstruct_6ffc1ed8", "sites": 250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:27b86fd006a486cabfa5d7c35b6660563f963c88:src", "name": "Unkstruct_60564c8e", "sites": 250, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:611f6fd9d9fae030940bd67b14785789d059bafd:src", "name": "Unkstruct_8f96bece", "sites": 250, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:82fdb45641d53ed5ab4e96614f3a5f78238ee2ed:a0", "name": "Unkstruct_acf38518", "sites": 250, "bodies": 250, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 5, "fields": 1, "layout": [[4, 1, "u", 250]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:7296f9939a14b5a5bb00c3dc1014045f1fc85aa3:src", "name": "Unkstruct_0f0a788d", "sites": 250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9161d35cd5c742eb5541db928a88c44fe7fe4cfa:arg0", "name": "Unkstruct_830ea620", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 194, "fields": 2, "layout": [[180, 4, "u", 124], [193, 1, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:b1A8", "name": "Unkstruct_afee652d", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 2, "layout": [[0, 2, "u", 124], [2, 2, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:989ea29447ebea9f665718fe835d44c289cd476c:a2", "name": "Unkstruct_a0bdbb1e", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 124], [2, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:55712afcacfe2fece6a848abbf398be1eed54533:param_1", "name": "Unkstruct_ca3ab5df", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[32, 4, "s", 124], [252, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:55712afcacfe2fece6a848abbf398be1eed54533:v0", "name": "Unkstruct_a34caab1", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:5cd77565ad78e08752784cbdc19c1aeaac402ef9:param_1", "name": "Unkstruct_539a2ae1", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[32, 4, "s", 124], [252, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cd77565ad78e08752784cbdc19c1aeaac402ef9:iVar2", "name": "Unkstruct_9fb4bfac", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:15509feb6a0627930999eaf787acc09eced3904a:iVar2", "name": "Unkstruct_c5bf162e", "sites": 248, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:2214b0acb044a41f5be69cb14320801af12a2347:a0", "name": "Unkstruct_f6997d4b", "sites": 248, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 1, "layout": [[32, 4, "s", 248]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:81e0d439bcac2207a0601a6c74bda54b7effc8f5:param_1", "name": "Unkstruct_d294081d", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "u", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:8ea4834b2afe21e6bcb5d70f202657b4e7e9b533:a0", "name": "Unkstruct_28d9f75d", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 408, "fields": 2, "layout": [[68, 4, "u", 124], [407, 1, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:f50e604c8b58f45013548ab979545380c3dc817f:param_1", "name": "Unkstruct_3ec1f7d3", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 1, "layout": [[4, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:df660660ac576b486dd5d8dbd078596ded642459:arg0", "name": "Unkstruct_65a4104e", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 186, "fields": 1, "layout": [[184, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:196f409c6989286dbec87c9a1eb5d33757255f10:param_1", "name": "Unkstruct_576bfafb", "sites": 248, "bodies": 248, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 72, "fields": 2, "layout": [[2, 2, "u", 124], [68, 4, "u", 124]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "FLD:L:F:2214b0acb044a41f5be69cb14320801af12a2347:a0:0x20", "name": "Unkstruct_8e3ffd0a", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 2, "layout": [[16, 2, "s", 124], [18, 2, "s", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d80795e12fc7517775bb6ace09c7ca13caef919c:param", "name": "Unkstruct_82fd4ac2", "sites": 247, "bodies": 247, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 2, "fields": 1, "layout": [[1, 1, "u", 247]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:ddabefe960b7573ac0070b5cd1f0186950118b95:param_1", "name": "Unkstruct_9f3ec286", "sites": 246, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[2, 2, "u", 123], [252, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:705fc77f3b91063220f409e903893068922aed81:p", "name": "Unkstruct_b10794ea", "sites": 246, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 2, "layout": [[4, 2, "s", 123], [6, 2, "u", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:s0b:0x28", "name": "Unkstruct_228f3189", "sites": 246, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 94, "fields": 1, "layout": [[93, 1, "u", 246]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "FLD:L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cach:0x34", "name": "Unkstruct_8115be3c", "sites": 246, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 812, "fields": 1, "layout": [[810, 2, "s", 246]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:b8045aa890d7bb3cb0bd77e5281959989b84029c:a1", "name": "Unkstruct_66a9ef17", "sites": 245, "bodies": 7, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 23, "layout": [[0, 2, "u", 14], [2, 2, "u", 7], [4, 2, "u", 7], [6, 2, "u", 14], [8, 2, "u", 7], [10, 2, "u", 14], [12, 2, "u", 7], [14, 2, "u", 14], [32, 4, "s", 28], [54, 2, "u", 7], [80, 2, "u", 7], [82, 2, "u", 7], [84, 2, "u", 7], [100, 4, "s", 21], [104, 4, "s", 14], [112, 2, "u", 7], [114, 2, "u", 7], [120, 4, "s", 7], [136, 2, "u", 7], [138, 2, "u", 7], [140, 2, "u", 7], [220, 4, "s", 7], [252, 2, "u", 7]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1, "R": 1}, "sign_mixed": 1, "merges": {"param": 2, "assign": 1, "return": 1}, "suspect": false}, {"id": "L:F:d1fbb74dab666fc0645c433a6f63e3c37fc60b8b:g", "name": "Unkstruct_83ca5e9f", "sites": 242, "bodies": 121, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d1fbb74dab666fc0645c433a6f63e3c37fc60b8b:arg1", "name": "Unkstruct_10dc73aa", "sites": 242, "bodies": 121, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126B5E", "name": "Unkstruct_80126B5E", "sites": 229, "bodies": 219, "nodes": 6, "globals_at": ["D_80126B5E"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 229]], "conflicts": [], "evidence": {"AT": 1, "L": 5}, "sign_mixed": 0, "merges": {"assign&": 5}, "suspect": false}, {"id": "L:F:4abe78c4e7fd61e6a6f87917a6cacd7622b1fc9a:a0", "name": "Unkstruct_520ce05f", "sites": 228, "bodies": 228, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 535, "fields": 1, "layout": [[534, 1, "u", 228]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6efeba9571c70c28595c309b64f18d17de08a52a:a0:0xdc", "name": "Unkstruct_a82a43aa", "sites": 224, "bodies": 28, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 14, "fields": 4, "layout": [[0, 4, "s", 56], [4, 4, "s", 28], [8, 2, "u", 56], [12, 2, "u", 84]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:a15898c74d2e6cefc637fc5922442370e2a9cfad:s0", "name": "Unkstruct_0681badd", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 254, "fields": 13, "layout": [[2, 2, "s", 10], [6, 2, "s", 10], [10, 2, "u", 50], [14, 2, "s", 10], [16, 4, "s", 5], [18, 2, "u", 30], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "u", 20], [28, 4, "s", 5], [52, 2, "s", 10], [252, 2, "s", 10]], "conflicts": [[18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 5, "merges": {}, "suspect": false}, {"id": "L:F:917f19148162f411912b88a30eeb253747fe04ab:iv", "name": "Unkstruct_b59353da", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 54, "fields": 14, "layout": [[2, 2, "s", 10], [4, 4, "s", 10], [6, 2, "u", 20], [10, 2, "u", 50], [12, 4, "s", 10], [14, 2, "u", 20], [16, 4, "s", 5], [18, 2, "u", 30], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "u", 20], [28, 4, "s", 5], [52, 2, "u", 10]], "conflicts": [[6, "overlap"], [14, "overlap"], [18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 2, "merges": {}, "suspect": false}, {"id": "L:F:da221188fc4dbf9b0b8d71355bcdf4552e191595:s0", "name": "Unkstruct_fc9b0607", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 54, "fields": 14, "layout": [[2, 2, "s", 10], [4, 4, "s", 10], [6, 2, "s", 10], [10, 2, "s", 25], [12, 4, "s", 10], [14, 2, "s", 10], [16, 4, "s", 5], [18, 2, "s", 20], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "s", 15], [28, 4, "s", 5], [52, 2, "s", 10]], "conflicts": [[6, "overlap"], [14, "overlap"], [18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 5, "merges": {}, "suspect": false}, {"id": "L:F:da6f5834a2462dbdc8003e3b2cdf2ffb5b6f9d9d:a0", "name": "Unkstruct_6aa0aebb", "sites": 210, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 264, "fields": 14, "layout": [[6, 2, "s", 7], [10, 2, "s", 7], [14, 2, "s", 7], [32, 4, "s", 70], [100, 4, "s", 35], [112, 2, "s", 7], [204, 4, "p", 7], [208, 4, "p", 7], [252, 2, "u", 7], [254, 2, "s", 7], [256, 2, "u", 7], [258, 2, "u", 7], [260, 2, "u", 7], [262, 2, "u", 7]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 3, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0:0x20", "name": "Unkstruct_4a619ff2", "sites": 210, "bodies": 21, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 5, "layout": [[4, 4, "s", 84], [18, 2, "u", 63], [24, 2, "s", 21], [26, 2, "s", 21], [28, 2, "s", 21]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:5a63d0e214c9123c9f1065101f662e4e9d1e584a:arg0", "name": "Unkstruct_7c055e94", "sites": 204, "bodies": 12, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 36], [6, 2, "s", 36], [8, 2, "s", 32], [10, 2, "s", 32], [12, 2, "s", 36], [14, 2, "s", 32]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "FLD:L:F:e1b0419f54c26cc0ccd6be1f438874310e36c635:a0:0x20", "name": "Unkstruct_61c8e5ed", "sites": 203, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 26, "fields": 5, "layout": [[4, 4, "u", 14], [16, 2, "u", 63], [18, 2, "u", 70], [20, 2, "s", 7], [24, 2, "s", 21]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 3, "merges": {}, "suspect": false}, {"id": "L:F:74f4e0356746fd0484181399ca77414114dca6ad:a0", "name": "Unkstruct_51b35d2d", "sites": 202, "bodies": 101, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 101], [40, 4, "s", 101]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:25baf5859d5cb2059562a09a70da55c50f116116:a0", "name": "Unkstruct_eadcd5d5", "sites": 198, "bodies": 18, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 6, "layout": [[2, 2, "s", 18], [18, 2, "s", 18], [22, 2, "s", 18], [26, 2, "s", 18], [28, 4, "s", 54], [252, 2, "s", 18]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 3, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:out2", "name": "Unkstruct_35caedb8", "sites": 192, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:flag", "name": "Unkstruct_f8edcaba", "sites": 192, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 96], [2, 2, "s", 96]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fec0915289791771ea837debee3504f78133eede:a0", "name": "Unkstruct_a00e0c6e", "sites": 190, "bodies": 95, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 95], [40, 4, "s", 95]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:611c49169f75d8fbc9b94885ea872ae504473b59:a0", "name": "Unkstruct_bd4a4f6c", "sites": 183, "bodies": 61, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 61], [40, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a48bac4e1e4fed5c8966504b99c29a43727bf059:buf", "name": "Unkstruct_8e763649", "sites": 175, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 84, "fields": 13, "layout": [[32, 2, "s", 14], [34, 2, "s", 14], [36, 2, "s", 14], [40, 2, "s", 14], [42, 2, "s", 14], [44, 2, "s", 14], [48, 2, "s", 14], [50, 2, "s", 14], [52, 2, "s", 14], [56, 2, "s", 14], [58, 2, "s", 14], [60, 2, "s", 14], [80, 4, "s", 7]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d44d0a2a4382cb511d295db6f24dd0138d0c6bb3:p", "name": "Unkstruct_e48c7347", "sites": 172, "bodies": 2, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 9, "layout": [[6, 2, "u", 20], [10, 2, "u", 18], [14, 2, "u", 20], [16, 4, "s", 6], [18, 2, "s", 8], [20, 4, "s", 8], [24, 4, "s", 6], [26, 2, "s", 8], [32, 4, "s", 78]], "conflicts": [[18, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fef113b2129d4d1938686dcf906d7db5c6a3f7d5:param_1", "name": "Unkstruct_801EF964", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:5e678d33ff74ee62ca80b9526bca2a95c9e5b187:param_1", "name": "Unkstruct_801E2AF4", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:d120af8ec8f981c4f86e7962400d1779f1666f4c:param_1", "name": "Unkstruct_801E8034", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:d29224b95ded543f31e398c2a999f4fb4cd4cbfa:param_1", "name": "Unkstruct_948c6fe5", "sites": 168, "bodies": 4, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0:0x64", "name": "Unkstruct_7079957f", "sites": 168, "bodies": 21, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 4, "layout": [[4, 4, "s", 21], [8, 4, "s", 21], [12, 4, "s", 21], [32, 4, "s", 105]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:557ac0c4133010cca4a62bb6987d9bf328795607:a0", "name": "Unkstruct_b0e004f3", "sites": 156, "bodies": 4, "nodes": 12, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 264, "fields": 13, "layout": [[2, 2, "s", 5], [28, 4, "s", 12], [52, 2, "u", 66], [204, 4, "s", 9], [208, 4, "s", 9], [212, 4, "s", 9], [216, 4, "s", 9], [224, 4, "s", 8], [236, 4, "s", 3], [254, 2, "s", 9], [258, 2, "u", 5], [260, 2, "s", 5], [262, 2, "s", 1]], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 4}, "sign_mixed": 2, "merges": {"param": 8, "arg": 3}, "suspect": false}, {"id": "L:F:2f72bbc69e126792f9ef0f8f00a8649286ca9f83:matrix_stack", "name": "Unkstruct_78facbf0", "sites": 153, "bodies": 17, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 18, "fields": 9, "layout": [[0, 2, "s", 17], [2, 2, "s", 17], [4, 2, "s", 17], [6, 2, "s", 17], [8, 2, "s", 17], [10, 2, "s", 17], [12, 2, "s", 17], [14, 2, "s", 17], [16, 2, "s", 17]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:1caab05d387f2817ccbd6c780b66fe0c0dc38e9f:a0", "name": "Unkstruct_ea987c97", "sites": 153, "bodies": 3, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 266, "fields": 22, "layout": [[2, 2, "s", 3], [28, 4, "s", 3], [100, 4, "s", 18], [112, 2, "u", 3], [220, 2, "s", 3], [222, 2, "s", 3], [224, 2, "s", 3], [228, 2, "s", 3], [230, 2, "s", 3], [232, 2, "s", 3], [236, 2, "s", 15], [238, 2, "s", 15], [240, 2, "s", 15], [244, 2, "s", 9], [246, 2, "s", 9], [248, 2, "s", 9], [252, 2, "s", 6], [254, 2, "s", 6], [256, 2, "s", 6], [260, 2, "s", 6], [262, 2, "s", 6], [264, 2, "s", 6]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80078EB0", "name": "Unkstruct_80078EB0", "sites": 152, "bodies": 143, "nodes": 1, "globals_at": ["D_80078EB0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 152]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:8651da9db154eabc542b940cdeb8222397edab15:param_1", "name": "Unkstruct_745af9ee", "sites": 150, "bodies": 6, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 160, "fields": 23, "layout": [[8, 4, "s", 4], [12, 2, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 4], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4], [156, 4, "s", 2]], "conflicts": [[8, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:1994557e7e1644407dd26734f4aa1b1265b4ee29:a0", "name": "Unkstruct_3b68bc3b", "sites": 150, "bodies": 6, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 9, "layout": [[0, 2, "u", 6], [6, 2, "u", 12], [10, 2, "u", 12], [14, 2, "u", 12], [32, 4, "s", 84], [204, 4, "s", 6], [208, 4, "s", 6], [252, 2, "u", 6], [254, 2, "u", 6]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "FLD:FLD:AT:D_800B5CB8:0x64:0x20", "name": "Unkstruct_801439FC", "sites": 148, "bodies": 89, "nodes": 14, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 116, "fields": 10, "layout": [[4, 4, "s", 16], [16, 2, "u", 2], [18, 2, "u", 54], [20, 2, "u", 1], [26, 2, "s", 2], [32, 4, "s", 8], [44, 2, "u", 14], [104, 4, "u", 1], [108, 4, "u", 1], [112, 4, "u", 1]], "conflicts": [], "evidence": {"L": 13, "FLD": 1}, "sign_mixed": 4, "merges": {"field": 13}, "suspect": false}, {"id": "PTR:D_801151C8", "name": "Unkstruct_24c0d4db", "sites": 145, "bodies": 145, "nodes": 1, "globals_at": [], "globals_ptr": ["D_801151C8"], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "PTR:D_80115140", "name": "Unkstruct_de5b293a", "sites": 141, "bodies": 141, "nodes": 1, "globals_at": [], "globals_ptr": ["D_80115140"], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:78aecb3cd7f9abc3d9ca6eeaabc59c5ea154cdc8:a0", "name": "Unkstruct_d1fbf19a", "sites": 140, "bodies": 10, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 224, "fields": 6, "layout": [[2, 2, "s", 10], [6, 2, "u", 30], [10, 2, "u", 40], [112, 2, "s", 20], [208, 4, "s", 20], [220, 4, "p", 10]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:051a54651df7fde6a2a4cb6d30518e38f0035e66:arg0", "name": "Unkstruct_d2a26ab7", "sites": 140, "bodies": 25, "nodes": 39, "globals_at": [], "globals_ptr": [], "params": 13, "size_hint": 256, "fields": 10, "layout": [[6, 2, "u", 10], [10, 2, "u", 10], [14, 2, "u", 10], [28, 4, "s", 24], [32, 4, "s", 20], [94, 2, "u", 5], [170, 2, "s", 5], [220, 4, "s", 20], [228, 4, "s", 31], [254, 2, "s", 5]], "conflicts": [], "evidence": {"PV": 13, "P": 13, "L": 13}, "sign_mixed": 0, "merges": {"param": 26, "arg": 12}, "suspect": false}, {"id": "FLD:AT:D_800B5CB8:0x68", "name": "Unkstruct_8012C098", "sites": 139, "bodies": 131, "nodes": 63, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 14, "fields": 2, "layout": [[10, 2, "u", 9], [12, 2, "s", 117]], "conflicts": [], "evidence": {"L": 62, "FLD": 1}, "sign_mixed": 1, "merges": {"field": 62}, "suspect": false}, {"id": "L:X:ov::pbase", "name": "Unkstruct_8615cbe6", "sites": 136, "bodies": 136, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 41940, "fields": 1, "layout": [[41938, 2, "u", 136]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": true}, {"id": "L:F:1d683b223192258d1998a9c3c3ad54eb4be301eb:a0", "name": "Unkstruct_6313652c", "sites": 136, "bodies": 12, "nodes": 30, "globals_at": [], "globals_ptr": [], "params": 10, "size_hint": 262, "fields": 22, "layout": [[2, 2, "s", 4], [4, 4, "s", 2], [8, 4, "s", 2], [10, 2, "u", 8], [12, 4, "s", 2], [14, 2, "s", 8], [16, 4, "s", 2], [24, 4, "s", 2], [28, 4, "s", 16], [32, 4, "s", 12], [52, 2, "s", 8], [82, 2, "s", 2], [88, 4, "s", 2], [112, 2, "s", 2], [136, 2, "u", 2], [140, 2, "u", 2], [228, 2, "s", 2], [230, 2, "u", 2], [252, 2, "s", 4], [256, 2, "u", 10], [258, 2, "s", 14], [260, 2, "u", 2]], "conflicts": [[10, "overlap"], [14, "overlap"]], "evidence": {"PV": 10, "P": 10, "L": 10}, "sign_mixed": 6, "merges": {"param": 20, "arg": 9}, "suspect": false}, {"id": "L:F:20db3f0238f6af52ce526a74c3a0171d83b65265:p", "name": "Unkstruct_8018512C", "sites": 135, "bodies": 9, "nodes": 28, "globals_at": [], "globals_ptr": [], "params": 9, "size_hint": 252, "fields": 24, "layout": [[2, 2, "u", 8], [4, 4, "s", 1], [6, 2, "u", 5], [8, 4, "s", 1], [10, 2, "u", 4], [12, 4, "s", 1], [14, 2, "u", 7], [16, 4, "s", 4], [20, 4, "s", 11], [24, 4, "s", 10], [28, 4, "s", 3], [32, 4, "s", 10], [58, 2, "u", 1], [62, 2, "u", 1], [66, 2, "u", 1], [68, 4, "s", 9], [72, 4, "s", 10], [76, 4, "s", 9], [220, 2, "s", 2], [222, 2, "s", 8], [224, 2, "s", 3], [226, 2, "u", 1], [248, 2, "s", 2], [250, 2, "s", 2]], "conflicts": [[6, "overlap"], [10, "overlap"], [14, "overlap"]], "evidence": {"PV": 9, "P": 9, "L": 10}, "sign_mixed": 7, "merges": {"param": 18, "arg": 8, "assign": 1}, "suspect": false}, {"id": "L:F:04d955c17670582806c72770c075681379828e85:a0", "name": "Unkstruct_7ee1ed9a", "sites": 135, "bodies": 15, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 8, "layout": [[2, 2, "u", 30], [16, 4, "s", 15], [20, 4, "s", 15], [24, 4, "s", 15], [28, 4, "s", 15], [32, 4, "s", 15], [44, 4, "s", 15], [52, 4, "s", 15]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126CE0", "name": "Unkstruct_80126CE0", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_80126CE0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "AT:D_800B9A78", "name": "Unkstruct_800B9A78", "sites": 134, "bodies": 134, "nodes": 5, "globals_at": ["D_800B9A78"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 4, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 4}, "suspect": false}, {"id": "AT:D_80110C3C", "name": "Unkstruct_80110C3C", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_80110C3C"], "globals_ptr": [], "params": 0, "size_hint": 1, "fields": 1, "layout": [[0, 1, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800B9AAC", "name": "Unkstruct_800B9AAC", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_800B9AAC"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011F7BC", "name": "Unkstruct_8011F7BC", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011F7BC"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011F7BE", "name": "Unkstruct_8011F7BE", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011F7BE"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011514C", "name": "Unkstruct_8011514C", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011514C"], "globals_ptr": [], "params": 0, "size_hint": 1, "fields": 1, "layout": [[0, 1, "u", 130]], "conflicts": [[0, {"1u": 130, "2u": 4}]], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_801270C4", "name": "Unkstruct_801270C4", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_801270C4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:266b753080d094a813817359fce34335dcf6f7ac:s0", "name": "Unkstruct_0cebe116", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80127548", "name": "Unkstruct_80127548", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80127548"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:4b05e7f4ddb57db0ff1835c0c7fb5d2ffc851f37:buf", "name": "Unkstruct_cd605c73", "sites": 133, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 18, "layout": [[0, 4, "s", 7], [4, 2, "s", 14], [6, 2, "s", 7], [8, 2, "s", 7], [10, 2, "s", 7], [12, 2, "s", 7], [14, 1, "u", 7], [15, 1, "u", 7], [16, 2, "s", 7], [18, 2, "s", 7], [20, 1, "u", 7], [21, 1, "u", 7], [22, 1, "u", 7], [24, 2, "s", 7], [26, 2, "s", 7], [28, 2, "s", 7], [30, 2, "s", 7], [32, 4, "s", 7]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115148", "name": "Unkstruct_80115148", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80115148"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115112", "name": "Unkstruct_80115112", "sites": 133, "bodies": 133, "nodes": 27, "globals_at": ["D_80115112"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1, "L": 26}, "sign_mixed": 0, "merges": {"assign&": 26}, "suspect": false}, {"id": "AT:D_80115110", "name": "Unkstruct_80115110", "sites": 133, "bodies": 133, "nodes": 8, "globals_at": ["D_80115110"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 7}, "sign_mixed": 0, "merges": {"assign&": 7}, "suspect": false}, {"id": "AT:D_80115152", "name": "Unkstruct_80115152", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80115152"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80062BD0", "name": "Unkstruct_80062BD0", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80062BD0"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:02a3579313e063f36836ce379f21e084878eb67b:a0:0x20", "name": "Unkstruct_8016BFD0", "sites": 133, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "s", 133]], "conflicts": [], "evidence": {"L": 3, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 3}, "suspect": false}, {"id": "AT:D_80115218", "name": "Unkstruct_80115218", "sites": 133, "bodies": 133, "nodes": 5, "globals_at": ["D_80115218"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 4}, "sign_mixed": 0, "merges": {"assign&": 4}, "suspect": false}, {"id": "L:F:9f8d9172bf1e6453c5003fc7078099e9a388ce1a:n", "name": "Unkstruct_78fccc54", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:FLD:AT:D_80126B58:0x178:0x20", "name": "Unkstruct_c1b0cef5", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "s", 133]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:52e92ffa088470b82cc06482daa51b2f80995c31:b:0x28", "name": "Unkstruct_14e19f34", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 52, "fields": 1, "layout": [[50, 2, "u", 133]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:07e2662659f664a00246f642fa2e12964ea767d6:a0", "name": "Unkstruct_1c3d008e", "sites": 132, "bodies": 132, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 132]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1994557e7e1644407dd26734f4aa1b1265b4ee29:iVar2", "name": "Unkstruct_cb6870d9", "sites": 132, "bodies": 6, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 10, "layout": [[4, 4, "u", 24], [8, 2, "u", 12], [10, 2, "u", 12], [12, 2, "u", 12], [16, 2, "u", 12], [18, 2, "u", 12], [20, 2, "u", 12], [24, 2, "u", 12], [26, 2, "u", 12], [28, 2, "u", 12]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a3efbb1f6dada4f05ad25b37afb41ac912d4e9ed:out", "name": "Unkstruct_5bea4ea2", "sites": 131, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 131]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:ix", "name": "Unkstruct_30c2f6e6", "sites": 131, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 44, "fields": 1, "layout": [[40, 4, "s", 131]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}]} \ No newline at end of file +{"head": "fe2e814776", "when": "2026-10-01T18:59:47Z", "n_types": 18853, "types": [{"id": "AT:D_800B5CB8", "name": "Unkstruct_800B5CB8", "sites": 78513, "bodies": 7638, "nodes": 31016, "globals_at": ["D_800B5CB8", "D_800D3888", "D_80181448", "D_80181538", "D_801818AC", "D_8018192C", "D_80181D34", "D_80181D70", "D_80181D9C", "D_8018270C", "D_80182E80", "D_801831DC", "D_801832A8", "D_801834D4", "D_80183D08", "D_801845D8", "D_80184664", "D_801847D8", "D_80184918", "D_80185058"], "globals_ptr": ["D_8006386C", "D_80074778", "D_80074780", "D_80074784", "D_80074790", "D_800747C0", "D_800747D4", "D_800747D8", "D_800747E8", "D_80075838", "D_80075A40", "D_80076040", "D_800760C8", "D_80078E50", "D_80078E80", "D_80078E84", "D_80078E88", "D_80078EAF", "D_80078EE4", "D_80078EE8"], "params": 5028, "size_hint": 268, "fields": 133, "layout": [[0, 2, "u", 363], [1, 1, "u", 11], [2, 2, "s", 1893], [3, 1, "u", 9], [4, 4, "s", 473], [6, 2, "u", 1198], [8, 4, "s", 307], [10, 2, "u", 2560], [12, 2, "u", 188], [13, 1, "u", 12], [14, 2, "u", 1282], [16, 4, "s", 1912], [18, 2, "u", 2122], [20, 4, "s", 786], [22, 2, "s", 266], [24, 4, "s", 1912], [26, 2, "s", 611], [28, 4, "s", 5976], [30, 2, "s", 130], [31, 1, "s", 1], [32, 4, "s", 10984], [33, 1, "u", 8], [34, 1, "u", 12], [35, 1, "u", 5], [36, 1, "s", 134], [37, 1, "s", 134], [38, 1, "s", 134], [39, 1, "u", 47], [40, 2, "s", 45], [42, 2, "s", 30], [44, 2, "u", 423], [46, 2, "u", 8], [48, 2, "u", 13], [50, 2, "s", 2], [52, 2, "u", 2106], [54, 2, "s", 216], [56, 4, "s", 74], [58, 2, "u", 303], [60, 4, "s", 126], [62, 2, "u", 302], [64, 4, "s", 180], [66, 2, "u", 302], [68, 4, "s", 36], [72, 4, "s", 213], [74, 2, "u", 13], [76, 4, "s", 72], [80, 4, "s", 41], [82, 2, "s", 51], [84, 2, "u", 10], [88, 4, "s", 424], [92, 2, "u", 718], [94, 1, "u", 282], [96, 2, "s", 750], [98, 2, "u", 173], [100, 4, "s", 1294], [104, 4, "s", 90], [108, 4, "s", 153], [112, 2, "s", 1377], [114, 2, "u", 230], [116, 1, "u", 24], [117, 1, "u", 161], [118, 2, "s", 827], [120, 4, "s", 514], [124, 2, "s", 274]], "conflicts": [[0, {"2u": 363, "2s": 36, "4s": 22, "1u": 20}], [1, {"1u": 11, "2u": 6}], [2, {"2u": 1466, "2s": 1893, "1u": 3}], [4, {"4s": 473, "4u": 133, "2u": 23, "2s": 61, "1s": 2}], [8, {"2s": 31, "4s": 307, "2u": 196, "4u": 5}], [12, {"2s": 38, "4s": 178, "2u": 188, "4u": 2, "1u": 16, "4p": 1}], [16, {"2s": 373, "4s": 1912, "2u": 784, "4u": 1}], [20, {"4s": 786, "2s": 343, "2u": 111, "4u": 1}], [24, {"2u": 293, "4s": 1912, "2s": 728, "4u": 4}], [28, {"2u": 62, "4s": 5976, "2s": 241, "4u": 49, "1u": 4}], [32, {"4s": 10984, "4p": 330, "4u": 63, "1u": 6}], [36, {"4s": 99, "1s": 134, "2s": 4, "2u": 1, "1u": 18, "4p": 1, "4u": 1}]], "evidence": {"PV": 5029, "PTR": 9671, "L": 10859, "AT": 241, "P": 5028, "R": 84, "FLD": 104}, "sign_mixed": 57, "merges": {"arg&": 234, "param": 10058, "arg": 7337, "assign": 8393, "ret-of": 1930, "return": 706, "assign&": 7, "field": 2350}, "suspect": true}, {"id": "AT:D_80126B58", "name": "Unkstruct_80126B58", "sites": 64172, "bodies": 16360, "nodes": 3366, "globals_at": ["D_80126B58"], "globals_ptr": ["D_80126B58"], "params": 1042, "size_hint": 588, "fields": 173, "layout": [[0, 2, "u", 9047], [2, 2, "u", 10171], [4, 4, "s", 5], [6, 2, "s", 210], [8, 4, "s", 7], [10, 2, "s", 488], [12, 4, "s", 7], [14, 2, "s", 218], [16, 4, "s", 446], [18, 2, "s", 35], [20, 4, "s", 425], [22, 2, "u", 6], [24, 4, "s", 423], [26, 2, "u", 8], [28, 4, "s", 82], [30, 4, "u", 1], [32, 4, "s", 2194], [34, 4, "u", 1], [36, 4, "s", 142], [38, 2, "s", 133], [40, 4, "s", 10], [44, 4, "s", 4408], [46, 2, "s", 135], [48, 4, "s", 155], [52, 4, "s", 963], [56, 4, "s", 3], [60, 2, "u", 7], [62, 2, "s", 3], [64, 2, "s", 3], [66, 2, "s", 4], [68, 4, "u", 1745], [70, 2, "s", 1], [76, 4, "s", 48], [77, 1, "u", 13], [78, 1, "u", 2], [79, 1, "u", 133], [80, 4, "s", 2168], [84, 4, "s", 2144], [88, 4, "s", 2141], [89, 1, "u", 3], [90, 2, "s", 7], [91, 1, "u", 1], [92, 4, "s", 404], [93, 1, "u", 3], [94, 1, "u", 3], [95, 1, "u", 1], [96, 2, "u", 61], [98, 2, "u", 26], [100, 2, "u", 14], [102, 2, "u", 8], [103, 1, "u", 2], [104, 2, "s", 1], [106, 2, "s", 1], [108, 2, "s", 1], [112, 2, "s", 1], [114, 2, "s", 1], [116, 2, "s", 1], [121, 2, "s", 1], [126, 2, "u", 1], [136, 2, "u", 7], [138, 2, "u", 7], [140, 2, "u", 7], [168, 1, "u", 16], [169, 1, "u", 143]], "conflicts": [[4, {"4s": 5, "2u": 5}], [8, {"4s": 7, "2u": 5}], [12, {"4s": 7, "2u": 5}], [16, {"4p": 2, "4s": 446, "2u": 281, "2s": 21}], [20, {"2u": 6, "4s": 425, "4u": 2}], [24, {"2u": 8, "4s": 423, "4u": 2}], [36, {"4s": 142, "2s": 16, "2u": 2}], [40, {"4s": 10, "1u": 2, "2s": 9, "2u": 1}], [44, {"4s": 4408, "4u": 8, "2s": 3}], [48, {"4s": 155, "1u": 2, "4u": 4}], [68, {"4u": 1745, "2s": 1, "4s": 327}], [84, {"4s": 2144, "1u": 4}]], "evidence": {"PV": 1042, "L": 1266, "AT": 1, "P": 1042, "PTR": 1, "FLD": 14}, "sign_mixed": 57, "merges": {"assign&": 107, "param": 2084, "arg": 1083, "assign": 43, "field": 48}, "suspect": true}, {"id": "L:F:5d04529f0dac0bc0e8ed5a58782010f1c9e3ebdb:arg0", "name": "Unkstruct_cb638a45", "sites": 6477, "bodies": 381, "nodes": 15, "globals_at": [], "globals_ptr": [], "params": 5, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 1143], [6, 2, "s", 1143], [8, 2, "s", 1016], [10, 2, "s", 1016], [12, 2, "s", 1143], [14, 2, "s", 1016]], "conflicts": [], "evidence": {"PV": 5, "P": 5, "L": 5}, "sign_mixed": 0, "merges": {"param": 10, "arg": 4}, "suspect": false}, {"id": "L:F:a2c00e890871a3d894f8977fdd58daffe546a666:arg0", "name": "Unkstruct_dac960ce", "sites": 4464, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 588, "fields": 13, "layout": [[0, 2, "u", 248], [6, 2, "s", 248], [10, 2, "u", 496], [14, 2, "s", 248], [68, 4, "u", 124], [184, 2, "u", 496], [186, 2, "u", 124], [446, 1, "u", 248], [580, 1, "u", 372], [581, 1, "u", 620], [582, 2, "u", 248], [584, 2, "u", 248], [586, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fdea804fac944d7874892061563887debbf5f021:a1", "name": "Unkstruct_0caecd54", "sites": 4340, "bodies": 124, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 23, "layout": [[0, 2, "u", 248], [2, 2, "u", 124], [4, 2, "u", 124], [6, 2, "u", 248], [8, 2, "u", 124], [10, 2, "u", 248], [12, 2, "u", 124], [14, 2, "u", 248], [32, 4, "s", 496], [54, 2, "u", 124], [80, 2, "u", 124], [82, 2, "u", 124], [84, 2, "u", 124], [100, 4, "s", 372], [104, 4, "s", 248], [112, 2, "u", 124], [114, 2, "u", 124], [120, 4, "s", 124], [136, 2, "u", 124], [138, 2, "u", 124], [140, 2, "u", 124], [220, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1, "R": 1}, "sign_mixed": 1, "merges": {"param": 2, "assign": 1, "return": 1}, "suspect": false}, {"id": "FLD:AT:D_80126B58:0x20", "name": "Unkstruct_8014964C", "sites": 4093, "bodies": 1749, "nodes": 113, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 132, "fields": 20, "layout": [[4, 4, "s", 20], [16, 2, "u", 689], [18, 2, "u", 1521], [20, 2, "s", 12], [24, 2, "u", 325], [26, 2, "u", 612], [28, 2, "u", 35], [30, 2, "u", 6], [36, 1, "u", 3], [37, 1, "u", 2], [38, 1, "u", 2], [39, 1, "s", 1], [40, 2, "u", 1], [42, 2, "u", 2], [44, 2, "u", 20], [52, 4, "s", 1], [72, 4, "s", 3], [76, 4, "s", 3], [80, 4, "s", 3], [128, 4, "p", 4]], "conflicts": [[36, {"1u": 3, "4s": 1}]], "evidence": {"L": 112, "FLD": 1}, "sign_mixed": 9, "merges": {"field": 112}, "suspect": false}, {"id": "L:F:037c9974beb20a2b4fedb50684f58aba7da3df41:a0", "name": "Unkstruct_f8ed2b9f", "sites": 4061, "bodies": 4061, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 535, "fields": 1, "layout": [[534, 1, "u", 4061]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cach", "name": "Unkstruct_a32b99a1", "sites": 3936, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 8, "layout": [[20, 4, "s", 984], [26, 2, "s", 246], [52, 2, "u", 492], [58, 2, "u", 123], [62, 2, "u", 369], [64, 2, "u", 984], [66, 1, "u", 246], [74, 1, "u", 369]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:cach", "name": "Unkstruct_8e3dbe51", "sites": 3930, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 76, "fields": 5, "layout": [[30, 2, "s", 393], [46, 2, "s", 262], [71, 1, "u", 1441], [72, 1, "u", 786], [75, 1, "u", 917]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "FLD:AT:D_80126B58:0x178", "name": "Unkstruct_8015D57C", "sites": 3768, "bodies": 540, "nodes": 11, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 254, "fields": 7, "layout": [[0, 2, "u", 400], [6, 2, "s", 539], [10, 2, "s", 539], [14, 2, "s", 539], [32, 4, "s", 133], [120, 4, "s", 1617], [252, 2, "s", 1]], "conflicts": [], "evidence": {"L": 10, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 10}, "suspect": false}, {"id": "AT:D_80126948", "name": "Unkstruct_80126948", "sites": 3278, "bodies": 1095, "nodes": 142, "globals_at": ["D_80126948", "D_80126E60"], "globals_ptr": ["D_80114EE8", "D_801151D4", "D_80126948", "D_80126E60", "D_80126F04", "D_80126FA8"], "params": 7, "size_hint": 164, "fields": 34, "layout": [[0, 4, "s", 7], [4, 1, "u", 294], [8, 4, "s", 4], [12, 4, "s", 5], [16, 4, "s", 26], [20, 4, "s", 25], [24, 2, "s", 2], [26, 2, "u", 13], [32, 2, "s", 3], [34, 2, "u", 12], [36, 2, "s", 2], [40, 2, "s", 1], [42, 2, "s", 4], [44, 2, "s", 1], [46, 2, "s", 3], [48, 2, "s", 5], [50, 2, "s", 3], [52, 4, "s", 4], [56, 2, "u", 16], [60, 4, "s", 539], [64, 4, "s", 139], [68, 4, "s", 539], [72, 4, "s", 539], [76, 4, "s", 140], [80, 4, "s", 673], [92, 4, "s", 67], [96, 4, "s", 63], [100, 4, "s", 67], [104, 4, "s", 13], [108, 4, "s", 9], [112, 4, "s", 13], [156, 4, "s", 2], [160, 2, "s", 2], [162, 2, "s", 1]], "conflicts": [[160, {"1u": 1, "2s": 2}]], "evidence": {"PV": 7, "PTR": 6, "L": 120, "P": 7, "AT": 2}, "sign_mixed": 10, "merges": {"arg&": 2, "param": 14, "arg": 17, "assign": 104, "assign&": 4}, "suspect": false}, {"id": "L:F:011613e668968182114e5cc5d5f0c821df50d7b8:a0", "name": "Unkstruct_57a28935", "sites": 3271, "bodies": 196, "nodes": 402, "globals_at": [], "globals_ptr": [], "params": 134, "size_hint": 164, "fields": 26, "layout": [[5, 1, "u", 228], [8, 4, "s", 74], [12, 2, "s", 74], [16, 4, "s", 151], [20, 4, "s", 123], [24, 2, "s", 154], [26, 2, "s", 153], [28, 2, "s", 148], [32, 2, "s", 96], [34, 2, "s", 92], [36, 2, "s", 78], [40, 2, "s", 312], [42, 2, "s", 298], [44, 2, "s", 298], [46, 2, "s", 117], [48, 2, "s", 83], [50, 2, "s", 80], [60, 4, "s", 74], [64, 4, "s", 74], [68, 4, "s", 74], [72, 4, "s", 74], [76, 4, "s", 74], [80, 4, "s", 74], [156, 4, "s", 13], [160, 2, "u", 4], [162, 2, "u", 3]], "conflicts": [[8, {"4s": 74, "2s": 74}], [16, {"4s": 151, "2s": 76}], [20, {"4s": 123, "2s": 74}]], "evidence": {"PV": 134, "P": 134, "L": 134}, "sign_mixed": 9, "merges": {"param": 268, "arg": 133}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:flag", "name": "Unkstruct_1fa9e810", "sites": 3144, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 73, "fields": 3, "layout": [[46, 2, "s", 393], [71, 1, "u", 524], [72, 1, "u", 2227]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:f290967a9bfb3ed845a5d2a766082ed2705729c6:buf", "name": "Unkstruct_30b21035", "sites": 3100, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 84, "fields": 13, "layout": [[32, 2, "s", 248], [34, 2, "s", 248], [36, 2, "s", 248], [40, 2, "s", 248], [42, 2, "s", 248], [44, 2, "s", 248], [48, 2, "s", 248], [50, 2, "s", 248], [52, 2, "s", 248], [56, 2, "s", 248], [58, 2, "s", 248], [60, 2, "s", 248], [80, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:1fd5c5850652e651e5db7bf9ff6d4ae99aab9d03:arg0", "name": "Unkstruct_adc0bee4", "sites": 2646, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 8, "layout": [[2, 2, "u", 252], [6, 2, "s", 378], [10, 2, "s", 378], [14, 2, "s", 378], [18, 2, "u", 126], [22, 2, "u", 126], [32, 4, "s", 126], [48, 4, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 3, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1", "name": "Unkstruct_198fc7cc", "sites": 2580, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 16, "layout": [[2, 2, "u", 258], [6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [16, 4, "s", 129], [18, 2, "u", 129], [20, 4, "s", 129], [22, 2, "s", 129], [24, 4, "s", 129], [26, 2, "u", 129], [28, 4, "s", 258], [32, 4, "s", 258], [40, 2, "u", 129], [44, 4, "s", 129], [48, 4, "s", 129], [52, 4, "s", 129]], "conflicts": [[18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:ed1c24ca47a915759f6ba3f907f5b5d82aa3c397:base:0x24", "name": "Unkstruct_80130D48", "sites": 2382, "bodies": 587, "nodes": 123, "globals_at": [], "globals_ptr": ["D_80072C84", "D_80078E78"], "params": 0, "size_hint": 100, "fields": 25, "layout": [[0, 1, "u", 266], [4, 4, "s", 6], [20, 4, "s", 3], [24, 4, "s", 1], [26, 2, "u", 26], [34, 2, "s", 1], [36, 4, "s", 3], [38, 2, "s", 533], [40, 4, "s", 6], [42, 2, "s", 1], [44, 4, "s", 2], [46, 2, "s", 534], [48, 4, "s", 4], [50, 2, "s", 1], [52, 2, "u", 2], [55, 1, "u", 1], [58, 2, "u", 135], [60, 2, "u", 139], [62, 2, "u", 266], [64, 2, "u", 400], [67, 1, "s", 1], [73, 1, "u", 1], [80, 4, "s", 1], [96, 4, "s", 6], [98, 2, "s", 4]], "conflicts": [[26, "overlap"], [38, "overlap"], [42, "overlap"], [46, "overlap"], [50, "overlap"], [98, "overlap"]], "evidence": {"L": 120, "PTR": 2, "FLD": 1}, "sign_mixed": 3, "merges": {"field": 1, "assign": 121}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:buf", "name": "Unkstruct_ed8f1335", "sites": 2356, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 18, "layout": [[0, 4, "s", 124], [4, 2, "s", 248], [6, 2, "s", 124], [8, 2, "s", 124], [10, 2, "s", 124], [12, 2, "s", 124], [14, 1, "u", 124], [15, 1, "u", 124], [16, 2, "s", 124], [18, 2, "s", 124], [20, 1, "u", 124], [21, 1, "u", 124], [22, 1, "u", 124], [24, 2, "s", 124], [26, 2, "s", 124], [28, 2, "s", 124], [30, 2, "s", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:11f86a358e6d71766aa362f8cfb3a9eb58ca58bc:param_1", "name": "Unkstruct_8016B4F8", "sites": 2140, "bodies": 535, "nodes": 39, "globals_at": [], "globals_ptr": [], "params": 13, "size_hint": 48, "fields": 5, "layout": [[16, 4, "s", 269], [20, 4, "s", 269], [24, 4, "s", 402], [28, 4, "s", 666], [44, 4, "s", 534]], "conflicts": [], "evidence": {"PV": 13, "P": 13, "L": 13}, "sign_mixed": 0, "merges": {"param": 26, "arg": 12}, "suspect": false}, {"id": "L:F:07b460bb9e8b53760af60379de40d6d476777b34:param_1", "name": "Unkstruct_80139C7C", "sites": 2111, "bodies": 265, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 68, "fields": 14, "layout": [[8, 4, "s", 262], [24, 2, "s", 131], [28, 2, "s", 131], [32, 1, "u", 132], [34, 1, "u", 525], [36, 2, "u", 1], [38, 2, "u", 1], [44, 2, "s", 262], [46, 2, "s", 262], [48, 2, "s", 1], [50, 2, "s", 1], [52, 2, "s", 133], [54, 2, "s", 131], [64, 4, "s", 2]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 3, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:989ea29447ebea9f665718fe835d44c289cd476c:L", "name": "Unkstruct_b047cdf2", "sites": 2108, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 6, "layout": [[0, 2, "s", 1116], [2, 2, "s", 248], [8, 4, "s", 124], [12, 4, "s", 372], [24, 4, "s", 124], [28, 4, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:flag", "name": "Unkstruct_2729e670", "sites": 2091, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 6, "layout": [[20, 4, "s", 369], [26, 2, "s", 369], [52, 2, "u", 369], [60, 2, "u", 123], [64, 2, "u", 492], [74, 1, "u", 369]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:s", "name": "Unkstruct_dd542e54", "sites": 2016, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 24, "fields": 7, "layout": [[7, 1, "u", 126], [12, 2, "u", 126], [14, 2, "u", 126], [16, 2, "u", 252], [18, 2, "u", 252], [20, 2, "u", 126], [22, 2, "u", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:param_1", "name": "Unkstruct_f49880fd", "sites": 2000, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 84, "fields": 6, "layout": [[24, 2, "s", 250], [26, 2, "s", 250], [28, 2, "s", 125], [72, 4, "s", 375], [76, 4, "s", 500], [80, 4, "s", 375]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cb8944340208a6dacc6cd8ff089a3c5b21bf4b3:a0", "name": "Unkstruct_a8d34bce", "sites": 1948, "bodies": 1948, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 533, "fields": 1, "layout": [[532, 1, "u", 1948]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:4c09002e2679c98f83f9f9cfd76c32f960133d5d:param_1", "name": "Unkstruct_568f7bda", "sites": 1875, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 9, "layout": [[2, 2, "s", 125], [6, 2, "s", 125], [10, 2, "s", 125], [14, 2, "s", 125], [18, 2, "s", 250], [28, 4, "s", 500], [40, 2, "s", 125], [48, 4, "s", 250], [52, 4, "p", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1e5bdb3d889cf99856e8e0f53e443c0d445ca75e:param_1", "name": "Unkstruct_8016DF5C", "sites": 1791, "bodies": 131, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 56, "fields": 9, "layout": [[2, 2, "s", 255], [6, 2, "s", 128], [10, 2, "s", 128], [14, 2, "s", 128], [28, 4, "s", 258], [32, 4, "s", 128], [44, 4, "u", 127], [48, 4, "s", 127], [52, 4, "s", 128]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 3, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:dd085c59e1d27a2cec8deecf598ef9fa6b2300a9:param", "name": "Unkstruct_cd1bacd2", "sites": 1764, "bodies": 126, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 10, "layout": [[2, 2, "u", 252], [6, 2, "u", 126], [10, 2, "u", 126], [14, 2, "u", 126], [16, 2, "s", 126], [18, 2, "u", 252], [22, 2, "u", 252], [26, 2, "u", 252], [32, 4, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 3, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 2}, "suspect": false}, {"id": "AT:D_8011F7A8", "name": "Unkstruct_8011F7A8", "sites": 1742, "bodies": 270, "nodes": 19, "globals_at": ["D_8011F7A8"], "globals_ptr": [], "params": 0, "size_hint": 286, "fields": 7, "layout": [[7, 1, "u", 399], [8, 1, "u", 266], [18, 2, "u", 266], [20, 2, "u", 133], [22, 2, "u", 266], [130, 2, "u", 133], [284, 2, "u", 266]], "conflicts": [], "evidence": {"L": 18, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 18}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cur", "name": "Unkstruct_84612d18", "sites": 1722, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 75, "fields": 8, "layout": [[20, 4, "s", 246], [26, 2, "s", 246], [52, 2, "u", 246], [58, 2, "u", 123], [62, 2, "u", 246], [64, 2, "u", 246], [66, 1, "u", 123], [74, 1, "u", 246]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:304d1a1cd67647ffff0d682a49fc7bd3bb4ca331:puVar10", "name": "Unkstruct_57db4d07", "sites": 1664, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 13, "layout": [[-21, 1, "u", 128], [-20, 4, "u", 128], [-16, 1, "u", 128], [-15, 1, "u", 128], [-14, 1, "u", 128], [-13, 1, "u", 128], [-12, 2, "u", 128], [-10, 2, "u", 128], [-8, 1, "u", 128], [-7, 1, "u", 128], [-6, 2, "u", 128], [-4, 2, "u", 128], [-2, 2, "u", 128]], "conflicts": [[-21, "overlap"], [-20, "overlap"], [-16, "overlap"], [-15, "overlap"], [-14, "overlap"], [-13, "overlap"], [-12, "overlap"], [-10, "overlap"], [-8, "overlap"], [-7, "overlap"], [-6, "overlap"], [-4, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:0ef566a105e459b80720f079223698904a0de611:param_1:0x20", "name": "Unkstruct_4692fc17", "sites": 1612, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 4, "layout": [[18, 2, "s", 248], [24, 2, "s", 248], [26, 2, "u", 248], [28, 2, "u", 248]], "conflicts": [], "evidence": {"L": 2, "FLD": 1}, "sign_mixed": 3, "merges": {"field": 2}, "suspect": false}, {"id": "L:F:12c4b7be41f646d9e1ef4c88c1d179890b4a56fb:param_1", "name": "Unkstruct_eda88e53", "sites": 1596, "bodies": 133, "nodes": 24, "globals_at": [], "globals_ptr": [], "params": 8, "size_hint": 84, "fields": 6, "layout": [[60, 4, "s", 133], [64, 4, "s", 133], [68, 4, "s", 133], [72, 4, "s", 133], [76, 4, "s", 133], [80, 4, "s", 133]], "conflicts": [[60, {"4s": 133, "2s": 133}], [64, {"4s": 133, "2s": 133}], [68, {"4s": 133, "2s": 133}], [72, {"4s": 133, "2s": 133}], [76, {"4s": 133, "2s": 133}], [80, {"4s": 133, "2s": 133}]], "evidence": {"PV": 8, "P": 8, "L": 8}, "sign_mixed": 0, "merges": {"param": 16, "arg": 7}, "suspect": false}, {"id": "L:F:018117d92e996b5ccd97dd6fed38b144533be2bc:r", "name": "Unkstruct_80146A6C", "sites": 1589, "bodies": 440, "nodes": 22, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 44, "fields": 7, "layout": [[6, 2, "s", 135], [10, 2, "s", 135], [14, 2, "s", 135], [18, 2, "u", 263], [22, 2, "u", 263], [26, 2, "u", 263], [42, 2, "s", 134]], "conflicts": [], "evidence": {"L": 21, "R": 1}, "sign_mixed": 3, "merges": {"ret-of": 21}, "suspect": false}, {"id": "L:F:a3efbb1f6dada4f05ad25b37afb41ac912d4e9ed:param_1", "name": "Unkstruct_4e09b6d9", "sites": 1572, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 50, "fields": 9, "layout": [[6, 2, "u", 131], [10, 2, "u", 131], [14, 2, "u", 131], [36, 1, "u", 131], [38, 2, "u", 262], [40, 2, "s", 262], [42, 2, "u", 131], [44, 4, "s", 131], [48, 2, "u", 131]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_8011DB30", "name": "Unkstruct_8011DB30", "sites": 1520, "bodies": 276, "nodes": 655, "globals_at": ["D_8011DB30"], "globals_ptr": ["D_801A7424"], "params": 148, "size_hint": 258, "fields": 37, "layout": [[0, 2, "u", 14], [2, 2, "u", 39], [4, 4, "s", 25], [6, 2, "u", 63], [8, 4, "s", 7], [10, 2, "u", 80], [12, 4, "s", 5], [14, 2, "u", 64], [16, 4, "s", 46], [18, 2, "u", 11], [20, 4, "s", 53], [22, 2, "u", 15], [24, 4, "s", 37], [26, 2, "u", 11], [28, 4, "s", 189], [32, 4, "s", 303], [36, 4, "p", 2], [40, 2, "u", 8], [42, 2, "u", 6], [44, 4, "s", 55], [46, 2, "u", 16], [48, 4, "s", 9], [50, 2, "s", 11], [52, 4, "s", 59], [54, 2, "s", 3], [80, 2, "s", 1], [82, 2, "s", 1], [84, 2, "s", 1], [92, 2, "u", 1], [94, 2, "u", 1], [96, 2, "u", 1], [98, 2, "u", 1], [118, 2, "s", 1], [216, 4, "s", 1], [252, 2, "u", 3], [254, 2, "u", 3], [256, 2, "u", 3]], "conflicts": [[8, {"2u": 1, "4u": 4, "4s": 7}], [20, {"4s": 53, "2u": 1, "4u": 5}], [40, {"2u": 8, "1u": 1}], [44, {"2s": 19, "2u": 40, "4p": 8, "4s": 55, "4u": 2}], [48, {"2s": 5, "4s": 9, "2u": 8}], [52, {"2s": 7, "2u": 19, "4s": 59, "4p": 3, "4u": 1}], [6, "overlap"], [10, "overlap"], [14, "overlap"], [18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 325, "PV": 148, "P": 148, "AT": 1, "R": 27, "FLD": 5, "PTR": 1}, "sign_mixed": 15, "merges": {"assign&": 4, "return": 27, "ret-of": 144, "param": 296, "arg": 158, "assign": 9, "field": 16}, "suspect": false}, {"id": "L:F:606b9cd56050502da9c870c663e07d5753cfef65:arg1", "name": "Unkstruct_23e45db5", "sites": 1512, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 22, "fields": 11, "layout": [[0, 2, "u", 252], [2, 2, "s", 126], [4, 2, "s", 126], [6, 2, "s", 126], [8, 2, "s", 126], [10, 2, "s", 126], [12, 2, "s", 126], [14, 2, "s", 126], [16, 2, "s", 126], [18, 2, "s", 126], [20, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a62137677b6eec4b6b27aa122999967c9240c0fc:puVar1", "name": "Unkstruct_47470ce3", "sites": 1488, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 6, "layout": [[18, 2, "s", 124], [20, 2, "s", 124], [22, 2, "s", 372], [24, 2, "s", 372], [26, 2, "s", 372], [28, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a8f4060c5f3c8d9ae6472f3ae009c575b5e99ead:arg0", "name": "Unkstruct_b5c0372a", "sites": 1441, "bodies": 131, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 88, "fields": 9, "layout": [[6, 2, "s", 131], [10, 2, "s", 131], [14, 2, "s", 131], [18, 1, "u", 262], [48, 4, "s", 262], [52, 4, "s", 131], [76, 4, "s", 131], [80, 4, "s", 131], [84, 4, "s", 131]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:cur", "name": "Unkstruct_0980b9f0", "sites": 1441, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 73, "fields": 4, "layout": [[30, 2, "s", 131], [46, 2, "s", 262], [71, 1, "u", 393], [72, 1, "u", 655]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a5b4fc886a867d7e491da7f2769704ece0eee579:a0", "name": "Unkstruct_ba6e2e9f", "sites": 1439, "bodies": 1439, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 1439]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fdea804fac944d7874892061563887debbf5f021:a0", "name": "Unkstruct_a68f6d03", "sites": 1364, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 20, "fields": 9, "layout": [[0, 2, "u", 124], [2, 2, "u", 124], [4, 2, "u", 124], [6, 2, "u", 124], [8, 2, "u", 124], [10, 2, "u", 372], [12, 2, "s", 124], [14, 2, "u", 124], [16, 4, "s", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:77b6ecefb14cc475d995f1680b9348665ff66743:p", "name": "Unkstruct_8fdd92d1", "sites": 1300, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 4, "layout": [[10, 2, "s", 260], [12, 4, "u", 130], [14, 2, "u", 650], [32, 4, "u", 130]], "conflicts": [[12, {"4u": 130, "1u": 130}], [14, "overlap"]], "evidence": {"PV": 1, "L": 2, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:38e54b73b4e193a02893e5f0406ab99b3b88f59a:param_1", "name": "Unkstruct_110cf29e", "sites": 1250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 7, "layout": [[6, 2, "u", 250], [10, 2, "u", 250], [14, 2, "u", 250], [16, 4, "s", 125], [20, 4, "s", 125], [24, 4, "s", 125], [42, 2, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:arg0", "name": "Unkstruct_4db8cec8", "sites": 1240, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 8, "layout": [[26, 2, "u", 124], [32, 1, "u", 124], [34, 1, "u", 124], [40, 2, "u", 248], [42, 2, "u", 124], [48, 2, "u", 248], [50, 2, "u", 124], [52, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:989ea29447ebea9f665718fe835d44c289cd476c:ddr", "name": "Unkstruct_1f72bb6f", "sites": 1240, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 10, "layout": [[8, 2, "s", 124], [10, 2, "s", 124], [14, 2, "s", 124], [16, 2, "s", 124], [18, 2, "s", 124], [22, 2, "s", 124], [24, 2, "s", 124], [26, 2, "s", 124], [32, 2, "s", 124], [34, 2, "s", 124]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:2a34f6ae0fbc42dba731f3cb61b452b132151f49:param_1", "name": "Unkstruct_f0bc3b7a", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 7, "layout": [[32, 4, "s", 124], [100, 4, "s", 372], [112, 2, "s", 248], [144, 4, "s", 124], [152, 2, "s", 124], [252, 2, "s", 124], [254, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0fdb1818230a528aa8124f3e3ca3abbc37c4da35:iVar3", "name": "Unkstruct_6ac5bcbc", "sites": 1240, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 8, "layout": [[4, 4, "s", 124], [8, 2, "u", 124], [10, 2, "u", 124], [12, 2, "u", 124], [16, 2, "u", 124], [24, 2, "s", 124], [26, 2, "s", 124], [39, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 2, "merges": {}, "suspect": false}, {"id": "L:F:0289b3cb56bcf08db160c872a5dd2fb73fb84820:arg0", "name": "Unkstruct_297e7547", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 88, "fields": 10, "layout": [[4, 1, "u", 124], [12, 4, "s", 124], [20, 4, "s", 124], [32, 2, "s", 124], [34, 2, "s", 124], [36, 2, "s", 124], [46, 2, "s", 124], [48, 2, "s", 124], [50, 2, "s", 124], [84, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d28b333ee76050463046f0e1e298531aec6f5954:param_1", "name": "Unkstruct_dd59c999", "sites": 1240, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 6, "layout": [[2, 2, "u", 248], [6, 2, "s", 124], [10, 2, "u", 248], [14, 2, "s", 124], [32, 4, "s", 124], [52, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9cc20d766b9997aab372938831fb29f5096150bf:arg0", "name": "Unkstruct_919ca3ea", "sites": 1230, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 246], [6, 2, "s", 246], [8, 2, "s", 123], [10, 2, "s", 123], [12, 2, "s", 246], [14, 2, "s", 246]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:f3920c81bd648c06944654709f5f2737b73b2aa6:param_1", "name": "Unkstruct_a459e3e5", "sites": 1220, "bodies": 122, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 6, "layout": [[2, 2, "s", 244], [28, 4, "s", 122], [40, 2, "s", 122], [42, 2, "s", 122], [44, 4, "s", 488], [48, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:FLD:AT:D_80126B58:0x178:0x78", "name": "Unkstruct_b346548a", "sites": 1218, "bodies": 406, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 18, "fields": 3, "layout": [[12, 2, "s", 273], [14, 2, "s", 273], [16, 2, "s", 273]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 3, "merges": {}, "suspect": false}, {"id": "L:F:bb9af7dbb700bd72089e4826c0add7471088e1aa:np", "name": "Unkstruct_1149cbcc", "sites": 1206, "bodies": 1073, "nodes": 2, "globals_at": [], "globals_ptr": ["D_801152A8"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 804]], "conflicts": [], "evidence": {"PTR": 1, "L": 1}, "sign_mixed": 1, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:741e694989de8029f7fb58b84f991c3adff430b3:param_1", "name": "Unkstruct_f9a7989e", "sites": 1179, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 2, "u", 262], [32, 4, "s", 524], [52, 2, "u", 262]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:94945b92a3ffae0d24f74ce4cd9cffd105741cbe:param_1", "name": "Unkstruct_0b30043d", "sites": 1128, "bodies": 376, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[32, 4, "s", 376], [88, 4, "s", 376], [92, 2, "s", 376]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fe40e9ccdaa2d5f0ba2f4c3e37a6970152d41247:param_1", "name": "Unkstruct_301381d4", "sites": 1116, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 2, "u", 248], [32, 4, "s", 496], [52, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:2f386ebb9a66fcb2ac404d69911dc62e11ced48e:param_1", "name": "Unkstruct_0ced46e2", "sites": 1116, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[2, 2, "s", 248], [100, 4, "s", 496], [112, 2, "s", 124], [204, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:1fd5c5850652e651e5db7bf9ff6d4ae99aab9d03:s2", "name": "Unkstruct_80169BBC", "sites": 1108, "bodies": 193, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 8, "layout": [[4, 4, "s", 268], [16, 2, "s", 58], [18, 2, "s", 29], [24, 2, "u", 135], [26, 2, "u", 135], [40, 2, "s", 58], [42, 2, "s", 58], [52, 4, "s", 135]], "conflicts": [], "evidence": {"L": 8, "R": 1}, "sign_mixed": 3, "merges": {"ret-of": 8}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a4", "name": "Unkstruct_4857195e", "sites": 1107, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 5, "layout": [[4, 2, "s", 123], [12, 2, "s", 123], [20, 2, "s", 123], [28, 2, "s", 123], [48, 4, "u", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:77b6d94dff9bef0b15b418f0bd59eaa0256ec56d:param_1", "name": "Unkstruct_50a3f6b4", "sites": 1040, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 54, "fields": 3, "layout": [[2, 4, "s", 260], [6, 4, "s", 260], [50, 4, "s", 520]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_800B9A02", "name": "Unkstruct_800B9A02", "sites": 992, "bodies": 434, "nodes": 70, "globals_at": ["D_800B9A02"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 992]], "conflicts": [], "evidence": {"AT": 1, "L": 69}, "sign_mixed": 0, "merges": {"assign&": 69}, "suspect": false}, {"id": "L:F:0fdb1818230a528aa8124f3e3ca3abbc37c4da35:param_1", "name": "Unkstruct_f74e3af7", "sites": 992, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[2, 2, "u", 124], [100, 4, "s", 496], [112, 2, "s", 124], [204, 4, "s", 124], [252, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:2f386ebb9a66fcb2ac404d69911dc62e11ced48e:obj", "name": "Unkstruct_51ca2c8f", "sites": 992, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 8, "layout": [[4, 4, "s", 124], [8, 2, "u", 124], [10, 2, "u", 124], [12, 2, "u", 124], [16, 2, "u", 124], [24, 2, "u", 124], [26, 2, "u", 124], [39, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:03930f4cac6145c72bae2246355d9b7366ea8883:base", "name": "Unkstruct_b6c7c603", "sites": 931, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 7, "layout": [[-12, 4, "s", 133], [4, 4, "s", 133], [8, 4, "s", 133], [12, 4, "s", 133], [20, 4, "s", 133], [24, 4, "s", 133], [28, 4, "s", 133]], "conflicts": [[-12, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:52e92ffa088470b82cc06482daa51b2f80995c31:ix:0x28", "name": "Unkstruct_b774eeeb", "sites": 917, "bodies": 131, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 65, "fields": 4, "layout": [[4, 1, "u", 262], [13, 1, "u", 262], [32, 2, "u", 262], [64, 1, "u", 131]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:0cbff40c35cd7f98519c33fa669d174d54170c93:a0", "name": "Unkstruct_859b4fab", "sites": 910, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 176, "fields": 4, "layout": [[32, 4, "s", 130], [169, 1, "u", 130], [170, 2, "u", 130], [174, 2, "u", 520]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:03fe969bf84574f92bb856d0cb59dedb7299d891:p", "name": "Unkstruct_801463A0", "sites": 907, "bodies": 210, "nodes": 10, "globals_at": [], "globals_ptr": ["D_80126B78"], "params": 0, "size_hint": 84, "fields": 13, "layout": [[0, 4, "s", 1], [4, 2, "u", 2], [8, 2, "s", 2], [10, 2, "s", 2], [12, 2, "s", 2], [16, 2, "s", 2], [18, 2, "s", 40], [20, 2, "s", 1], [32, 4, "s", 2], [44, 2, "u", 2], [72, 4, "s", 2], [76, 4, "s", 2], [80, 4, "s", 2]], "conflicts": [], "evidence": {"PTR": 1, "L": 9}, "sign_mixed": 1, "merges": {"assign": 9}, "suspect": false}, {"id": "L:F:bf6d1e48a836c45fb0c51ee0d2312b14e4fc27be:p", "name": "Unkstruct_6d3f3f5d", "sites": 889, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 6, "layout": [[4, 2, "s", 127], [32, 4, "u", 127], [36, 4, "u", 127], [40, 4, "u", 127], [44, 4, "u", 127], [52, 4, "u", 127]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1", "name": "Unkstruct_6d856e9d", "sites": 889, "bodies": 127, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 30, "fields": 5, "layout": [[14, 4, "s", 127], [16, 4, "s", 127], [22, 4, "u", 127], [24, 4, "s", 254], [26, 4, "s", 127]], "conflicts": [[16, "overlap"], [24, "overlap"], [26, "overlap"]], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 1, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "FLD:L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1:0x18", "name": "Unkstruct_d0c6cce6", "sites": 889, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 254], [10, 2, "u", 254], [14, 2, "u", 254], [54, 2, "u", 127]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:84255a903577529ee712cdbc97647e719440dfd3:p2", "name": "Unkstruct_1e86c313", "sites": 882, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 4, "layout": [[0, 2, "u", 252], [2, 2, "u", 252], [4, 2, "u", 252], [6, 2, "u", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9df4b60ade927cf864b1a0a1438721c480ca9784:param", "name": "Unkstruct_a41ec127", "sites": 882, "bodies": 126, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 6, "layout": [[16, 2, "s", 252], [18, 2, "u", 126], [22, 2, "u", 126], [26, 2, "u", 126], [32, 4, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:0f5e993b3c8ed7a59daf16fb6d43086aa8b7fae8:a0", "name": "Unkstruct_17738e2c", "sites": 876, "bodies": 33, "nodes": 77, "globals_at": [], "globals_ptr": [], "params": 25, "size_hint": 164, "fields": 32, "layout": [[5, 1, "u", 15], [8, 2, "s", 21], [12, 2, "s", 20], [16, 4, "s", 42], [20, 2, "s", 20], [24, 2, "s", 40], [26, 2, "s", 48], [28, 2, "s", 40], [32, 2, "s", 20], [34, 2, "s", 28], [36, 2, "s", 20], [40, 2, "s", 80], [42, 2, "s", 80], [44, 2, "s", 80], [46, 2, "s", 25], [48, 2, "s", 20], [50, 2, "s", 21], [56, 2, "s", 1], [58, 2, "s", 1], [60, 4, "s", 20], [62, 2, "s", 1], [64, 4, "s", 20], [66, 2, "s", 1], [68, 4, "s", 20], [70, 2, "s", 1], [72, 4, "s", 20], [76, 4, "s", 20], [80, 4, "s", 20], [156, 2, "s", 16], [158, 2, "s", 2], [160, 2, "s", 4], [162, 2, "s", 32]], "conflicts": [[8, {"4s": 20, "2s": 21}], [12, {"4s": 4, "2s": 20}], [16, {"4s": 42, "2s": 21}], [20, {"2s": 20, "4s": 5}], [32, {"2s": 20, "4s": 1}], [60, {"4s": 20, "2s": 1}], [64, {"4s": 20, "2s": 1}], [68, {"4s": 20, "2s": 1}], [72, {"4s": 20, "2s": 1}], [62, "overlap"], [66, "overlap"], [70, "overlap"]], "evidence": {"PV": 25, "P": 25, "L": 27}, "sign_mixed": 5, "merges": {"param": 50, "assign": 1, "arg": 25}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_1", "name": "Unkstruct_3f697924", "sites": 875, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 5, "layout": [[6, 2, "u", 125], [10, 2, "u", 125], [14, 2, "u", 125], [48, 4, "s", 375], [52, 4, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:858edb9b0da77e1274071626f287939881c33e7b:p2", "name": "Unkstruct_e505dcd3", "sites": 868, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 4, "layout": [[0, 2, "u", 248], [2, 2, "u", 248], [4, 2, "u", 248], [6, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:d28b333ee76050463046f0e1e298531aec6f5954:param_1:0x34", "name": "Unkstruct_fe02110c", "sites": 868, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 3, "layout": [[6, 2, "s", 248], [10, 2, "s", 124], [14, 2, "s", 248]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 2, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:1d09228dd5c2462bead8cd0b014ea599fe154e57:param_1", "name": "Unkstruct_92677d11", "sites": 861, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 576, "fields": 5, "layout": [[0, 2, "u", 246], [32, 4, "s", 246], [564, 4, "s", 123], [568, 4, "s", 123], [572, 4, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:659637a8357e1c0b8fa595c33bfce17ffab95582:a0v", "name": "Unkstruct_86465c2c", "sites": 861, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 7, "layout": [[6, 2, "u", 123], [10, 2, "u", 123], [14, 2, "u", 123], [18, 2, "u", 123], [22, 2, "u", 123], [26, 2, "u", 123], [28, 4, "s", 123]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:8dd1002c19f72a778eeb3a7a4fb715299d59ae25:param_1", "name": "Unkstruct_ffd2397c", "sites": 854, "bodies": 122, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 5, "layout": [[2, 2, "s", 244], [28, 4, "s", 122], [42, 2, "s", 122], [44, 4, "s", 244], [48, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_801270C0", "name": "Unkstruct_801270C0", "sites": 821, "bodies": 820, "nodes": 2, "globals_at": ["D_801270C0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 821]], "conflicts": [], "evidence": {"AT": 1, "L": 1}, "sign_mixed": 0, "merges": {"assign&": 1}, "suspect": false}, {"id": "L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg", "name": "Unkstruct_2932a0a7", "sites": 798, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 18, "fields": 6, "layout": [[4, 4, "s", 133], [6, 4, "s", 133], [8, 4, "s", 133], [10, 4, "s", 133], [12, 4, "s", 133], [14, 4, "s", 133]], "conflicts": [[6, "overlap"], [8, "overlap"], [10, "overlap"], [12, "overlap"], [14, "overlap"]], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:00b75d213b2a41107232b1f6692e0f9cc00b7ee7:a0", "name": "Unkstruct_0a8f505b", "sites": 790, "bodies": 83, "nodes": 81, "globals_at": [], "globals_ptr": [], "params": 27, "size_hint": 268, "fields": 14, "layout": [[2, 2, "u", 54], [10, 2, "u", 25], [28, 4, "s", 87], [32, 4, "s", 75], [94, 2, "u", 50], [204, 4, "s", 50], [208, 4, "s", 25], [216, 4, "p", 25], [220, 4, "p", 29], [252, 2, "u", 50], [254, 2, "u", 50], [262, 2, "s", 50], [264, 2, "s", 58], [266, 2, "s", 75]], "conflicts": [], "evidence": {"PV": 27, "P": 27, "L": 27}, "sign_mixed": 5, "merges": {"param": 54, "arg": 26}, "suspect": false}, {"id": "FLD:L:F:741e694989de8029f7fb58b84f991c3adff430b3:param_1:0x20", "name": "Unkstruct_12f4cee2", "sites": 786, "bodies": 131, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 5, "layout": [[4, 4, "s", 262], [24, 2, "u", 131], [26, 2, "u", 131], [32, 4, "u", 131], [39, 1, "u", 131]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:2efadbdef7c8f0b9d8e61f5f99c4ab820ab31fe4:arg0", "name": "Unkstruct_d2490774", "sites": 786, "bodies": 131, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 176, "fields": 3, "layout": [[169, 1, "u", 131], [170, 2, "u", 131], [174, 2, "u", 524]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:014b70c0a649b66cfd0c62d144155ce53b1dba62:a0", "name": "Unkstruct_80135260", "sites": 780, "bodies": 130, "nodes": 434, "globals_at": [], "globals_ptr": [], "params": 144, "size_hint": 84, "fields": 3, "layout": [[72, 4, "s", 260], [76, 4, "s", 260], [80, 4, "s", 260]], "conflicts": [], "evidence": {"PV": 144, "P": 144, "L": 146}, "sign_mixed": 0, "merges": {"param": 288, "arg": 143, "assign": 2}, "suspect": false}, {"id": "L:F:d8b2cb544bf2d39e0fd9a5b84f7c2c59493b1aaf:puVar4", "name": "Unkstruct_b196f9c0", "sites": 768, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 5, "layout": [[0, 2, "u", 128], [4, 4, "s", 128], [10, 1, "u", 128], [16, 1, "u", 128], [18, 2, "u", 128]], "conflicts": [[0, {"2u": 128, "4s": 128}]], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:903c7004189f0bb3a018ec60a8a59dde7bc4da31:arr", "name": "Unkstruct_36c327cf", "sites": 762, "bodies": 127, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 24, "fields": 2, "layout": [[20, 2, "u", 381], [22, 2, "u", 381]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:c9a642091d2ee140cadc8a4c4b8fb8797e9a5234:param_1", "name": "Unkstruct_6cd0e445", "sites": 756, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 2, "layout": [[6, 2, "s", 378], [14, 2, "s", 378]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:p", "name": "Unkstruct_c0b9c5d5", "sites": 750, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 6, "layout": [[4, 2, "u", 125], [6, 2, "u", 125], [8, 2, "u", 125], [10, 2, "u", 125], [12, 2, "u", 125], [14, 2, "u", 125]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fc3f1ffd17e7582fc5f58fe5091b90ca656cccd7:arg0", "name": "Unkstruct_64375b18", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 160, "fields": 5, "layout": [[114, 2, "u", 248], [144, 4, "p", 124], [148, 4, "s", 124], [154, 2, "s", 124], [156, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:fdea804fac944d7874892061563887debbf5f021:a1:0x20", "name": "Unkstruct_438adcd1", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 5, "layout": [[0, 2, "u", 248], [8, 2, "u", 124], [10, 2, "u", 124], [12, 2, "u", 124], [18, 2, "s", 124]], "conflicts": [], "evidence": {"L": 2, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 2}, "suspect": false}, {"id": "FLD:L:F:fe40e9ccdaa2d5f0ba2f4c3e37a6970152d41247:param_1:0x20", "name": "Unkstruct_97b6f459", "sites": 744, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 5, "layout": [[4, 4, "s", 248], [24, 2, "u", 124], [26, 2, "u", 124], [32, 4, "u", 124], [39, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:0ef566a105e459b80720f079223698904a0de611:iVar1", "name": "Unkstruct_38975874", "sites": 744, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 132, "fields": 4, "layout": [[4, 4, "u", 248], [26, 2, "u", 124], [44, 2, "u", 248], [128, 4, "p", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:847846f948e9fe926200a820d3a38dde0be26e63:p", "name": "Unkstruct_76b1caf3", "sites": 744, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 3, "fields": 2, "layout": [[1, 1, "u", 248], [2, 1, "u", 496]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1477ad6a9f9211dc890db15516297afa81abfb58:param", "name": "Unkstruct_8016BBE0", "sites": 690, "bodies": 139, "nodes": 15, "globals_at": [], "globals_ptr": [], "params": 5, "size_hint": 56, "fields": 9, "layout": [[2, 2, "u", 134], [16, 2, "s", 134], [18, 2, "u", 5], [20, 2, "s", 134], [22, 2, "u", 5], [26, 2, "u", 5], [32, 4, "s", 134], [44, 4, "s", 134], [52, 4, "s", 5]], "conflicts": [], "evidence": {"PV": 5, "P": 5, "L": 5}, "sign_mixed": 0, "merges": {"param": 10, "arg": 4}, "suspect": false}, {"id": "AT:D_800AF630", "name": "Unkstruct_800AF630", "sites": 671, "bodies": 537, "nodes": 9, "globals_at": ["D_800AF630"], "globals_ptr": [], "params": 0, "size_hint": 41948, "fields": 3, "layout": [[0, 1, "u", 402], [41938, 2, "u", 268], [41946, 2, "s", 1]], "conflicts": [], "evidence": {"L": 8, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 8}, "suspect": true}, {"id": "L:F:97e3900f87dfe459a7294ab6797acf8c399fa39a:end", "name": "Unkstruct_8012C284", "sites": 668, "bodies": 533, "nodes": 8, "globals_at": [], "globals_ptr": ["D_80126720"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 402]], "conflicts": [], "evidence": {"PTR": 1, "L": 7}, "sign_mixed": 1, "merges": {"assign": 7}, "suspect": false}, {"id": "AT:D_80115128", "name": "Unkstruct_80115128", "sites": 667, "bodies": 534, "nodes": 1, "globals_at": ["D_80115128"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 667]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:arg0", "name": "Unkstruct_896c95f7", "sites": 665, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[28, 4, "s", 133], [32, 4, "s", 399], [92, 2, "s", 133]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "L:F:266b753080d094a813817359fce34335dcf6f7ac:p0C", "name": "Unkstruct_61789347", "sites": 665, "bodies": 133, "nodes": 7, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 2, "P": 2, "L": 3}, "sign_mixed": 0, "merges": {"arg": 2, "param": 4}, "suspect": false}, {"id": "L:F:04935bd819ff7041efbd72e2cff30ce433c2ce1c:base", "name": "Unkstruct_5f294c87", "sites": 665, "bodies": 133, "nodes": 394, "globals_at": [], "globals_ptr": [], "params": 131, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 131, "P": 131, "L": 132}, "sign_mixed": 0, "merges": {"param": 262, "arg": 131}, "suspect": false}, {"id": "FLD:L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg:0x8", "name": "Unkstruct_801345F8", "sites": 665, "bodies": 133, "nodes": 16, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 6, "FLD": 2}, "sign_mixed": 0, "merges": {"field": 2, "param": 8, "arg": 5}, "suspect": false}, {"id": "FLD:L:F:c6d6ef34db3f99b145fbf127bb9f07d719ca5391:arg:0x6", "name": "Unkstruct_801345F8", "sites": 665, "bodies": 133, "nodes": 16, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 6, "FLD": 2}, "sign_mixed": 0, "merges": {"field": 2, "param": 8, "arg": 5}, "suspect": false}, {"id": "AT:D_801152A0", "name": "Unkstruct_801152A0", "sites": 665, "bodies": 399, "nodes": 1, "globals_at": ["D_801152A0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 665]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:77b6d94dff9bef0b15b418f0bd59eaa0256ec56d:param_1:0x32", "name": "Unkstruct_fdd04bae", "sites": 650, "bodies": 130, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 3, "layout": [[4, 4, "s", 260], [12, 4, "s", 260], [54, 2, "s", 130]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:33923e514bd02d6671035bee0f8b344b58b3d972:param_1", "name": "Unkstruct_eb8b6fbf", "sites": 645, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 5, "layout": [[32, 4, "s", 129], [88, 4, "s", 129], [92, 2, "s", 129], [220, 4, "s", 129], [252, 2, "s", 129]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1:0x34", "name": "Unkstruct_90d0825c", "sites": 645, "bodies": 129, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 5, "layout": [[4, 4, "u", 129], [6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [26, 2, "s", 129]], "conflicts": [[6, "overlap"]], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:1542055f1c9f4304a7a2a4a6d7952d5524bbd6f6:param_1", "name": "Unkstruct_27c177f1", "sites": 645, "bodies": 129, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 52, "fields": 4, "layout": [[2, 2, "s", 258], [22, 2, "s", 129], [32, 4, "s", 129], [48, 4, "s", 129]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:8de2505415803d505ca54f1d5ec81c291e2191a8:d", "name": "Unkstruct_4f9f60b8", "sites": 630, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 120, "fields": 4, "layout": [[4, 4, "u", 252], [24, 2, "s", 126], [26, 2, "s", 126], [118, 2, "s", 126]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:25ab0fa8060d0fde4162393b2fe6d2e173139b54:param_1", "name": "Unkstruct_7a31a22f", "sites": 630, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 412, "fields": 2, "layout": [[32, 4, "s", 126], [408, 4, "s", 504]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:2e7a0e0cf5ddcacbaf0f3497e29d348050488cd0:param_1", "name": "Unkstruct_187abeff", "sites": 630, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 104, "fields": 5, "layout": [[44, 2, "s", 126], [46, 2, "s", 126], [96, 2, "s", 126], [98, 2, "s", 126], [102, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:dd085c59e1d27a2cec8deecf598ef9fa6b2300a9:s2", "name": "Unkstruct_f9fa1fb7", "sites": 630, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 4, "layout": [[4, 4, "s", 252], [24, 2, "s", 126], [26, 2, "s", 126], [30, 2, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:1e5bdb3d889cf99856e8e0f53e443c0d445ca75e:iNew", "name": "Unkstruct_20d4328b", "sites": 630, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[4, 4, "u", 252], [24, 2, "s", 126], [26, 2, "s", 126], [52, 4, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_3", "name": "Unkstruct_d94ab931", "sites": 625, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 4, "layout": [[0, 2, "u", 125], [1, 2, "u", 125], [2, 2, "u", 125], [4, 2, "s", 125]], "conflicts": [[1, "overlap"], [2, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:7a236870edfc6bd00bd593972631b414341516eb:param_2", "name": "Unkstruct_7ef9c9ef", "sites": 625, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 4, "layout": [[0, 2, "u", 125], [1, 2, "u", 125], [2, 2, "u", 125], [4, 2, "s", 125]], "conflicts": [[1, "overlap"], [2, "overlap"]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:caab8c0f44bbde0b21a1f7471e8403d253a4136e:iVar1", "name": "Unkstruct_ad0948d5", "sites": 625, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 5, "layout": [[16, 2, "s", 125], [18, 2, "s", 125], [20, 2, "s", 125], [24, 2, "s", 125], [26, 2, "s", 125]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:bb765a44f6697075a978938eba4856b29cf6ac16:param_1:0x20", "name": "Unkstruct_fccefc1f", "sites": 625, "bodies": 125, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 26, "fields": 2, "layout": [[18, 2, "u", 250], [24, 2, "u", 375]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:e4a8eda15597710d8e18c0c552e2c5d772f45ea3:param_1", "name": "Unkstruct_57ae03d1", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 248], [40, 4, "s", 372]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0ef566a105e459b80720f079223698904a0de611:param_1", "name": "Unkstruct_af1e9d57", "sites": 620, "bodies": 248, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 100, "fields": 4, "layout": [[32, 4, "s", 248], [80, 4, "s", 124], [96, 2, "u", 124], [98, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:8135fa3c427f4ca639d9562fd2c45229be7d8689:arg0", "name": "Unkstruct_172cbd29", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 508, "fields": 2, "layout": [[0, 2, "u", 496], [504, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fd006a820b6cb56b1fca204bcbda6be36d434bbd:param_1", "name": "Unkstruct_2c2c1d2e", "sites": 620, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 4, "layout": [[2, 2, "s", 248], [16, 4, "s", 124], [20, 4, "s", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fd006a820b6cb56b1fca204bcbda6be36d434bbd:iVar1", "name": "Unkstruct_1705ddb8", "sites": 620, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 40, "fields": 4, "layout": [[4, 4, "u", 248], [24, 2, "u", 124], [26, 2, "u", 124], [39, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d28b333ee76050463046f0e1e298531aec6f5954:iVar2", "name": "Unkstruct_fed151f0", "sites": 620, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 39, "fields": 4, "layout": [[4, 4, "u", 248], [24, 2, "u", 124], [26, 2, "u", 124], [38, 1, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:5d384070f557c4e179ee23e15ca41c21eeb65e76:a0", "name": "Unkstruct_aaf4c4dd", "sites": 615, "bodies": 615, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 22, "fields": 1, "layout": [[21, 1, "u", 615]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:out3", "name": "Unkstruct_293d71dc", "sites": 600, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e1b0419f54c26cc0ccd6be1f438874310e36c635:a0", "name": "Unkstruct_78eaa73c", "sites": 553, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 266, "fields": 15, "layout": [[6, 2, "s", 21], [10, 2, "s", 28], [14, 2, "s", 21], [32, 4, "s", 266], [100, 4, "s", 70], [112, 2, "s", 14], [204, 4, "p", 7], [208, 4, "p", 21], [252, 2, "u", 7], [254, 2, "s", 7], [256, 2, "u", 7], [258, 2, "u", 7], [260, 2, "u", 7], [262, 2, "u", 7], [264, 2, "s", 14]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 7, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_8011512E", "name": "Unkstruct_8011512E", "sites": 532, "bodies": 133, "nodes": 1, "globals_at": ["D_8011512E"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 532]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a0", "name": "Unkstruct_8016BFA8", "sites": 532, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 36, "fields": 4, "layout": [[6, 2, "u", 133], [10, 2, "u", 133], [14, 2, "u", 133], [32, 4, "s", 133]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:fd901a9a5b08fe3e2d8866b949886e73e5e6ade9:e", "name": "Unkstruct_7476116e", "sites": 532, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 532]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:be9288d1f2eaecc1cb9835a4658eb37749f9bcbe:d", "name": "Unkstruct_30befa8c", "sites": 520, "bodies": 130, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 3, "layout": [[32, 4, "s", 130], [112, 2, "u", 260], [252, 2, "s", 130]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "L:F:b5f85ed5dd4d2a1750ce5c6720e8c63407a6b0e8:a0", "name": "Unkstruct_01082f7a", "sites": 520, "bodies": 520, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 520]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:param_1:0x30", "name": "Unkstruct_db0ee441", "sites": 516, "bodies": 129, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 129], [10, 2, "u", 129], [14, 2, "u", 129], [54, 2, "u", 129]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:8de2505415803d505ca54f1d5ec81c291e2191a8:param_1", "name": "Unkstruct_290ce261", "sites": 504, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 3, "layout": [[32, 4, "s", 126], [112, 2, "u", 126], [252, 2, "s", 252]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:b25150e61818e0e15b1d045fef5830235d52337c:iVar1", "name": "Unkstruct_d6100faa", "sites": 504, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 32, "fields": 3, "layout": [[4, 4, "u", 252], [16, 2, "s", 126], [30, 2, "s", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:894cf835217a9370ccd529001bb1a43ea9c65f21:param_2", "name": "Unkstruct_fc43506c", "sites": 504, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 14, "fields": 3, "layout": [[8, 2, "u", 126], [10, 2, "s", 126], [12, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cc8290154fb662b23f83a0d99af3b530814bc30:param_1", "name": "Unkstruct_7cb40b10", "sites": 500, "bodies": 500, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 500]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:b164", "name": "Unkstruct_4e078af8", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 124], [2, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 2, "merges": {}, "suspect": false}, {"id": "L:F:865c6699e7072df19983825933b0da5a8df2e612:arg0", "name": "Unkstruct_494cef68", "sites": 496, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 392, "fields": 2, "layout": [[0, 2, "u", 248], [388, 4, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:0fdb1818230a528aa8124f3e3ca3abbc37c4da35:param_1:0x64", "name": "Unkstruct_93df0322", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 124], [10, 2, "u", 124], [14, 2, "u", 124], [54, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:2f386ebb9a66fcb2ac404d69911dc62e11ced48e:param_1:0x64", "name": "Unkstruct_3b2b6e45", "sites": 496, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 56, "fields": 4, "layout": [[6, 2, "u", 124], [10, 2, "u", 124], [14, 2, "u", 124], [54, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:4443448ce7d9b1ff56b0340cee1e78758be199cb:param_2", "name": "Unkstruct_9e228c39", "sites": 492, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "s", 123], [2, 2, "s", 123], [4, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:s0b", "name": "Unkstruct_a05973fa", "sites": 492, "bodies": 123, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 44, "fields": 3, "layout": [[24, 4, "s", 246], [32, 4, "p", 123], [40, 4, "s", 123]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0", "name": "Unkstruct_48c11385", "sites": 441, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 104, "fields": 5, "layout": [[4, 4, "s", 21], [8, 4, "s", 21], [12, 4, "s", 21], [32, 4, "s", 210], [100, 4, "s", 168]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a3818d1fe32af81de33548695a2bad677be3a52a:a0", "name": "Unkstruct_a55a221e", "sites": 428, "bodies": 428, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 533, "fields": 1, "layout": [[532, 1, "u", 428]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "PTR:D_80115158", "name": "Unkstruct_02864986", "sites": 420, "bodies": 420, "nodes": 1, "globals_at": [], "globals_ptr": ["D_80115158"], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 137]], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "AT:D_8011511A", "name": "Unkstruct_8011511A", "sites": 404, "bodies": 146, "nodes": 15, "globals_at": ["D_8011511A"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 390]], "conflicts": [], "evidence": {"AT": 1, "L": 14}, "sign_mixed": 1, "merges": {"assign&": 14}, "suspect": false}, {"id": "FLD:L:F:11f86a358e6d71766aa362f8cfb3a9eb58ca58bc:param_1:0x18", "name": "Unkstruct_8016B5C0", "sites": 399, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 133], [26, 2, "s", 266]], "conflicts": [], "evidence": {"L": 3, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 3}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a3", "name": "Unkstruct_8016BFA8", "sites": 399, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 133], [2, 2, "u", 133], [4, 2, "u", 133]], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "AT:D_8011F7F0", "name": "Unkstruct_8011F7F0", "sites": 399, "bodies": 133, "nodes": 10, "globals_at": ["D_8011F7F0"], "globals_ptr": [], "params": 0, "size_hint": 66, "fields": 3, "layout": [[30, 2, "s", 133], [46, 2, "u", 133], [64, 2, "u", 133]], "conflicts": [], "evidence": {"L": 9, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 9}, "suspect": false}, {"id": "L:F:16a750960362018cc369e0f92a6ed206750386f3:a0", "name": "Unkstruct_630777a3", "sites": 399, "bodies": 266, "nodes": 33, "globals_at": [], "globals_ptr": [], "params": 11, "size_hint": 5, "fields": 2, "layout": [[0, 1, "u", 133], [4, 1, "u", 266]], "conflicts": [], "evidence": {"PV": 11, "P": 11, "L": 11}, "sign_mixed": 0, "merges": {"param": 22, "arg": 10}, "suspect": false}, {"id": "L:F:f88573dff145c554981bca20355a96b6dfaea27d:param_1", "name": "Unkstruct_1649b9a7", "sites": 392, "bodies": 28, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 8, "layout": [[2, 2, "s", 56], [6, 2, "s", 56], [10, 2, "u", 56], [14, 2, "s", 56], [20, 2, "s", 28], [22, 2, "s", 28], [32, 4, "s", 28], [52, 4, "s", 28]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:02f3d948e09a3e6d0e1d58f9893278085dee5950:param_1", "name": "Unkstruct_ea5ed765", "sites": 390, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 219, "fields": 1, "layout": [[218, 1, "u", 390]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:014b70c0a649b66cfd0c62d144155ce53b1dba62:a3", "name": "Unkstruct_80135260", "sites": 390, "bodies": 130, "nodes": 431, "globals_at": [], "globals_ptr": [], "params": 143, "size_hint": 6, "fields": 3, "layout": [[0, 2, "s", 130], [2, 2, "s", 130], [4, 2, "s", 130]], "conflicts": [], "evidence": {"PV": 143, "P": 143, "L": 145}, "sign_mixed": 0, "merges": {"param": 286, "arg": 142, "assign": 2}, "suspect": false}, {"id": "L:F:1eeddc4a726cce7edb2fd84a3cad6477021bcf85:iVar2", "name": "Unkstruct_a472a6ba", "sites": 387, "bodies": 129, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[4, 4, "u", 129], [24, 2, "s", 129], [26, 2, "s", 129]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:304d1a1cd67647ffff0d682a49fc7bd3bb4ca331:OTE", "name": "Unkstruct_f2440762", "sites": 384, "bodies": 128, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "u", 384]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:b25150e61818e0e15b1d045fef5830235d52337c:param_1", "name": "Unkstruct_80164BDC", "sites": 384, "bodies": 128, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 100, "fields": 5, "layout": [[10, 2, "s", 1], [32, 4, "s", 127], [76, 4, "s", 1], [96, 2, "s", 127], [98, 2, "s", 127]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 1, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:c43d345b308a05793ac9a8edca20a5c739ae9813:a0", "name": "Unkstruct_8c2ab96e", "sites": 384, "bodies": 128, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 3, "layout": [[3, 1, "u", 128], [4, 2, "u", 128], [6, 2, "u", 128]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:out3", "name": "Unkstruct_d448adea", "sites": 384, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:9dedcda9dded508b80dc8149159c528d143a0d96:param_1:0x1a", "name": "Unkstruct_2552224c", "sites": 381, "bodies": 127, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 16, "fields": 3, "layout": [[6, 2, "u", 127], [10, 2, "u", 127], [14, 2, "u", 127]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:q1", "name": "Unkstruct_e79a0730", "sites": 378, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 2, "layout": [[32, 2, "u", 252], [34, 2, "u", 126]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:60753a66ad7b997b354356bdcc1b2cfb92a8800f:src", "name": "Unkstruct_1a8e907f", "sites": 378, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "u", 378]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:84255a903577529ee712cdbc97647e719440dfd3:p1", "name": "Unkstruct_e1c73ac0", "sites": 378, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 126], [2, 2, "u", 126], [4, 2, "u", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:9df4b60ade927cf864b1a0a1438721c480ca9784:param:0x20", "name": "Unkstruct_93e44aed", "sites": 378, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 126], [26, 2, "s", 252]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:124028da4bc28443465198bfe8220d31b867cfe8:param_2", "name": "Unkstruct_8dd0822e", "sites": 378, "bodies": 126, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 14, "fields": 3, "layout": [[8, 2, "u", 126], [10, 2, "s", 126], [12, 2, "s", 126]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:e88bc6d8af09ec78a633a1ad0286db378f599db5:param_4", "name": "Unkstruct_89684c99", "sites": 375, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 125], [2, 2, "u", 125], [4, 2, "u", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:bb765a44f6697075a978938eba4856b29cf6ac16:param_1", "name": "Unkstruct_d0754cca", "sites": 375, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "s", 250], [32, 4, "s", 125]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:695bc29300546c372ed373f9f26b961fa5dea2c1:a0", "name": "Unkstruct_89f82b52", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 458, "fields": 3, "layout": [[68, 4, "u", 124], [172, 2, "u", 124], [456, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:858edb9b0da77e1274071626f287939881c33e7b:p1", "name": "Unkstruct_924d03d6", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 3, "layout": [[0, 2, "u", 124], [2, 2, "u", 124], [4, 2, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:66a9253f13334598aac89a2be8e072eb5a5a6621:param_1:0x18c", "name": "Unkstruct_7fd6458b", "sites": 372, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 64, "fields": 1, "layout": [[60, 4, "s", 372]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:a8b2812a7f92a80f310198d49b4dbdb58a0160dd:param_1", "name": "Unkstruct_92a372de", "sites": 372, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "s", 248], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:FLD:L:F:66a9253f13334598aac89a2be8e072eb5a5a6621:param_1:0x18c:0x3c", "name": "Unkstruct_39de3511", "sites": 372, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 18, "fields": 3, "layout": [[12, 2, "u", 124], [14, 2, "s", 124], [16, 2, "u", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:a06a0968fc994e3570786e8595151cfd5a7bd33c:param_1", "name": "Unkstruct_1b4331f0", "sites": 369, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 94, "fields": 3, "layout": [[32, 4, "s", 123], [88, 4, "s", 123], [92, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:27e50fe90649c2a36422062babe9f76e89ad16e5:param_1", "name": "Unkstruct_75e9a6af", "sites": 369, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 16, "fields": 3, "layout": [[6, 2, "s", 123], [10, 2, "s", 123], [14, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:0ea500b04cc8ed4dd983c7ab3468fdb979e7dba5:param_1", "name": "Unkstruct_c59d6379", "sites": 366, "bodies": 14, "nodes": 21, "globals_at": [], "globals_ptr": [], "params": 7, "size_hint": 162, "fields": 24, "layout": [[5, 1, "u", 12], [8, 4, "s", 8], [12, 2, "s", 8], [16, 4, "s", 16], [20, 2, "s", 8], [24, 2, "s", 16], [26, 2, "s", 16], [28, 2, "s", 16], [32, 2, "s", 10], [34, 2, "s", 11], [36, 2, "s", 10], [40, 2, "s", 32], [42, 2, "s", 32], [44, 2, "s", 32], [46, 2, "s", 10], [48, 2, "s", 10], [50, 2, "s", 10], [60, 4, "s", 8], [64, 4, "s", 8], [68, 4, "s", 8], [72, 4, "s", 8], [76, 4, "s", 8], [80, 4, "s", 8], [160, 2, "s", 15]], "conflicts": [[8, {"4s": 8, "2s": 8}], [16, {"4s": 16, "2s": 8}], [20, {"4s": 6, "2s": 8}]], "evidence": {"PV": 7, "P": 7, "L": 7}, "sign_mixed": 3, "merges": {"param": 14, "arg": 6}, "suspect": false}, {"id": "FLD:AT:D_800B5CB8:0x78", "name": "Unkstruct_80131B14", "sites": 338, "bodies": 330, "nodes": 19, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 50, "fields": 5, "layout": [[0, 2, "u", 16], [2, 2, "u", 36], [8, 4, "s", 2], [46, 2, "s", 1], [48, 2, "s", 283]], "conflicts": [], "evidence": {"L": 18, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 18}, "suspect": false}, {"id": "AT:D_800AE620", "name": "Unkstruct_800AE620", "sites": 325, "bodies": 322, "nodes": 3, "globals_at": ["D_800AE620"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 2}, "sign_mixed": 0, "merges": {"assign&": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:out2", "name": "Unkstruct_814e4d87", "sites": 300, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d3dab0de7f93234d504e64c09270db7e78cb4e16:flag", "name": "Unkstruct_09b02bee", "sites": 300, "bodies": 75, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 150], [2, 2, "s", 150]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:ea7424d9729cc61d5cc082e384615f9e83e8d527:a0", "name": "Unkstruct_1ef3b11b", "sites": 280, "bodies": 10, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 268, "fields": 7, "layout": [[28, 4, "s", 20], [112, 2, "s", 60], [212, 4, "p", 10], [216, 4, "p", 10], [252, 2, "s", 10], [264, 2, "s", 90], [266, 2, "s", 70]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80115188", "name": "Unkstruct_80115188", "sites": 274, "bodies": 270, "nodes": 1, "globals_at": ["D_80115188"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 8]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:016bfe21cadcda9221c71177a8a4d810e798d34f:base", "name": "Unkstruct_80129CF8", "sites": 273, "bodies": 90, "nodes": 119, "globals_at": [], "globals_ptr": ["D_800AF630"], "params": 0, "size_hint": 42037, "fields": 33, "layout": [[392, 2, "u", 5], [394, 2, "u", 5], [408, 4, "s", 2], [412, 2, "u", 4], [414, 2, "u", 5], [41896, 2, "u", 2], [41898, 2, "u", 28], [41900, 2, "u", 1], [41902, 2, "u", 3], [41904, 2, "u", 2], [41908, 2, "u", 9], [41910, 2, "u", 16], [41912, 2, "u", 11], [41914, 2, "u", 6], [41916, 2, "u", 6], [41918, 2, "u", 4], [41920, 2, "u", 4], [41922, 2, "u", 4], [41926, 2, "u", 6], [41928, 2, "u", 5], [41930, 2, "u", 3], [41932, 2, "u", 7], [41934, 2, "u", 7], [41936, 2, "u", 4], [41938, 2, "u", 73], [41940, 2, "u", 2], [41944, 2, "s", 16], [41946, 2, "s", 4], [41948, 2, "s", 4], [41950, 2, "s", 1], [41955, 1, "u", 1], [41960, 4, "s", 11], [42036, 1, "u", 1]], "conflicts": [], "evidence": {"L": 118, "PTR": 1}, "sign_mixed": 5, "merges": {"assign": 118}, "suspect": true}, {"id": "L:F:aa1b9ff2f846d7698f54c6a1e7b5b72bb7e2bcda:a0", "name": "Unkstruct_a2d6c72b", "sites": 273, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 4, "layout": [[28, 4, "s", 63], [32, 4, "s", 84], [112, 2, "s", 42], [254, 2, "s", 84]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80078EB4", "name": "Unkstruct_80078EB4", "sites": 270, "bodies": 137, "nodes": 1, "globals_at": ["D_80078EB4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 270]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115118", "name": "Unkstruct_80115118", "sites": 268, "bodies": 265, "nodes": 15, "globals_at": ["D_80115118"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 134]], "conflicts": [], "evidence": {"AT": 1, "L": 14}, "sign_mixed": 1, "merges": {"assign&": 14}, "suspect": false}, {"id": "AT:D_801152B0", "name": "Unkstruct_801152B0", "sites": 268, "bodies": 268, "nodes": 1, "globals_at": ["D_801152B0"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_801269F4", "name": "Unkstruct_801269F4", "sites": 267, "bodies": 134, "nodes": 1, "globals_at": ["D_801269F4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:2a34f6ae0fbc42dba731f3cb61b452b132151f49:iVar1", "name": "Unkstruct_8012C1DC", "sites": 267, "bodies": 134, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 3, "layout": [[0, 2, "u", 1], [24, 2, "s", 133], [26, 2, "s", 133]], "conflicts": [], "evidence": {"L": 4, "R": 1}, "sign_mixed": 0, "merges": {"ret-of": 3, "return": 1}, "suspect": false}, {"id": "AT:D_8011515C", "name": "Unkstruct_8011515C", "sites": 267, "bodies": 267, "nodes": 1, "globals_at": ["D_8011515C"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 137]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:e1", "name": "Unkstruct_1db7b82d", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 46, "fields": 1, "layout": [[44, 2, "u", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:bec5a9f4faf6d51d6786710bf58f7517fd77b0a5:e2", "name": "Unkstruct_6bd63257", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 2, "layout": [[24, 2, "s", 133], [28, 2, "s", 133]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fd68090f6752fd1a61ec242c522b368e1fb43e92:s0", "name": "Unkstruct_f85de09d", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6966b8be15e9832708a2dbf4b5b13ee7d3060710:sp", "name": "Unkstruct_a310cf42", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115124", "name": "Unkstruct_80115124", "sites": 266, "bodies": 266, "nodes": 1, "globals_at": ["D_80115124"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800D4BE0", "name": "Unkstruct_800D4BE0", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": ["D_800D4BE0"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800D4F8C", "name": "Unkstruct_800D4F8C", "sites": 266, "bodies": 133, "nodes": 1, "globals_at": ["D_800D4F8C"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 266]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a1", "name": "Unkstruct_8016BFA8", "sites": 266, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:02a3579313e063f36836ce379f21e084878eb67b:a2", "name": "Unkstruct_8016BFA8", "sites": 266, "bodies": 133, "nodes": 18, "globals_at": [], "globals_ptr": [], "params": 6, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 6, "P": 6, "L": 6}, "sign_mixed": 0, "merges": {"param": 12, "arg": 5}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:b", "name": "Unkstruct_80176734", "sites": 266, "bodies": 133, "nodes": 3, "globals_at": [], "globals_ptr": ["D_8011F7B0"], "params": 0, "size_hint": 44, "fields": 1, "layout": [[40, 4, "s", 266]], "conflicts": [], "evidence": {"L": 2, "PTR": 1}, "sign_mixed": 0, "merges": {"assign": 2}, "suspect": false}, {"id": "AT:D_80126B62", "name": "Unkstruct_80126B62", "sites": 265, "bodies": 252, "nodes": 4, "globals_at": ["D_80126B62"], "globals_ptr": [], "params": 0, "size_hint": 14, "fields": 2, "layout": [[0, 2, "s", 262], [10, 4, "s", 1]], "conflicts": [], "evidence": {"AT": 1, "L": 3}, "sign_mixed": 1, "merges": {"assign&": 3}, "suspect": false}, {"id": "L:F:52e92ffa088470b82cc06482daa51b2f80995c31:pp", "name": "Unkstruct_76f4299b", "sites": 262, "bodies": 131, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 74, "fields": 1, "layout": [[73, 1, "u", 262]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:be9288d1f2eaecc1cb9835a4658eb37749f9bcbe:obj", "name": "Unkstruct_3816caab", "sites": 260, "bodies": 130, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 130], [26, 2, "s", 130]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:a57747ff39fc5e679a5d66ad52a5fecdb16e3749:param_1", "name": "Unkstruct_ac2c8f05", "sites": 260, "bodies": 130, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 366, "fields": 1, "layout": [[364, 2, "u", 260]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8b2cb544bf2d39e0fd9a5b84f7c2c59493b1aaf:param_1", "name": "Unkstruct_985493b9", "sites": 256, "bodies": 128, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 449, "fields": 2, "layout": [[424, 1, "u", 128], [448, 1, "u", 128]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:19e58ae08e2232f72d7b0ff8bdb0d57e16ea558b:a0", "name": "Unkstruct_c21b1a66", "sites": 255, "bodies": 255, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 5, "fields": 1, "layout": [[4, 1, "u", 255]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:324c3534fcf5e33e05b7a4d4b899c209594cbefe:arg0", "name": "Unkstruct_ae2d1f2a", "sites": 252, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 588, "fields": 13, "layout": [[0, 2, "u", 14], [6, 2, "s", 14], [10, 2, "u", 28], [14, 2, "s", 14], [68, 4, "u", 7], [184, 2, "u", 28], [186, 2, "u", 7], [446, 1, "u", 14], [580, 1, "u", 21], [581, 1, "u", 35], [582, 2, "u", 14], [584, 2, "u", 14], [586, 2, "u", 14]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 2, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:25ab0fa8060d0fde4162393b2fe6d2e173139b54:param_1:0x20", "name": "Unkstruct_746c35d0", "sites": 252, "bodies": 126, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "u", 252]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:988adeae4dfa58056e1909876ae4cae41e37f3cf:puVar3", "name": "Unkstruct_faf094bf", "sites": 252, "bodies": 126, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:6143fc1990bdc9fd66a1eb5d4299f4720c7611e1:a0", "name": "Unkstruct_5d117345", "sites": 252, "bodies": 21, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 4, "layout": [[28, 4, "s", 63], [32, 4, "s", 84], [112, 2, "s", 21], [254, 2, "s", 84]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126B66", "name": "Unkstruct_80126B66", "sites": 250, "bodies": 222, "nodes": 6, "globals_at": ["D_80126B66"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 249]], "conflicts": [], "evidence": {"AT": 1, "L": 5}, "sign_mixed": 1, "merges": {"assign&": 5}, "suspect": false}, {"id": "L:F:a2c6e6c9e0cd31da19954438810a7e982cbc79fb:param_1", "name": "Unkstruct_6ffc1ed8", "sites": 250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:27b86fd006a486cabfa5d7c35b6660563f963c88:src", "name": "Unkstruct_60564c8e", "sites": 250, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:611f6fd9d9fae030940bd67b14785789d059bafd:src", "name": "Unkstruct_8f96bece", "sites": 250, "bodies": 125, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:7296f9939a14b5a5bb00c3dc1014045f1fc85aa3:src", "name": "Unkstruct_0f0a788d", "sites": 250, "bodies": 125, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:9161d35cd5c742eb5541db928a88c44fe7fe4cfa:arg0", "name": "Unkstruct_830ea620", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 194, "fields": 2, "layout": [[180, 4, "u", 124], [193, 1, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d8ec93cf2ab8692a851707f792bb542559b8b477:b1A8", "name": "Unkstruct_afee652d", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 2, "layout": [[0, 2, "u", 124], [2, 2, "u", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:989ea29447ebea9f665718fe835d44c289cd476c:a2", "name": "Unkstruct_a0bdbb1e", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 124], [2, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:55712afcacfe2fece6a848abbf398be1eed54533:param_1", "name": "Unkstruct_ca3ab5df", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[32, 4, "s", 124], [252, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:55712afcacfe2fece6a848abbf398be1eed54533:v0", "name": "Unkstruct_a34caab1", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:5cd77565ad78e08752784cbdc19c1aeaac402ef9:param_1", "name": "Unkstruct_539a2ae1", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[32, 4, "s", 124], [252, 2, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:5cd77565ad78e08752784cbdc19c1aeaac402ef9:iVar2", "name": "Unkstruct_9fb4bfac", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:15509feb6a0627930999eaf787acc09eced3904a:iVar2", "name": "Unkstruct_c5bf162e", "sites": 248, "bodies": 124, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 28, "fields": 2, "layout": [[24, 2, "s", 124], [26, 2, "s", 124]], "conflicts": [], "evidence": {"L": 2}, "sign_mixed": 0, "merges": {"assign": 1}, "suspect": false}, {"id": "L:F:2214b0acb044a41f5be69cb14320801af12a2347:a0", "name": "Unkstruct_f6997d4b", "sites": 248, "bodies": 124, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 1, "layout": [[32, 4, "s", 248]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:81e0d439bcac2207a0601a6c74bda54b7effc8f5:param_1", "name": "Unkstruct_d294081d", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 36, "fields": 2, "layout": [[2, 2, "u", 124], [32, 4, "s", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:8ea4834b2afe21e6bcb5d70f202657b4e7e9b533:a0", "name": "Unkstruct_28d9f75d", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 408, "fields": 2, "layout": [[68, 4, "u", 124], [407, 1, "u", 124]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:f50e604c8b58f45013548ab979545380c3dc817f:param_1", "name": "Unkstruct_3ec1f7d3", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 6, "fields": 1, "layout": [[4, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:df660660ac576b486dd5d8dbd078596ded642459:arg0", "name": "Unkstruct_65a4104e", "sites": 248, "bodies": 124, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 186, "fields": 1, "layout": [[184, 2, "u", 248]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:196f409c6989286dbec87c9a1eb5d33757255f10:param_1", "name": "Unkstruct_576bfafb", "sites": 248, "bodies": 248, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 72, "fields": 2, "layout": [[2, 2, "u", 124], [68, 4, "u", 124]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "FLD:L:F:2214b0acb044a41f5be69cb14320801af12a2347:a0:0x20", "name": "Unkstruct_8e3ffd0a", "sites": 248, "bodies": 124, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 2, "layout": [[16, 2, "s", 124], [18, 2, "s", 124]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d80795e12fc7517775bb6ace09c7ca13caef919c:param", "name": "Unkstruct_82fd4ac2", "sites": 247, "bodies": 247, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 2, "fields": 1, "layout": [[1, 1, "u", 247]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:ddabefe960b7573ac0070b5cd1f0186950118b95:param_1", "name": "Unkstruct_9f3ec286", "sites": 246, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 2, "layout": [[2, 2, "u", 123], [252, 2, "s", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:705fc77f3b91063220f409e903893068922aed81:p", "name": "Unkstruct_b10794ea", "sites": 246, "bodies": 123, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 8, "fields": 2, "layout": [[4, 2, "s", 123], [6, 2, "u", 123]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:s0b:0x28", "name": "Unkstruct_228f3189", "sites": 246, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 94, "fields": 1, "layout": [[93, 1, "u", 246]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "FLD:L:F:81aa50d5890521702ec3e35b8059e18556f6cf45:cach:0x34", "name": "Unkstruct_8115be3c", "sites": 246, "bodies": 123, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 812, "fields": 1, "layout": [[810, 2, "s", 246]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:b8045aa890d7bb3cb0bd77e5281959989b84029c:a1", "name": "Unkstruct_66a9ef17", "sites": 245, "bodies": 7, "nodes": 5, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 23, "layout": [[0, 2, "u", 14], [2, 2, "u", 7], [4, 2, "u", 7], [6, 2, "u", 14], [8, 2, "u", 7], [10, 2, "u", 14], [12, 2, "u", 7], [14, 2, "u", 14], [32, 4, "s", 28], [54, 2, "u", 7], [80, 2, "u", 7], [82, 2, "u", 7], [84, 2, "u", 7], [100, 4, "s", 21], [104, 4, "s", 14], [112, 2, "u", 7], [114, 2, "u", 7], [120, 4, "s", 7], [136, 2, "u", 7], [138, 2, "u", 7], [140, 2, "u", 7], [220, 4, "s", 7], [252, 2, "u", 7]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1, "R": 1}, "sign_mixed": 1, "merges": {"param": 2, "assign": 1, "return": 1}, "suspect": false}, {"id": "L:F:d1fbb74dab666fc0645c433a6f63e3c37fc60b8b:g", "name": "Unkstruct_83ca5e9f", "sites": 242, "bodies": 121, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:d1fbb74dab666fc0645c433a6f63e3c37fc60b8b:arg1", "name": "Unkstruct_10dc73aa", "sites": 242, "bodies": 121, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126B5E", "name": "Unkstruct_80126B5E", "sites": 229, "bodies": 219, "nodes": 6, "globals_at": ["D_80126B5E"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 229]], "conflicts": [], "evidence": {"AT": 1, "L": 5}, "sign_mixed": 0, "merges": {"assign&": 5}, "suspect": false}, {"id": "L:F:4abe78c4e7fd61e6a6f87917a6cacd7622b1fc9a:a0", "name": "Unkstruct_520ce05f", "sites": 228, "bodies": 228, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 535, "fields": 1, "layout": [[534, 1, "u", 228]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6efeba9571c70c28595c309b64f18d17de08a52a:a0:0xdc", "name": "Unkstruct_a82a43aa", "sites": 224, "bodies": 28, "nodes": 2, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 14, "fields": 4, "layout": [[0, 4, "s", 56], [4, 4, "s", 28], [8, 2, "u", 56], [12, 2, "u", 84]], "conflicts": [], "evidence": {"L": 1, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 1}, "suspect": false}, {"id": "L:F:a9f2146c87cba22e7c8a757fe6796217d9a40cce:s0", "name": "Unkstruct_889cd145", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 254, "fields": 13, "layout": [[2, 2, "s", 10], [6, 2, "s", 10], [10, 2, "u", 50], [14, 2, "s", 10], [16, 4, "s", 5], [18, 2, "u", 30], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "u", 20], [28, 4, "s", 5], [52, 2, "s", 10], [252, 2, "s", 10]], "conflicts": [[18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 5, "merges": {}, "suspect": false}, {"id": "L:F:111327450156c3776232c0ec0346bd84d13db1e0:iv", "name": "Unkstruct_5c0c93cf", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 54, "fields": 14, "layout": [[2, 2, "s", 10], [4, 4, "s", 10], [6, 2, "u", 20], [10, 2, "u", 50], [12, 4, "s", 10], [14, 2, "u", 20], [16, 4, "s", 5], [18, 2, "u", 30], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "u", 20], [28, 4, "s", 5], [52, 2, "u", 10]], "conflicts": [[6, "overlap"], [14, "overlap"], [18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 2, "merges": {}, "suspect": false}, {"id": "L:F:988f909e67521b229c8b3b82de65c13410765445:s0", "name": "Unkstruct_6f968b4b", "sites": 215, "bodies": 5, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 54, "fields": 14, "layout": [[2, 2, "s", 10], [4, 4, "s", 10], [6, 2, "s", 10], [10, 2, "s", 25], [12, 4, "s", 10], [14, 2, "s", 10], [16, 4, "s", 5], [18, 2, "s", 20], [20, 4, "s", 5], [22, 2, "s", 5], [24, 4, "s", 5], [26, 2, "s", 15], [28, 4, "s", 5], [52, 2, "s", 10]], "conflicts": [[6, "overlap"], [14, "overlap"], [18, "overlap"], [22, "overlap"], [26, "overlap"]], "evidence": {"L": 1}, "sign_mixed": 5, "merges": {}, "suspect": false}, {"id": "L:F:da6f5834a2462dbdc8003e3b2cdf2ffb5b6f9d9d:a0", "name": "Unkstruct_6aa0aebb", "sites": 210, "bodies": 7, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 264, "fields": 14, "layout": [[6, 2, "s", 7], [10, 2, "s", 7], [14, 2, "s", 7], [32, 4, "s", 70], [100, 4, "s", 35], [112, 2, "s", 7], [204, 4, "p", 7], [208, 4, "p", 7], [252, 2, "u", 7], [254, 2, "s", 7], [256, 2, "u", 7], [258, 2, "u", 7], [260, 2, "u", 7], [262, 2, "u", 7]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 3, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0:0x20", "name": "Unkstruct_4a619ff2", "sites": 210, "bodies": 21, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 5, "layout": [[4, 4, "s", 84], [18, 2, "u", 63], [24, 2, "s", 21], [26, 2, "s", 21], [28, 2, "s", 21]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:2fcbb507072c0155e0be8559c319e0badc676579:buf", "name": "Unkstruct_5c635b4b", "sites": 208, "bodies": 8, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 52, "fields": 13, "layout": [[0, 2, "s", 16], [2, 2, "s", 16], [4, 2, "s", 16], [8, 2, "s", 16], [10, 2, "s", 16], [12, 2, "s", 16], [16, 2, "s", 16], [18, 2, "s", 16], [20, 2, "s", 16], [24, 2, "s", 16], [26, 2, "s", 16], [28, 2, "s", 16], [48, 4, "s", 16]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:5a63d0e214c9123c9f1065101f662e4e9d1e584a:arg0", "name": "Unkstruct_7c055e94", "sites": 204, "bodies": 12, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 16, "fields": 6, "layout": [[4, 2, "s", 36], [6, 2, "s", 36], [8, 2, "s", 32], [10, 2, "s", 32], [12, 2, "s", 36], [14, 2, "s", 32]], "conflicts": [], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "FLD:L:F:e1b0419f54c26cc0ccd6be1f438874310e36c635:a0:0x20", "name": "Unkstruct_61c8e5ed", "sites": 203, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 26, "fields": 5, "layout": [[4, 4, "u", 14], [16, 2, "u", 63], [18, 2, "u", 70], [20, 2, "s", 7], [24, 2, "s", 21]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 3, "merges": {}, "suspect": false}, {"id": "L:F:74f4e0356746fd0484181399ca77414114dca6ad:a0", "name": "Unkstruct_51b35d2d", "sites": 202, "bodies": 101, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 101], [40, 4, "s", 101]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:25baf5859d5cb2059562a09a70da55c50f116116:a0", "name": "Unkstruct_eadcd5d5", "sites": 198, "bodies": 18, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 254, "fields": 6, "layout": [[2, 2, "s", 18], [18, 2, "s", 18], [22, 2, "s", 18], [26, 2, "s", 18], [28, 4, "s", 54], [252, 2, "s", 18]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 3, "merges": {"param": 2, "assign": 1}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:out2", "name": "Unkstruct_35caedb8", "sites": 192, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:d6e3de8a766ebb0b4ab359aabc01dcd5e9d53a36:flag", "name": "Unkstruct_f8edcaba", "sites": 192, "bodies": 48, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 2, "layout": [[0, 2, "s", 96], [2, 2, "s", 96]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:fec0915289791771ea837debee3504f78133eede:a0", "name": "Unkstruct_a00e0c6e", "sites": 190, "bodies": 95, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 95], [40, 4, "s", 95]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:016bfe21cadcda9221c71177a8a4d810e798d34f:pkt", "name": "Unkstruct_80137D08", "sites": 183, "bodies": 44, "nodes": 92, "globals_at": [], "globals_ptr": ["D_80074808", "D_800A5E60"], "params": 4, "size_hint": 36, "fields": 17, "layout": [[0, 4, "u", 86], [3, 1, "u", 11], [4, 4, "u", 16], [7, 1, "u", 2], [8, 2, "s", 4], [10, 2, "s", 4], [12, 4, "u", 5], [14, 2, "u", 4], [16, 2, "s", 4], [18, 2, "s", 4], [20, 4, "u", 5], [22, 2, "u", 5], [24, 2, "s", 4], [26, 2, "s", 4], [28, 4, "u", 3], [32, 2, "u", 1], [34, 2, "u", 1]], "conflicts": [[8, {"2s": 4, "2u": 3, "4u": 2}], [16, {"2s": 4, "2u": 2, "4u": 2}], [24, {"2s": 4, "2u": 1, "4u": 2}], [3, "overlap"], [7, "overlap"], [14, "overlap"], [22, "overlap"]], "evidence": {"L": 78, "PV": 4, "P": 4, "PTR": 2, "R": 4}, "sign_mixed": 5, "merges": {"assign": 79, "param": 8, "return": 4}, "suspect": false}, {"id": "L:F:611c49169f75d8fbc9b94885ea872ae504473b59:a0", "name": "Unkstruct_bd4a4f6c", "sites": 183, "bodies": 61, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 44, "fields": 2, "layout": [[21, 1, "u", 61], [40, 4, "s", 122]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:a48bac4e1e4fed5c8966504b99c29a43727bf059:buf", "name": "Unkstruct_8e763649", "sites": 175, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 84, "fields": 13, "layout": [[32, 2, "s", 14], [34, 2, "s", 14], [36, 2, "s", 14], [40, 2, "s", 14], [42, 2, "s", 14], [44, 2, "s", 14], [48, 2, "s", 14], [50, 2, "s", 14], [52, 2, "s", 14], [56, 2, "s", 14], [58, 2, "s", 14], [60, 2, "s", 14], [80, 4, "s", 7]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:fef113b2129d4d1938686dcf906d7db5c6a3f7d5:param_1", "name": "Unkstruct_801EF964", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:5e678d33ff74ee62ca80b9526bca2a95c9e5b187:param_1", "name": "Unkstruct_801E2AF4", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:d120af8ec8f981c4f86e7962400d1779f1666f4c:param_1", "name": "Unkstruct_801E8034", "sites": 168, "bodies": 4, "nodes": 6, "globals_at": [], "globals_ptr": [], "params": 2, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 2, "P": 2, "L": 2}, "sign_mixed": 0, "merges": {"param": 4, "arg": 1}, "suspect": false}, {"id": "L:F:d29224b95ded543f31e398c2a999f4fb4cd4cbfa:param_1", "name": "Unkstruct_948c6fe5", "sites": 168, "bodies": 4, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 84, "fields": 23, "layout": [[5, 1, "u", 12], [8, 4, "s", 4], [12, 4, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 8], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4]], "conflicts": [[8, {"4s": 4, "2s": 4}], [12, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "FLD:L:F:6f527022fa9e2edbff88b3415d6e85040f80b293:a0:0x64", "name": "Unkstruct_7079957f", "sites": 168, "bodies": 21, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 4, "layout": [[4, 4, "s", 21], [8, 4, "s", 21], [12, 4, "s", 21], [32, 4, "s", 105]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:244664d5458f29e85fa0e9a29930f64af3c65582:buf", "name": "Unkstruct_bf723e51", "sites": 156, "bodies": 6, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 52, "fields": 13, "layout": [[0, 2, "s", 12], [2, 2, "s", 12], [4, 2, "s", 12], [8, 2, "s", 12], [10, 2, "s", 12], [12, 2, "s", 12], [16, 2, "s", 12], [18, 2, "s", 12], [20, 2, "s", 12], [24, 2, "s", 12], [26, 2, "s", 12], [28, 2, "s", 12], [48, 4, "s", 12]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:24c6f3d19119aacc74c19d516c5f234c4189d93a:a0", "name": "Unkstruct_a2d44c90", "sites": 156, "bodies": 4, "nodes": 12, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 264, "fields": 13, "layout": [[2, 2, "s", 5], [28, 4, "s", 12], [52, 2, "u", 66], [204, 4, "s", 9], [208, 4, "s", 9], [212, 4, "s", 9], [216, 4, "s", 9], [224, 4, "s", 8], [236, 4, "s", 3], [254, 2, "s", 9], [258, 2, "u", 5], [260, 2, "s", 5], [262, 2, "s", 1]], "conflicts": [], "evidence": {"PV": 4, "P": 4, "L": 4}, "sign_mixed": 2, "merges": {"param": 8, "arg": 3}, "suspect": false}, {"id": "L:F:2f72bbc69e126792f9ef0f8f00a8649286ca9f83:matrix_stack", "name": "Unkstruct_78facbf0", "sites": 153, "bodies": 17, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 18, "fields": 9, "layout": [[0, 2, "s", 17], [2, 2, "s", 17], [4, 2, "s", 17], [6, 2, "s", 17], [8, 2, "s", 17], [10, 2, "s", 17], [12, 2, "s", 17], [14, 2, "s", 17], [16, 2, "s", 17]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:1caab05d387f2817ccbd6c780b66fe0c0dc38e9f:a0", "name": "Unkstruct_ea987c97", "sites": 153, "bodies": 3, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 266, "fields": 22, "layout": [[2, 2, "s", 3], [28, 4, "s", 3], [100, 4, "s", 18], [112, 2, "u", 3], [220, 2, "s", 3], [222, 2, "s", 3], [224, 2, "s", 3], [228, 2, "s", 3], [230, 2, "s", 3], [232, 2, "s", 3], [236, 2, "s", 15], [238, 2, "s", 15], [240, 2, "s", 15], [244, 2, "s", 9], [246, 2, "s", 9], [248, 2, "s", 9], [252, 2, "s", 6], [254, 2, "s", 6], [256, 2, "s", 6], [260, 2, "s", 6], [262, 2, "s", 6], [264, 2, "s", 6]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80078EB0", "name": "Unkstruct_80078EB0", "sites": 152, "bodies": 143, "nodes": 1, "globals_at": ["D_80078EB0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 152]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:8651da9db154eabc542b940cdeb8222397edab15:param_1", "name": "Unkstruct_745af9ee", "sites": 150, "bodies": 6, "nodes": 9, "globals_at": [], "globals_ptr": [], "params": 3, "size_hint": 160, "fields": 23, "layout": [[8, 4, "s", 4], [12, 2, "s", 4], [16, 4, "s", 8], [20, 2, "s", 4], [24, 2, "s", 8], [26, 2, "s", 8], [28, 2, "s", 8], [32, 2, "s", 4], [34, 2, "s", 4], [36, 2, "s", 4], [40, 2, "s", 16], [42, 2, "s", 16], [44, 2, "s", 16], [46, 2, "s", 4], [48, 2, "s", 4], [50, 2, "s", 4], [60, 4, "s", 4], [64, 4, "s", 4], [68, 4, "s", 4], [72, 4, "s", 4], [76, 4, "s", 4], [80, 4, "s", 4], [156, 4, "s", 2]], "conflicts": [[8, {"4s": 4, "2s": 4}], [16, {"4s": 8, "2s": 4}]], "evidence": {"PV": 3, "P": 3, "L": 3}, "sign_mixed": 0, "merges": {"param": 6, "arg": 2}, "suspect": false}, {"id": "L:F:1994557e7e1644407dd26734f4aa1b1265b4ee29:a0", "name": "Unkstruct_3b68bc3b", "sites": 150, "bodies": 6, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 256, "fields": 9, "layout": [[0, 2, "u", 6], [6, 2, "u", 12], [10, 2, "u", 12], [14, 2, "u", 12], [32, 4, "s", 84], [204, 4, "s", 6], [208, 4, "s", 6], [252, 2, "u", 6], [254, 2, "u", 6]], "conflicts": [], "evidence": {"L": 2, "PV": 1, "P": 1}, "sign_mixed": 0, "merges": {"assign": 1, "param": 2}, "suspect": false}, {"id": "PTR:D_801151C8", "name": "Unkstruct_24c0d4db", "sites": 145, "bodies": 145, "nodes": 1, "globals_at": [], "globals_ptr": ["D_801151C8"], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:09d52bcd35c1bb1523689da9365fca8798d651cd:a0", "name": "Unkstruct_8012E28C", "sites": 142, "bodies": 17, "nodes": 65, "globals_at": [], "globals_ptr": [], "params": 4, "size_hint": 36, "fields": 23, "layout": [[0, 4, "u", 25], [3, 1, "u", 1], [4, 4, "s", 10], [5, 1, "u", 1], [6, 1, "u", 1], [7, 1, "u", 7], [8, 4, "s", 8], [10, 2, "u", 2], [12, 4, "s", 10], [13, 1, "u", 1], [14, 1, "u", 1], [16, 4, "s", 9], [18, 2, "u", 2], [20, 4, "s", 10], [21, 1, "u", 1], [22, 1, "u", 1], [24, 4, "s", 4], [26, 2, "u", 2], [28, 4, "s", 6], [29, 1, "u", 1], [30, 1, "u", 1], [32, 4, "s", 4], [34, 2, "u", 2]], "conflicts": [[4, {"4u": 2, "4s": 10, "1u": 1}], [8, {"4s": 8, "2u": 1}], [12, {"4s": 10, "1u": 1}], [16, {"4s": 9, "2u": 2}], [20, {"4s": 10, "1u": 1}], [24, {"4s": 4, "2u": 1}], [28, {"4s": 6, "1u": 1}], [32, {"4s": 4, "2u": 2}], [3, "overlap"], [5, "overlap"], [6, "overlap"], [7, "overlap"]], "evidence": {"PV": 4, "L": 56, "P": 4, "R": 1}, "sign_mixed": 1, "merges": {"param": 8, "arg": 10, "ret-of": 42, "assign": 4}, "suspect": true}, {"id": "PTR:D_80115140", "name": "Unkstruct_de5b293a", "sites": 141, "bodies": 141, "nodes": 1, "globals_at": [], "globals_ptr": ["D_80115140"], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"PTR": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:78aecb3cd7f9abc3d9ca6eeaabc59c5ea154cdc8:a0", "name": "Unkstruct_d1fbf19a", "sites": 140, "bodies": 10, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 224, "fields": 6, "layout": [[2, 2, "s", 10], [6, 2, "u", 30], [10, 2, "u", 40], [112, 2, "s", 20], [208, 4, "s", 20], [220, 4, "p", 10]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 1, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:051a54651df7fde6a2a4cb6d30518e38f0035e66:arg0", "name": "Unkstruct_d2a26ab7", "sites": 140, "bodies": 25, "nodes": 39, "globals_at": [], "globals_ptr": [], "params": 13, "size_hint": 256, "fields": 10, "layout": [[6, 2, "u", 10], [10, 2, "u", 10], [14, 2, "u", 10], [28, 4, "s", 24], [32, 4, "s", 20], [94, 2, "u", 5], [170, 2, "s", 5], [220, 4, "s", 20], [228, 4, "s", 31], [254, 2, "s", 5]], "conflicts": [], "evidence": {"PV": 13, "P": 13, "L": 13}, "sign_mixed": 0, "merges": {"param": 26, "arg": 12}, "suspect": false}, {"id": "L:X:ov::pbase", "name": "Unkstruct_8615cbe6", "sites": 136, "bodies": 136, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 41940, "fields": 1, "layout": [[41938, 2, "u", 136]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": true}, {"id": "L:F:1d683b223192258d1998a9c3c3ad54eb4be301eb:a0", "name": "Unkstruct_6313652c", "sites": 136, "bodies": 12, "nodes": 30, "globals_at": [], "globals_ptr": [], "params": 10, "size_hint": 262, "fields": 22, "layout": [[2, 2, "s", 4], [4, 4, "s", 2], [8, 4, "s", 2], [10, 2, "u", 8], [12, 4, "s", 2], [14, 2, "s", 8], [16, 4, "s", 2], [24, 4, "s", 2], [28, 4, "s", 16], [32, 4, "s", 12], [52, 2, "s", 8], [82, 2, "s", 2], [88, 4, "s", 2], [112, 2, "s", 2], [136, 2, "u", 2], [140, 2, "u", 2], [228, 2, "s", 2], [230, 2, "u", 2], [252, 2, "s", 4], [256, 2, "u", 10], [258, 2, "s", 14], [260, 2, "u", 2]], "conflicts": [[10, "overlap"], [14, "overlap"]], "evidence": {"PV": 10, "P": 10, "L": 10}, "sign_mixed": 6, "merges": {"param": 20, "arg": 9}, "suspect": false}, {"id": "L:F:20db3f0238f6af52ce526a74c3a0171d83b65265:p", "name": "Unkstruct_8018512C", "sites": 135, "bodies": 9, "nodes": 28, "globals_at": [], "globals_ptr": [], "params": 9, "size_hint": 252, "fields": 24, "layout": [[2, 2, "u", 8], [4, 4, "s", 1], [6, 2, "u", 5], [8, 4, "s", 1], [10, 2, "u", 4], [12, 4, "s", 1], [14, 2, "u", 7], [16, 4, "s", 4], [20, 4, "s", 11], [24, 4, "s", 10], [28, 4, "s", 3], [32, 4, "s", 10], [58, 2, "u", 1], [62, 2, "u", 1], [66, 2, "u", 1], [68, 4, "s", 9], [72, 4, "s", 10], [76, 4, "s", 9], [220, 2, "s", 2], [222, 2, "s", 8], [224, 2, "s", 3], [226, 2, "u", 1], [248, 2, "s", 2], [250, 2, "s", 2]], "conflicts": [[6, "overlap"], [10, "overlap"], [14, "overlap"]], "evidence": {"PV": 9, "P": 9, "L": 10}, "sign_mixed": 7, "merges": {"param": 18, "arg": 8, "assign": 1}, "suspect": false}, {"id": "L:F:04d955c17670582806c72770c075681379828e85:a0", "name": "Unkstruct_7ee1ed9a", "sites": 135, "bodies": 15, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 56, "fields": 8, "layout": [[2, 2, "u", 30], [16, 4, "s", 15], [20, 4, "s", 15], [24, 4, "s", 15], [28, 4, "s", 15], [32, 4, "s", 15], [44, 4, "s", 15], [52, 4, "s", 15]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "AT:D_80126CE0", "name": "Unkstruct_80126CE0", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_80126CE0"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 1, "merges": {}, "suspect": false}, {"id": "AT:D_800B9A78", "name": "Unkstruct_800B9A78", "sites": 134, "bodies": 134, "nodes": 5, "globals_at": ["D_800B9A78"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 4, "AT": 1}, "sign_mixed": 0, "merges": {"assign&": 4}, "suspect": false}, {"id": "AT:D_80110C3C", "name": "Unkstruct_80110C3C", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_80110C3C"], "globals_ptr": [], "params": 0, "size_hint": 1, "fields": 1, "layout": [[0, 1, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_800B9AAC", "name": "Unkstruct_800B9AAC", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_800B9AAC"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011F7BC", "name": "Unkstruct_8011F7BC", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011F7BC"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011F7BE", "name": "Unkstruct_8011F7BE", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011F7BE"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 134]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_8011514C", "name": "Unkstruct_8011514C", "sites": 134, "bodies": 134, "nodes": 1, "globals_at": ["D_8011514C"], "globals_ptr": [], "params": 0, "size_hint": 1, "fields": 1, "layout": [[0, 1, "u", 130]], "conflicts": [[0, {"1u": 130, "2u": 4}]], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_801270C4", "name": "Unkstruct_801270C4", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_801270C4"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:266b753080d094a813817359fce34335dcf6f7ac:s0", "name": "Unkstruct_0cebe116", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80127548", "name": "Unkstruct_80127548", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80127548"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:4b05e7f4ddb57db0ff1835c0c7fb5d2ffc851f37:buf", "name": "Unkstruct_cd605c73", "sites": 133, "bodies": 7, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 36, "fields": 18, "layout": [[0, 4, "s", 7], [4, 2, "s", 14], [6, 2, "s", 7], [8, 2, "s", 7], [10, 2, "s", 7], [12, 2, "s", 7], [14, 1, "u", 7], [15, 1, "u", 7], [16, 2, "s", 7], [18, 2, "s", 7], [20, 1, "u", 7], [21, 1, "u", 7], [22, 1, "u", 7], [24, 2, "s", 7], [26, 2, "s", 7], [28, 2, "s", 7], [30, 2, "s", 7], [32, 4, "s", 7]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115148", "name": "Unkstruct_80115148", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80115148"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80115112", "name": "Unkstruct_80115112", "sites": 133, "bodies": 133, "nodes": 27, "globals_at": ["D_80115112"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "u", 133]], "conflicts": [], "evidence": {"AT": 1, "L": 26}, "sign_mixed": 0, "merges": {"assign&": 26}, "suspect": false}, {"id": "AT:D_80115110", "name": "Unkstruct_80115110", "sites": 133, "bodies": 133, "nodes": 8, "globals_at": ["D_80115110"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 7}, "sign_mixed": 0, "merges": {"assign&": 7}, "suspect": false}, {"id": "AT:D_80115152", "name": "Unkstruct_80115152", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80115152"], "globals_ptr": [], "params": 0, "size_hint": 2, "fields": 1, "layout": [[0, 2, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "AT:D_80062BD0", "name": "Unkstruct_80062BD0", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": ["D_80062BD0"], "globals_ptr": [], "params": 0, "size_hint": 4, "fields": 1, "layout": [[0, 4, "s", 133]], "conflicts": [], "evidence": {"AT": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:02a3579313e063f36836ce379f21e084878eb67b:a0:0x20", "name": "Unkstruct_8016BFD0", "sites": 133, "bodies": 133, "nodes": 4, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "s", 133]], "conflicts": [], "evidence": {"L": 3, "FLD": 1}, "sign_mixed": 0, "merges": {"field": 3}, "suspect": false}, {"id": "AT:D_80115218", "name": "Unkstruct_80115218", "sites": 133, "bodies": 133, "nodes": 5, "globals_at": ["D_80115218"], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"AT": 1, "L": 4}, "sign_mixed": 0, "merges": {"assign&": 4}, "suspect": false}, {"id": "L:F:9f8d9172bf1e6453c5003fc7078099e9a388ce1a:n", "name": "Unkstruct_78fccc54", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 0, "fields": 0, "layout": [], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:FLD:AT:D_80126B58:0x178:0x20", "name": "Unkstruct_c1b0cef5", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 20, "fields": 1, "layout": [[18, 2, "s", 133]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "FLD:L:F:52e92ffa088470b82cc06482daa51b2f80995c31:b:0x28", "name": "Unkstruct_14e19f34", "sites": 133, "bodies": 133, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 52, "fields": 1, "layout": [[50, 2, "u", 133]], "conflicts": [], "evidence": {"FLD": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}, {"id": "L:F:07e2662659f664a00246f642fa2e12964ea767d6:a0", "name": "Unkstruct_1c3d008e", "sites": 132, "bodies": 132, "nodes": 3, "globals_at": [], "globals_ptr": [], "params": 1, "size_hint": 4, "fields": 1, "layout": [[2, 2, "u", 132]], "conflicts": [], "evidence": {"PV": 1, "P": 1, "L": 1}, "sign_mixed": 0, "merges": {"param": 2}, "suspect": false}, {"id": "L:F:1994557e7e1644407dd26734f4aa1b1265b4ee29:iVar2", "name": "Unkstruct_cb6870d9", "sites": 132, "bodies": 6, "nodes": 1, "globals_at": [], "globals_ptr": [], "params": 0, "size_hint": 30, "fields": 10, "layout": [[4, 4, "u", 24], [8, 2, "u", 12], [10, 2, "u", 12], [12, 2, "u", 12], [16, 2, "u", 12], [18, 2, "u", 12], [20, 2, "u", 12], [24, 2, "u", 12], [26, 2, "u", 12], [28, 2, "u", 12]], "conflicts": [], "evidence": {"L": 1}, "sign_mixed": 0, "merges": {}, "suspect": false}]} \ No newline at end of file diff --git a/.run/P37/census/type_census.json b/.run/P37/census/type_census.json index b0fefc3ca8..576f84026d 100644 --- a/.run/P37/census/type_census.json +++ b/.run/P37/census/type_census.json @@ -1,9 +1,9 @@ { "summary": { - "head": "7845da8f03", - "src_stamp": "64f7b70e3eb5b45d", - "tool_stamp": "a018054562", - "when": "2026-10-01T17:32:55Z", + "head": "fe2e814776", + "src_stamp": "97a583190e434577", + "tool_stamp": "e17c5fa676", + "when": "2026-10-01T18:59:47Z", "files": 7306, "tus": 4121, "headers": 3181, @@ -29,88 +29,88 @@ "exact_classes": 42, "exact_copies": 546, "variant_names": 0, - "dead_canon_names": 56, + "dead_canon_names": 55, "shadowed_canon_names": 0, "typedef_aliases": 4300, "forward_decls": 145 }, "casts": { "by_form": { - "P": 408979, - "I": 60666, - "X": 13800, + "P": 379387, + "I": 60565, + "X": 13797, "A": 18892, - "C": 36853, - "M": 19543, - "K": 12 + "C": 58879, + "M": 19530, + "K": 5115 }, "raw_counts": { - "P": 408979, - "I": 60666, - "X": 13800, + "P": 379387, + "I": 60565, + "X": 13797, "A": 18892, - "C": 36853, - "M": 19543, - "K": 12 + "C": 58879, + "M": 19530, + "K": 5115 }, "coverage_ok": true, "refused": 0, - "deref_total": 502988, + "deref_total": 473279, "addr_form": 18892, - "typed_cast_member": 36853, - "bodies": 69492, + "typed_cast_member": 58879, + "bodies": 67648, "by_bclass": { - "local": 149900, - "param": 276840, - "global": 8861, - "gaddr": 40123, - "nested": 24076, + "local": 146191, + "param": 255514, + "global": 8846, + "gaddr": 40117, + "nested": 19385, "ident": 161, - "other": 1677, - "addr-of": 1350 + "other": 1727, + "addr-of": 1338 }, "by_width": { - "s4": 145146, - "u2": 142772, - "s2": 131805, - "u1": 43174, - "agg": 13480, - "p4": 12018, - "u4": 11164, - "s1": 3429 + "s4": 134817, + "u2": 132784, + "s2": 124013, + "u1": 42460, + "agg": 13446, + "p4": 11602, + "u4": 10775, + "s1": 3382 }, - "readability_raw_regex": 411816, + "readability_raw_regex": 382224, "abs_casts": 0, "top_bases": [ [ "param", "a0", - 92255 + 77869 ], [ "param", "param_1", - 81578 + 77572 ], [ "param", "arg0", - 67704 + 65847 ], [ "local", "p", - 18039 + 17451 ], [ "param", "p", - 11784 + 11464 ], [ "local", "s0", - 10368 + 9158 ], [ "local", @@ -119,73 +119,68 @@ ], [ "local", - "s1", - 7137 + "buf", + 7056 ], [ "local", - "buf", - 7060 + "s1", + 7000 ], [ "local", "flag", 5453 ], - [ - "nested", - "*(s32 *)(a0 + 0x20)", - 5215 - ], [ "local", "iVar2", - 5160 + 5110 ], [ "local", "dst", - 4874 + 4854 ], [ "local", "iVar1", - 4836 + 4821 ], [ "local", "iVar3", - 4693 + 4610 ], [ "local", "e", - 3918 + 3882 ], [ "local", "obj", - 3681 + 3439 ], [ "local", "cur", 3375 ], + [ + "nested", + "*(s32 *)(a0 + 0x20)", + 3079 + ], [ "local", "param_1", - 2832 + 2818 ], [ "param", "a1", - 2667 - ], - [ - "local", - "base", - 2632 + 2635 ], [ "local", @@ -194,38 +189,38 @@ ], [ "local", - "L", - 2261 + "base", + 2596 ], [ "local", - "ent", - 2253 + "L", + 2261 ], [ "param", "param_2", 2248 ], - [ - "local", - "s2", - 2188 - ], [ "local", "s", 2167 ], [ - "param", - "arg1", - 2030 + "local", + "s2", + 2149 ], [ - "nested", - "*(s32 *)(param_1 + 0x20)", - 1967 + "local", + "ent", + 2052 + ], + [ + "param", + "arg1", + 2028 ], [ "local", @@ -245,23 +240,23 @@ [ "local", "pv", - 1847 - ], - [ - "local", - "self", - 1818 - ], - [ - "local", - "r", - 1787 + 1811 ], [ "local", "puVar10", 1742 ], + [ + "local", + "self", + 1740 + ], + [ + "local", + "r", + 1733 + ], [ "local", "puVar1", @@ -275,22 +270,56167 @@ [ "local", "v1", - 1561 + 1444 ], [ - "local", - "q", - 1393 + "nested", + "*(s32 *)(param_1 + 0x20)", + 1405 + ], + [ + "param", + "arg3", + 1375 ] ], - "macros": {}, - "check_raw": { - "P": 408974, - "I": 60666, - "X": 13800, - "M": 19542 + "macros": { + "CAST_SIGN": 2680, + "CAST_WIDTH": 2017, + "CAST_ALIAS": 259, + "CAST_MISALIGNED": 71, + "CAST_NONSTRUCT": 76 }, - "macro_sites": [] + "check_raw": { + "P": 379382, + "I": 60565, + "X": 13797, + "M": 19529 + }, + "macro_sites": [ + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D72C", + "line": 3859, + "pos": 138875, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 130 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D72C", + "line": 3892, + "pos": 140187, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D72C", + "line": 3897, + "pos": 140296, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 3961, + "pos": 142896, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 3973, + "pos": 143402, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 3975, + "pos": 143554, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 3978, + "pos": 143656, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 3982, + "pos": 143788, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 4017, + "pos": 145109, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 4019, + "pos": 145216, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 4022, + "pos": 145373, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017D93C", + "line": 4024, + "pos": 145514, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DC78", + "line": 4069, + "pos": 147041, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4182, + "pos": 150545, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4184, + "pos": 150616, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 42 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4185, + "pos": 150662, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4186, + "pos": 150722, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 38 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4195, + "pos": 151259, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4206, + "pos": 151680, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017DEB0", + "line": 4211, + "pos": 151809, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017E724", + "line": 4591, + "pos": 163352, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017EF58", + "line": 4895, + "pos": 171433, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 532 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017EFDC", + "line": 4918, + "pos": 172043, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 524 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017EFDC", + "line": 4926, + "pos": 172386, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 524 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017EFDC", + "line": 4936, + "pos": 172861, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 524 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017EFDC", + "line": 4943, + "pos": 173131, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 524 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F2A4", + "line": 5037, + "pos": 175214, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 536 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F2A4", + "line": 5040, + "pos": 175368, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 524 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F2A4", + "line": 5041, + "pos": 175485, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 526 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5203, + "pos": 179829, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5205, + "pos": 179904, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5206, + "pos": 179935, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5207, + "pos": 179972, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5209, + "pos": 180047, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8017F638", + "line": 5215, + "pos": 180273, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801800F4", + "line": 5623, + "pos": 191657, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801800F4", + "line": 5625, + "pos": 191907, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8018045C", + "line": 5761, + "pos": 196180, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8018045C", + "line": 5762, + "pos": 196262, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8018045C", + "line": 5763, + "pos": 196399, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_8018045C", + "line": 5764, + "pos": 196522, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5811, + "pos": 197618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5812, + "pos": 197656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5813, + "pos": 197687, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5814, + "pos": 197723, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5816, + "pos": 197777, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(arg0 + 0x20)", + "bclass": "nested", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180598", + "line": 5817, + "pos": 197838, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180694", + "line": 5836, + "pos": 198230, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80180694", + "line": 5838, + "pos": 198317, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6400, + "pos": 216851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6426, + "pos": 217611, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6429, + "pos": 217682, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6446, + "pos": 218308, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6449, + "pos": 218430, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6450, + "pos": 218471, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6459, + "pos": 218847, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6462, + "pos": 218978, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801810E4", + "line": 6468, + "pos": 219167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80181410", + "line": 6516, + "pos": 220275, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80181410", + "line": 6518, + "pos": 220355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80181410", + "line": 6530, + "pos": 220951, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80181770", + "line": 6652, + "pos": 223983, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801817CC", + "line": 6668, + "pos": 224454, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801817CC", + "line": 6671, + "pos": 224585, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80181854", + "line": 6723, + "pos": 226526, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801820AC", + "line": 7072, + "pos": 235797, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801820AC", + "line": 7104, + "pos": 237016, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80182290", + "line": 7124, + "pos": 237418, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80182990", + "line": 7415, + "pos": 247731, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80183054", + "line": 7678, + "pos": 255016, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80183054", + "line": 7695, + "pos": 255464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80183054", + "line": 7704, + "pos": 255804, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_80183054", + "line": 7704, + "pos": 255832, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c", + "fn": "func_801831E8", + "line": 7741, + "pos": 256536, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186304", + "line": 286, + "pos": 6715, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186304", + "line": 302, + "pos": 7239, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186304", + "line": 304, + "pos": 7338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186600", + "line": 397, + "pos": 9888, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186600", + "line": 403, + "pos": 10159, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186600", + "line": 405, + "pos": 10246, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186600", + "line": 435, + "pos": 11305, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p1", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80186600", + "line": 435, + "pos": 11332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p2", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 461, + "pos": 11894, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 463, + "pos": 11965, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 468, + "pos": 12223, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 471, + "pos": 12297, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 474, + "pos": 12381, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 481, + "pos": 12603, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018675C", + "line": 483, + "pos": 12735, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801873FC", + "line": 1103, + "pos": 26673, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187A38", + "line": 1365, + "pos": 32637, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187A8C", + "line": 1378, + "pos": 32918, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187C14", + "line": 1462, + "pos": 34814, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187D4C", + "line": 1504, + "pos": 35736, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187DCC", + "line": 1522, + "pos": 36007, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80187DCC", + "line": 1527, + "pos": 36105, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801880AC", + "line": 1654, + "pos": 38892, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801880AC", + "line": 1656, + "pos": 38970, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188194", + "line": 1695, + "pos": 39822, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188324", + "line": 1790, + "pos": 41783, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188404", + "line": 1833, + "pos": 42724, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188404", + "line": 1834, + "pos": 42763, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188404", + "line": 1835, + "pos": 42802, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018850C", + "line": 1882, + "pos": 44270, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188830", + "line": 2028, + "pos": 47617, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188830", + "line": 2029, + "pos": 47660, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188830", + "line": 2031, + "pos": 47716, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188830", + "line": 2034, + "pos": 47817, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188830", + "line": 2044, + "pos": 48025, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188968", + "line": 2080, + "pos": 48797, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188968", + "line": 2080, + "pos": 48834, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188A7C", + "line": 2160, + "pos": 50873, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188A7C", + "line": 2162, + "pos": 50972, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188A7C", + "line": 2169, + "pos": 51228, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188BF0", + "line": 2232, + "pos": 53017, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188BF0", + "line": 2234, + "pos": 53065, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188BF0", + "line": 2235, + "pos": 53124, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188BF0", + "line": 2241, + "pos": 53383, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((u8 *)a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188D1C", + "line": 2270, + "pos": 54250, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2384, + "pos": 57268, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2390, + "pos": 57585, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2390, + "pos": 57615, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2391, + "pos": 57660, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2391, + "pos": 57690, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2398, + "pos": 57872, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2406, + "pos": 58136, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80188FF0", + "line": 2417, + "pos": 58461, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801892CC", + "line": 2544, + "pos": 62716, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801892CC", + "line": 2550, + "pos": 63030, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80189504", + "line": 2576, + "pos": 63639, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801895E0", + "line": 2603, + "pos": 64456, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801895E0", + "line": 2604, + "pos": 64498, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2646, + "pos": 65591, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2647, + "pos": 65631, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2648, + "pos": 65671, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2649, + "pos": 65748, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2650, + "pos": 65825, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018968C", + "line": 2713, + "pos": 67737, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801898F4", + "line": 2744, + "pos": 68726, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801898F4", + "line": 2753, + "pos": 69278, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_801898F4", + "line": 2754, + "pos": 69328, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80189E34", + "line": 2920, + "pos": 73374, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "obj", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80189E34", + "line": 2925, + "pos": 73538, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80189E34", + "line": 2929, + "pos": 73688, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_80189FC4", + "line": 2984, + "pos": 74917, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A0E4", + "line": 3008, + "pos": 75676, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A0E4", + "line": 3009, + "pos": 75716, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A0E4", + "line": 3010, + "pos": 75756, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "ptr", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A1D8", + "line": 3074, + "pos": 77656, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A1D8", + "line": 3076, + "pos": 77772, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A6A0", + "line": 3240, + "pos": 82266, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "s1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A7D8", + "line": 3277, + "pos": 83327, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018A7D8", + "line": 3279, + "pos": 83429, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018AD8C", + "line": 3539, + "pos": 88794, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018AD8C", + "line": 3540, + "pos": 88832, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018AD8C", + "line": 3541, + "pos": 88868, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B058", + "line": 3681, + "pos": 92708, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B058", + "line": 3682, + "pos": 92763, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B058", + "line": 3683, + "pos": 92818, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B440", + "line": 3854, + "pos": 96650, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B440", + "line": 3855, + "pos": 96734, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B440", + "line": 3856, + "pos": 96820, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B554", + "line": 3914, + "pos": 98093, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B6A0", + "line": 3954, + "pos": 99077, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B7A4", + "line": 3999, + "pos": 100241, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B7A4", + "line": 4000, + "pos": 100301, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B96C", + "line": 4090, + "pos": 102314, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018B96C", + "line": 4096, + "pos": 102447, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BA38", + "line": 4140, + "pos": 103532, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BA38", + "line": 4145, + "pos": 103846, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BAE4", + "line": 4161, + "pos": 104174, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BAE4", + "line": 4163, + "pos": 104320, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BAE4", + "line": 4165, + "pos": 104377, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BDD0", + "line": 4308, + "pos": 108244, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018BDD0", + "line": 4309, + "pos": 108287, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C144", + "line": 4452, + "pos": 111466, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C144", + "line": 4458, + "pos": 111609, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C144", + "line": 4471, + "pos": 111839, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C1C0", + "line": 4480, + "pos": 112060, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C394", + "line": 4580, + "pos": 114347, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C394", + "line": 4581, + "pos": 114387, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C598", + "line": 4690, + "pos": 116548, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 80 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C598", + "line": 4692, + "pos": 116644, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C758", + "line": 4783, + "pos": 119884, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C758", + "line": 4784, + "pos": 119932, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C758", + "line": 4797, + "pos": 120448, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C758", + "line": 4798, + "pos": 120491, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C758", + "line": 4807, + "pos": 120879, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4832, + "pos": 121338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4838, + "pos": 121530, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4838, + "pos": 121581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4839, + "pos": 121623, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 20 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4839, + "pos": 121704, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4842, + "pos": 121846, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4844, + "pos": 121941, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C84C", + "line": 4845, + "pos": 121986, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018C978", + "line": 4889, + "pos": 122950, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018CA74", + "line": 4952, + "pos": 124741, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "d", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018CA74", + "line": 4955, + "pos": 124892, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "d", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018CB70", + "line": 4967, + "pos": 125099, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018CEE0", + "line": 5114, + "pos": 128738, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018CF58", + "line": 5160, + "pos": 129903, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D144", + "line": 5230, + "pos": 132355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D144", + "line": 5231, + "pos": 132401, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D144", + "line": 5248, + "pos": 132954, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D21C", + "line": 5258, + "pos": 133124, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D21C", + "line": 5259, + "pos": 133163, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018D964", + "line": 5648, + "pos": 141609, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DCD8", + "line": 5838, + "pos": 145791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DCD8", + "line": 5839, + "pos": 145836, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DCD8", + "line": 5840, + "pos": 145880, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DCD8", + "line": 5846, + "pos": 146084, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s3", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DCD8", + "line": 5849, + "pos": 146216, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DDFC", + "line": 5867, + "pos": 146594, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DE5C", + "line": 5885, + "pos": 146992, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018DFC4", + "line": 6030, + "pos": 150564, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E234", + "line": 6057, + "pos": 151280, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E234", + "line": 6062, + "pos": 151436, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6085, + "pos": 151933, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6091, + "pos": 152122, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6092, + "pos": 152172, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6092, + "pos": 152205, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6094, + "pos": 152270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6095, + "pos": 152320, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6095, + "pos": 152354, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6098, + "pos": 152445, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6098, + "pos": 152486, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6099, + "pos": 152547, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6108, + "pos": 152852, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6109, + "pos": 152906, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6112, + "pos": 153081, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6114, + "pos": 153170, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6116, + "pos": 153248, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6117, + "pos": 153302, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E288", + "line": 6123, + "pos": 153498, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E450", + "line": 6186, + "pos": 154916, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E450", + "line": 6203, + "pos": 155296, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E450", + "line": 6234, + "pos": 156101, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E6DC", + "line": 6262, + "pos": 156789, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E6DC", + "line": 6267, + "pos": 156945, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6286, + "pos": 157326, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6292, + "pos": 157499, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6293, + "pos": 157545, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6293, + "pos": 157578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6295, + "pos": 157639, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6296, + "pos": 157685, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6296, + "pos": 157719, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E730", + "line": 6300, + "pos": 157879, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E7E4", + "line": 6346, + "pos": 159288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "prim", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_005/ov_SC02_005_jr_80185E80.c", + "fn": "func_8018E7E4", + "line": 6351, + "pos": 159543, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "prim", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80183558", + "line": 183, + "pos": 5807, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80183558", + "line": 185, + "pos": 5975, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80183630", + "line": 268, + "pos": 8546, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80183630", + "line": 271, + "pos": 8663, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80183954", + "line": 334, + "pos": 10606, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184414", + "line": 736, + "pos": 24605, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184590", + "line": 804, + "pos": 26227, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801845C0", + "line": 813, + "pos": 26463, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184738", + "line": 872, + "pos": 28080, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184738", + "line": 874, + "pos": 28190, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_8018487C", + "line": 936, + "pos": 29412, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184B08", + "line": 1075, + "pos": 32464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184B08", + "line": 1076, + "pos": 32552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184B08", + "line": 1080, + "pos": 32780, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184B08", + "line": 1081, + "pos": 32843, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184B08", + "line": 1082, + "pos": 32897, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80184C98", + "line": 1121, + "pos": 34196, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185048", + "line": 1282, + "pos": 38934, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1316, + "pos": 40859, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1317, + "pos": 40901, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1317, + "pos": 40933, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1320, + "pos": 41060, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1320, + "pos": 41089, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185098", + "line": 1321, + "pos": 41176, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_8018515C", + "line": 1350, + "pos": 41770, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185AAC", + "line": 1846, + "pos": 56944, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185AAC", + "line": 1849, + "pos": 57109, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185AAC", + "line": 1852, + "pos": 57286, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185E20", + "line": 2031, + "pos": 61235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185E20", + "line": 2034, + "pos": 61280, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80185E20", + "line": 2046, + "pos": 61793, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186184", + "line": 2171, + "pos": 65227, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186818", + "line": 2507, + "pos": 72632, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186E94", + "line": 2820, + "pos": 80804, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186F74", + "line": 2856, + "pos": 81674, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "t0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186F74", + "line": 2867, + "pos": 81884, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186F74", + "line": 2877, + "pos": 82278, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "temp", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186F74", + "line": 2880, + "pos": 82351, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "temp", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80186F74", + "line": 2882, + "pos": 82425, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "temp", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187654", + "line": 3209, + "pos": 89208, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187654", + "line": 3211, + "pos": 89245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187CE8", + "line": 3417, + "pos": 94066, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187CE8", + "line": 3417, + "pos": 94097, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187CE8", + "line": 3419, + "pos": 94210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187CE8", + "line": 3419, + "pos": 94241, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80187FA0", + "line": 3560, + "pos": 98810, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "result", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3755, + "pos": 104876, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 58 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3756, + "pos": 104932, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 62 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3757, + "pos": 104988, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 66 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3762, + "pos": 105212, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3763, + "pos": 105265, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188250", + "line": 3764, + "pos": 105325, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188430", + "line": 3808, + "pos": 106216, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188430", + "line": 3809, + "pos": 106253, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188430", + "line": 3810, + "pos": 106290, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188554", + "line": 3868, + "pos": 107658, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188554", + "line": 3870, + "pos": 107738, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188554", + "line": 3870, + "pos": 107769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188654", + "line": 3927, + "pos": 109422, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188654", + "line": 3927, + "pos": 109448, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 136 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188654", + "line": 3929, + "pos": 109507, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188654", + "line": 3929, + "pos": 109533, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4001, + "pos": 111148, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4001, + "pos": 111174, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4003, + "pos": 111233, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4003, + "pos": 111259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4021, + "pos": 111740, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4028, + "pos": 111933, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_801887F8", + "line": 4028, + "pos": 111959, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4146, + "pos": 115620, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4152, + "pos": 115836, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4152, + "pos": 115862, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4154, + "pos": 115921, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4154, + "pos": 115947, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4163, + "pos": 116369, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4163, + "pos": 116395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4165, + "pos": 116462, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4165, + "pos": 116488, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", + "fn": "func_80188A10", + "line": 4182, + "pos": 117129, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80188E3C", + "line": 90, + "pos": 3058, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801891E8", + "line": 191, + "pos": 5443, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801891E8", + "line": 193, + "pos": 5513, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 266, + "pos": 8630, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 279, + "pos": 9009, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 285, + "pos": 9178, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 290, + "pos": 9298, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 301, + "pos": 9597, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 308, + "pos": 9766, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189324", + "line": 308, + "pos": 9792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801897A4", + "line": 484, + "pos": 13912, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801898C8", + "line": 544, + "pos": 15225, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801898C8", + "line": 545, + "pos": 15275, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189C90", + "line": 722, + "pos": 19328, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80189C90", + "line": 735, + "pos": 19709, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018A698", + "line": 1065, + "pos": 28209, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BCC4", + "line": 2411, + "pos": 74480, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BCC4", + "line": 2412, + "pos": 74533, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BE40", + "line": 2486, + "pos": 76655, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BE40", + "line": 2487, + "pos": 76695, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BF60", + "line": 2532, + "pos": 77889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018BF60", + "line": 2533, + "pos": 77929, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C11C", + "line": 2612, + "pos": 79832, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C11C", + "line": 2613, + "pos": 79871, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C5A4", + "line": 2871, + "pos": 86461, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C5A4", + "line": 2872, + "pos": 86502, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C5A4", + "line": 2874, + "pos": 86609, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C5A4", + "line": 2876, + "pos": 86716, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C734", + "line": 2912, + "pos": 87803, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C734", + "line": 2920, + "pos": 88036, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C7B8", + "line": 2959, + "pos": 89040, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C7B8", + "line": 2963, + "pos": 89257, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0_val", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C7B8", + "line": 2963, + "pos": 89288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0_val", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C874", + "line": 3008, + "pos": 90424, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018C874", + "line": 3012, + "pos": 90541, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CA04", + "line": 3067, + "pos": 92093, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CBBC", + "line": 3154, + "pos": 93904, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CC9C", + "line": 3237, + "pos": 95516, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CC9C", + "line": 3241, + "pos": 95729, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CC9C", + "line": 3248, + "pos": 96056, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CC9C", + "line": 3249, + "pos": 96100, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CC9C", + "line": 3288, + "pos": 97703, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018CFAC", + "line": 3359, + "pos": 99559, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D288", + "line": 3521, + "pos": 103590, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t1", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D288", + "line": 3534, + "pos": 104038, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D288", + "line": 3538, + "pos": 104179, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D288", + "line": 3538, + "pos": 104213, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D574", + "line": 3752, + "pos": 109984, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D820", + "line": 3828, + "pos": 111656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D820", + "line": 3835, + "pos": 111932, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D8B8", + "line": 3889, + "pos": 113668, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D8B8", + "line": 3890, + "pos": 113711, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D8B8", + "line": 3900, + "pos": 113954, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D8B8", + "line": 3902, + "pos": 114006, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018D8B8", + "line": 3903, + "pos": 114049, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3972, + "pos": 116231, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3972, + "pos": 116256, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3973, + "pos": 116299, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3974, + "pos": 116361, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3986, + "pos": 116902, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DAA8", + "line": 3991, + "pos": 117089, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4026, + "pos": 117902, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4030, + "pos": 117980, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4037, + "pos": 118119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4048, + "pos": 118362, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4052, + "pos": 118586, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DBF4", + "line": 4081, + "pos": 119495, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DDD0", + "line": 4118, + "pos": 120191, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DDD0", + "line": 4118, + "pos": 120215, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DDD0", + "line": 4120, + "pos": 120266, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018DDD0", + "line": 4120, + "pos": 120292, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E0AC", + "line": 4290, + "pos": 123437, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E0AC", + "line": 4291, + "pos": 123480, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E0AC", + "line": 4292, + "pos": 123523, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E0AC", + "line": 4309, + "pos": 124006, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E4F8", + "line": 4525, + "pos": 130829, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E4F8", + "line": 4528, + "pos": 130916, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E4F8", + "line": 4530, + "pos": 131016, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E5E4", + "line": 4555, + "pos": 131632, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E5E4", + "line": 4557, + "pos": 131686, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E678", + "line": 4579, + "pos": 132189, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E678", + "line": 4582, + "pos": 132389, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((s32)a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E678", + "line": 4589, + "pos": 132690, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E780", + "line": 4616, + "pos": 133413, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E780", + "line": 4620, + "pos": 133709, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4754, + "pos": 140094, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 266 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4756, + "pos": 140166, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 32 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4757, + "pos": 140215, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 36 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4758, + "pos": 140264, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 40 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4759, + "pos": 140313, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 44 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018E8A0", + "line": 4814, + "pos": 142008, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018EC28", + "line": 4866, + "pos": 143305, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018ECE4", + "line": 4907, + "pos": 144314, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018F9D8", + "line": 5527, + "pos": 161728, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018F9D8", + "line": 5533, + "pos": 161906, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018F9D8", + "line": 5534, + "pos": 161943, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018F9D8", + "line": 5543, + "pos": 162160, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018F9D8", + "line": 5557, + "pos": 162552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018FBC8", + "line": 5601, + "pos": 163655, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018FBC8", + "line": 5601, + "pos": 163680, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8018FBC8", + "line": 5602, + "pos": 163727, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801900F0", + "line": 5834, + "pos": 171882, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801900F0", + "line": 5835, + "pos": 171966, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801900F0", + "line": 5836, + "pos": 171996, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(u32 *)(s0 + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801900F0", + "line": 5836, + "pos": 172042, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801900F0", + "line": 5839, + "pos": 172144, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801901C0", + "line": 5871, + "pos": 172823, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801901C0", + "line": 5872, + "pos": 172890, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8019064C", + "line": 6093, + "pos": 178692, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_8019064C", + "line": 6104, + "pos": 179277, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80190748", + "line": 6179, + "pos": 182090, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_801909D8", + "line": 6215, + "pos": 183075, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", + "fn": "func_80190C40", + "line": 6299, + "pos": 185791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8017F3B0", + "line": 3343, + "pos": 123257, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 528 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8017FB60", + "line": 3677, + "pos": 134501, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8017FF48", + "line": 3849, + "pos": 139094, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180084", + "line": 3957, + "pos": 143119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180304", + "line": 3996, + "pos": 144242, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180590", + "line": 4093, + "pos": 146439, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4169, + "pos": 148139, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4173, + "pos": 148234, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4176, + "pos": 148327, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4178, + "pos": 148394, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4180, + "pos": 148497, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801806C8", + "line": 4182, + "pos": 148581, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801809A8", + "line": 4269, + "pos": 151088, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180B00", + "line": 4357, + "pos": 153766, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180B00", + "line": 4359, + "pos": 153907, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180CCC", + "line": 4412, + "pos": 155268, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80180CCC", + "line": 4414, + "pos": 155359, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181118", + "line": 4623, + "pos": 161560, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181294", + "line": 4708, + "pos": 164822, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "e", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181294", + "line": 4736, + "pos": 165900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181294", + "line": 4744, + "pos": 166167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181CF0", + "line": 5111, + "pos": 177869, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181CF0", + "line": 5112, + "pos": 177984, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181CF0", + "line": 5113, + "pos": 178065, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181D80", + "line": 5129, + "pos": 178410, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181D80", + "line": 5131, + "pos": 178531, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181E98", + "line": 5206, + "pos": 181001, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181E98", + "line": 5207, + "pos": 181054, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80181E98", + "line": 5208, + "pos": 181108, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018209C", + "line": 5267, + "pos": 182455, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018209C", + "line": 5268, + "pos": 182505, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018209C", + "line": 5269, + "pos": 182557, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "arg0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182468", + "line": 5406, + "pos": 185569, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182744", + "line": 5516, + "pos": 188275, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182744", + "line": 5517, + "pos": 188318, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182744", + "line": 5517, + "pos": 188348, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182938", + "line": 5599, + "pos": 189962, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182938", + "line": 5601, + "pos": 189999, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182EB0", + "line": 5752, + "pos": 193816, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182EB0", + "line": 5752, + "pos": 193847, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182EB0", + "line": 5754, + "pos": 193960, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80182EB0", + "line": 5754, + "pos": 193991, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183168", + "line": 5889, + "pos": 198157, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "result", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183790", + "line": 6159, + "pos": 204189, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183800", + "line": 6200, + "pos": 205257, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183800", + "line": 6201, + "pos": 205306, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 20 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183800", + "line": 6202, + "pos": 205355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80183FA8", + "line": 6541, + "pos": 215319, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018457C", + "line": 6822, + "pos": 220946, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p1", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80184754", + "line": 6929, + "pos": 223897, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80184754", + "line": 6930, + "pos": 223957, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80184754", + "line": 6931, + "pos": 224017, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801848B4", + "line": 6970, + "pos": 225310, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801848B4", + "line": 6975, + "pos": 225533, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018495C", + "line": 7007, + "pos": 226215, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018495C", + "line": 7016, + "pos": 226531, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018495C", + "line": 7027, + "pos": 226870, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018495C", + "line": 7032, + "pos": 227038, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_8018495C", + "line": 7035, + "pos": 227146, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80184B18", + "line": 7063, + "pos": 227886, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80184B18", + "line": 7073, + "pos": 228093, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80185680", + "line": 7646, + "pos": 246496, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80185680", + "line": 7651, + "pos": 246736, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80185680", + "line": 7652, + "pos": 246780, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801857C4", + "line": 7698, + "pos": 248119, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801857C4", + "line": 7700, + "pos": 248183, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80185EE4", + "line": 7993, + "pos": 256533, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186168", + "line": 8116, + "pos": 260431, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186168", + "line": 8117, + "pos": 260468, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186168", + "line": 8118, + "pos": 260505, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801862B8", + "line": 8177, + "pos": 261826, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801862B8", + "line": 8179, + "pos": 261901, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801862B8", + "line": 8179, + "pos": 261927, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801863B8", + "line": 8228, + "pos": 263385, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801863B8", + "line": 8228, + "pos": 263411, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801863B8", + "line": 8230, + "pos": 263466, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801863B8", + "line": 8230, + "pos": 263492, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8285, + "pos": 264875, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8285, + "pos": 264906, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8287, + "pos": 264970, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8287, + "pos": 265001, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8305, + "pos": 265523, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8312, + "pos": 265731, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186530", + "line": 8312, + "pos": 265762, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_801866C8", + "line": 8345, + "pos": 266769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8409, + "pos": 268856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8425, + "pos": 269477, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8434, + "pos": 269820, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8440, + "pos": 270055, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8444, + "pos": 270214, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8444, + "pos": 270243, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8446, + "pos": 270311, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8446, + "pos": 270342, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8453, + "pos": 270764, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8453, + "pos": 270793, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8455, + "pos": 270869, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8455, + "pos": 270900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8473, + "pos": 271601, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", + "fn": "func_80186770", + "line": 8475, + "pos": 271731, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DD0C", + "line": 3282, + "pos": 114037, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 **)(a0 + 0x20)", + "bclass": "nested", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DD0C", + "line": 3283, + "pos": 114083, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 **)(a0 + 0x20)", + "bclass": "nested", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DD0C", + "line": 3287, + "pos": 114215, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 **)(a0 + 0x20)", + "bclass": "nested", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DDC4", + "line": 3359, + "pos": 116501, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DDC4", + "line": 3381, + "pos": 117472, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DDC4", + "line": 3381, + "pos": 117500, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DDC4", + "line": 3383, + "pos": 117629, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017DDC4", + "line": 3383, + "pos": 117657, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3412, + "pos": 118196, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3414, + "pos": 118346, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3416, + "pos": 118496, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3420, + "pos": 118581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3433, + "pos": 119029, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3434, + "pos": 119113, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E02C", + "line": 3436, + "pos": 119254, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E1FC", + "line": 3476, + "pos": 120364, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E1FC", + "line": 3493, + "pos": 120914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E1FC", + "line": 3499, + "pos": 121151, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E590", + "line": 3627, + "pos": 124687, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E72C", + "line": 3723, + "pos": 128928, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E72C", + "line": 3740, + "pos": 129395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E8D4", + "line": 3782, + "pos": 131028, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E8D4", + "line": 3783, + "pos": 131139, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E8D4", + "line": 3784, + "pos": 131250, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E8D4", + "line": 3787, + "pos": 131376, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E9E8", + "line": 3819, + "pos": 132116, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "q", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E9E8", + "line": 3819, + "pos": 132143, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E9E8", + "line": 3821, + "pos": 132185, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E9E8", + "line": 3828, + "pos": 132454, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017E9E8", + "line": 3830, + "pos": 132544, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "e", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017EC78", + "line": 3944, + "pos": 135413, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017EC78", + "line": 3946, + "pos": 135511, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017EF64", + "line": 4098, + "pos": 139518, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F17C", + "line": 4187, + "pos": 142035, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F17C", + "line": 4188, + "pos": 142086, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F17C", + "line": 4191, + "pos": 142220, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F17C", + "line": 4211, + "pos": 143176, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "q", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F17C", + "line": 4212, + "pos": 143222, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "q", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F400", + "line": 4266, + "pos": 144580, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F440", + "line": 4279, + "pos": 144855, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F9D4", + "line": 4582, + "pos": 156674, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F9D4", + "line": 4598, + "pos": 157311, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017F9D4", + "line": 4600, + "pos": 157467, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FAC0", + "line": 4641, + "pos": 158704, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FAC0", + "line": 4679, + "pos": 159720, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FAC0", + "line": 4684, + "pos": 159884, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FAC0", + "line": 4686, + "pos": 159968, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FAC0", + "line": 4690, + "pos": 160206, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FEE0", + "line": 4818, + "pos": 164712, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FEE0", + "line": 4821, + "pos": 164860, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FEE0", + "line": 4823, + "pos": 164955, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8017FEE0", + "line": 4824, + "pos": 165003, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180520", + "line": 4969, + "pos": 171848, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180520", + "line": 5007, + "pos": 173574, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180520", + "line": 5008, + "pos": 173661, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180520", + "line": 5009, + "pos": 173748, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801808D0", + "line": 5038, + "pos": 174524, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180B0C", + "line": 5131, + "pos": 177555, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180B0C", + "line": 5133, + "pos": 177601, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180B90", + "line": 5156, + "pos": 178219, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180C80", + "line": 5222, + "pos": 180072, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180D44", + "line": 5246, + "pos": 180814, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180D44", + "line": 5247, + "pos": 180856, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180E24", + "line": 5265, + "pos": 181532, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180E94", + "line": 5300, + "pos": 182724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180E94", + "line": 5300, + "pos": 182751, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80180F78", + "line": 5340, + "pos": 184338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801811C4", + "line": 5447, + "pos": 187538, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018144C", + "line": 5513, + "pos": 189362, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018144C", + "line": 5515, + "pos": 189464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018144C", + "line": 5517, + "pos": 189564, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801814D8", + "line": 5547, + "pos": 190009, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801814D8", + "line": 5552, + "pos": 190143, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801814D8", + "line": 5579, + "pos": 191238, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181688", + "line": 5795, + "pos": 201253, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181AC4", + "line": 5840, + "pos": 202381, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181B18", + "line": 5888, + "pos": 203826, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181B18", + "line": 5908, + "pos": 204522, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181CC8", + "line": 5931, + "pos": 205126, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181CC8", + "line": 5951, + "pos": 205619, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80181CC8", + "line": 5953, + "pos": 205709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018200C", + "line": 6065, + "pos": 209327, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018226C", + "line": 6123, + "pos": 211084, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018226C", + "line": 6128, + "pos": 211276, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182550", + "line": 6246, + "pos": 215521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801827E4", + "line": 6353, + "pos": 218051, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801827E4", + "line": 6362, + "pos": 218417, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801827E4", + "line": 6372, + "pos": 218735, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018291C", + "line": 6413, + "pos": 219806, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182A9C", + "line": 6472, + "pos": 221377, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182AF4", + "line": 6499, + "pos": 222121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182CE4", + "line": 6568, + "pos": 224115, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182DBC", + "line": 6591, + "pos": 224642, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182DBC", + "line": 6591, + "pos": 224672, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182F00", + "line": 6734, + "pos": 229704, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80182F00", + "line": 6746, + "pos": 230471, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183084", + "line": 6798, + "pos": 231944, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183084", + "line": 6805, + "pos": 232284, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183084", + "line": 6837, + "pos": 233852, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 6967, + "pos": 241605, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 6984, + "pos": 242355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 6984, + "pos": 242382, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 6985, + "pos": 242417, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 6986, + "pos": 242473, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 7006, + "pos": 243454, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 7006, + "pos": 243481, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801832A8", + "line": 7007, + "pos": 243516, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7086, + "pos": 246840, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7096, + "pos": 247226, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7096, + "pos": 247253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7097, + "pos": 247288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7098, + "pos": 247344, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7112, + "pos": 247905, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7112, + "pos": 247932, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018365C", + "line": 7113, + "pos": 247967, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018389C", + "line": 7252, + "pos": 254297, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018389C", + "line": 7252, + "pos": 254324, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018389C", + "line": 7253, + "pos": 254359, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_8018389C", + "line": 7254, + "pos": 254415, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7323, + "pos": 257085, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7323, + "pos": 257112, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7324, + "pos": 257147, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7325, + "pos": 257203, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7339, + "pos": 257764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7339, + "pos": 257791, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183B04", + "line": 7340, + "pos": 257826, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183CAC", + "line": 7430, + "pos": 261589, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183CAC", + "line": 7433, + "pos": 261710, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183CAC", + "line": 7443, + "pos": 262132, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183CAC", + "line": 7445, + "pos": 262194, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183EF8", + "line": 7494, + "pos": 263879, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183EF8", + "line": 7498, + "pos": 263998, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80183EF8", + "line": 7505, + "pos": 264177, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184044", + "line": 7544, + "pos": 265199, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184250", + "line": 7618, + "pos": 267500, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801842FC", + "line": 7642, + "pos": 268221, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184494", + "line": 7767, + "pos": 273373, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184690", + "line": 7838, + "pos": 276019, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184690", + "line": 7838, + "pos": 276046, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184690", + "line": 7839, + "pos": 276089, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184690", + "line": 7840, + "pos": 276153, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184768", + "line": 7854, + "pos": 276450, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184768", + "line": 7855, + "pos": 276490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801848B0", + "line": 7964, + "pos": 279479, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801848B0", + "line": 7964, + "pos": 279513, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801848B0", + "line": 7965, + "pos": 279550, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_801848B0", + "line": 7966, + "pos": 279615, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184A94", + "line": 8043, + "pos": 281642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184C00", + "line": 8108, + "pos": 283487, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184CCC", + "line": 8149, + "pos": 284593, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80184DA4", + "line": 8175, + "pos": 285162, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80185254", + "line": 8441, + "pos": 292552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80185254", + "line": 8444, + "pos": 292674, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", + "fn": "func_80185254", + "line": 8447, + "pos": 292806, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3852, + "pos": 126527, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3854, + "pos": 126631, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3855, + "pos": 126679, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3856, + "pos": 126734, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3858, + "pos": 126815, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3860, + "pos": 126980, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3862, + "pos": 127061, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3867, + "pos": 127298, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3869, + "pos": 127388, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3870, + "pos": 127468, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj3", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3877, + "pos": 127633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3878, + "pos": 127677, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3879, + "pos": 127723, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3881, + "pos": 127771, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3892, + "pos": 128194, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3901, + "pos": 128715, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3906, + "pos": 129001, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3907, + "pos": 129082, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)(param_1 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3911, + "pos": 129262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80180088", + "line": 3916, + "pos": 129437, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801805EC", + "line": 4004, + "pos": 132448, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801805EC", + "line": 4004, + "pos": 132477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801805EC", + "line": 4009, + "pos": 132775, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801805EC", + "line": 4014, + "pos": 132925, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801805EC", + "line": 4016, + "pos": 133018, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018102C", + "line": 4383, + "pos": 142135, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181200", + "line": 4465, + "pos": 144382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181200", + "line": 4466, + "pos": 144486, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181200", + "line": 4467, + "pos": 144591, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4542, + "pos": 147085, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4544, + "pos": 147228, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4545, + "pos": 147280, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 124 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4546, + "pos": 147327, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 126 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4547, + "pos": 147374, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 128 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4561, + "pos": 147724, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4576, + "pos": 148372, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4580, + "pos": 148541, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 124 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4581, + "pos": 148588, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 126 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181328", + "line": 4582, + "pos": 148635, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 128 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801815E8", + "line": 4665, + "pos": 151355, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801815E8", + "line": 4682, + "pos": 152125, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181740", + "line": 4714, + "pos": 153024, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181894", + "line": 4752, + "pos": 154127, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181894", + "line": 4757, + "pos": 154276, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181894", + "line": 4789, + "pos": 155157, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181A54", + "line": 4799, + "pos": 155459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181A54", + "line": 4801, + "pos": 155618, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181A54", + "line": 4803, + "pos": 155777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181B20", + "line": 4841, + "pos": 156659, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80181D14", + "line": 4895, + "pos": 158350, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018210C", + "line": 5098, + "pos": 163801, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182244", + "line": 5198, + "pos": 166901, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182244", + "line": 5220, + "pos": 167890, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182244", + "line": 5220, + "pos": 167918, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182244", + "line": 5222, + "pos": 168047, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182244", + "line": 5222, + "pos": 168075, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5252, + "pos": 168634, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5254, + "pos": 168784, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5256, + "pos": 168934, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5260, + "pos": 169019, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5273, + "pos": 169467, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5274, + "pos": 169551, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801824AC", + "line": 5276, + "pos": 169692, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801825D8", + "line": 5294, + "pos": 170062, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182868", + "line": 5466, + "pos": 174395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182868", + "line": 5468, + "pos": 174487, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182E4C", + "line": 5745, + "pos": 181551, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182E4C", + "line": 5745, + "pos": 181578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80182F74", + "line": 5782, + "pos": 182439, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801830EC", + "line": 5847, + "pos": 184031, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801830EC", + "line": 5851, + "pos": 184159, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018315C", + "line": 5877, + "pos": 184774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018371C", + "line": 6182, + "pos": 193397, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183938", + "line": 6261, + "pos": 195728, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801839C8", + "line": 6279, + "pos": 196235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801839C8", + "line": 6282, + "pos": 196321, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183DD4", + "line": 6486, + "pos": 201633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183DD4", + "line": 6524, + "pos": 202649, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183DD4", + "line": 6529, + "pos": 202813, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183DD4", + "line": 6531, + "pos": 202897, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80183DD4", + "line": 6535, + "pos": 203135, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801841F4", + "line": 6665, + "pos": 207723, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801841F4", + "line": 6668, + "pos": 207871, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801841F4", + "line": 6670, + "pos": 207966, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801841F4", + "line": 6671, + "pos": 208014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184834", + "line": 6784, + "pos": 212753, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184834", + "line": 6822, + "pos": 214479, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184834", + "line": 6823, + "pos": 214566, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184834", + "line": 6824, + "pos": 214653, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184BE4", + "line": 6853, + "pos": 215418, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184E20", + "line": 6951, + "pos": 218204, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184E20", + "line": 6953, + "pos": 218250, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184EA4", + "line": 6979, + "pos": 218905, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80184F94", + "line": 7048, + "pos": 220750, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185058", + "line": 7072, + "pos": 221485, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185058", + "line": 7073, + "pos": 221527, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185138", + "line": 7093, + "pos": 222214, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801851A8", + "line": 7128, + "pos": 223400, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801851A8", + "line": 7128, + "pos": 223427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018528C", + "line": 7167, + "pos": 224994, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801854D8", + "line": 7275, + "pos": 227923, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018582C", + "line": 7374, + "pos": 230690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018582C", + "line": 7391, + "pos": 231240, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018582C", + "line": 7397, + "pos": 231477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185BC0", + "line": 7515, + "pos": 234822, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185D5C", + "line": 7612, + "pos": 239097, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185D5C", + "line": 7629, + "pos": 239564, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185F04", + "line": 7673, + "pos": 241235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185F04", + "line": 7674, + "pos": 241346, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185F04", + "line": 7675, + "pos": 241457, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80185F04", + "line": 7679, + "pos": 241584, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80186018", + "line": 7722, + "pos": 242701, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80186248", + "line": 7828, + "pos": 245752, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801862A8", + "line": 7852, + "pos": 246377, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801862A8", + "line": 7854, + "pos": 246467, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "temp", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801867AC", + "line": 8095, + "pos": 252748, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801867AC", + "line": 8096, + "pos": 252799, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801869C0", + "line": 8156, + "pos": 254861, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801869C0", + "line": 8157, + "pos": 254945, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80186A70", + "line": 8184, + "pos": 255503, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187004", + "line": 8481, + "pos": 267841, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187004", + "line": 8497, + "pos": 268478, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187004", + "line": 8499, + "pos": 268634, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8714, + "pos": 277511, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8715, + "pos": 277599, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8731, + "pos": 278204, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8732, + "pos": 278292, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8754, + "pos": 279189, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8754, + "pos": 279217, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8755, + "pos": 279262, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187400", + "line": 8755, + "pos": 279290, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187820", + "line": 8809, + "pos": 281225, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187820", + "line": 8810, + "pos": 281282, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187970", + "line": 8919, + "pos": 285884, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187970", + "line": 8931, + "pos": 286651, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187AF4", + "line": 8983, + "pos": 288124, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187AF4", + "line": 8990, + "pos": 288464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187AF4", + "line": 9022, + "pos": 290032, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9152, + "pos": 297769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9169, + "pos": 298519, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9169, + "pos": 298546, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9170, + "pos": 298581, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9171, + "pos": 298637, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9191, + "pos": 299618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9191, + "pos": 299645, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80187D18", + "line": 9192, + "pos": 299680, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9271, + "pos": 302780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9281, + "pos": 303166, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9281, + "pos": 303193, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9282, + "pos": 303228, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9283, + "pos": 303284, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9297, + "pos": 303845, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9297, + "pos": 303872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801880CC", + "line": 9298, + "pos": 303907, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018830C", + "line": 9437, + "pos": 310226, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018830C", + "line": 9437, + "pos": 310253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018830C", + "line": 9438, + "pos": 310288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018830C", + "line": 9439, + "pos": 310344, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9509, + "pos": 312988, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9509, + "pos": 313015, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9510, + "pos": 313050, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9511, + "pos": 313106, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9525, + "pos": 313667, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9525, + "pos": 313694, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188574", + "line": 9526, + "pos": 313729, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018871C", + "line": 9619, + "pos": 317577, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018871C", + "line": 9622, + "pos": 317698, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018871C", + "line": 9632, + "pos": 318120, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018871C", + "line": 9634, + "pos": 318182, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188968", + "line": 9683, + "pos": 319860, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188968", + "line": 9687, + "pos": 319979, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188968", + "line": 9694, + "pos": 320158, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188AB4", + "line": 9735, + "pos": 321190, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188CC0", + "line": 9814, + "pos": 323504, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188D6C", + "line": 9841, + "pos": 324236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80188F04", + "line": 9971, + "pos": 329409, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189100", + "line": 10050, + "pos": 332238, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189100", + "line": 10050, + "pos": 332265, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189100", + "line": 10051, + "pos": 332308, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189100", + "line": 10052, + "pos": 332372, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801891D8", + "line": 10068, + "pos": 332671, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_801891D8", + "line": 10069, + "pos": 332711, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189320", + "line": 10183, + "pos": 335718, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189320", + "line": 10183, + "pos": 335752, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189320", + "line": 10184, + "pos": 335789, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189320", + "line": 10185, + "pos": 335854, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189504", + "line": 10274, + "pos": 337959, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189670", + "line": 10344, + "pos": 339781, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018973C", + "line": 10388, + "pos": 340914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189814", + "line": 10417, + "pos": 341471, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189CC4", + "line": 10698, + "pos": 348888, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189CC4", + "line": 10701, + "pos": 349010, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189CC4", + "line": 10704, + "pos": 349142, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189F28", + "line": 10781, + "pos": 350729, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189F28", + "line": 10786, + "pos": 350958, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_80189FD8", + "line": 10812, + "pos": 351634, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A090", + "line": 10840, + "pos": 352339, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A090", + "line": 10846, + "pos": 352583, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A090", + "line": 10846, + "pos": 352611, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A150", + "line": 10918, + "pos": 355913, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A150", + "line": 10920, + "pos": 356047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A150", + "line": 10923, + "pos": 356112, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A150", + "line": 10927, + "pos": 356227, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", + "fn": "func_8018A150", + "line": 10930, + "pos": 356353, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80184BD8", + "line": 2845, + "pos": 104046, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80184BD8", + "line": 2848, + "pos": 104194, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80184BD8", + "line": 2850, + "pos": 104289, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80184BD8", + "line": 2851, + "pos": 104337, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185218", + "line": 2964, + "pos": 109076, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185218", + "line": 3002, + "pos": 110802, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185218", + "line": 3003, + "pos": 110889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185218", + "line": 3004, + "pos": 110976, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801855C8", + "line": 3033, + "pos": 111741, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185804", + "line": 3131, + "pos": 114527, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185804", + "line": 3133, + "pos": 114573, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185888", + "line": 3159, + "pos": 115228, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185978", + "line": 3228, + "pos": 117073, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185A3C", + "line": 3252, + "pos": 117808, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185A3C", + "line": 3253, + "pos": 117850, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185B1C", + "line": 3273, + "pos": 118537, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185B8C", + "line": 3308, + "pos": 119723, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185B8C", + "line": 3308, + "pos": 119750, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185C70", + "line": 3347, + "pos": 121317, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80185EBC", + "line": 3455, + "pos": 124246, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186210", + "line": 3550, + "pos": 126960, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186210", + "line": 3567, + "pos": 127510, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186210", + "line": 3573, + "pos": 127747, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801865A4", + "line": 3696, + "pos": 131265, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186740", + "line": 3790, + "pos": 135494, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186740", + "line": 3807, + "pos": 135961, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801868E8", + "line": 3852, + "pos": 137657, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801868E8", + "line": 3853, + "pos": 137734, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801868E8", + "line": 3854, + "pos": 137811, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801868E8", + "line": 3857, + "pos": 137939, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801869FC", + "line": 3904, + "pos": 139140, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186C2C", + "line": 3999, + "pos": 141399, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186C8C", + "line": 4024, + "pos": 142059, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80186C8C", + "line": 4026, + "pos": 142149, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "temp", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187190", + "line": 4257, + "pos": 148560, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187190", + "line": 4258, + "pos": 148611, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187454", + "line": 4356, + "pos": 151819, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801879E8", + "line": 4657, + "pos": 163732, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801879E8", + "line": 4668, + "pos": 164153, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 40 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801879E8", + "line": 4674, + "pos": 164465, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_801879E8", + "line": 4676, + "pos": 164642, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4892, + "pos": 173502, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4893, + "pos": 173590, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4909, + "pos": 174195, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4910, + "pos": 174283, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4932, + "pos": 175180, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4932, + "pos": 175208, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4933, + "pos": 175253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80187DE4", + "line": 4933, + "pos": 175281, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80188204", + "line": 4976, + "pos": 176710, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80188204", + "line": 4977, + "pos": 176767, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80188354", + "line": 5084, + "pos": 181365, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", + "fn": "func_80188354", + "line": 5096, + "pos": 182132, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017C2B0", + "line": 3589, + "pos": 125980, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017C2B0", + "line": 3662, + "pos": 127965, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017CD78", + "line": 3943, + "pos": 135105, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017CD78", + "line": 3964, + "pos": 135707, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DC54", + "line": 4356, + "pos": 147144, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 68 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4470, + "pos": 149460, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4484, + "pos": 150080, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4486, + "pos": 150226, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4486, + "pos": 150254, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4488, + "pos": 150353, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4503, + "pos": 150994, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4505, + "pos": 151062, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017DE3C", + "line": 4506, + "pos": 151108, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E1D4", + "line": 4631, + "pos": 155193, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E39C", + "line": 4738, + "pos": 158416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E39C", + "line": 4739, + "pos": 158474, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E39C", + "line": 4740, + "pos": 158532, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E39C", + "line": 4744, + "pos": 158777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4798, + "pos": 160589, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 266 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4807, + "pos": 160855, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4811, + "pos": 160986, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4826, + "pos": 161503, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4835, + "pos": 161858, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E538", + "line": 4843, + "pos": 162138, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 4943, + "pos": 166581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 4949, + "pos": 166884, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 4967, + "pos": 167608, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 4992, + "pos": 168685, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 5002, + "pos": 168999, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017E73C", + "line": 5006, + "pos": 169207, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017EB30", + "line": 5064, + "pos": 170948, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017EB30", + "line": 5104, + "pos": 172168, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017ECEC", + "line": 5167, + "pos": 175047, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017ECEC", + "line": 5168, + "pos": 175094, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017ED60", + "line": 5202, + "pos": 176362, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017ED60", + "line": 5206, + "pos": 176497, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F050", + "line": 5307, + "pos": 180085, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F050", + "line": 5317, + "pos": 180367, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F24C", + "line": 5422, + "pos": 182756, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F24C", + "line": 5451, + "pos": 183394, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F24C", + "line": 5463, + "pos": 183611, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_8017F480", + "line": 5519, + "pos": 184816, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 68 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_801816C0", + "line": 6410, + "pos": 216041, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80181938", + "line": 6497, + "pos": 218243, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80181938", + "line": 6498, + "pos": 218326, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80181FA4", + "line": 6779, + "pos": 224377, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182AB4", + "line": 7176, + "pos": 234259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182AB4", + "line": 7180, + "pos": 234434, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182AB4", + "line": 7180, + "pos": 234458, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182AB4", + "line": 7182, + "pos": 234541, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182AB4", + "line": 7182, + "pos": 234565, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7306, + "pos": 237906, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7310, + "pos": 238120, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7314, + "pos": 238288, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7315, + "pos": 238350, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7319, + "pos": 238531, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7323, + "pos": 238688, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7324, + "pos": 238791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7330, + "pos": 239077, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7356, + "pos": 239935, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7358, + "pos": 240026, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": null, + "bclass": "other", + "off": 252 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80182CF4", + "line": 7359, + "pos": 240087, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7602, + "pos": 246589, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7606, + "pos": 246758, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7607, + "pos": 246821, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7614, + "pos": 247126, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7618, + "pos": 247284, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7619, + "pos": 247388, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7622, + "pos": 247497, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7627, + "pos": 247792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7653, + "pos": 248646, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7662, + "pos": 249180, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7663, + "pos": 249220, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7664, + "pos": 249263, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183458", + "line": 7676, + "pos": 249969, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7944, + "pos": 259893, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7946, + "pos": 259940, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7948, + "pos": 260022, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7965, + "pos": 260616, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 54 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7969, + "pos": 260908, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7975, + "pos": 261236, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 7976, + "pos": 261284, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_80183DC0", + "line": 8013, + "pos": 262619, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", + "fn": "func_801843F0", + "line": 8220, + "pos": 268657, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D3F4", + "line": 2969, + "pos": 105183, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D3F4", + "line": 2983, + "pos": 105946, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D610", + "line": 3060, + "pos": 107630, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D610", + "line": 3060, + "pos": 107657, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D914", + "line": 3213, + "pos": 113528, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D914", + "line": 3251, + "pos": 114544, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D914", + "line": 3256, + "pos": 114708, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D914", + "line": 3258, + "pos": 114792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017D914", + "line": 3262, + "pos": 115030, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017DD34", + "line": 3392, + "pos": 119618, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017DD34", + "line": 3395, + "pos": 119766, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017DD34", + "line": 3397, + "pos": 119861, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017DD34", + "line": 3398, + "pos": 119909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E374", + "line": 3511, + "pos": 124648, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E374", + "line": 3549, + "pos": 126374, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E374", + "line": 3550, + "pos": 126461, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E374", + "line": 3551, + "pos": 126548, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E724", + "line": 3580, + "pos": 127313, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017E9E4", + "line": 3706, + "pos": 130822, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017EAD4", + "line": 3775, + "pos": 132667, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017EB98", + "line": 3799, + "pos": 133402, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017EB98", + "line": 3800, + "pos": 133444, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017EC78", + "line": 3820, + "pos": 134131, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017ECE8", + "line": 3855, + "pos": 135317, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017ECE8", + "line": 3855, + "pos": 135344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017EDCC", + "line": 3894, + "pos": 136911, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F2A0", + "line": 4066, + "pos": 141583, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F2A0", + "line": 4068, + "pos": 141685, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F2A0", + "line": 4070, + "pos": 141785, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F32C", + "line": 4102, + "pos": 142235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F32C", + "line": 4107, + "pos": 142369, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F4DC", + "line": 4345, + "pos": 153237, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F96C", + "line": 4437, + "pos": 155783, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017F96C", + "line": 4457, + "pos": 156479, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8017FE60", + "line": 4607, + "pos": 161089, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801800C0", + "line": 4666, + "pos": 162847, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801800C0", + "line": 4671, + "pos": 163039, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801803A4", + "line": 4791, + "pos": 167098, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180638", + "line": 4902, + "pos": 169672, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180638", + "line": 4912, + "pos": 170068, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180638", + "line": 4922, + "pos": 170342, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180770", + "line": 4963, + "pos": 171242, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180948", + "line": 5055, + "pos": 173620, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180B38", + "line": 5120, + "pos": 175462, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180D54", + "line": 5290, + "pos": 181065, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180D54", + "line": 5302, + "pos": 181832, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180ED8", + "line": 5354, + "pos": 183338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180ED8", + "line": 5361, + "pos": 183700, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80180ED8", + "line": 5393, + "pos": 185356, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5523, + "pos": 193131, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5540, + "pos": 193881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5540, + "pos": 193908, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5541, + "pos": 193943, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5542, + "pos": 193999, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5562, + "pos": 194980, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5562, + "pos": 195007, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801810FC", + "line": 5563, + "pos": 195042, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5642, + "pos": 198349, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5652, + "pos": 198735, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5652, + "pos": 198762, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5653, + "pos": 198797, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5654, + "pos": 198853, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5668, + "pos": 199414, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5668, + "pos": 199441, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801814B0", + "line": 5669, + "pos": 199476, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801816F0", + "line": 5808, + "pos": 205861, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801816F0", + "line": 5808, + "pos": 205888, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801816F0", + "line": 5809, + "pos": 205923, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801816F0", + "line": 5810, + "pos": 205979, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5880, + "pos": 208618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5880, + "pos": 208645, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5881, + "pos": 208680, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5882, + "pos": 208736, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5896, + "pos": 209297, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5896, + "pos": 209324, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181958", + "line": 5897, + "pos": 209359, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181B00", + "line": 5987, + "pos": 213140, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181B00", + "line": 5990, + "pos": 213261, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181B00", + "line": 6000, + "pos": 213705, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181B00", + "line": 6002, + "pos": 213767, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181D4C", + "line": 6051, + "pos": 215445, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181D4C", + "line": 6055, + "pos": 215564, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181D4C", + "line": 6062, + "pos": 215743, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80181E98", + "line": 6103, + "pos": 216775, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801820A4", + "line": 6182, + "pos": 219089, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182150", + "line": 6209, + "pos": 219821, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801824E4", + "line": 6418, + "pos": 227675, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801824E4", + "line": 6418, + "pos": 227702, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801824E4", + "line": 6419, + "pos": 227745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801824E4", + "line": 6420, + "pos": 227809, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801825BC", + "line": 6436, + "pos": 228108, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801825BC", + "line": 6437, + "pos": 228148, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182704", + "line": 6550, + "pos": 231139, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182704", + "line": 6550, + "pos": 231173, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182704", + "line": 6551, + "pos": 231210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182704", + "line": 6552, + "pos": 231275, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801828E8", + "line": 6641, + "pos": 233334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182A54", + "line": 6711, + "pos": 235190, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80182B20", + "line": 6755, + "pos": 236340, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801830A8", + "line": 7065, + "pos": 244285, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801830A8", + "line": 7068, + "pos": 244407, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801830A8", + "line": 7071, + "pos": 244539, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801832D4", + "line": 7129, + "pos": 246014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801832D4", + "line": 7130, + "pos": 246074, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801832D4", + "line": 7134, + "pos": 246281, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183394", + "line": 7155, + "pos": 246662, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183394", + "line": 7158, + "pos": 246735, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801834BC", + "line": 7192, + "pos": 247856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801834BC", + "line": 7196, + "pos": 248066, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8018362C", + "line": 7233, + "pos": 249274, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_8018362C", + "line": 7243, + "pos": 249608, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7268, + "pos": 250193, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7269, + "pos": 250252, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7270, + "pos": 250287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7272, + "pos": 250358, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7299, + "pos": 251571, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_801837C0", + "line": 7309, + "pos": 251945, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183B20", + "line": 7378, + "pos": 253997, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183CBC", + "line": 7433, + "pos": 255909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183D78", + "line": 7461, + "pos": 257064, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183E68", + "line": 7533, + "pos": 260354, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c", + "fn": "func_80183E68", + "line": 7536, + "pos": 260495, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017BFEC", + "line": 4467, + "pos": 162920, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017BFEC", + "line": 4540, + "pos": 164905, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F3F8", + "line": 6030, + "pos": 213427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F490", + "line": 6071, + "pos": 214736, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t2", + "bclass": "local", + "off": 26 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F578", + "line": 6127, + "pos": 216830, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F578", + "line": 6129, + "pos": 216940, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F578", + "line": 6131, + "pos": 217058, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F734", + "line": 6207, + "pos": 218936, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F844", + "line": 6332, + "pos": 223739, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F844", + "line": 6344, + "pos": 224506, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F9C8", + "line": 6396, + "pos": 226026, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F9C8", + "line": 6403, + "pos": 226388, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017F9C8", + "line": 6435, + "pos": 228084, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6565, + "pos": 235860, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6582, + "pos": 236610, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6582, + "pos": 236637, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6583, + "pos": 236672, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6584, + "pos": 236728, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6604, + "pos": 237709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6604, + "pos": 237736, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 6605, + "pos": 237771, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6684, + "pos": 241079, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6694, + "pos": 241465, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6694, + "pos": 241492, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6695, + "pos": 241527, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6696, + "pos": 241583, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6710, + "pos": 242144, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6710, + "pos": 242171, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8017FFA0", + "line": 6711, + "pos": 242206, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801801E0", + "line": 6850, + "pos": 248591, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801801E0", + "line": 6850, + "pos": 248618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801801E0", + "line": 6851, + "pos": 248653, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801801E0", + "line": 6852, + "pos": 248709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6922, + "pos": 251349, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6922, + "pos": 251376, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6923, + "pos": 251411, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6924, + "pos": 251467, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6938, + "pos": 252028, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6938, + "pos": 252055, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180448", + "line": 6939, + "pos": 252090, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801805F0", + "line": 7029, + "pos": 255872, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801805F0", + "line": 7032, + "pos": 255993, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801805F0", + "line": 7042, + "pos": 256437, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801805F0", + "line": 7044, + "pos": 256499, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8018083C", + "line": 7093, + "pos": 258177, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8018083C", + "line": 7097, + "pos": 258296, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8018083C", + "line": 7104, + "pos": 258475, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180988", + "line": 7145, + "pos": 259480, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180B94", + "line": 7225, + "pos": 261786, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180C40", + "line": 7252, + "pos": 262547, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180FD4", + "line": 7467, + "pos": 270484, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180FD4", + "line": 7467, + "pos": 270511, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180FD4", + "line": 7468, + "pos": 270554, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80180FD4", + "line": 7469, + "pos": 270618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801811F4", + "line": 7603, + "pos": 273852, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801811F4", + "line": 7603, + "pos": 273886, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801811F4", + "line": 7604, + "pos": 273923, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801811F4", + "line": 7605, + "pos": 273988, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801813D8", + "line": 7696, + "pos": 276046, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181544", + "line": 7767, + "pos": 277905, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181610", + "line": 7811, + "pos": 279056, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181B98", + "line": 8126, + "pos": 287044, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181B98", + "line": 8129, + "pos": 287166, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181B98", + "line": 8132, + "pos": 287298, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181D48", + "line": 8193, + "pos": 289086, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181D48", + "line": 8231, + "pos": 290102, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181D48", + "line": 8236, + "pos": 290282, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181D48", + "line": 8238, + "pos": 290366, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80181D48", + "line": 8242, + "pos": 290604, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182168", + "line": 8372, + "pos": 295164, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182168", + "line": 8375, + "pos": 295312, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182168", + "line": 8377, + "pos": 295407, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182168", + "line": 8378, + "pos": 295455, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801827A8", + "line": 8491, + "pos": 300282, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801827A8", + "line": 8529, + "pos": 302008, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801827A8", + "line": 8530, + "pos": 302095, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_801827A8", + "line": 8531, + "pos": 302182, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182B58", + "line": 8560, + "pos": 302927, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182D94", + "line": 8676, + "pos": 306217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182D94", + "line": 8678, + "pos": 306263, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182E18", + "line": 8704, + "pos": 306940, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80182F08", + "line": 8774, + "pos": 308782, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8018311C", + "line": 8854, + "pos": 311344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_8018311C", + "line": 8854, + "pos": 311371, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c", + "fn": "func_80183200", + "line": 8893, + "pos": 312938, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017CE3C", + "line": 2736, + "pos": 99465, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 244 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D1E0", + "line": 2917, + "pos": 104543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D38C", + "line": 3053, + "pos": 108936, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D38C", + "line": 3053, + "pos": 108964, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D728", + "line": 3064, + "pos": 109308, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D728", + "line": 3065, + "pos": 109383, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017D728", + "line": 3066, + "pos": 109458, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DCDC", + "line": 3394, + "pos": 123076, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DCDC", + "line": 3395, + "pos": 123143, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DCDC", + "line": 3396, + "pos": 123210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DCDC", + "line": 3400, + "pos": 123456, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DD50", + "line": 3405, + "pos": 123561, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 0 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017DD60", + "line": 3442, + "pos": 124107, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017E9B0", + "line": 3995, + "pos": 137637, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017E9B0", + "line": 4002, + "pos": 137788, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017E9B0", + "line": 4005, + "pos": 137868, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017EC1C", + "line": 4237, + "pos": 147293, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017F9A4", + "line": 4816, + "pos": 163087, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017FC70", + "line": 4922, + "pos": 165991, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017FE34", + "line": 5011, + "pos": 168319, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8017FE34", + "line": 5013, + "pos": 168409, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_801800CC", + "line": 5137, + "pos": 171738, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_801800CC", + "line": 5138, + "pos": 171773, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8018011C", + "line": 5160, + "pos": 172521, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8018011C", + "line": 5161, + "pos": 172561, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8018023C", + "line": 5272, + "pos": 175864, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8018023C", + "line": 5273, + "pos": 175911, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180438", + "line": 5317, + "pos": 177203, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180648", + "line": 5398, + "pos": 179462, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180648", + "line": 5399, + "pos": 179520, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180648", + "line": 5402, + "pos": 179675, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180720", + "line": 5416, + "pos": 179985, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180720", + "line": 5417, + "pos": 180024, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180C40", + "line": 5696, + "pos": 187724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180ED4", + "line": 5750, + "pos": 189923, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80180ED4", + "line": 5769, + "pos": 190585, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_8018102C", + "line": 5820, + "pos": 192035, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5860, + "pos": 193249, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5861, + "pos": 193320, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5862, + "pos": 193392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5864, + "pos": 193458, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5864, + "pos": 193487, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5865, + "pos": 193526, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5865, + "pos": 193555, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5872, + "pos": 193746, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5873, + "pos": 193830, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181164", + "line": 5874, + "pos": 193914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181360", + "line": 5945, + "pos": 195761, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6325, + "pos": 205028, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6331, + "pos": 205223, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6332, + "pos": 205272, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6334, + "pos": 205335, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6337, + "pos": 205469, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181B04", + "line": 6340, + "pos": 205545, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181C40", + "line": 6363, + "pos": 206238, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181C40", + "line": 6365, + "pos": 206302, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181E18", + "line": 6475, + "pos": 209478, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80181E18", + "line": 6476, + "pos": 209528, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6582, + "pos": 215001, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6592, + "pos": 215422, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182784", + "line": 7011, + "pos": 230588, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182B38", + "line": 7117, + "pos": 233456, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182BAC", + "line": 7147, + "pos": 234480, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80182BAC", + "line": 7148, + "pos": 234539, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80183B50", + "line": 7868, + "pos": 262021, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80183B50", + "line": 7869, + "pos": 262071, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80183B50", + "line": 7873, + "pos": 262190, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_801846E8", + "line": 8416, + "pos": 279916, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_801846E8", + "line": 8427, + "pos": 280501, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_801847E4", + "line": 8504, + "pos": 283316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80184A74", + "line": 8542, + "pos": 284307, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c", + "fn": "func_80184CDC", + "line": 8623, + "pos": 286963, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3468, + "pos": 119478, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017D734", + "line": 3753, + "pos": 128505, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017D734", + "line": 3753, + "pos": 128536, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017D734", + "line": 3759, + "pos": 128774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017DA48", + "line": 3901, + "pos": 133288, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017F804", + "line": 5286, + "pos": 168322, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017F804", + "line": 5296, + "pos": 168624, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8017F804", + "line": 5300, + "pos": 168769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80180224", + "line": 5753, + "pos": 179970, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80180224", + "line": 5753, + "pos": 179995, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80180224", + "line": 5765, + "pos": 180532, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80180224", + "line": 5767, + "pos": 180629, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80180340", + "line": 5797, + "pos": 181642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_801814C4", + "line": 6650, + "pos": 200691, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)((u8 *)s0 + 0xCC)", + "bclass": "nested", + "off": 176 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_801815A0", + "line": 6724, + "pos": 202384, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80181948", + "line": 6872, + "pos": 205342, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80181B40", + "line": 6976, + "pos": 207996, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80181D04", + "line": 7068, + "pos": 210333, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80181DB8", + "line": 7121, + "pos": 212029, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8018247C", + "line": 7476, + "pos": 221299, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80182D04", + "line": 7950, + "pos": 234314, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80182F3C", + "line": 8081, + "pos": 238087, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80182F3C", + "line": 8088, + "pos": 238252, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80183168", + "line": 8179, + "pos": 241083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_8018321C", + "line": 8243, + "pos": 243359, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80183E14", + "line": 8837, + "pos": 259218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_801840E4", + "line": 9012, + "pos": 264184, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c", + "fn": "func_80184BF4", + "line": 9577, + "pos": 277481, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017C3C4", + "line": 3601, + "pos": 125967, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017C3C4", + "line": 3674, + "pos": 127952, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017CE8C", + "line": 3955, + "pos": 135122, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017CE8C", + "line": 3976, + "pos": 135724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DC70", + "line": 4365, + "pos": 147576, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DC70", + "line": 4366, + "pos": 147634, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DC70", + "line": 4367, + "pos": 147692, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DC70", + "line": 4371, + "pos": 147937, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4425, + "pos": 149749, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 266 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4434, + "pos": 150015, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4438, + "pos": 150146, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4453, + "pos": 150663, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4462, + "pos": 151018, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017DE0C", + "line": 4470, + "pos": 151298, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4570, + "pos": 155741, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4576, + "pos": 156044, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4594, + "pos": 156768, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4619, + "pos": 157845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4629, + "pos": 158159, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E010", + "line": 4633, + "pos": 158367, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E404", + "line": 4691, + "pos": 160108, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E404", + "line": 4731, + "pos": 161328, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E5C0", + "line": 4793, + "pos": 164206, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E5C0", + "line": 4794, + "pos": 164253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E634", + "line": 4828, + "pos": 165521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E634", + "line": 4832, + "pos": 165656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E924", + "line": 4933, + "pos": 169244, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017E924", + "line": 4943, + "pos": 169526, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EB20", + "line": 5048, + "pos": 171915, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EB20", + "line": 5077, + "pos": 172553, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EB20", + "line": 5089, + "pos": 172770, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017ED50", + "line": 5146, + "pos": 173987, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 68 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5267, + "pos": 176956, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5281, + "pos": 177576, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5283, + "pos": 177722, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5283, + "pos": 177750, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5285, + "pos": 177849, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5300, + "pos": 178490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5302, + "pos": 178558, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017EF38", + "line": 5303, + "pos": 178604, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017F2D0", + "line": 5428, + "pos": 182714, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017F394", + "line": 5456, + "pos": 183448, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017F394", + "line": 5469, + "pos": 183816, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "s0", + "bclass": "local", + "off": 13 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017F394", + "line": 5470, + "pos": 183867, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "s0", + "bclass": "local", + "off": 13 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8017F394", + "line": 5472, + "pos": 183949, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "s0", + "bclass": "local", + "off": 13 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801814DC", + "line": 6444, + "pos": 223585, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801815A8", + "line": 6468, + "pos": 224208, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801815A8", + "line": 6468, + "pos": 224244, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801815A8", + "line": 6469, + "pos": 224283, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801815A8", + "line": 6469, + "pos": 224319, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801815A8", + "line": 6470, + "pos": 224362, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018163C", + "line": 6484, + "pos": 224629, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80181B50", + "line": 6724, + "pos": 230256, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80183668", + "line": 7919, + "pos": 264704, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80183864", + "line": 8005, + "pos": 266764, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801839A4", + "line": 8053, + "pos": 268260, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80183B14", + "line": 8112, + "pos": 269653, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80183EF0", + "line": 8336, + "pos": 275829, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184034", + "line": 8394, + "pos": 277385, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184034", + "line": 8396, + "pos": 277441, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184800", + "line": 8765, + "pos": 286868, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184800", + "line": 8765, + "pos": 286892, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184800", + "line": 8767, + "pos": 286943, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184800", + "line": 8767, + "pos": 286969, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184860", + "line": 8782, + "pos": 287224, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184860", + "line": 8790, + "pos": 287421, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801848E4", + "line": 8834, + "pos": 288538, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801849A0", + "line": 8878, + "pos": 289647, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801849A0", + "line": 8882, + "pos": 289764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184B30", + "line": 8935, + "pos": 291287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184CE8", + "line": 9020, + "pos": 293066, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184DC8", + "line": 9104, + "pos": 294660, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184DC8", + "line": 9108, + "pos": 294873, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184DC8", + "line": 9115, + "pos": 295200, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184DC8", + "line": 9116, + "pos": 295244, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80184DC8", + "line": 9155, + "pos": 296847, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801850D8", + "line": 9226, + "pos": 298695, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801856A0", + "line": 9610, + "pos": 308669, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018594C", + "line": 9687, + "pos": 310485, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018594C", + "line": 9694, + "pos": 310761, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801859E4", + "line": 9762, + "pos": 313638, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "obj", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801859E4", + "line": 9763, + "pos": 313682, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "obj", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801859E4", + "line": 9777, + "pos": 314236, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801859E4", + "line": 9780, + "pos": 314290, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801859E4", + "line": 9781, + "pos": 314334, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9870, + "pos": 317789, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9870, + "pos": 317814, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9871, + "pos": 317857, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9872, + "pos": 317919, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9884, + "pos": 318460, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185BD4", + "line": 9889, + "pos": 318647, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185D20", + "line": 9924, + "pos": 319444, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185D20", + "line": 9928, + "pos": 319522, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185D20", + "line": 9935, + "pos": 319661, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185D20", + "line": 9946, + "pos": 319904, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185D20", + "line": 9979, + "pos": 321003, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185EFC", + "line": 10016, + "pos": 321699, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185EFC", + "line": 10016, + "pos": 321723, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185EFC", + "line": 10018, + "pos": 321774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80185EFC", + "line": 10018, + "pos": 321800, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186140", + "line": 10122, + "pos": 324121, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801861D8", + "line": 10170, + "pos": 325344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801861D8", + "line": 10171, + "pos": 325387, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801861D8", + "line": 10172, + "pos": 325430, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801861D8", + "line": 10189, + "pos": 325913, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186624", + "line": 10358, + "pos": 330080, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186624", + "line": 10361, + "pos": 330167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186624", + "line": 10363, + "pos": 330267, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186710", + "line": 10388, + "pos": 330883, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186710", + "line": 10390, + "pos": 330937, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801867A4", + "line": 10412, + "pos": 331440, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801867A4", + "line": 10415, + "pos": 331640, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((s32)a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801867A4", + "line": 10422, + "pos": 331941, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801868AC", + "line": 10450, + "pos": 332665, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801868AC", + "line": 10454, + "pos": 332961, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10516, + "pos": 335076, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 266 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10518, + "pos": 335148, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10519, + "pos": 335197, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 36 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10520, + "pos": 335246, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 40 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10521, + "pos": 335295, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 44 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801869CC", + "line": 10576, + "pos": 337008, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186D54", + "line": 10628, + "pos": 338332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80186E10", + "line": 10669, + "pos": 339348, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187628", + "line": 11099, + "pos": 349678, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801876E4", + "line": 11116, + "pos": 350084, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187914", + "line": 11193, + "pos": 352140, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11272, + "pos": 354169, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11282, + "pos": 354539, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11286, + "pos": 354744, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11297, + "pos": 355063, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11300, + "pos": 355224, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187A9C", + "line": 11305, + "pos": 355330, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187C94", + "line": 11323, + "pos": 355797, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80187E24", + "line": 11401, + "pos": 357789, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11549, + "pos": 362260, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11549, + "pos": 362294, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11587, + "pos": 363918, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11588, + "pos": 363961, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11594, + "pos": 364107, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11594, + "pos": 364135, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11595, + "pos": 364180, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11595, + "pos": 364208, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11608, + "pos": 364727, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188134", + "line": 11609, + "pos": 364770, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188410", + "line": 11674, + "pos": 366978, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801888A8", + "line": 11934, + "pos": 372283, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801888A8", + "line": 11936, + "pos": 372377, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801888A8", + "line": 11941, + "pos": 372496, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801888A8", + "line": 11943, + "pos": 372598, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188978", + "line": 11981, + "pos": 373336, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188978", + "line": 11983, + "pos": 373418, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188A2C", + "line": 12000, + "pos": 373996, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188A94", + "line": 12013, + "pos": 374277, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188A94", + "line": 12013, + "pos": 374301, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188A94", + "line": 12015, + "pos": 374352, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188A94", + "line": 12015, + "pos": 374378, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188AF4", + "line": 12044, + "pos": 375277, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188AF4", + "line": 12045, + "pos": 375325, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188AF4", + "line": 12046, + "pos": 375373, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188AF4", + "line": 12058, + "pos": 375672, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 62 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188AF4", + "line": 12059, + "pos": 375713, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 66 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188C90", + "line": 12102, + "pos": 376613, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_80188C90", + "line": 12112, + "pos": 376820, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801897F8", + "line": 12707, + "pos": 395596, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801897F8", + "line": 12712, + "pos": 395836, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_801897F8", + "line": 12713, + "pos": 395880, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018993C", + "line": 12759, + "pos": 397289, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018993C", + "line": 12761, + "pos": 397345, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A05C", + "line": 13052, + "pos": 405453, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A2F8", + "line": 13162, + "pos": 408266, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A384", + "line": 13182, + "pos": 408795, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A698", + "line": 13341, + "pos": 412750, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A698", + "line": 13341, + "pos": 412774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A698", + "line": 13343, + "pos": 412825, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A698", + "line": 13343, + "pos": 412851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13420, + "pos": 416316, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 58 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13421, + "pos": 416372, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 62 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13422, + "pos": 416428, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 66 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13427, + "pos": 416652, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13428, + "pos": 416705, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018A6F4", + "line": 13429, + "pos": 416765, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018AAE4", + "line": 13586, + "pos": 420625, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018AC60", + "line": 13630, + "pos": 421721, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018ACD0", + "line": 13660, + "pos": 422762, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018AF88", + "line": 13808, + "pos": 427346, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018AF88", + "line": 13809, + "pos": 427399, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B104", + "line": 13883, + "pos": 429521, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B104", + "line": 13884, + "pos": 429561, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B224", + "line": 13931, + "pos": 430761, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B224", + "line": 13932, + "pos": 430801, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B3E0", + "line": 14015, + "pos": 432577, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B3E0", + "line": 14016, + "pos": 432616, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B868", + "line": 14254, + "pos": 439059, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B868", + "line": 14255, + "pos": 439098, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B868", + "line": 14256, + "pos": 439194, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018B868", + "line": 14257, + "pos": 439290, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018BA58", + "line": 14314, + "pos": 441058, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018BA58", + "line": 14325, + "pos": 441643, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018BB54", + "line": 14402, + "pos": 444458, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018BDE4", + "line": 14440, + "pos": 445449, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018C04C", + "line": 14521, + "pos": 448105, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018C154", + "line": 14583, + "pos": 449357, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018C308", + "line": 14655, + "pos": 451167, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)((u8 *)a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", + "fn": "func_8018C3E0", + "line": 14692, + "pos": 451993, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 **)((u8 *)a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017E57C", + "line": 4534, + "pos": 152643, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017EA48", + "line": 4812, + "pos": 160790, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017EA48", + "line": 4830, + "pos": 161598, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017EA48", + "line": 4842, + "pos": 161872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F444", + "line": 5248, + "pos": 170806, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F444", + "line": 5259, + "pos": 171326, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F444", + "line": 5260, + "pos": 171370, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F750", + "line": 5371, + "pos": 174894, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F99C", + "line": 5484, + "pos": 177796, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t1", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F99C", + "line": 5497, + "pos": 178244, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F99C", + "line": 5501, + "pos": 178385, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017F99C", + "line": 5501, + "pos": 178419, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FB40", + "line": 5550, + "pos": 179971, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FD6C", + "line": 5638, + "pos": 182356, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FE04", + "line": 5724, + "pos": 185443, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FE04", + "line": 5725, + "pos": 185486, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FE04", + "line": 5736, + "pos": 185715, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FE04", + "line": 5738, + "pos": 185767, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8017FE04", + "line": 5739, + "pos": 185810, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8018022C", + "line": 5878, + "pos": 191423, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180B24", + "line": 6299, + "pos": 202525, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180B24", + "line": 6299, + "pos": 202554, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180C74", + "line": 6435, + "pos": 205825, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180C74", + "line": 6438, + "pos": 205952, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180C74", + "line": 6439, + "pos": 206004, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6517, + "pos": 208027, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6524, + "pos": 208218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6537, + "pos": 208666, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6537, + "pos": 208694, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6539, + "pos": 208769, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6557, + "pos": 209411, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_80180F4C", + "line": 6558, + "pos": 209454, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c", + "fn": "func_8018178C", + "line": 6867, + "pos": 218552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80185D7C", + "line": 3054, + "pos": 109915, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80185D7C", + "line": 3056, + "pos": 109960, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80185D7C", + "line": 3061, + "pos": 110254, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80185ED4", + "line": 3141, + "pos": 112981, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801861DC", + "line": 3228, + "pos": 114992, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801861DC", + "line": 3229, + "pos": 115032, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186234", + "line": 3258, + "pos": 115777, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "D_801EC450", + "bclass": "global", + "off": 10 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186368", + "line": 3302, + "pos": 116913, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801864A8", + "line": 3384, + "pos": 118914, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801864A8", + "line": 3385, + "pos": 118949, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186894", + "line": 3540, + "pos": 122766, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186894", + "line": 3542, + "pos": 122873, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186BAC", + "line": 3666, + "pos": 126245, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186BAC", + "line": 3668, + "pos": 126378, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186BAC", + "line": 3669, + "pos": 126465, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186D0C", + "line": 3708, + "pos": 127464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80186E60", + "line": 3791, + "pos": 129572, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_8018726C", + "line": 4011, + "pos": 134977, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_8018741C", + "line": 4081, + "pos": 137068, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_8018741C", + "line": 4082, + "pos": 137110, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_8018753C", + "line": 4151, + "pos": 138926, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 26 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187610", + "line": 4177, + "pos": 139576, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 26 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801878A8", + "line": 4289, + "pos": 142849, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187954", + "line": 4305, + "pos": 143379, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187954", + "line": 4306, + "pos": 143435, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187954", + "line": 4307, + "pos": 143491, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187B04", + "line": 4391, + "pos": 145682, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187B04", + "line": 4392, + "pos": 145774, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187B04", + "line": 4393, + "pos": 145916, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187B04", + "line": 4394, + "pos": 145956, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187C28", + "line": 4449, + "pos": 147574, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187C28", + "line": 4451, + "pos": 147633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187E14", + "line": 4520, + "pos": 149734, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187E14", + "line": 4523, + "pos": 149943, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4555, + "pos": 150719, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4555, + "pos": 150744, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4555, + "pos": 150769, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4556, + "pos": 150800, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4556, + "pos": 150827, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_80187F98", + "line": 4556, + "pos": 150854, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801880AC", + "line": 4632, + "pos": 152670, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801880AC", + "line": 4635, + "pos": 152807, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801880AC", + "line": 4636, + "pos": 152839, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4722, + "pos": 154679, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4723, + "pos": 154750, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4724, + "pos": 154822, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4726, + "pos": 154888, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4726, + "pos": 154917, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4727, + "pos": 154956, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4727, + "pos": 154985, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4733, + "pos": 155188, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4734, + "pos": 155272, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_801882C0", + "line": 4735, + "pos": 155356, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_028/ov_SC03_028_jr_80185C14.c", + "fn": "func_8018870C", + "line": 4922, + "pos": 160260, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "ret", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80180250", + "line": 2890, + "pos": 103633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80180250", + "line": 2892, + "pos": 103712, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801802C4", + "line": 2917, + "pos": 104521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 130 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3028, + "pos": 107533, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3045, + "pos": 108243, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3046, + "pos": 108283, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3047, + "pos": 108326, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3048, + "pos": 108372, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3049, + "pos": 108421, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3067, + "pos": 109107, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3088, + "pos": 109904, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3089, + "pos": 109944, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3090, + "pos": 109987, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3091, + "pos": 110033, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3092, + "pos": 110082, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3104, + "pos": 110495, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3104, + "pos": 110523, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3105, + "pos": 110568, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3105, + "pos": 110596, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801804A0", + "line": 3112, + "pos": 110883, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018118C", + "line": 3543, + "pos": 124378, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018118C", + "line": 3544, + "pos": 124421, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018118C", + "line": 3545, + "pos": 124465, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018118C", + "line": 3546, + "pos": 124512, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018118C", + "line": 3547, + "pos": 124564, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801813FC", + "line": 3654, + "pos": 127746, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801813FC", + "line": 3664, + "pos": 128334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80181708", + "line": 3816, + "pos": 131718, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80181D9C", + "line": 4019, + "pos": 136577, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80181D9C", + "line": 4019, + "pos": 136608, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80181D9C", + "line": 4021, + "pos": 136721, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80181D9C", + "line": 4021, + "pos": 136752, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182050", + "line": 4135, + "pos": 139383, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "result", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018223C", + "line": 4228, + "pos": 141293, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4470, + "pos": 146792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4474, + "pos": 146887, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4477, + "pos": 146980, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4479, + "pos": 147047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4481, + "pos": 147150, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182744", + "line": 4483, + "pos": 147234, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182BCC", + "line": 4669, + "pos": 152184, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182BCC", + "line": 4680, + "pos": 152606, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182F08", + "line": 4807, + "pos": 155922, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182F08", + "line": 4811, + "pos": 156139, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0_val", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182F08", + "line": 4811, + "pos": 156170, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0_val", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182FC4", + "line": 4856, + "pos": 157306, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80182FC4", + "line": 4860, + "pos": 157423, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80183154", + "line": 4913, + "pos": 158952, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801831B4", + "line": 4922, + "pos": 159109, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_8018330C", + "line": 4994, + "pos": 160780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801833EC", + "line": 5078, + "pos": 162374, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801833EC", + "line": 5082, + "pos": 162587, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801833EC", + "line": 5089, + "pos": 162914, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801833EC", + "line": 5090, + "pos": 162958, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801833EC", + "line": 5129, + "pos": 164561, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801836FC", + "line": 5197, + "pos": 166387, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801839D8", + "line": 5353, + "pos": 170249, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t1", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801839D8", + "line": 5366, + "pos": 170697, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t3", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801839D8", + "line": 5370, + "pos": 170838, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801839D8", + "line": 5370, + "pos": 170872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80183CC4", + "line": 5586, + "pos": 176630, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80183F70", + "line": 5662, + "pos": 178354, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184008", + "line": 5728, + "pos": 180503, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184008", + "line": 5729, + "pos": 180546, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184008", + "line": 5739, + "pos": 180789, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184008", + "line": 5741, + "pos": 180841, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184008", + "line": 5742, + "pos": 180884, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5807, + "pos": 182926, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5807, + "pos": 182951, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5808, + "pos": 182994, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5809, + "pos": 183056, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5821, + "pos": 183597, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801841F8", + "line": 5826, + "pos": 183784, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184344", + "line": 5871, + "pos": 185228, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184344", + "line": 5875, + "pos": 185306, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184344", + "line": 5882, + "pos": 185445, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 193 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184344", + "line": 5893, + "pos": 185688, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184344", + "line": 5926, + "pos": 186786, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184520", + "line": 5958, + "pos": 187393, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184520", + "line": 5958, + "pos": 187417, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184520", + "line": 5960, + "pos": 187468, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184520", + "line": 5960, + "pos": 187494, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801847FC", + "line": 6143, + "pos": 191734, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801847FC", + "line": 6144, + "pos": 191777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801847FC", + "line": 6145, + "pos": 191820, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801847FC", + "line": 6162, + "pos": 192303, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184C48", + "line": 6343, + "pos": 197244, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184C48", + "line": 6346, + "pos": 197331, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184C48", + "line": 6348, + "pos": 197431, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184D34", + "line": 6375, + "pos": 198071, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184D34", + "line": 6377, + "pos": 198125, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184DC8", + "line": 6399, + "pos": 198631, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184DC8", + "line": 6402, + "pos": 198831, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((s32)a0 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184DC8", + "line": 6409, + "pos": 199132, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184ED0", + "line": 6437, + "pos": 199856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184ED0", + "line": 6441, + "pos": 200152, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6503, + "pos": 202267, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 266 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6505, + "pos": 202339, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 32 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6506, + "pos": 202388, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 36 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6507, + "pos": 202437, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 40 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6508, + "pos": 202486, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "prim", + "bclass": "addr-of", + "off": 44 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80184FF0", + "line": 6563, + "pos": 204217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80185378", + "line": 6615, + "pos": 205590, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80185434", + "line": 6656, + "pos": 206601, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80185C4C", + "line": 7088, + "pos": 216917, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80185D08", + "line": 7109, + "pos": 217368, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80185F38", + "line": 7182, + "pos": 219118, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7271, + "pos": 221442, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7281, + "pos": 221791, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7285, + "pos": 221996, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7296, + "pos": 222315, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7299, + "pos": 222476, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801860C0", + "line": 7304, + "pos": 222582, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_801862B8", + "line": 7328, + "pos": 223226, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186448", + "line": 7403, + "pos": 225190, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7554, + "pos": 229762, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7554, + "pos": 229796, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7592, + "pos": 231389, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7593, + "pos": 231432, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7599, + "pos": 231578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7599, + "pos": 231606, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7600, + "pos": 231651, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7600, + "pos": 231679, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7613, + "pos": 232198, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", + "fn": "func_80186758", + "line": 7614, + "pos": 232241, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181D9C", + "line": 4040, + "pos": 148281, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181D9C", + "line": 4045, + "pos": 148546, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "temp", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181D9C", + "line": 4054, + "pos": 148913, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181D9C", + "line": 4059, + "pos": 149178, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "temp", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181F9C", + "line": 4115, + "pos": 150205, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181F9C", + "line": 4117, + "pos": 150315, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80181F9C", + "line": 4119, + "pos": 150434, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801822C8", + "line": 4266, + "pos": 154512, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801822C8", + "line": 4304, + "pos": 155528, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801822C8", + "line": 4309, + "pos": 155692, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801822C8", + "line": 4311, + "pos": 155776, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801822C8", + "line": 4315, + "pos": 156014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801826E8", + "line": 4445, + "pos": 160602, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801826E8", + "line": 4448, + "pos": 160750, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801826E8", + "line": 4450, + "pos": 160845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801826E8", + "line": 4451, + "pos": 160893, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80182D28", + "line": 4564, + "pos": 165632, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80182D28", + "line": 4602, + "pos": 167358, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80182D28", + "line": 4603, + "pos": 167445, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80182D28", + "line": 4604, + "pos": 167532, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801830D8", + "line": 4633, + "pos": 168297, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80183314", + "line": 4730, + "pos": 171082, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80183314", + "line": 4732, + "pos": 171128, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80183398", + "line": 4758, + "pos": 171783, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80183488", + "line": 4827, + "pos": 173628, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018354C", + "line": 4851, + "pos": 174363, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018354C", + "line": 4852, + "pos": 174405, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018362C", + "line": 4872, + "pos": 175092, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018369C", + "line": 4907, + "pos": 176278, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018369C", + "line": 4907, + "pos": 176305, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80183780", + "line": 4946, + "pos": 177872, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801839CC", + "line": 5054, + "pos": 180801, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018406C", + "line": 5286, + "pos": 186326, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018406C", + "line": 5287, + "pos": 186376, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_8018406C", + "line": 5291, + "pos": 186651, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184138", + "line": 5311, + "pos": 187034, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "rec", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5516, + "pos": 196739, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5549, + "pos": 197964, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5551, + "pos": 198138, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5552, + "pos": 198201, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5565, + "pos": 198695, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801844C8", + "line": 5565, + "pos": 198722, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5624, + "pos": 201158, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5631, + "pos": 201408, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5632, + "pos": 201481, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5633, + "pos": 201558, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5635, + "pos": 201738, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184730", + "line": 5636, + "pos": 201801, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801848AC", + "line": 5719, + "pos": 205478, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184A74", + "line": 5781, + "pos": 207252, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80184B30", + "line": 5808, + "pos": 208167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80185098", + "line": 6072, + "pos": 215413, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80185098", + "line": 6073, + "pos": 215496, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80185098", + "line": 6074, + "pos": 215579, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801855BC", + "line": 6329, + "pos": 223977, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6510, + "pos": 229551, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6519, + "pos": 229739, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6527, + "pos": 229893, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6536, + "pos": 230081, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6553, + "pos": 230445, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6561, + "pos": 230599, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6570, + "pos": 230787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6572, + "pos": 230828, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6574, + "pos": 230906, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6575, + "pos": 230948, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6575, + "pos": 230982, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_801858BC", + "line": 6582, + "pos": 231498, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80185CCC", + "line": 6684, + "pos": 236030, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", + "fn": "func_80185CCC", + "line": 6696, + "pos": 236797, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80181FA4", + "line": 4233, + "pos": 153687, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80181FA4", + "line": 4271, + "pos": 154703, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80181FA4", + "line": 4276, + "pos": 154867, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80181FA4", + "line": 4278, + "pos": 154951, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80181FA4", + "line": 4282, + "pos": 155189, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801823C4", + "line": 4412, + "pos": 159777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801823C4", + "line": 4415, + "pos": 159925, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801823C4", + "line": 4417, + "pos": 160020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801823C4", + "line": 4418, + "pos": 160068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182A04", + "line": 4531, + "pos": 164807, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182A04", + "line": 4569, + "pos": 166533, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182A04", + "line": 4570, + "pos": 166620, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182A04", + "line": 4571, + "pos": 166707, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182DB4", + "line": 4600, + "pos": 167472, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182FF0", + "line": 4699, + "pos": 170259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80182FF0", + "line": 4701, + "pos": 170305, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183074", + "line": 4727, + "pos": 170960, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183164", + "line": 4796, + "pos": 172805, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183228", + "line": 4820, + "pos": 173540, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183228", + "line": 4821, + "pos": 173582, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183308", + "line": 4841, + "pos": 174269, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183378", + "line": 4876, + "pos": 175455, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183378", + "line": 4876, + "pos": 175482, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018345C", + "line": 4915, + "pos": 177049, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801836A8", + "line": 5023, + "pos": 179978, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183D48", + "line": 5271, + "pos": 185695, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183D48", + "line": 5272, + "pos": 185753, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183D48", + "line": 5277, + "pos": 186051, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80183E14", + "line": 5291, + "pos": 186339, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5495, + "pos": 196013, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5528, + "pos": 197238, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5530, + "pos": 197412, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5531, + "pos": 197475, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5544, + "pos": 197969, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801841A4", + "line": 5544, + "pos": 197996, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5602, + "pos": 200446, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5609, + "pos": 200696, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5610, + "pos": 200769, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5611, + "pos": 200846, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5613, + "pos": 201026, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018440C", + "line": 5614, + "pos": 201089, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80184588", + "line": 5696, + "pos": 204807, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80184750", + "line": 5762, + "pos": 206622, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018480C", + "line": 5783, + "pos": 207530, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80184D74", + "line": 6051, + "pos": 214822, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80184D74", + "line": 6052, + "pos": 214913, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80184D74", + "line": 6053, + "pos": 215004, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185298", + "line": 6301, + "pos": 223479, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6483, + "pos": 229075, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6492, + "pos": 229263, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6500, + "pos": 229417, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6509, + "pos": 229605, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6526, + "pos": 229969, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6534, + "pos": 230123, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6543, + "pos": 230311, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6545, + "pos": 230352, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6547, + "pos": 230430, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6548, + "pos": 230472, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6548, + "pos": 230506, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185598", + "line": 6555, + "pos": 231022, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801859A8", + "line": 6582, + "pos": 231752, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801859A8", + "line": 6584, + "pos": 231854, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801859A8", + "line": 6586, + "pos": 231954, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185A34", + "line": 6618, + "pos": 232409, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185A34", + "line": 6623, + "pos": 232543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80185BE4", + "line": 6859, + "pos": 243392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186074", + "line": 6949, + "pos": 245878, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186074", + "line": 6969, + "pos": 246574, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186224", + "line": 6998, + "pos": 247260, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186224", + "line": 7012, + "pos": 247661, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186224", + "line": 7014, + "pos": 247766, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186568", + "line": 7127, + "pos": 251429, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801867C8", + "line": 7185, + "pos": 253186, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801867C8", + "line": 7190, + "pos": 253378, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186AAC", + "line": 7306, + "pos": 257519, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186D40", + "line": 7415, + "pos": 260008, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186D40", + "line": 7425, + "pos": 260346, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186D40", + "line": 7436, + "pos": 260648, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186E78", + "line": 7480, + "pos": 261650, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80186FF8", + "line": 7539, + "pos": 263242, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187050", + "line": 7568, + "pos": 264009, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187240", + "line": 7633, + "pos": 265825, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187318", + "line": 7652, + "pos": 266279, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187318", + "line": 7653, + "pos": 266319, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018745C", + "line": 7734, + "pos": 267717, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187AF8", + "line": 8141, + "pos": 282727, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187D70", + "line": 8311, + "pos": 288084, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_80187D70", + "line": 8313, + "pos": 288197, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_8018805C", + "line": 8394, + "pos": 289965, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801880F0", + "line": 8494, + "pos": 294468, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", + "fn": "func_801880F0", + "line": 8506, + "pos": 295235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018326C", + "line": 2748, + "pos": 100288, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018326C", + "line": 2751, + "pos": 100436, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018326C", + "line": 2753, + "pos": 100531, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018326C", + "line": 2754, + "pos": 100579, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801838AC", + "line": 2867, + "pos": 105318, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801838AC", + "line": 2905, + "pos": 107044, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801838AC", + "line": 2906, + "pos": 107131, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801838AC", + "line": 2907, + "pos": 107218, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80183C5C", + "line": 2936, + "pos": 107983, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80183E98", + "line": 3035, + "pos": 110770, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80183E98", + "line": 3037, + "pos": 110816, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80183F1C", + "line": 3063, + "pos": 111471, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018400C", + "line": 3132, + "pos": 113316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801840D0", + "line": 3156, + "pos": 114051, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801840D0", + "line": 3157, + "pos": 114093, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801841B0", + "line": 3177, + "pos": 114780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184220", + "line": 3212, + "pos": 115966, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184220", + "line": 3212, + "pos": 115993, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184304", + "line": 3251, + "pos": 117560, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184550", + "line": 3359, + "pos": 120489, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184BF0", + "line": 3608, + "pos": 126195, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184BF0", + "line": 3609, + "pos": 126245, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184BF0", + "line": 3613, + "pos": 126520, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80184CBC", + "line": 3630, + "pos": 126865, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3839, + "pos": 136563, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3872, + "pos": 137788, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3874, + "pos": 137962, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3875, + "pos": 138025, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3888, + "pos": 138519, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_8018504C", + "line": 3888, + "pos": 138546, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3946, + "pos": 140981, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3953, + "pos": 141231, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3954, + "pos": 141304, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3955, + "pos": 141381, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3957, + "pos": 141561, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801852B4", + "line": 3958, + "pos": 141624, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80185430", + "line": 4039, + "pos": 145282, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801855F8", + "line": 4098, + "pos": 146925, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801856B4", + "line": 4125, + "pos": 147860, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80185C1C", + "line": 4379, + "pos": 154777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80185C1C", + "line": 4380, + "pos": 154819, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80185C1C", + "line": 4381, + "pos": 154910, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80185C1C", + "line": 4382, + "pos": 155001, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186140", + "line": 4624, + "pos": 163244, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4812, + "pos": 169342, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4821, + "pos": 169530, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4829, + "pos": 169684, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4838, + "pos": 169872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4855, + "pos": 170236, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4863, + "pos": 170390, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4872, + "pos": 170578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4874, + "pos": 170619, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4876, + "pos": 170697, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4877, + "pos": 170739, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4877, + "pos": 170773, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186440", + "line": 4884, + "pos": 171289, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186850", + "line": 4911, + "pos": 172019, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186850", + "line": 4913, + "pos": 172121, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186850", + "line": 4915, + "pos": 172221, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801868DC", + "line": 4947, + "pos": 172676, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801868DC", + "line": 4952, + "pos": 172810, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186A8C", + "line": 5186, + "pos": 183624, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186F1C", + "line": 5282, + "pos": 186235, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80186F1C", + "line": 5302, + "pos": 186931, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801870CC", + "line": 5324, + "pos": 187490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801870CC", + "line": 5341, + "pos": 187931, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801870CC", + "line": 5343, + "pos": 188021, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187410", + "line": 5459, + "pos": 191628, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187670", + "line": 5517, + "pos": 193385, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187670", + "line": 5522, + "pos": 193577, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187954", + "line": 5650, + "pos": 198119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187BE8", + "line": 5759, + "pos": 200679, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187BE8", + "line": 5769, + "pos": 201075, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187BE8", + "line": 5779, + "pos": 201344, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187D20", + "line": 5818, + "pos": 202218, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187EA0", + "line": 5878, + "pos": 203842, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187EF8", + "line": 5898, + "pos": 204402, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80187EF8", + "line": 5906, + "pos": 204634, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801880E8", + "line": 5973, + "pos": 206461, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801881C0", + "line": 5996, + "pos": 206954, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188304", + "line": 6062, + "pos": 208237, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188858", + "line": 6365, + "pos": 220549, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_801889A0", + "line": 6450, + "pos": 222258, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188C18", + "line": 6600, + "pos": 226723, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188C18", + "line": 6602, + "pos": 226836, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188DF4", + "line": 6628, + "pos": 227359, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188DF4", + "line": 6631, + "pos": 227445, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188DF4", + "line": 6637, + "pos": 227587, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188F04", + "line": 6678, + "pos": 228391, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188F04", + "line": 6681, + "pos": 228503, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188F98", + "line": 6776, + "pos": 232834, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", + "fn": "func_80188F98", + "line": 6788, + "pos": 233601, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3348, + "pos": 114763, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3358, + "pos": 115235, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3360, + "pos": 115335, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3368, + "pos": 115818, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3370, + "pos": 115918, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DEBC", + "line": 3457, + "pos": 119020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DEBC", + "line": 3457, + "pos": 119047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DEBC", + "line": 3458, + "pos": 119083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017DEBC", + "line": 3458, + "pos": 119110, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017E3B0", + "line": 3679, + "pos": 125376, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017E990", + "line": 3848, + "pos": 130095, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017EC9C", + "line": 4001, + "pos": 134182, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017EC9C", + "line": 4039, + "pos": 135198, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017EC9C", + "line": 4044, + "pos": 135362, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017EC9C", + "line": 4046, + "pos": 135446, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017EC9C", + "line": 4050, + "pos": 135684, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F0BC", + "line": 4180, + "pos": 140272, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F0BC", + "line": 4183, + "pos": 140420, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F0BC", + "line": 4185, + "pos": 140515, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F0BC", + "line": 4186, + "pos": 140563, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F6FC", + "line": 4299, + "pos": 145302, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F6FC", + "line": 4337, + "pos": 147028, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F6FC", + "line": 4338, + "pos": 147115, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017F6FC", + "line": 4339, + "pos": 147202, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FAAC", + "line": 4368, + "pos": 147967, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FCE8", + "line": 4467, + "pos": 150754, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FCE8", + "line": 4469, + "pos": 150800, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FD6C", + "line": 4495, + "pos": 151455, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FE5C", + "line": 4564, + "pos": 153300, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FF20", + "line": 4588, + "pos": 154035, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8017FF20", + "line": 4589, + "pos": 154077, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180000", + "line": 4609, + "pos": 154764, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180070", + "line": 4644, + "pos": 155950, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180070", + "line": 4644, + "pos": 155977, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180154", + "line": 4683, + "pos": 157544, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801803A0", + "line": 4791, + "pos": 160473, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180628", + "line": 4855, + "pos": 162257, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180628", + "line": 4857, + "pos": 162359, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180628", + "line": 4859, + "pos": 162459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801806B4", + "line": 4891, + "pos": 162914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801806B4", + "line": 4896, + "pos": 163048, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180864", + "line": 5131, + "pos": 173897, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180CF4", + "line": 5222, + "pos": 176439, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180CF4", + "line": 5242, + "pos": 177135, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180EA4", + "line": 5270, + "pos": 177821, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180EA4", + "line": 5280, + "pos": 178150, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80180EA4", + "line": 5282, + "pos": 178240, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801811E8", + "line": 5394, + "pos": 181834, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801819C0", + "line": 5697, + "pos": 190690, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801819C0", + "line": 5707, + "pos": 191071, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801819C0", + "line": 5715, + "pos": 191354, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801819C0", + "line": 5724, + "pos": 191582, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181AF8", + "line": 5766, + "pos": 192556, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181C78", + "line": 5827, + "pos": 194159, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181CD0", + "line": 5857, + "pos": 194869, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181EC0", + "line": 5921, + "pos": 196585, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181F98", + "line": 5945, + "pos": 197054, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80181F98", + "line": 5945, + "pos": 197084, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182218", + "line": 6059, + "pos": 199637, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182218", + "line": 6062, + "pos": 199710, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182340", + "line": 6095, + "pos": 200811, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182340", + "line": 6099, + "pos": 201021, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801824B0", + "line": 6135, + "pos": 202209, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801824B0", + "line": 6145, + "pos": 202543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6169, + "pos": 203108, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6170, + "pos": 203167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6171, + "pos": 203202, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6173, + "pos": 203273, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6200, + "pos": 204486, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182644", + "line": 6210, + "pos": 204860, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801829A4", + "line": 6278, + "pos": 206877, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182B40", + "line": 6333, + "pos": 208767, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182BFC", + "line": 6365, + "pos": 210020, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182CEC", + "line": 6441, + "pos": 213289, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182CEC", + "line": 6444, + "pos": 213416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182E1C", + "line": 6493, + "pos": 214854, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182EAC", + "line": 6552, + "pos": 216406, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80182EAC", + "line": 6559, + "pos": 216672, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183158", + "line": 6650, + "pos": 219010, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183158", + "line": 6659, + "pos": 219541, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_8018332C", + "line": 6705, + "pos": 221181, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801837FC", + "line": 6877, + "pos": 226206, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801837FC", + "line": 6878, + "pos": 226270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 212 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801837FC", + "line": 6882, + "pos": 226409, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 94 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801837FC", + "line": 6885, + "pos": 226501, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801837FC", + "line": 6888, + "pos": 226656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 212 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801839C4", + "line": 6953, + "pos": 228984, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183CC4", + "line": 7109, + "pos": 232797, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183CC4", + "line": 7118, + "pos": 233117, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183D68", + "line": 7138, + "pos": 233490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183D68", + "line": 7147, + "pos": 233848, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80183D68", + "line": 7152, + "pos": 234093, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7562, + "pos": 247998, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7563, + "pos": 248040, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7563, + "pos": 248068, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7564, + "pos": 248111, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7565, + "pos": 248157, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7569, + "pos": 248353, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7578, + "pos": 248841, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 26 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7588, + "pos": 249325, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 18 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_801849B4", + "line": 7596, + "pos": 249554, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80184C94", + "line": 7666, + "pos": 251966, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80184D6C", + "line": 7688, + "pos": 252502, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80184E98", + "line": 7815, + "pos": 257570, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c", + "fn": "func_80184E98", + "line": 7827, + "pos": 258337, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017EF84", + "line": 3069, + "pos": 107533, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017EF84", + "line": 3083, + "pos": 108274, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F128", + "line": 3130, + "pos": 109484, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F1A0", + "line": 3157, + "pos": 110010, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F1A0", + "line": 3157, + "pos": 110037, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F4A4", + "line": 3311, + "pos": 115892, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F4A4", + "line": 3349, + "pos": 116908, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F4A4", + "line": 3354, + "pos": 117072, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F4A4", + "line": 3356, + "pos": 117156, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F4A4", + "line": 3360, + "pos": 117394, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F8C4", + "line": 3490, + "pos": 121982, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F8C4", + "line": 3493, + "pos": 122130, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F8C4", + "line": 3495, + "pos": 122225, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017F8C4", + "line": 3496, + "pos": 122273, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017FF04", + "line": 3609, + "pos": 127032, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017FF04", + "line": 3647, + "pos": 128702, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017FF04", + "line": 3648, + "pos": 128789, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8017FF04", + "line": 3649, + "pos": 128876, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801802B4", + "line": 3679, + "pos": 129642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801804F0", + "line": 3778, + "pos": 132429, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801804F0", + "line": 3780, + "pos": 132475, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180574", + "line": 3806, + "pos": 133130, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180664", + "line": 3875, + "pos": 134975, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180728", + "line": 3899, + "pos": 135710, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180728", + "line": 3900, + "pos": 135752, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180808", + "line": 3920, + "pos": 136439, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180878", + "line": 3955, + "pos": 137625, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180878", + "line": 3955, + "pos": 137652, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8018095C", + "line": 3994, + "pos": 139239, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180BA8", + "line": 4102, + "pos": 142236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180E30", + "line": 4166, + "pos": 144020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180E30", + "line": 4168, + "pos": 144122, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180E30", + "line": 4170, + "pos": 144222, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180EBC", + "line": 4202, + "pos": 144677, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80180EBC", + "line": 4207, + "pos": 144811, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8018106C", + "line": 4441, + "pos": 155619, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801814FC", + "line": 4533, + "pos": 158140, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801814FC", + "line": 4553, + "pos": 158836, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801816AC", + "line": 4576, + "pos": 159450, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801816AC", + "line": 4583, + "pos": 159745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801816AC", + "line": 4585, + "pos": 159835, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801819F0", + "line": 4698, + "pos": 163430, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80181C50", + "line": 4756, + "pos": 165187, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80181C50", + "line": 4761, + "pos": 165379, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80181F34", + "line": 4883, + "pos": 169824, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801821C8", + "line": 4991, + "pos": 172350, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801821C8", + "line": 5000, + "pos": 172716, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801821C8", + "line": 5010, + "pos": 173034, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182300", + "line": 5050, + "pos": 173902, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182480", + "line": 5111, + "pos": 175473, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801824D8", + "line": 5128, + "pos": 175897, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801824D8", + "line": 5136, + "pos": 176129, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801826C8", + "line": 5201, + "pos": 177933, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801827A0", + "line": 5225, + "pos": 178430, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801828E4", + "line": 5370, + "pos": 183576, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801828E4", + "line": 5382, + "pos": 184363, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182A68", + "line": 5434, + "pos": 185836, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182A68", + "line": 5441, + "pos": 186176, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182A68", + "line": 5473, + "pos": 187744, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5603, + "pos": 195481, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5620, + "pos": 196231, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5620, + "pos": 196258, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5621, + "pos": 196293, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5622, + "pos": 196349, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5642, + "pos": 197330, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5642, + "pos": 197357, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80182C8C", + "line": 5643, + "pos": 197392, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5722, + "pos": 200682, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5732, + "pos": 201068, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5732, + "pos": 201095, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5733, + "pos": 201130, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5734, + "pos": 201186, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5748, + "pos": 201747, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5748, + "pos": 201774, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183040", + "line": 5749, + "pos": 201809, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183280", + "line": 5888, + "pos": 208128, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183280", + "line": 5888, + "pos": 208155, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183280", + "line": 5889, + "pos": 208190, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183280", + "line": 5890, + "pos": 208246, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5960, + "pos": 210890, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5960, + "pos": 210917, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5961, + "pos": 210952, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5962, + "pos": 211008, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5976, + "pos": 211569, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5976, + "pos": 211596, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801834E8", + "line": 5977, + "pos": 211631, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183690", + "line": 6070, + "pos": 215479, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183690", + "line": 6073, + "pos": 215600, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183690", + "line": 6083, + "pos": 216022, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183690", + "line": 6085, + "pos": 216084, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801838DC", + "line": 6134, + "pos": 217762, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801838DC", + "line": 6138, + "pos": 217881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801838DC", + "line": 6145, + "pos": 218060, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183A28", + "line": 6186, + "pos": 219092, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183C34", + "line": 6265, + "pos": 221426, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183CE0", + "line": 6292, + "pos": 222178, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80183E78", + "line": 6422, + "pos": 227371, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184074", + "line": 6501, + "pos": 230200, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184074", + "line": 6501, + "pos": 230227, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184074", + "line": 6502, + "pos": 230270, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184074", + "line": 6503, + "pos": 230334, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8018414C", + "line": 6519, + "pos": 230633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_8018414C", + "line": 6520, + "pos": 230673, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184294", + "line": 6633, + "pos": 233674, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184294", + "line": 6633, + "pos": 233708, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184294", + "line": 6634, + "pos": 233745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184294", + "line": 6635, + "pos": 233810, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184478", + "line": 6724, + "pos": 235915, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801845E4", + "line": 6794, + "pos": 237737, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_801846B0", + "line": 6838, + "pos": 238870, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184788", + "line": 6867, + "pos": 239427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184C38", + "line": 7148, + "pos": 246844, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184C38", + "line": 7151, + "pos": 246966, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", + "fn": "func_80184C38", + "line": 7154, + "pos": 247098, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017D708", + "line": 3130, + "pos": 108953, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017D708", + "line": 3168, + "pos": 109969, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017D708", + "line": 3173, + "pos": 110133, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017D708", + "line": 3175, + "pos": 110217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017D708", + "line": 3179, + "pos": 110455, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017DB28", + "line": 3309, + "pos": 115043, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017DB28", + "line": 3312, + "pos": 115191, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017DB28", + "line": 3314, + "pos": 115286, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017DB28", + "line": 3315, + "pos": 115334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E168", + "line": 3428, + "pos": 120073, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E168", + "line": 3466, + "pos": 121799, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E168", + "line": 3467, + "pos": 121886, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E168", + "line": 3468, + "pos": 121973, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E518", + "line": 3497, + "pos": 122738, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E754", + "line": 3597, + "pos": 125655, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E754", + "line": 3599, + "pos": 125701, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E7D8", + "line": 3625, + "pos": 126378, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E8C8", + "line": 3694, + "pos": 128223, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E98C", + "line": 3718, + "pos": 128958, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017E98C", + "line": 3719, + "pos": 129000, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017EA6C", + "line": 3739, + "pos": 129687, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017EADC", + "line": 3774, + "pos": 130873, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017EADC", + "line": 3774, + "pos": 130900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017EBC0", + "line": 3813, + "pos": 132467, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F0D0", + "line": 4003, + "pos": 137524, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F0D0", + "line": 4017, + "pos": 138287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4068, + "pos": 139566, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F2EC", + "line": 4095, + "pos": 140092, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F2EC", + "line": 4095, + "pos": 140119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F66C", + "line": 4249, + "pos": 145623, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F66C", + "line": 4250, + "pos": 145683, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F66C", + "line": 4254, + "pos": 145890, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F72C", + "line": 4274, + "pos": 146251, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F72C", + "line": 4277, + "pos": 146324, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F854", + "line": 4310, + "pos": 147425, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F854", + "line": 4314, + "pos": 147635, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F9C4", + "line": 4350, + "pos": 148823, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017F9C4", + "line": 4360, + "pos": 149157, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4384, + "pos": 149722, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4385, + "pos": 149781, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4386, + "pos": 149816, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4388, + "pos": 149887, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4415, + "pos": 151100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FB58", + "line": 4425, + "pos": 151474, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8017FEB8", + "line": 4493, + "pos": 153493, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180054", + "line": 4549, + "pos": 155391, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180110", + "line": 4581, + "pos": 156620, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180200", + "line": 4656, + "pos": 159889, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180200", + "line": 4659, + "pos": 160016, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180330", + "line": 4783, + "pos": 165281, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180330", + "line": 4795, + "pos": 166048, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801804B4", + "line": 4847, + "pos": 167538, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801804B4", + "line": 4854, + "pos": 167900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801804B4", + "line": 4886, + "pos": 169556, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5016, + "pos": 177331, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5033, + "pos": 178081, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5033, + "pos": 178108, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5034, + "pos": 178143, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5035, + "pos": 178199, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5055, + "pos": 179180, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5055, + "pos": 179207, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801806D8", + "line": 5056, + "pos": 179242, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5135, + "pos": 182549, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5145, + "pos": 182935, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5145, + "pos": 182962, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5146, + "pos": 182997, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5147, + "pos": 183053, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5161, + "pos": 183614, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5161, + "pos": 183641, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180A8C", + "line": 5162, + "pos": 183676, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180CCC", + "line": 5301, + "pos": 190061, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180CCC", + "line": 5301, + "pos": 190088, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180CCC", + "line": 5302, + "pos": 190123, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180CCC", + "line": 5303, + "pos": 190179, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5373, + "pos": 192818, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5373, + "pos": 192845, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5374, + "pos": 192880, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5375, + "pos": 192936, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5389, + "pos": 193497, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5389, + "pos": 193524, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80180F34", + "line": 5390, + "pos": 193559, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801810DC", + "line": 5480, + "pos": 197340, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801810DC", + "line": 5483, + "pos": 197461, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801810DC", + "line": 5493, + "pos": 197905, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801810DC", + "line": 5495, + "pos": 197967, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181328", + "line": 5544, + "pos": 199645, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181328", + "line": 5548, + "pos": 199764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181328", + "line": 5555, + "pos": 199943, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181474", + "line": 5596, + "pos": 200975, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181680", + "line": 5675, + "pos": 203289, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_8018172C", + "line": 5702, + "pos": 204021, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181AC0", + "line": 5911, + "pos": 211875, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181AC0", + "line": 5911, + "pos": 211902, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181AC0", + "line": 5912, + "pos": 211945, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181AC0", + "line": 5913, + "pos": 212009, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181B98", + "line": 5929, + "pos": 212308, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181B98", + "line": 5930, + "pos": 212348, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181CE0", + "line": 6043, + "pos": 215321, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181CE0", + "line": 6043, + "pos": 215355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181CE0", + "line": 6044, + "pos": 215392, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181CE0", + "line": 6045, + "pos": 215457, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80181EC4", + "line": 6134, + "pos": 217516, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182030", + "line": 6204, + "pos": 219372, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801820FC", + "line": 6248, + "pos": 220522, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182684", + "line": 6558, + "pos": 228467, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182684", + "line": 6561, + "pos": 228589, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182684", + "line": 6564, + "pos": 228721, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801828E8", + "line": 6639, + "pos": 230262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_801828E8", + "line": 6643, + "pos": 230461, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182998", + "line": 6669, + "pos": 231134, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182A50", + "line": 6697, + "pos": 231824, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182A50", + "line": 6703, + "pos": 232068, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182A50", + "line": 6703, + "pos": 232096, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182B10", + "line": 6775, + "pos": 235383, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182B10", + "line": 6777, + "pos": 235517, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182B10", + "line": 6780, + "pos": 235582, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182B10", + "line": 6784, + "pos": 235697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c", + "fn": "func_80182B10", + "line": 6787, + "pos": 235823, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F134", + "line": 3151, + "pos": 109619, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F134", + "line": 3189, + "pos": 110635, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F134", + "line": 3194, + "pos": 110799, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F134", + "line": 3196, + "pos": 110883, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F134", + "line": 3200, + "pos": 111121, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F554", + "line": 3330, + "pos": 115709, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F554", + "line": 3333, + "pos": 115857, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F554", + "line": 3335, + "pos": 115952, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017F554", + "line": 3336, + "pos": 116000, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017FB94", + "line": 3449, + "pos": 120739, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017FB94", + "line": 3487, + "pos": 122465, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017FB94", + "line": 3488, + "pos": 122552, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017FB94", + "line": 3489, + "pos": 122639, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8017FF44", + "line": 3518, + "pos": 123404, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180180", + "line": 3617, + "pos": 126218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180180", + "line": 3619, + "pos": 126264, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180204", + "line": 3645, + "pos": 126941, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801802F4", + "line": 3714, + "pos": 128786, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801803B8", + "line": 3738, + "pos": 129521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801803B8", + "line": 3739, + "pos": 129563, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180498", + "line": 3759, + "pos": 130250, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180508", + "line": 3794, + "pos": 131436, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180508", + "line": 3794, + "pos": 131463, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801805EC", + "line": 3833, + "pos": 133030, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180AFC", + "line": 4023, + "pos": 138090, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180AFC", + "line": 4037, + "pos": 138853, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180CA0", + "line": 4088, + "pos": 140133, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180D18", + "line": 4115, + "pos": 140659, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80180D18", + "line": 4115, + "pos": 140686, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018101C", + "line": 4317, + "pos": 149358, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018101C", + "line": 4329, + "pos": 150125, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801811A0", + "line": 4381, + "pos": 151616, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801811A0", + "line": 4388, + "pos": 151978, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801811A0", + "line": 4420, + "pos": 153634, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4550, + "pos": 161410, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4567, + "pos": 162160, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4567, + "pos": 162187, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4568, + "pos": 162222, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4569, + "pos": 162278, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4589, + "pos": 163259, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4589, + "pos": 163286, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801813C4", + "line": 4590, + "pos": 163321, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4669, + "pos": 166629, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4679, + "pos": 167015, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4679, + "pos": 167042, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4680, + "pos": 167077, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4681, + "pos": 167133, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4695, + "pos": 167694, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4695, + "pos": 167721, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181778", + "line": 4696, + "pos": 167756, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801819B8", + "line": 4835, + "pos": 174141, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801819B8", + "line": 4835, + "pos": 174168, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801819B8", + "line": 4836, + "pos": 174203, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801819B8", + "line": 4837, + "pos": 174259, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4907, + "pos": 176899, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4907, + "pos": 176926, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4908, + "pos": 176961, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4909, + "pos": 177017, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4923, + "pos": 177578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4923, + "pos": 177605, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181C20", + "line": 4924, + "pos": 177640, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181DC8", + "line": 5014, + "pos": 181422, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181DC8", + "line": 5017, + "pos": 181543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181DC8", + "line": 5027, + "pos": 181987, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80181DC8", + "line": 5029, + "pos": 182049, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182014", + "line": 5078, + "pos": 183727, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182014", + "line": 5082, + "pos": 183846, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182014", + "line": 5089, + "pos": 184025, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182160", + "line": 5130, + "pos": 185057, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018236C", + "line": 5209, + "pos": 187371, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182418", + "line": 5236, + "pos": 188103, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801827AC", + "line": 5445, + "pos": 195959, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801827AC", + "line": 5445, + "pos": 195986, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801827AC", + "line": 5446, + "pos": 196029, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801827AC", + "line": 5447, + "pos": 196093, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182884", + "line": 5463, + "pos": 196392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182884", + "line": 5464, + "pos": 196432, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801829CC", + "line": 5577, + "pos": 199406, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801829CC", + "line": 5577, + "pos": 199440, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801829CC", + "line": 5578, + "pos": 199477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801829CC", + "line": 5579, + "pos": 199542, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182BB0", + "line": 5668, + "pos": 201605, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182D1C", + "line": 5738, + "pos": 203463, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80182DE8", + "line": 5782, + "pos": 204614, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80183370", + "line": 6092, + "pos": 212567, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80183370", + "line": 6095, + "pos": 212689, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80183370", + "line": 6098, + "pos": 212821, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801835D4", + "line": 6173, + "pos": 214331, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801835D4", + "line": 6178, + "pos": 214538, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_80183684", + "line": 6203, + "pos": 215207, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018373C", + "line": 6231, + "pos": 215897, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018373C", + "line": 6237, + "pos": 216141, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_8018373C", + "line": 6237, + "pos": 216169, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801837FC", + "line": 6309, + "pos": 219456, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801837FC", + "line": 6311, + "pos": 219590, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801837FC", + "line": 6314, + "pos": 219655, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801837FC", + "line": 6318, + "pos": 219770, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_100/ov_SC03_100_jr_8017D898.c", + "fn": "func_801837FC", + "line": 6321, + "pos": 219896, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4169, + "pos": 163658, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4171, + "pos": 163757, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4194, + "pos": 164693, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4195, + "pos": 164736, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4196, + "pos": 164779, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4215, + "pos": 165530, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 26 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4216, + "pos": 165580, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80180C38", + "line": 4217, + "pos": 165625, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181030", + "line": 4263, + "pos": 166879, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181030", + "line": 4280, + "pos": 167593, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181030", + "line": 4284, + "pos": 167709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_8018110C", + "line": 4322, + "pos": 168867, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_8018110C", + "line": 4327, + "pos": 169017, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_8018110C", + "line": 4329, + "pos": 169110, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801811F0", + "line": 4342, + "pos": 169304, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181260", + "line": 4391, + "pos": 170242, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181260", + "line": 4399, + "pos": 170548, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "sub", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181260", + "line": 4406, + "pos": 170719, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181260", + "line": 4408, + "pos": 170809, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_8018153C", + "line": 4522, + "pos": 174820, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 48 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801815D4", + "line": 4554, + "pos": 175427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801815D4", + "line": 4559, + "pos": 175610, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801815D4", + "line": 4560, + "pos": 175642, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801815D4", + "line": 4562, + "pos": 175711, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801815D4", + "line": 4562, + "pos": 175737, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181704", + "line": 4624, + "pos": 177316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181704", + "line": 4662, + "pos": 178332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181704", + "line": 4667, + "pos": 178496, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181704", + "line": 4669, + "pos": 178580, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181704", + "line": 4673, + "pos": 178818, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181B24", + "line": 4803, + "pos": 183406, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181B24", + "line": 4806, + "pos": 183554, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181B24", + "line": 4808, + "pos": 183649, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80181B24", + "line": 4809, + "pos": 183697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182164", + "line": 4922, + "pos": 188436, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182164", + "line": 4960, + "pos": 190162, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182164", + "line": 4961, + "pos": 190249, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182164", + "line": 4962, + "pos": 190336, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182514", + "line": 4991, + "pos": 191101, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182750", + "line": 5091, + "pos": 194006, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182750", + "line": 5093, + "pos": 194052, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801827D4", + "line": 5119, + "pos": 194707, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801828C4", + "line": 5188, + "pos": 196552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182988", + "line": 5212, + "pos": 197287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182988", + "line": 5213, + "pos": 197329, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182A68", + "line": 5233, + "pos": 198016, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182AD8", + "line": 5268, + "pos": 199202, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182AD8", + "line": 5268, + "pos": 199229, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182BBC", + "line": 5307, + "pos": 200796, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80182E08", + "line": 5415, + "pos": 203725, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183090", + "line": 5556, + "pos": 209333, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183090", + "line": 5568, + "pos": 210100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183214", + "line": 5620, + "pos": 211573, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183214", + "line": 5627, + "pos": 211913, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183214", + "line": 5659, + "pos": 213481, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5789, + "pos": 221218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5806, + "pos": 221968, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5806, + "pos": 221995, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5807, + "pos": 222030, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5808, + "pos": 222086, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5828, + "pos": 223067, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5828, + "pos": 223094, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183438", + "line": 5829, + "pos": 223129, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5908, + "pos": 226419, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5918, + "pos": 226805, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5918, + "pos": 226832, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5919, + "pos": 226867, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5920, + "pos": 226923, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5934, + "pos": 227484, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5934, + "pos": 227511, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801837EC", + "line": 5935, + "pos": 227546, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183A2C", + "line": 6074, + "pos": 233865, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183A2C", + "line": 6074, + "pos": 233892, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183A2C", + "line": 6075, + "pos": 233927, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183A2C", + "line": 6076, + "pos": 233983, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6146, + "pos": 236627, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6146, + "pos": 236654, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6147, + "pos": 236689, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6148, + "pos": 236745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6162, + "pos": 237306, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6162, + "pos": 237333, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183C94", + "line": 6163, + "pos": 237368, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183E3C", + "line": 6256, + "pos": 241216, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183E3C", + "line": 6259, + "pos": 241337, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183E3C", + "line": 6269, + "pos": 241759, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80183E3C", + "line": 6271, + "pos": 241821, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184088", + "line": 6320, + "pos": 243499, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184088", + "line": 6324, + "pos": 243618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184088", + "line": 6331, + "pos": 243797, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801841D4", + "line": 6372, + "pos": 244829, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801843E0", + "line": 6451, + "pos": 247143, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_8018448C", + "line": 6478, + "pos": 247875, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184624", + "line": 6608, + "pos": 253048, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184820", + "line": 6687, + "pos": 255877, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184820", + "line": 6687, + "pos": 255904, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184820", + "line": 6688, + "pos": 255947, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184820", + "line": 6689, + "pos": 256011, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801848F8", + "line": 6705, + "pos": 256310, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801848F8", + "line": 6706, + "pos": 256350, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184A40", + "line": 6819, + "pos": 259351, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184A40", + "line": 6819, + "pos": 259385, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184A40", + "line": 6820, + "pos": 259422, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184A40", + "line": 6821, + "pos": 259487, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184C24", + "line": 6910, + "pos": 261568, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184D90", + "line": 6980, + "pos": 263390, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184E5C", + "line": 7024, + "pos": 264523, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_80184F34", + "line": 7053, + "pos": 265080, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801853E4", + "line": 7334, + "pos": 272497, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801853E4", + "line": 7337, + "pos": 272619, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c", + "fn": "func_801853E4", + "line": 7340, + "pos": 272751, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017E974", + "line": 3573, + "pos": 129226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017E974", + "line": 3611, + "pos": 130242, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017E974", + "line": 3616, + "pos": 130406, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017E974", + "line": 3618, + "pos": 130490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017E974", + "line": 3622, + "pos": 130728, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017ED94", + "line": 3752, + "pos": 135316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017ED94", + "line": 3755, + "pos": 135464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017ED94", + "line": 3757, + "pos": 135559, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017ED94", + "line": 3758, + "pos": 135607, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F3D4", + "line": 3871, + "pos": 140346, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F3D4", + "line": 3909, + "pos": 142072, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F3D4", + "line": 3910, + "pos": 142159, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F3D4", + "line": 3911, + "pos": 142246, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F784", + "line": 3940, + "pos": 143011, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F9C0", + "line": 4039, + "pos": 145798, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017F9C0", + "line": 4041, + "pos": 145844, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FA44", + "line": 4067, + "pos": 146499, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FB34", + "line": 4136, + "pos": 148344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FBF8", + "line": 4160, + "pos": 149079, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FBF8", + "line": 4161, + "pos": 149121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FCD8", + "line": 4181, + "pos": 149808, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FD48", + "line": 4216, + "pos": 150994, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FD48", + "line": 4216, + "pos": 151021, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8017FE2C", + "line": 4255, + "pos": 152588, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180078", + "line": 4364, + "pos": 155518, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018043C", + "line": 4482, + "pos": 158600, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018043C", + "line": 4485, + "pos": 158673, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180564", + "line": 4518, + "pos": 159774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180564", + "line": 4522, + "pos": 159984, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801806D4", + "line": 4558, + "pos": 161172, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801806D4", + "line": 4568, + "pos": 161506, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4592, + "pos": 162071, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4593, + "pos": 162130, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4594, + "pos": 162165, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4596, + "pos": 162236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4623, + "pos": 163449, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180868", + "line": 4633, + "pos": 163823, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180BC8", + "line": 4701, + "pos": 165840, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180D64", + "line": 4756, + "pos": 167730, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180E20", + "line": 4788, + "pos": 168983, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180F10", + "line": 4864, + "pos": 172252, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80180F10", + "line": 4867, + "pos": 172379, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181040", + "line": 4990, + "pos": 177604, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181040", + "line": 5002, + "pos": 178371, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801811C4", + "line": 5054, + "pos": 179844, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801811C4", + "line": 5061, + "pos": 180184, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801811C4", + "line": 5093, + "pos": 181752, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5223, + "pos": 189489, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5240, + "pos": 190239, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5240, + "pos": 190266, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5241, + "pos": 190301, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5242, + "pos": 190357, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5262, + "pos": 191338, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5262, + "pos": 191365, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801813E8", + "line": 5263, + "pos": 191400, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5342, + "pos": 194690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5352, + "pos": 195076, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5352, + "pos": 195103, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5353, + "pos": 195138, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5354, + "pos": 195194, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5368, + "pos": 195755, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5368, + "pos": 195782, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018179C", + "line": 5369, + "pos": 195817, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801819DC", + "line": 5508, + "pos": 202136, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801819DC", + "line": 5508, + "pos": 202163, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801819DC", + "line": 5509, + "pos": 202198, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801819DC", + "line": 5510, + "pos": 202254, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5580, + "pos": 204898, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5580, + "pos": 204925, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5581, + "pos": 204960, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5582, + "pos": 205016, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5596, + "pos": 205577, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5596, + "pos": 205604, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181C44", + "line": 5597, + "pos": 205639, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181DEC", + "line": 5690, + "pos": 209487, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181DEC", + "line": 5693, + "pos": 209608, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181DEC", + "line": 5703, + "pos": 210030, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80181DEC", + "line": 5705, + "pos": 210092, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182038", + "line": 5754, + "pos": 211770, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182038", + "line": 5758, + "pos": 211889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182038", + "line": 5765, + "pos": 212068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182184", + "line": 5806, + "pos": 213100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182390", + "line": 5885, + "pos": 215414, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_8018243C", + "line": 5912, + "pos": 216146, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801825D4", + "line": 6042, + "pos": 221319, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801827D0", + "line": 6121, + "pos": 224148, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801827D0", + "line": 6121, + "pos": 224175, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801827D0", + "line": 6122, + "pos": 224218, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801827D0", + "line": 6123, + "pos": 224282, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801828A8", + "line": 6139, + "pos": 224581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801828A8", + "line": 6140, + "pos": 224621, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801829F0", + "line": 6254, + "pos": 227628, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801829F0", + "line": 6254, + "pos": 227662, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801829F0", + "line": 6255, + "pos": 227699, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801829F0", + "line": 6256, + "pos": 227764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182BD4", + "line": 6345, + "pos": 229851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182D40", + "line": 6415, + "pos": 231673, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182E0C", + "line": 6459, + "pos": 232806, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80182EE4", + "line": 6488, + "pos": 233363, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183394", + "line": 6769, + "pos": 240780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183394", + "line": 6772, + "pos": 240902, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183394", + "line": 6775, + "pos": 241034, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801835F8", + "line": 6853, + "pos": 242592, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801835F8", + "line": 6858, + "pos": 242821, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_801836A8", + "line": 6884, + "pos": 243490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183760", + "line": 6912, + "pos": 244180, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183760", + "line": 6918, + "pos": 244424, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183760", + "line": 6918, + "pos": 244452, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183820", + "line": 6990, + "pos": 247739, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183820", + "line": 6992, + "pos": 247873, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183820", + "line": 6995, + "pos": 247938, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183820", + "line": 6999, + "pos": 248053, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_103/ov_SC03_103_jr_8017C294.c", + "fn": "func_80183820", + "line": 7002, + "pos": 248179, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186538", + "line": 2839, + "pos": 103724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186538", + "line": 2842, + "pos": 103872, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186538", + "line": 2844, + "pos": 103967, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 120 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186538", + "line": 2845, + "pos": 104015, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186B78", + "line": 2958, + "pos": 108754, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186B78", + "line": 2996, + "pos": 110480, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186B78", + "line": 2997, + "pos": 110567, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186B78", + "line": 2998, + "pos": 110654, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80186F28", + "line": 3027, + "pos": 111419, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187164", + "line": 3126, + "pos": 114220, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187164", + "line": 3128, + "pos": 114266, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801871E8", + "line": 3154, + "pos": 114943, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801872D8", + "line": 3223, + "pos": 116788, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_8018739C", + "line": 3247, + "pos": 117523, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_8018739C", + "line": 3248, + "pos": 117565, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_8018747C", + "line": 3268, + "pos": 118252, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801874EC", + "line": 3303, + "pos": 119438, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801874EC", + "line": 3303, + "pos": 119465, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801875D0", + "line": 3342, + "pos": 121032, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187AA4", + "line": 3591, + "pos": 129526, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187AA4", + "line": 3603, + "pos": 130293, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ent", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187C28", + "line": 3655, + "pos": 131784, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187C28", + "line": 3662, + "pos": 132146, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187C28", + "line": 3694, + "pos": 133802, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3824, + "pos": 141578, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3841, + "pos": 142328, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3841, + "pos": 142355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3842, + "pos": 142390, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3843, + "pos": 142446, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3863, + "pos": 143427, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3863, + "pos": 143454, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80187E4C", + "line": 3864, + "pos": 143489, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3943, + "pos": 146797, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3953, + "pos": 147183, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3953, + "pos": 147210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3954, + "pos": 147245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3955, + "pos": 147301, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3969, + "pos": 147862, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3969, + "pos": 147889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188200", + "line": 3970, + "pos": 147924, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188440", + "line": 4109, + "pos": 154309, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188440", + "line": 4109, + "pos": 154336, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188440", + "line": 4110, + "pos": 154371, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188440", + "line": 4111, + "pos": 154427, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4181, + "pos": 157067, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4181, + "pos": 157094, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4182, + "pos": 157129, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4183, + "pos": 157185, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4197, + "pos": 157746, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4197, + "pos": 157773, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801886A8", + "line": 4198, + "pos": 157808, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188850", + "line": 4288, + "pos": 161590, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188850", + "line": 4291, + "pos": 161711, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188850", + "line": 4301, + "pos": 162155, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188850", + "line": 4303, + "pos": 162217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188A9C", + "line": 4352, + "pos": 163895, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188A9C", + "line": 4356, + "pos": 164014, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188A9C", + "line": 4363, + "pos": 164193, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188BE8", + "line": 4404, + "pos": 165225, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188DF4", + "line": 4483, + "pos": 167539, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80188EA0", + "line": 4510, + "pos": 168271, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189234", + "line": 4719, + "pos": 176127, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189234", + "line": 4719, + "pos": 176154, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189234", + "line": 4720, + "pos": 176197, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189234", + "line": 4721, + "pos": 176261, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_8018930C", + "line": 4737, + "pos": 176560, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_8018930C", + "line": 4738, + "pos": 176600, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 96 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189454", + "line": 4851, + "pos": 179592, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189454", + "line": 4851, + "pos": 179626, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189454", + "line": 4852, + "pos": 179663, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189454", + "line": 4853, + "pos": 179728, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189638", + "line": 4942, + "pos": 181795, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_801897A4", + "line": 5012, + "pos": 183653, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189870", + "line": 5056, + "pos": 184804, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189DF8", + "line": 5366, + "pos": 192757, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189DF8", + "line": 5369, + "pos": 192879, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_104/ov_SC03_104_jr_80186538.c", + "fn": "func_80189DF8", + "line": 5372, + "pos": 193011, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017D5C4", + "line": 6410, + "pos": 227225, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017D698", + "line": 6438, + "pos": 227928, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017D698", + "line": 6448, + "pos": 228329, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017E524", + "line": 7179, + "pos": 251674, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017E524", + "line": 7184, + "pos": 251914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017E524", + "line": 7185, + "pos": 251958, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017E668", + "line": 7237, + "pos": 253452, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017E668", + "line": 7239, + "pos": 253569, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017EEA8", + "line": 7649, + "pos": 267517, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017EF3C", + "line": 7862, + "pos": 273969, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)(*(s32 *)(e + 0x64) + 0x20)", + "bclass": "nested", + "off": 16 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017EF3C", + "line": 7864, + "pos": 274091, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)(*(s32 *)(e + 0x64) + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017FCF0", + "line": 8153, + "pos": 283952, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_8017FE24", + "line": 8359, + "pos": 290163, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80180968", + "line": 8671, + "pos": 298752, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80180968", + "line": 8672, + "pos": 298825, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80180968", + "line": 8673, + "pos": 298856, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80180CD4", + "line": 8786, + "pos": 302022, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181204", + "line": 9079, + "pos": 308721, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181204", + "line": 9089, + "pos": 309309, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_801812F8", + "line": 9139, + "pos": 310595, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_801812F8", + "line": 9142, + "pos": 310695, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9235, + "pos": 313604, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9248, + "pos": 314082, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9259, + "pos": 314566, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9259, + "pos": 314594, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9260, + "pos": 314638, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9260, + "pos": 314666, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9277, + "pos": 315294, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9307, + "pos": 316569, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9307, + "pos": 316597, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9308, + "pos": 316642, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9308, + "pos": 316670, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9315, + "pos": 317013, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9321, + "pos": 317270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9322, + "pos": 317319, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9333, + "pos": 317780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181500", + "line": 9341, + "pos": 317984, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181850", + "line": 9400, + "pos": 319692, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181850", + "line": 9401, + "pos": 319730, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181850", + "line": 9404, + "pos": 319855, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181850", + "line": 9405, + "pos": 319902, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181CC0", + "line": 9545, + "pos": 323555, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181CC0", + "line": 9546, + "pos": 323598, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181CC0", + "line": 9547, + "pos": 323642, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181CC0", + "line": 9548, + "pos": 323689, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181CC0", + "line": 9549, + "pos": 323741, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181DC4", + "line": 9593, + "pos": 324881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181DC4", + "line": 9604, + "pos": 325466, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_80181EC0", + "line": 9681, + "pos": 328238, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_107/ov_SC03_107_jr_801789AC.c", + "fn": "func_801823B8", + "line": 9801, + "pos": 331838, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C100", + "line": 3417, + "pos": 118701, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C100", + "line": 3418, + "pos": 118745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3472, + "pos": 119818, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3473, + "pos": 119857, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3474, + "pos": 119893, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3480, + "pos": 120079, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017E62C", + "line": 4373, + "pos": 141627, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((char *)arg0 + 0xCC)", + "bclass": "nested", + "off": 176 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017E7E0", + "line": 4470, + "pos": 143947, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)((char *)arg0 + 0xCC)", + "bclass": "nested", + "off": 176 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017EB04", + "line": 4608, + "pos": 147461, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((char *)s0 + 0x68)", + "bclass": "nested", + "off": 12 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017EDE8", + "line": 4774, + "pos": 151563, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017EF90", + "line": 4844, + "pos": 153544, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5167, + "pos": 161603, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5171, + "pos": 161826, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5180, + "pos": 162260, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5181, + "pos": 162296, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5191, + "pos": 162662, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5193, + "pos": 162724, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017F63C", + "line": 5199, + "pos": 162965, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8017FD24", + "line": 5473, + "pos": 169846, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "r", + "bclass": "local", + "off": 232 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8018009C", + "line": 5645, + "pos": 173964, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_801805AC", + "line": 5902, + "pos": 181285, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_801808B8", + "line": 6051, + "pos": 184558, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8018130C", + "line": 6548, + "pos": 197312, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8018130C", + "line": 6549, + "pos": 197360, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8018130C", + "line": 6564, + "pos": 197969, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_8018130C", + "line": 6565, + "pos": 198019, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181644", + "line": 6663, + "pos": 200543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181644", + "line": 6666, + "pos": 200712, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181644", + "line": 6669, + "pos": 200865, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181810", + "line": 6793, + "pos": 205667, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181840", + "line": 6802, + "pos": 205925, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181870", + "line": 6848, + "pos": 207595, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181870", + "line": 6856, + "pos": 207965, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c", + "fn": "func_80181870", + "line": 6861, + "pos": 208195, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017CE3C", + "line": 3075, + "pos": 118171, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 244 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017D1E8", + "line": 3382, + "pos": 129685, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017D1E8", + "line": 3455, + "pos": 131670, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017DCB0", + "line": 3759, + "pos": 139262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017DCB0", + "line": 3780, + "pos": 139864, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017EBBC", + "line": 4195, + "pos": 151841, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017ED68", + "line": 4328, + "pos": 156267, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017ED68", + "line": 4328, + "pos": 156295, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F104", + "line": 4339, + "pos": 156639, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F104", + "line": 4340, + "pos": 156714, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F104", + "line": 4341, + "pos": 156789, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F6B8", + "line": 4573, + "pos": 164199, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F6B8", + "line": 4574, + "pos": 164266, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F6B8", + "line": 4575, + "pos": 164333, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F6B8", + "line": 4579, + "pos": 164579, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F72C", + "line": 4584, + "pos": 164684, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 0 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017F73C", + "line": 4621, + "pos": 165230, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017FFF0", + "line": 4994, + "pos": 174395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8017FFF0", + "line": 5003, + "pos": 174571, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80180688", + "line": 5290, + "pos": 181312, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80180688", + "line": 5297, + "pos": 181463, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80180688", + "line": 5300, + "pos": 181543, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801808F4", + "line": 5532, + "pos": 190920, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8018167C", + "line": 6114, + "pos": 206785, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181948", + "line": 6236, + "pos": 209997, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181B0C", + "line": 6331, + "pos": 212358, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181B0C", + "line": 6333, + "pos": 212448, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181C20", + "line": 6378, + "pos": 213514, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6480, + "pos": 217235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6485, + "pos": 217400, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6486, + "pos": 217448, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6487, + "pos": 217496, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6487, + "pos": 217528, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6488, + "pos": 217572, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6497, + "pos": 217985, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6498, + "pos": 218035, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181D44", + "line": 6499, + "pos": 218085, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80181FE0", + "line": 6565, + "pos": 219799, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6588, + "pos": 220388, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6613, + "pos": 221162, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6618, + "pos": 221390, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182044", + "line": 6622, + "pos": 221456, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801821C4", + "line": 6693, + "pos": 223566, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801821C4", + "line": 6694, + "pos": 223623, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182618", + "line": 6865, + "pos": 227863, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182618", + "line": 6867, + "pos": 227951, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182618", + "line": 6871, + "pos": 228086, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182618", + "line": 6873, + "pos": 228174, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801826E8", + "line": 6968, + "pos": 231918, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801826E8", + "line": 6977, + "pos": 232157, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801828A4", + "line": 7040, + "pos": 233639, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801828A4", + "line": 7041, + "pos": 233687, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p20", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182D2C", + "line": 7263, + "pos": 239253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 36 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80182D2C", + "line": 7272, + "pos": 239645, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801831B8", + "line": 7478, + "pos": 245920, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8018331C", + "line": 7521, + "pos": 247086, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183548", + "line": 7619, + "pos": 249468, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183710", + "line": 7682, + "pos": 251151, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183E68", + "line": 7994, + "pos": 258653, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183FE8", + "line": 8101, + "pos": 261847, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183FE8", + "line": 8107, + "pos": 262025, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183FE8", + "line": 8108, + "pos": 262062, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183FE8", + "line": 8117, + "pos": 262279, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80183FE8", + "line": 8131, + "pos": 262671, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801845B4", + "line": 8354, + "pos": 269310, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801845B4", + "line": 8355, + "pos": 269345, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184604", + "line": 8377, + "pos": 270093, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184604", + "line": 8378, + "pos": 270133, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184724", + "line": 8488, + "pos": 273431, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184724", + "line": 8489, + "pos": 273478, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184B30", + "line": 8622, + "pos": 277216, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184B30", + "line": 8623, + "pos": 277266, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184B30", + "line": 8626, + "pos": 277397, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184C08", + "line": 8638, + "pos": 277673, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184C08", + "line": 8639, + "pos": 277712, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184FB4", + "line": 8849, + "pos": 283021, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184FB4", + "line": 8850, + "pos": 283076, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80184FB4", + "line": 8851, + "pos": 283131, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8881, + "pos": 284047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8887, + "pos": 284242, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8888, + "pos": 284291, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8890, + "pos": 284354, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8893, + "pos": 284488, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185128", + "line": 8896, + "pos": 284564, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185264", + "line": 8925, + "pos": 285444, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185264", + "line": 8926, + "pos": 285488, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8018543C", + "line": 9052, + "pos": 288854, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8018543C", + "line": 9053, + "pos": 288904, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185668", + "line": 9156, + "pos": 294109, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185668", + "line": 9166, + "pos": 294530, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80185DA8", + "line": 9498, + "pos": 303419, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_8018615C", + "line": 9609, + "pos": 306454, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801861D0", + "line": 9642, + "pos": 307527, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_801861D0", + "line": 9643, + "pos": 307577, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187174", + "line": 10313, + "pos": 332783, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187174", + "line": 10314, + "pos": 332833, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187174", + "line": 10318, + "pos": 332952, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187D0C", + "line": 10790, + "pos": 346934, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187D0C", + "line": 10801, + "pos": 347519, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80187E08", + "line": 10878, + "pos": 350334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80188098", + "line": 10916, + "pos": 351325, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c", + "fn": "func_80188300", + "line": 10997, + "pos": 353981, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3252, + "pos": 112678, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3259, + "pos": 112829, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DAC8", + "line": 3262, + "pos": 112909, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DC20", + "line": 3395, + "pos": 118190, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 220 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DDDC", + "line": 3445, + "pos": 119452, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 264 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DDDC", + "line": 3447, + "pos": 119532, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 264 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017DE58", + "line": 3465, + "pos": 120078, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017E39C", + "line": 3727, + "pos": 127352, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 20 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017E39C", + "line": 3727, + "pos": 127380, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 20 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F150", + "line": 4122, + "pos": 138918, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4194, + "pos": 141095, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4199, + "pos": 141245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4200, + "pos": 141288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4201, + "pos": 141331, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4201, + "pos": 141356, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F274", + "line": 4202, + "pos": 141395, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F510", + "line": 4274, + "pos": 143511, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F574", + "line": 4297, + "pos": 144096, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F574", + "line": 4322, + "pos": 144894, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F574", + "line": 4327, + "pos": 145122, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F574", + "line": 4331, + "pos": 145192, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F6F4", + "line": 4386, + "pos": 146362, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017F6F4", + "line": 4387, + "pos": 146419, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017FC18", + "line": 4612, + "pos": 151981, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8017FC18", + "line": 4621, + "pos": 152220, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_801801EC", + "line": 4843, + "pos": 157326, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_801801EC", + "line": 4847, + "pos": 157612, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8018025C", + "line": 4892, + "pos": 158640, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 36 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8018025C", + "line": 4901, + "pos": 159032, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_801806E8", + "line": 5087, + "pos": 164629, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8018084C", + "line": 5128, + "pos": 165777, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80180A78", + "line": 5226, + "pos": 167944, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80180C40", + "line": 5286, + "pos": 169592, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181454", + "line": 5653, + "pos": 178114, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181518", + "line": 5716, + "pos": 180235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181518", + "line": 5722, + "pos": 180413, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181518", + "line": 5723, + "pos": 180450, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181518", + "line": 5732, + "pos": 180667, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181518", + "line": 5746, + "pos": 181059, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181708", + "line": 5790, + "pos": 182162, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181708", + "line": 5790, + "pos": 182187, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_80181708", + "line": 5791, + "pos": 182234, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c", + "fn": "func_8018199C", + "line": 5920, + "pos": 186401, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017CECC", + "line": 3844, + "pos": 141740, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017CECC", + "line": 3917, + "pos": 143725, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017D994", + "line": 4221, + "pos": 151317, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017D994", + "line": 4242, + "pos": 151919, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F228", + "line": 5113, + "pos": 176154, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F228", + "line": 5113, + "pos": 176182, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F5C4", + "line": 5124, + "pos": 176526, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F5C4", + "line": 5125, + "pos": 176601, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F5C4", + "line": 5126, + "pos": 176676, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F930", + "line": 5279, + "pos": 182064, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F930", + "line": 5280, + "pos": 182102, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a0", + "bclass": "param", + "off": 5 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017F930", + "line": 5281, + "pos": 182145, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017FBEC", + "line": 5372, + "pos": 184352, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 0 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8017FBFC", + "line": 5409, + "pos": 184898, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180054", + "line": 5612, + "pos": 189522, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180054", + "line": 5619, + "pos": 189673, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180054", + "line": 5622, + "pos": 189753, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801801AC", + "line": 5702, + "pos": 192588, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801801AC", + "line": 5703, + "pos": 192620, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 148 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5778, + "pos": 194828, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5783, + "pos": 194993, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5784, + "pos": 195041, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5785, + "pos": 195089, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5785, + "pos": 195121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5786, + "pos": 195165, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5795, + "pos": 195578, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5796, + "pos": 195628, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801802D0", + "line": 5797, + "pos": 195678, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801805D0", + "line": 5867, + "pos": 197387, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801805D0", + "line": 5892, + "pos": 198161, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801805D0", + "line": 5897, + "pos": 198389, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801805D0", + "line": 5901, + "pos": 198455, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180750", + "line": 5959, + "pos": 199827, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180750", + "line": 5960, + "pos": 199884, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s1", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180BA4", + "line": 6116, + "pos": 203871, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180BA4", + "line": 6118, + "pos": 203965, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180BA4", + "line": 6122, + "pos": 204121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180BA4", + "line": 6124, + "pos": 204215, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180C74", + "line": 6177, + "pos": 205375, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80180C74", + "line": 6186, + "pos": 205614, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "pe", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80181248", + "line": 6429, + "pos": 210991, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80181248", + "line": 6433, + "pos": 211277, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801812B8", + "line": 6478, + "pos": 212305, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 36 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801812B8", + "line": 6487, + "pos": 212697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80181744", + "line": 6685, + "pos": 218581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801818A8", + "line": 6726, + "pos": 219741, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 148 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80181AD4", + "line": 6822, + "pos": 222113, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80181C9C", + "line": 6882, + "pos": 223812, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801823F4", + "line": 7196, + "pos": 231344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182574", + "line": 7303, + "pos": 234582, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182574", + "line": 7309, + "pos": 234760, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182574", + "line": 7310, + "pos": 234797, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182574", + "line": 7319, + "pos": 235014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182574", + "line": 7333, + "pos": 235406, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182764", + "line": 7377, + "pos": 236509, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182764", + "line": 7377, + "pos": 236534, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182764", + "line": 7378, + "pos": 236581, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182B9C", + "line": 7532, + "pos": 241893, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182CAC", + "line": 7589, + "pos": 243431, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80182FF0", + "line": 7742, + "pos": 247594, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018342C", + "line": 7940, + "pos": 252938, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018342C", + "line": 7941, + "pos": 252973, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018347C", + "line": 7963, + "pos": 253721, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018347C", + "line": 7964, + "pos": 253761, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018359C", + "line": 8075, + "pos": 257073, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_8018359C", + "line": 8076, + "pos": 257120, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183798", + "line": 8120, + "pos": 258407, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801839A8", + "line": 8211, + "pos": 260938, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801839A8", + "line": 8212, + "pos": 260987, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801839A8", + "line": 8215, + "pos": 261118, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183A80", + "line": 8227, + "pos": 261388, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183A80", + "line": 8228, + "pos": 261427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183E2C", + "line": 8440, + "pos": 266830, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183E2C", + "line": 8441, + "pos": 266885, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183E2C", + "line": 8442, + "pos": 266940, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183FDC", + "line": 8489, + "pos": 268346, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80183FDC", + "line": 8500, + "pos": 268931, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801840D8", + "line": 8577, + "pos": 271746, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_80184368", + "line": 8615, + "pos": 272737, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c", + "fn": "func_801845D0", + "line": 8696, + "pos": 275393, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017CE3C", + "line": 3073, + "pos": 118147, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 244 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017D1E8", + "line": 3382, + "pos": 129840, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017D1E8", + "line": 3455, + "pos": 131850, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017F210", + "line": 4466, + "pos": 159107, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017F210", + "line": 4469, + "pos": 159197, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017FAA0", + "line": 4863, + "pos": 168792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017FAA0", + "line": 4870, + "pos": 168943, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017FAA0", + "line": 4873, + "pos": 169023, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8017FD0C", + "line": 5106, + "pos": 178482, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8018093C", + "line": 5684, + "pos": 194802, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8018093C", + "line": 5687, + "pos": 194909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801809B8", + "line": 5707, + "pos": 195511, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80180EFC", + "line": 5966, + "pos": 202765, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 20 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80181E90", + "line": 6415, + "pos": 215983, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80181FA0", + "line": 6475, + "pos": 217541, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801822E4", + "line": 6644, + "pos": 221945, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801828B0", + "line": 6879, + "pos": 228889, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80182B7C", + "line": 7005, + "pos": 232471, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80182D40", + "line": 7109, + "pos": 235351, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80182D40", + "line": 7111, + "pos": 235441, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8018323C", + "line": 7364, + "pos": 242891, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801833BC", + "line": 7424, + "pos": 244576, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80183670", + "line": 7524, + "pos": 247702, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80183E14", + "line": 7945, + "pos": 258922, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801840A8", + "line": 8002, + "pos": 261248, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801840A8", + "line": 8021, + "pos": 261974, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184200", + "line": 8077, + "pos": 264137, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8119, + "pos": 265328, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8120, + "pos": 265399, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8121, + "pos": 265471, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8123, + "pos": 265537, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8123, + "pos": 265566, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8124, + "pos": 265605, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8124, + "pos": 265634, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8131, + "pos": 265825, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8132, + "pos": 265909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184338", + "line": 8133, + "pos": 265993, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8184, + "pos": 267311, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8190, + "pos": 267506, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8191, + "pos": 267555, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8193, + "pos": 267618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8196, + "pos": 267752, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801844F8", + "line": 8199, + "pos": 267828, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184634", + "line": 8230, + "pos": 268761, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184634", + "line": 8232, + "pos": 268822, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8018480C", + "line": 8346, + "pos": 272002, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_8018480C", + "line": 8347, + "pos": 272052, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184A38", + "line": 8451, + "pos": 277334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80184A38", + "line": 8461, + "pos": 277780, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80185178", + "line": 8792, + "pos": 287177, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801855A0", + "line": 8926, + "pos": 291074, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801855A0", + "line": 8927, + "pos": 291133, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80186544", + "line": 9577, + "pos": 314697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80186544", + "line": 9578, + "pos": 314747, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80186544", + "line": 9582, + "pos": 314866, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_801871D0", + "line": 10067, + "pos": 329262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80187854", + "line": 10361, + "pos": 336060, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", + "fn": "func_80187928", + "line": 10396, + "pos": 336882, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017EB10", + "line": 3370, + "pos": 127359, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017ED60", + "line": 3462, + "pos": 129552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017EF0C", + "line": 3597, + "pos": 133981, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017EF0C", + "line": 3597, + "pos": 134009, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017F2A8", + "line": 3608, + "pos": 134353, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017F2A8", + "line": 3609, + "pos": 134428, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017F2A8", + "line": 3610, + "pos": 134503, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017F8D0", + "line": 3851, + "pos": 142204, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 0 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8017F8E0", + "line": 3890, + "pos": 142771, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4789, + "pos": 163418, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4819, + "pos": 164661, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4831, + "pos": 165140, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4832, + "pos": 165182, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4836, + "pos": 165436, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4838, + "pos": 165498, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4841, + "pos": 165600, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180B24", + "line": 4847, + "pos": 165832, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180E80", + "line": 4881, + "pos": 166734, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180F30", + "line": 4926, + "pos": 168104, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s2", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180F30", + "line": 4927, + "pos": 168151, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s2", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180F30", + "line": 4950, + "pos": 169238, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180F30", + "line": 4974, + "pos": 170100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "param", + "off": 242 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80180F30", + "line": 4980, + "pos": 170232, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "param", + "off": 242 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801811D0", + "line": 4996, + "pos": 170706, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80181390", + "line": 5084, + "pos": 173263, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5141, + "pos": 174988, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5151, + "pos": 175386, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5151, + "pos": 175414, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5152, + "pos": 175470, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5161, + "pos": 175852, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5164, + "pos": 176033, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5175, + "pos": 176466, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5182, + "pos": 176768, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5202, + "pos": 177611, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5203, + "pos": 177658, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801813FC", + "line": 5231, + "pos": 178847, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80181948", + "line": 5340, + "pos": 182355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801821E4", + "line": 5771, + "pos": 198199, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801821E4", + "line": 5772, + "pos": 198260, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((char *)a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801821E4", + "line": 5780, + "pos": 198491, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801821E4", + "line": 5783, + "pos": 198691, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((char *)a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801821E4", + "line": 5791, + "pos": 198973, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((char *)a0 + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801826E4", + "line": 6017, + "pos": 205874, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80182B5C", + "line": 6188, + "pos": 211285, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80182BBC", + "line": 6242, + "pos": 213025, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80182BBC", + "line": 6248, + "pos": 213175, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801833D4", + "line": 6796, + "pos": 229115, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801833D4", + "line": 6796, + "pos": 229147, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801833D4", + "line": 6806, + "pos": 229428, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801833D4", + "line": 6807, + "pos": 229529, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183564", + "line": 6820, + "pos": 229742, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183564", + "line": 6821, + "pos": 229814, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "param", + "off": 1 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183564", + "line": 6822, + "pos": 229847, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183880", + "line": 7057, + "pos": 235999, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183880", + "line": 7057, + "pos": 236026, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80183D00", + "line": 7236, + "pos": 241941, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801845A8", + "line": 7603, + "pos": 251522, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801845A8", + "line": 7622, + "pos": 252140, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80185DDC", + "line": 8672, + "pos": 282152, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80185DDC", + "line": 8673, + "pos": 282259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80185DDC", + "line": 8678, + "pos": 282554, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80185DDC", + "line": 8679, + "pos": 282661, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80185DDC", + "line": 8682, + "pos": 282894, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80186110", + "line": 8807, + "pos": 285567, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "var", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80186B08", + "line": 9248, + "pos": 295494, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801872D0", + "line": 9679, + "pos": 305730, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80187B40", + "line": 10157, + "pos": 320936, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80187B40", + "line": 10175, + "pos": 321477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80187B40", + "line": 10189, + "pos": 321973, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801882F8", + "line": 10466, + "pos": 331514, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "*(s32 *)(a0 + 0x20)", + "bclass": "nested", + "off": 26 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801882F8", + "line": 10505, + "pos": 333044, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801885C0", + "line": 10552, + "pos": 334143, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80188650", + "line": 10576, + "pos": 334882, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80188650", + "line": 10577, + "pos": 334931, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80188818", + "line": 10661, + "pos": 337031, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10690, + "pos": 337580, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10691, + "pos": 337614, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10692, + "pos": 337650, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10695, + "pos": 337699, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10700, + "pos": 337882, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10705, + "pos": 337980, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_801888B8", + "line": 10710, + "pos": 338147, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80188A30", + "line": 10731, + "pos": 338593, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80188B78", + "line": 10799, + "pos": 340724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "*(u8 **)(a0 + 0x20)", + "bclass": "nested", + "off": 26 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189270", + "line": 11114, + "pos": 349462, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189270", + "line": 11118, + "pos": 349675, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189764", + "line": 11313, + "pos": 354965, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189D38", + "line": 11528, + "pos": 360497, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189DFC", + "line": 11561, + "pos": 361399, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_80189DFC", + "line": 11581, + "pos": 362003, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A018", + "line": 11658, + "pos": 363742, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11756, + "pos": 366617, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11757, + "pos": 366670, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11759, + "pos": 366813, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11760, + "pos": 366917, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11761, + "pos": 366959, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11782, + "pos": 367883, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A1B4", + "line": 11784, + "pos": 368097, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A4C4", + "line": 11896, + "pos": 372348, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018A4C4", + "line": 11916, + "pos": 373237, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AAE4", + "line": 12125, + "pos": 379139, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AAE4", + "line": 12127, + "pos": 379242, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AC50", + "line": 12181, + "pos": 380443, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AC50", + "line": 12183, + "pos": 380546, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AEA8", + "line": 12277, + "pos": 382998, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018AEA8", + "line": 12279, + "pos": 383167, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018B4E0", + "line": 12665, + "pos": 399599, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018B5E4", + "line": 12718, + "pos": 401603, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018B948", + "line": 12858, + "pos": 405133, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018BE08", + "line": 13091, + "pos": 409918, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018BE08", + "line": 13097, + "pos": 410287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018BEEC", + "line": 13131, + "pos": 411227, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018BEEC", + "line": 13138, + "pos": 411477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C260", + "line": 13309, + "pos": 417024, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C260", + "line": 13314, + "pos": 417134, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C58C", + "line": 13462, + "pos": 420552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C764", + "line": 13550, + "pos": 422894, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C764", + "line": 13556, + "pos": 423296, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C838", + "line": 13564, + "pos": 423399, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018C8D4", + "line": 13592, + "pos": 424235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CA04", + "line": 13664, + "pos": 425922, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CA04", + "line": 13679, + "pos": 426336, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CB68", + "line": 13751, + "pos": 427745, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CB68", + "line": 13767, + "pos": 428205, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CC24", + "line": 13790, + "pos": 428637, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CC24", + "line": 13802, + "pos": 429004, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CCB8", + "line": 13828, + "pos": 429509, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CCB8", + "line": 13840, + "pos": 429905, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CD8C", + "line": 13865, + "pos": 430434, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CD8C", + "line": 13867, + "pos": 430528, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CD8C", + "line": 13869, + "pos": 430622, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13893, + "pos": 431060, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13894, + "pos": 431101, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13898, + "pos": 431231, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13904, + "pos": 431479, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13905, + "pos": 431525, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13909, + "pos": 431718, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018CE0C", + "line": 13910, + "pos": 431764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018D3FC", + "line": 14148, + "pos": 437287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018D3FC", + "line": 14155, + "pos": 437438, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018D3FC", + "line": 14158, + "pos": 437518, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DBF0", + "line": 14542, + "pos": 448159, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DBF0", + "line": 14546, + "pos": 448311, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DC9C", + "line": 14565, + "pos": 448703, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DD84", + "line": 14614, + "pos": 449728, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DEF4", + "line": 14703, + "pos": 451361, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018DF6C", + "line": 14728, + "pos": 451777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018EEB0", + "line": 15710, + "pos": 486324, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018EEB0", + "line": 15731, + "pos": 486889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018EEB0", + "line": 15732, + "pos": 486979, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018FD38", + "line": 16341, + "pos": 507717, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018FD38", + "line": 16344, + "pos": 507883, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", + "fn": "func_8018FD38", + "line": 16347, + "pos": 508060, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s2", + "bclass": "local", + "off": 258 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017C100", + "line": 3433, + "pos": 118694, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017C100", + "line": 3434, + "pos": 118738, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3488, + "pos": 119820, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3489, + "pos": 119859, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017C1EC", + "line": 3490, + "pos": 119895, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017EA0C", + "line": 4478, + "pos": 145329, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017EAFC", + "line": 4521, + "pos": 146479, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017F2DC", + "line": 4872, + "pos": 155558, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017F35C", + "line": 4911, + "pos": 157199, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((s32)a0 + 0x64)", + "bclass": "nested", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017F35C", + "line": 4920, + "pos": 157393, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "t", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_8017F35C", + "line": 4935, + "pos": 157704, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)((s32)a0 + 0x64)", + "bclass": "nested", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801801E0", + "line": 5630, + "pos": 174079, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80180740", + "line": 5880, + "pos": 180872, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80180A08", + "line": 6005, + "pos": 184064, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801813A4", + "line": 6450, + "pos": 194517, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "temp", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80181400", + "line": 6470, + "pos": 194938, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "res", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801814C4", + "line": 6517, + "pos": 196012, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "res", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801814C4", + "line": 6521, + "pos": 196189, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801821D4", + "line": 7186, + "pos": 213285, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80183024", + "line": 7898, + "pos": 231172, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_801830F4", + "line": 7931, + "pos": 231834, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "other", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80183338", + "line": 8079, + "pos": 235833, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c", + "fn": "func_80183CBC", + "line": 8495, + "pos": 246081, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 104 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017DA90", + "line": 3533, + "pos": 134900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017DA90", + "line": 3606, + "pos": 136910, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017F744", + "line": 4766, + "pos": 171096, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017F744", + "line": 4770, + "pos": 171285, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB04", + "line": 4897, + "pos": 174349, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB04", + "line": 4900, + "pos": 174535, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB04", + "line": 4905, + "pos": 174729, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB04", + "line": 4905, + "pos": 174763, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB98", + "line": 4913, + "pos": 174891, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB98", + "line": 4914, + "pos": 174927, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8017FB98", + "line": 4915, + "pos": 174967, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180034", + "line": 5181, + "pos": 185765, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180034", + "line": 5197, + "pos": 186502, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180034", + "line": 5219, + "pos": 187722, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180520", + "line": 5373, + "pos": 191552, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5417, + "pos": 192854, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5424, + "pos": 193191, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 36 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5424, + "pos": 193219, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5425, + "pos": 193249, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 40 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5425, + "pos": 193277, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5426, + "pos": 193307, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180600", + "line": 5426, + "pos": 193335, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180748", + "line": 5455, + "pos": 194068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180748", + "line": 5459, + "pos": 194300, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180874", + "line": 5540, + "pos": 196227, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 44 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180874", + "line": 5541, + "pos": 196307, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801809B8", + "line": 5573, + "pos": 196983, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801809B8", + "line": 5574, + "pos": 197027, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801809B8", + "line": 5576, + "pos": 197101, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 108 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801809B8", + "line": 5585, + "pos": 197463, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180DB4", + "line": 5737, + "pos": 201378, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80180DB4", + "line": 5737, + "pos": 201406, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801814E4", + "line": 6066, + "pos": 211738, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ret", + "bclass": "local", + "off": 48 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80181574", + "line": 6118, + "pos": 213415, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8018176C", + "line": 6165, + "pos": 214649, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8018176C", + "line": 6175, + "pos": 214856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 32 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80181EC0", + "line": 6508, + "pos": 225400, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182364", + "line": 6762, + "pos": 234059, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182364", + "line": 6767, + "pos": 234299, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182364", + "line": 6768, + "pos": 234343, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801824A8", + "line": 6816, + "pos": 235648, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_801824A8", + "line": 6818, + "pos": 235721, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ptr", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182CE8", + "line": 7188, + "pos": 247020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 114 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182E0C", + "line": 7267, + "pos": 249134, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182E0C", + "line": 7275, + "pos": 249512, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182E0C", + "line": 7278, + "pos": 249576, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182E0C", + "line": 7282, + "pos": 249741, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182E0C", + "line": 7294, + "pos": 250174, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80182FB4", + "line": 7334, + "pos": 251302, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_8018330C", + "line": 7472, + "pos": 255716, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80183454", + "line": 7547, + "pos": 257664, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80183454", + "line": 7548, + "pos": 257696, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", + "fn": "func_80183454", + "line": 7549, + "pos": 257731, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017CD9C", + "line": 2754, + "pos": 99745, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017CD9C", + "line": 2755, + "pos": 99781, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017E380", + "line": 3395, + "pos": 123701, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 204 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017E380", + "line": 3399, + "pos": 123900, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017E7D0", + "line": 3487, + "pos": 126304, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017E940", + "line": 3540, + "pos": 127831, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017ED1C", + "line": 3764, + "pos": 133794, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017EE60", + "line": 3825, + "pos": 135489, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "q", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4094, + "pos": 142285, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4099, + "pos": 142418, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4107, + "pos": 142631, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4112, + "pos": 142758, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4115, + "pos": 142835, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F338", + "line": 4120, + "pos": 142961, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F62C", + "line": 4202, + "pos": 145107, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F62C", + "line": 4202, + "pos": 145131, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 136 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F62C", + "line": 4204, + "pos": 145182, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F62C", + "line": 4204, + "pos": 145208, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 140 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F68C", + "line": 4216, + "pos": 145481, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F738", + "line": 4246, + "pos": 146304, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F738", + "line": 4255, + "pos": 146607, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F738", + "line": 4257, + "pos": 146656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017F8B8", + "line": 4304, + "pos": 147924, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FB9C", + "line": 4417, + "pos": 151281, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FC3C", + "line": 4440, + "pos": 151954, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FC3C", + "line": 4448, + "pos": 152359, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FC3C", + "line": 4449, + "pos": 152409, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FEC0", + "line": 4570, + "pos": 155450, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_8017FEC0", + "line": 4579, + "pos": 155711, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801801C0", + "line": 4708, + "pos": 160928, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801801C0", + "line": 4709, + "pos": 160973, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80180230", + "line": 4766, + "pos": 162809, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80180230", + "line": 4769, + "pos": 162972, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "q", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801803B8", + "line": 4805, + "pos": 163762, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801803B8", + "line": 4814, + "pos": 164048, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80180B04", + "line": 5133, + "pos": 173547, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801812AC", + "line": 5414, + "pos": 182066, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_801816C4", + "line": 5580, + "pos": 186137, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181A08", + "line": 5762, + "pos": 191442, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181CDC", + "line": 5870, + "pos": 194416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181CDC", + "line": 5871, + "pos": 194454, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181CDC", + "line": 5872, + "pos": 194492, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181E7C", + "line": 5921, + "pos": 195807, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181E7C", + "line": 5932, + "pos": 196392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80181F78", + "line": 6009, + "pos": 199207, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80182208", + "line": 6047, + "pos": 200198, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c", + "fn": "func_80182470", + "line": 6128, + "pos": 202854, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017D098", + "line": 3461, + "pos": 117641, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017D4E8", + "line": 3665, + "pos": 123461, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017D668", + "line": 3717, + "pos": 124790, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017E354", + "line": 4152, + "pos": 137725, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4544, + "pos": 149419, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "copy", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4545, + "pos": 149538, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4546, + "pos": 149576, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4547, + "pos": 149612, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4558, + "pos": 150262, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 204 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4559, + "pos": 150362, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4560, + "pos": 150410, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4561, + "pos": 150528, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4562, + "pos": 150566, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EBB8", + "line": 4563, + "pos": 150602, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EEAC", + "line": 4582, + "pos": 151220, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EEAC", + "line": 4587, + "pos": 151418, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EEAC", + "line": 4588, + "pos": 151514, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EEAC", + "line": 4590, + "pos": 151668, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EF50", + "line": 4611, + "pos": 152053, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EF50", + "line": 4612, + "pos": 152107, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EF50", + "line": 4619, + "pos": 152275, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "ret", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017EF50", + "line": 4620, + "pos": 152316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017F0E4", + "line": 4665, + "pos": 153494, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017F0E4", + "line": 4665, + "pos": 153535, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017F20C", + "line": 4704, + "pos": 154678, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5188, + "pos": 167003, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5191, + "pos": 167084, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5194, + "pos": 167145, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5195, + "pos": 167210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5196, + "pos": 167275, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8017FF80", + "line": 5199, + "pos": 167382, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181848", + "line": 6234, + "pos": 192791, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181848", + "line": 6237, + "pos": 192935, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181848", + "line": 6238, + "pos": 193017, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181AA4", + "line": 6327, + "pos": 195190, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181AA4", + "line": 6330, + "pos": 195334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80181AA4", + "line": 6331, + "pos": 195416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182240", + "line": 6633, + "pos": 202275, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182240", + "line": 6636, + "pos": 202340, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8018227C", + "line": 6647, + "pos": 202573, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8018227C", + "line": 6649, + "pos": 202633, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8018227C", + "line": 6651, + "pos": 202728, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8018227C", + "line": 6653, + "pos": 202810, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_8018227C", + "line": 6660, + "pos": 203117, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 20 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_801823B8", + "line": 6735, + "pos": 205441, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "buf", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_801823B8", + "line": 6739, + "pos": 205556, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "buf", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182490", + "line": 6769, + "pos": 206191, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182490", + "line": 6774, + "pos": 206370, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182490", + "line": 6777, + "pos": 206520, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "r", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182490", + "line": 6779, + "pos": 206607, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "r", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182560", + "line": 6807, + "pos": 207140, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182560", + "line": 6810, + "pos": 207278, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)((*(s32 *)((s32)s0 + 0x30)) + 0x20)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c", + "fn": "func_80182794", + "line": 6925, + "pos": 210225, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2821, + "pos": 102537, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2831, + "pos": 102870, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2850, + "pos": 103798, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2851, + "pos": 103864, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2896, + "pos": 105216, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2896, + "pos": 105247, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2897, + "pos": 105288, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2897, + "pos": 105319, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80180F84", + "line": 2926, + "pos": 106070, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 2999, + "pos": 108382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 130 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 3003, + "pos": 108496, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 3004, + "pos": 108537, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 92 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 3005, + "pos": 108577, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 3005, + "pos": 108610, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_801814AC", + "line": 3005, + "pos": 108642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80181B4C", + "line": 3188, + "pos": 114338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80181B4C", + "line": 3202, + "pos": 114918, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80181B4C", + "line": 3203, + "pos": 114970, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_80180F84.c", + "fn": "func_80181B4C", + "line": 3205, + "pos": 115070, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018473C", + "line": 2828, + "pos": 103547, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "wk", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018473C", + "line": 2829, + "pos": 103601, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "wk", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018473C", + "line": 2830, + "pos": 103641, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "wk", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018473C", + "line": 2831, + "pos": 103683, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "wk", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018473C", + "line": 2858, + "pos": 104263, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "wk", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 2979, + "pos": 108250, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 2983, + "pos": 108485, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 2984, + "pos": 108558, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 258 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 2989, + "pos": 108672, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 2990, + "pos": 108710, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3007, + "pos": 109073, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3012, + "pos": 109357, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3014, + "pos": 109459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 258 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3016, + "pos": 109580, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "obj", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3033, + "pos": 110363, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "r", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80184AA4", + "line": 3035, + "pos": 110466, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "r", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3194, + "pos": 116656, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3196, + "pos": 116703, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3198, + "pos": 116785, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3215, + "pos": 117379, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 54 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3219, + "pos": 117671, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3225, + "pos": 117999, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3226, + "pos": 118047, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018505C", + "line": 3263, + "pos": 119382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801853B0", + "line": 3350, + "pos": 121059, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)(*(s32 *)D_801C7E4C + 0x20)", + "bclass": "nested", + "off": 26 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D00", + "line": 3750, + "pos": 134141, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(void **)(s0 + 0x20)", + "bclass": "nested", + "off": 44 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D00", + "line": 3751, + "pos": 134259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D98", + "line": 3781, + "pos": 134995, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 124 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D98", + "line": 3782, + "pos": 135068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 126 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D98", + "line": 3783, + "pos": 135141, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 128 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D98", + "line": 3785, + "pos": 135240, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 18 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185D98", + "line": 3787, + "pos": 135359, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 26 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80185FB4", + "line": 3854, + "pos": 137108, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018645C", + "line": 4039, + "pos": 142750, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)D_801C7E50", + "bclass": "nested", + "off": 266 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801864E4", + "line": 4056, + "pos": 143141, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801864E4", + "line": 4058, + "pos": 143221, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801864E4", + "line": 4058, + "pos": 143246, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801864E4", + "line": 4059, + "pos": 143309, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_801864E4", + "line": 4067, + "pos": 143698, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "r", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186624", + "line": 4113, + "pos": 145071, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186624", + "line": 4117, + "pos": 145272, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186624", + "line": 4118, + "pos": 145319, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_8018672C", + "line": 4145, + "pos": 146074, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186A00", + "line": 4257, + "pos": 149429, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186AF4", + "line": 4288, + "pos": 150441, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186BD8", + "line": 4316, + "pos": 151325, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186BD8", + "line": 4317, + "pos": 151397, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80186E1C", + "line": 4404, + "pos": 153752, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187074", + "line": 4508, + "pos": 156646, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187074", + "line": 4509, + "pos": 156692, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187074", + "line": 4525, + "pos": 157216, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4554, + "pos": 157727, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4555, + "pos": 157798, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4556, + "pos": 157870, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4558, + "pos": 157936, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4558, + "pos": 157965, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4559, + "pos": 158004, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4559, + "pos": 158033, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4565, + "pos": 158236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4566, + "pos": 158320, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187198", + "line": 4567, + "pos": 158404, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187438", + "line": 4653, + "pos": 161239, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187438", + "line": 4654, + "pos": 161286, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187540", + "line": 4706, + "pos": 162711, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "temp", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187D70", + "line": 5038, + "pos": 171642, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80187D70", + "line": 5039, + "pos": 171731, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80188234", + "line": 5269, + "pos": 177855, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC05_010/ov_SC05_010_jr_8018473C.c", + "fn": "func_80188334", + "line": 5298, + "pos": 178800, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017EFE0", + "line": 3508, + "pos": 127693, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017EFE0", + "line": 3509, + "pos": 127734, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "v1", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F2BC", + "line": 3635, + "pos": 130751, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "v1", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F2BC", + "line": 3636, + "pos": 130792, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "v1", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3881, + "pos": 136751, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3882, + "pos": 136807, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3883, + "pos": 136863, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3889, + "pos": 137033, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3890, + "pos": 137089, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8017F818", + "line": 3891, + "pos": 137145, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_8018069C", + "line": 4483, + "pos": 153092, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801808AC", + "line": 4534, + "pos": 154351, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80180DBC", + "line": 4731, + "pos": 159931, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80181474", + "line": 4989, + "pos": 167179, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80181DCC", + "line": 5460, + "pos": 179632, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801825C8", + "line": 5807, + "pos": 189299, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80182CDC", + "line": 6039, + "pos": 195479, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80182CDC", + "line": 6041, + "pos": 195605, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "ent", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80182F04", + "line": 6088, + "pos": 196639, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801837E8", + "line": 6565, + "pos": 207759, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801837E8", + "line": 6580, + "pos": 208188, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801837E8", + "line": 6591, + "pos": 208411, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801839D8", + "line": 6653, + "pos": 209823, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801841A0", + "line": 7061, + "pos": 221623, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801848B8", + "line": 7524, + "pos": 230886, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801848B8", + "line": 7533, + "pos": 231144, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801848B8", + "line": 7550, + "pos": 231757, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*v1", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7587, + "pos": 232935, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7619, + "pos": 234162, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7620, + "pos": 234249, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7622, + "pos": 234354, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7627, + "pos": 234485, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7628, + "pos": 234572, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184988", + "line": 7630, + "pos": 234677, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184C48", + "line": 7723, + "pos": 236421, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "result", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7744, + "pos": 236918, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7745, + "pos": 236996, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 264 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7749, + "pos": 237087, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 176 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7752, + "pos": 237155, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7755, + "pos": 237336, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7760, + "pos": 237507, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7765, + "pos": 237601, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7768, + "pos": 237782, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7773, + "pos": 237953, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7778, + "pos": 238047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7783, + "pos": 238201, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80184CD0", + "line": 7789, + "pos": 238353, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801850C4", + "line": 7891, + "pos": 240653, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 132 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801850C4", + "line": 7899, + "pos": 240818, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801850C4", + "line": 7900, + "pos": 240854, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 258 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801850C4", + "line": 7908, + "pos": 241039, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801850C4", + "line": 7909, + "pos": 241074, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801851B0", + "line": 7944, + "pos": 241879, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801851B0", + "line": 7944, + "pos": 241907, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801851B0", + "line": 7948, + "pos": 242085, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801851B0", + "line": 7948, + "pos": 242112, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_80185494", + "line": 8064, + "pos": 244977, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "v0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801854F4", + "line": 8083, + "pos": 245303, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c", + "fn": "func_801855C4", + "line": 8129, + "pos": 246133, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C6A0", + "line": 3591, + "pos": 123625, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C6A0", + "line": 3603, + "pos": 124003, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C6A0", + "line": 3604, + "pos": 124083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C6A0", + "line": 3605, + "pos": 124163, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C6A0", + "line": 3615, + "pos": 124487, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017C8FC", + "line": 3650, + "pos": 125451, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017CD10", + "line": 3777, + "pos": 130349, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 3973, + "pos": 137151, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 40 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 3976, + "pos": 137228, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 40 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 3986, + "pos": 137502, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 3987, + "pos": 137565, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 3989, + "pos": 137626, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D1E0", + "line": 4003, + "pos": 137966, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_8017D678", + "line": 4152, + "pos": 142909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801812BC", + "line": 6554, + "pos": 229976, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801812BC", + "line": 6554, + "pos": 230006, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801812BC", + "line": 6557, + "pos": 230128, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801812BC", + "line": 6557, + "pos": 230159, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801812BC", + "line": 6560, + "pos": 230323, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182950", + "line": 7416, + "pos": 251098, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182950", + "line": 7418, + "pos": 251195, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182950", + "line": 7419, + "pos": 251243, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182CD8", + "line": 7604, + "pos": 255531, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182E38", + "line": 7641, + "pos": 256632, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 100 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80182E38", + "line": 7649, + "pos": 257036, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801830C4", + "line": 7708, + "pos": 259652, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183338", + "line": 7791, + "pos": 261628, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7810, + "pos": 262141, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7816, + "pos": 262421, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7826, + "pos": 262877, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7826, + "pos": 262904, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7827, + "pos": 263018, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7831, + "pos": 263192, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7837, + "pos": 263472, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7846, + "pos": 263880, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7846, + "pos": 263907, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183398", + "line": 7847, + "pos": 264008, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183C9C", + "line": 8155, + "pos": 272791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "self", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80183F38", + "line": 8323, + "pos": 277995, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801840F8", + "line": 8351, + "pos": 278712, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801840F8", + "line": 8365, + "pos": 279226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801840F8", + "line": 8383, + "pos": 279767, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 132 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184524", + "line": 8508, + "pos": 283114, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801846F8", + "line": 8608, + "pos": 285090, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801846F8", + "line": 8636, + "pos": 286341, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801846F8", + "line": 8638, + "pos": 286421, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801846F8", + "line": 8643, + "pos": 286496, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184B30", + "line": 8817, + "pos": 290360, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 52 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184D68", + "line": 8932, + "pos": 293304, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184DD8", + "line": 8959, + "pos": 294155, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184EB8", + "line": 9005, + "pos": 295248, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_80184FD8", + "line": 9052, + "pos": 296368, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801866C4", + "line": 10061, + "pos": 322133, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801866C4", + "line": 10062, + "pos": 322217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801866C4", + "line": 10063, + "pos": 322247, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(u32 *)(s0 + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801866C4", + "line": 10063, + "pos": 322293, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 256 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801866C4", + "line": 10066, + "pos": 322395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801879B8", + "line": 11214, + "pos": 360300, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801879B8", + "line": 11235, + "pos": 360865, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", + "fn": "func_801879B8", + "line": 11236, + "pos": 360955, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017D73C", + "line": 2977, + "pos": 105880, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017D73C", + "line": 3036, + "pos": 107412, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017D73C", + "line": 3043, + "pos": 107669, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017DE20", + "line": 3210, + "pos": 112651, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017DE20", + "line": 3211, + "pos": 112693, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017DEEC", + "line": 3240, + "pos": 113695, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017E830", + "line": 3670, + "pos": 123654, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a", + "bclass": "param", + "off": 18 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F2E8", + "line": 4039, + "pos": 136117, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F2E8", + "line": 4040, + "pos": 136153, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F624", + "line": 4221, + "pos": 141777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F9FC", + "line": 4364, + "pos": 145851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F9FC", + "line": 4377, + "pos": 146177, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F9FC", + "line": 4379, + "pos": 146291, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017F9FC", + "line": 4382, + "pos": 146387, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017FB10", + "line": 4462, + "pos": 149537, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017FCC0", + "line": 4500, + "pos": 150514, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017FCC0", + "line": 4506, + "pos": 150685, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017FCC0", + "line": 4509, + "pos": 150792, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8017FF74", + "line": 4613, + "pos": 153748, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180000", + "line": 4658, + "pos": 154914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180128", + "line": 4699, + "pos": 156138, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180128", + "line": 4705, + "pos": 156448, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180128", + "line": 4725, + "pos": 157119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018037C", + "line": 4803, + "pos": 159276, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018037C", + "line": 4804, + "pos": 159332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018037C", + "line": 4807, + "pos": 159474, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018037C", + "line": 4808, + "pos": 159542, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180450", + "line": 4849, + "pos": 160858, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180450", + "line": 4849, + "pos": 160890, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180450", + "line": 4855, + "pos": 161121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180450", + "line": 4855, + "pos": 161153, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5111, + "pos": 169765, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5112, + "pos": 169808, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5113, + "pos": 169861, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5129, + "pos": 170895, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5130, + "pos": 170970, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5132, + "pos": 171126, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5141, + "pos": 171416, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5141, + "pos": 171446, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5142, + "pos": 171482, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180A98", + "line": 5143, + "pos": 171542, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80180CA8", + "line": 5298, + "pos": 177479, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801810AC", + "line": 5337, + "pos": 179210, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181220", + "line": 5426, + "pos": 182672, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181220", + "line": 5428, + "pos": 182785, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018165C", + "line": 5734, + "pos": 195408, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018165C", + "line": 5735, + "pos": 195477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018165C", + "line": 5737, + "pos": 195556, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018165C", + "line": 5748, + "pos": 196244, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181B20", + "line": 5805, + "pos": 197827, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181B20", + "line": 5806, + "pos": 197869, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181CF0", + "line": 5922, + "pos": 202416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181CF0", + "line": 5923, + "pos": 202458, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181EE0", + "line": 6000, + "pos": 205100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181EE0", + "line": 6005, + "pos": 205346, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181EE0", + "line": 6008, + "pos": 205478, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181EE0", + "line": 6043, + "pos": 206715, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80181EE0", + "line": 6043, + "pos": 206747, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801821F8", + "line": 6109, + "pos": 209414, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801821F8", + "line": 6112, + "pos": 209603, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801821F8", + "line": 6113, + "pos": 209695, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801821F8", + "line": 6114, + "pos": 209787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801823F0", + "line": 6303, + "pos": 217202, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6335, + "pos": 217878, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6335, + "pos": 217922, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6336, + "pos": 218009, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6337, + "pos": 218063, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6337, + "pos": 218107, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6339, + "pos": 218263, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6341, + "pos": 218428, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6343, + "pos": 218593, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6348, + "pos": 218812, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6351, + "pos": 218976, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6352, + "pos": 219054, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6354, + "pos": 219184, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6357, + "pos": 219344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6358, + "pos": 219392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6359, + "pos": 219450, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6361, + "pos": 219528, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182838", + "line": 6362, + "pos": 219578, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80182A48", + "line": 6503, + "pos": 224413, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6601, + "pos": 227450, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6608, + "pos": 227872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6612, + "pos": 228151, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6621, + "pos": 228700, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6621, + "pos": 228727, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6623, + "pos": 228862, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6623, + "pos": 228889, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6631, + "pos": 229298, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6632, + "pos": 229346, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6636, + "pos": 229676, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6637, + "pos": 229754, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_8018309C", + "line": 6645, + "pos": 230141, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183340", + "line": 6684, + "pos": 231074, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_801834E0", + "line": 6739, + "pos": 232719, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183658", + "line": 6831, + "pos": 234969, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183658", + "line": 6833, + "pos": 235031, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183658", + "line": 6834, + "pos": 235117, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6855, + "pos": 235758, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6856, + "pos": 235798, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6864, + "pos": 236190, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6864, + "pos": 236215, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6866, + "pos": 236334, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183750", + "line": 6866, + "pos": 236361, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183824", + "line": 6892, + "pos": 236976, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183924", + "line": 6965, + "pos": 238583, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183924", + "line": 6967, + "pos": 238721, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183924", + "line": 6969, + "pos": 238833, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 6998, + "pos": 239588, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 6999, + "pos": 239624, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 7012, + "pos": 240112, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 7012, + "pos": 240137, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 7015, + "pos": 240249, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183A20", + "line": 7015, + "pos": 240276, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183B14", + "line": 7044, + "pos": 240887, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7083, + "pos": 241830, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7085, + "pos": 241950, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7102, + "pos": 242507, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7111, + "pos": 242924, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7113, + "pos": 243026, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183BF4", + "line": 7120, + "pos": 243210, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80183E24", + "line": 7280, + "pos": 249828, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80184B98", + "line": 7877, + "pos": 265030, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80184B98", + "line": 7878, + "pos": 265097, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", + "fn": "func_80185024", + "line": 8102, + "pos": 271063, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017CAD4", + "line": 3999, + "pos": 145202, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "model", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017CAD4", + "line": 4000, + "pos": 145245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "model", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017D7CC", + "line": 4362, + "pos": 162831, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5092, + "pos": 181857, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5100, + "pos": 182134, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5118, + "pos": 183099, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5119, + "pos": 183167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5152, + "pos": 184348, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5183, + "pos": 185477, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5183, + "pos": 185504, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5185, + "pos": 185632, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5185, + "pos": 185659, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5187, + "pos": 185787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5199, + "pos": 186331, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(self + 0x20)", + "bclass": "nested", + "off": 20 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5200, + "pos": 186397, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5200, + "pos": 186424, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5202, + "pos": 186560, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "self", + "bclass": "local", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5202, + "pos": 186587, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5207, + "pos": 186851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5208, + "pos": 186917, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5210, + "pos": 187028, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5211, + "pos": 187119, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5219, + "pos": 187326, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5219, + "pos": 187360, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017E764", + "line": 5220, + "pos": 187437, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017EE3C", + "line": 5257, + "pos": 188305, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017EE3C", + "line": 5294, + "pos": 189476, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017EE3C", + "line": 5297, + "pos": 189656, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017EE3C", + "line": 5299, + "pos": 189819, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F024", + "line": 5314, + "pos": 190472, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F024", + "line": 5316, + "pos": 190562, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F978", + "line": 5645, + "pos": 202460, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F978", + "line": 5647, + "pos": 202592, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F978", + "line": 5651, + "pos": 202758, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017F978", + "line": 5653, + "pos": 202818, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5785, + "pos": 205763, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5786, + "pos": 205799, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5812, + "pos": 206618, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5812, + "pos": 206642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5813, + "pos": 206689, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8017FE3C", + "line": 5813, + "pos": 206725, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5941, + "pos": 210385, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5947, + "pos": 210695, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5963, + "pos": 211202, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5963, + "pos": 211226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5964, + "pos": 211273, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5964, + "pos": 211309, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180170", + "line": 5972, + "pos": 211579, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018072C", + "line": 6140, + "pos": 216840, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018072C", + "line": 6141, + "pos": 216876, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018072C", + "line": 6146, + "pos": 217054, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801807AC", + "line": 6157, + "pos": 217227, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801807AC", + "line": 6158, + "pos": 217263, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801807AC", + "line": 6163, + "pos": 217441, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80180864", + "line": 6206, + "pos": 218513, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801810FC", + "line": 6568, + "pos": 228690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801810FC", + "line": 6569, + "pos": 228733, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801810FC", + "line": 6570, + "pos": 228786, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018179C", + "line": 6827, + "pos": 239592, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018179C", + "line": 6828, + "pos": 239628, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181AD8", + "line": 7012, + "pos": 245271, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181EB0", + "line": 7161, + "pos": 249399, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181EB0", + "line": 7174, + "pos": 249725, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181EB0", + "line": 7176, + "pos": 249839, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181EB0", + "line": 7179, + "pos": 249935, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80181FC4", + "line": 7259, + "pos": 253070, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182174", + "line": 7297, + "pos": 254047, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182174", + "line": 7303, + "pos": 254218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182174", + "line": 7306, + "pos": 254325, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182428", + "line": 7407, + "pos": 256891, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801824B4", + "line": 7453, + "pos": 258058, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801825DC", + "line": 7497, + "pos": 259289, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801825DC", + "line": 7503, + "pos": 259599, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801825DC", + "line": 7523, + "pos": 260270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182830", + "line": 7597, + "pos": 262401, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182830", + "line": 7598, + "pos": 262459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182830", + "line": 7603, + "pos": 262617, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182830", + "line": 7604, + "pos": 262681, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182904", + "line": 7648, + "pos": 263990, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182904", + "line": 7648, + "pos": 264022, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182904", + "line": 7654, + "pos": 264253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182904", + "line": 7654, + "pos": 264285, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7910, + "pos": 272897, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7911, + "pos": 272940, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7912, + "pos": 272993, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7928, + "pos": 274027, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7929, + "pos": 274102, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7931, + "pos": 274258, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7940, + "pos": 274548, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7940, + "pos": 274578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7941, + "pos": 274614, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80182F4C", + "line": 7942, + "pos": 274674, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_8018315C", + "line": 8100, + "pos": 280572, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183560", + "line": 8141, + "pos": 282305, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801836D4", + "line": 8230, + "pos": 285767, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801836D4", + "line": 8232, + "pos": 285880, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183B10", + "line": 8479, + "pos": 294808, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183B10", + "line": 8480, + "pos": 294877, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183B10", + "line": 8482, + "pos": 294956, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183B10", + "line": 8493, + "pos": 295644, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183FD4", + "line": 8550, + "pos": 297212, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80183FD4", + "line": 8551, + "pos": 297254, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801841A4", + "line": 8668, + "pos": 301820, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801841A4", + "line": 8669, + "pos": 301862, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184394", + "line": 8743, + "pos": 304236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184394", + "line": 8748, + "pos": 304482, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184394", + "line": 8751, + "pos": 304614, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184394", + "line": 8786, + "pos": 305851, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184394", + "line": 8786, + "pos": 305883, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801846AC", + "line": 8852, + "pos": 308504, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801846AC", + "line": 8855, + "pos": 308693, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801846AC", + "line": 8856, + "pos": 308785, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801846AC", + "line": 8857, + "pos": 308877, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801848A4", + "line": 9049, + "pos": 316253, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9081, + "pos": 316929, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9081, + "pos": 316973, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9082, + "pos": 317060, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9083, + "pos": 317114, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9083, + "pos": 317158, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9085, + "pos": 317314, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9087, + "pos": 317479, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9089, + "pos": 317644, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9094, + "pos": 317863, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9097, + "pos": 318027, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9098, + "pos": 318105, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9100, + "pos": 318235, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9103, + "pos": 318395, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9104, + "pos": 318443, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9105, + "pos": 318501, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9107, + "pos": 318579, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184CEC", + "line": 9108, + "pos": 318629, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80184EFC", + "line": 9250, + "pos": 323404, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9348, + "pos": 326441, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9355, + "pos": 326863, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9359, + "pos": 327142, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9368, + "pos": 327691, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9368, + "pos": 327718, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9370, + "pos": 327853, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9370, + "pos": 327880, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9378, + "pos": 328289, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9379, + "pos": 328337, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9383, + "pos": 328667, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9384, + "pos": 328745, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185550", + "line": 9392, + "pos": 329132, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801857F4", + "line": 9429, + "pos": 330089, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185994", + "line": 9488, + "pos": 331763, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185B0C", + "line": 9583, + "pos": 334056, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185B0C", + "line": 9585, + "pos": 334118, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185B0C", + "line": 9586, + "pos": 334204, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9607, + "pos": 334845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9608, + "pos": 334885, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9616, + "pos": 335277, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9616, + "pos": 335302, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9618, + "pos": 335421, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185C04", + "line": 9618, + "pos": 335448, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185CD8", + "line": 9644, + "pos": 336063, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185DD8", + "line": 9721, + "pos": 337674, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185DD8", + "line": 9723, + "pos": 337812, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185DD8", + "line": 9725, + "pos": 337924, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9755, + "pos": 338680, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9756, + "pos": 338716, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9769, + "pos": 339204, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9769, + "pos": 339229, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9772, + "pos": 339341, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185ED4", + "line": 9772, + "pos": 339368, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80185FC8", + "line": 9801, + "pos": 339979, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9839, + "pos": 340902, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9841, + "pos": 341022, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9858, + "pos": 341579, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9867, + "pos": 341996, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9869, + "pos": 342098, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_801860A8", + "line": 9876, + "pos": 342282, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", + "fn": "func_80186200", + "line": 9921, + "pos": 343362, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017D934", + "line": 3029, + "pos": 106573, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017D934", + "line": 3030, + "pos": 106623, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017DFD8", + "line": 3343, + "pos": 114235, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017EA54", + "line": 3826, + "pos": 127214, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017EA54", + "line": 3827, + "pos": 127257, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017EA54", + "line": 3828, + "pos": 127310, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F0F4", + "line": 4085, + "pos": 138047, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F0F4", + "line": 4086, + "pos": 138083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F430", + "line": 4270, + "pos": 143765, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F808", + "line": 4419, + "pos": 147950, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F808", + "line": 4432, + "pos": 148276, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F808", + "line": 4434, + "pos": 148390, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F808", + "line": 4437, + "pos": 148486, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017F91C", + "line": 4486, + "pos": 149955, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FACC", + "line": 4523, + "pos": 150928, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FACC", + "line": 4529, + "pos": 151099, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FACC", + "line": 4532, + "pos": 151206, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FD80", + "line": 4645, + "pos": 154382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FE0C", + "line": 4689, + "pos": 155579, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FF34", + "line": 4733, + "pos": 156800, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FF34", + "line": 4739, + "pos": 157110, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8017FF34", + "line": 4759, + "pos": 157803, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180188", + "line": 4838, + "pos": 159927, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180188", + "line": 4839, + "pos": 159983, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180188", + "line": 4842, + "pos": 160125, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180188", + "line": 4843, + "pos": 160193, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018025C", + "line": 4884, + "pos": 161501, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018025C", + "line": 4884, + "pos": 161533, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018025C", + "line": 4890, + "pos": 161764, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018025C", + "line": 4890, + "pos": 161796, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5143, + "pos": 170421, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5144, + "pos": 170464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5145, + "pos": 170517, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5161, + "pos": 171551, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5162, + "pos": 171626, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5164, + "pos": 171782, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5173, + "pos": 172072, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5173, + "pos": 172102, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5174, + "pos": 172138, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801808A4", + "line": 5175, + "pos": 172198, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180AB4", + "line": 5333, + "pos": 178096, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80180EB8", + "line": 5374, + "pos": 179829, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018102C", + "line": 5464, + "pos": 183526, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018102C", + "line": 5466, + "pos": 183639, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181468", + "line": 5713, + "pos": 192616, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181468", + "line": 5714, + "pos": 192685, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181468", + "line": 5716, + "pos": 192764, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181468", + "line": 5727, + "pos": 193452, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018192C", + "line": 5784, + "pos": 195020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018192C", + "line": 5785, + "pos": 195062, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181AFC", + "line": 5902, + "pos": 199626, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181AFC", + "line": 5903, + "pos": 199668, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181CEC", + "line": 5977, + "pos": 202042, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181CEC", + "line": 5982, + "pos": 202288, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181CEC", + "line": 5985, + "pos": 202420, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181CEC", + "line": 6020, + "pos": 203657, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80181CEC", + "line": 6020, + "pos": 203689, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182004", + "line": 6084, + "pos": 206304, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182004", + "line": 6087, + "pos": 206493, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182004", + "line": 6088, + "pos": 206585, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182004", + "line": 6089, + "pos": 206677, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801821FC", + "line": 6281, + "pos": 214053, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6311, + "pos": 214723, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6311, + "pos": 214767, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6312, + "pos": 214854, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6313, + "pos": 214908, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6313, + "pos": 214952, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6315, + "pos": 215108, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6317, + "pos": 215273, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6319, + "pos": 215438, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6324, + "pos": 215657, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6327, + "pos": 215821, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6328, + "pos": 215899, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6330, + "pos": 216029, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6333, + "pos": 216189, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6334, + "pos": 216237, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6335, + "pos": 216295, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6337, + "pos": 216373, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182644", + "line": 6338, + "pos": 216423, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182854", + "line": 6480, + "pos": 221198, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6581, + "pos": 224623, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6588, + "pos": 225045, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6592, + "pos": 225324, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6601, + "pos": 225873, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6601, + "pos": 225900, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6603, + "pos": 226035, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6603, + "pos": 226062, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6611, + "pos": 226471, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6612, + "pos": 226519, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6616, + "pos": 226849, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6617, + "pos": 226927, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80182EA8", + "line": 6625, + "pos": 227314, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018314C", + "line": 6666, + "pos": 228258, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801832EC", + "line": 6721, + "pos": 229891, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183464", + "line": 6823, + "pos": 232270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183464", + "line": 6825, + "pos": 232332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183464", + "line": 6826, + "pos": 232418, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6847, + "pos": 233059, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6848, + "pos": 233099, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6856, + "pos": 233491, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6856, + "pos": 233516, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6858, + "pos": 233635, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018355C", + "line": 6858, + "pos": 233662, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183630", + "line": 6884, + "pos": 234277, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183730", + "line": 6960, + "pos": 235887, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183730", + "line": 6962, + "pos": 236025, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183730", + "line": 6964, + "pos": 236137, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 6994, + "pos": 236893, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 6995, + "pos": 236929, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 7008, + "pos": 237417, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 7008, + "pos": 237442, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 7011, + "pos": 237554, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018382C", + "line": 7011, + "pos": 237581, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183920", + "line": 7040, + "pos": 238192, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A00", + "line": 7072, + "pos": 239080, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7103, + "pos": 239899, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7106, + "pos": 240020, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7108, + "pos": 240130, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7113, + "pos": 240431, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7117, + "pos": 240542, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7130, + "pos": 241139, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7132, + "pos": 241228, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7133, + "pos": 241293, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7149, + "pos": 241768, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7149, + "pos": 241801, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7150, + "pos": 241865, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183A70", + "line": 7151, + "pos": 241929, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183CDC", + "line": 7204, + "pos": 243309, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183DA4", + "line": 7227, + "pos": 243979, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80183DA4", + "line": 7247, + "pos": 244438, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184194", + "line": 7393, + "pos": 247777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801841E0", + "line": 7413, + "pos": 248217, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801841E0", + "line": 7438, + "pos": 248934, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801841E0", + "line": 7446, + "pos": 249226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018431C", + "line": 7466, + "pos": 249637, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018431C", + "line": 7467, + "pos": 249680, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184370", + "line": 7490, + "pos": 250188, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184370", + "line": 7490, + "pos": 250215, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184370", + "line": 7491, + "pos": 250255, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184370", + "line": 7491, + "pos": 250282, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018457C", + "line": 7576, + "pos": 252755, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018457C", + "line": 7593, + "pos": 253329, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018457C", + "line": 7602, + "pos": 253684, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018457C", + "line": 7616, + "pos": 254236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184944", + "line": 7722, + "pos": 257071, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184944", + "line": 7732, + "pos": 257380, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184944", + "line": 7746, + "pos": 257923, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184AA8", + "line": 7764, + "pos": 258268, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184AFC", + "line": 7798, + "pos": 259037, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80184C0C", + "line": 7825, + "pos": 259705, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801850F4", + "line": 8019, + "pos": 266697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 54 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801850F4", + "line": 8022, + "pos": 266862, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801850F4", + "line": 8051, + "pos": 267988, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185320", + "line": 8120, + "pos": 269963, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801857CC", + "line": 8312, + "pos": 276877, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s1", + "bclass": "local", + "off": 54 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801857CC", + "line": 8315, + "pos": 277060, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_801857CC", + "line": 8347, + "pos": 278310, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018598C", + "line": 8411, + "pos": 280480, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*(s32 *)&(*(s32 *)&D_80126B78)", + "bclass": "nested", + "off": 18 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018598C", + "line": 8432, + "pos": 281143, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018598C", + "line": 8443, + "pos": 281702, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018598C", + "line": 8453, + "pos": 282106, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_8018598C", + "line": 8456, + "pos": 282372, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185C2C", + "line": 8497, + "pos": 283815, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 54 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185C2C", + "line": 8500, + "pos": 283980, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185C2C", + "line": 8529, + "pos": 285250, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185DD8", + "line": 8598, + "pos": 288856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185DD8", + "line": 8616, + "pos": 289557, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185DD8", + "line": 8623, + "pos": 289715, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185DD8", + "line": 8624, + "pos": 289754, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185DD8", + "line": 8625, + "pos": 289793, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8713, + "pos": 293690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8718, + "pos": 294089, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8724, + "pos": 294467, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8733, + "pos": 294739, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8742, + "pos": 294976, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 118 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8757, + "pos": 295465, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8788, + "pos": 295990, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8791, + "pos": 296087, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8801, + "pos": 296340, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", + "fn": "func_80185F58", + "line": 8802, + "pos": 296412, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 2987, + "pos": 110136, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 2994, + "pos": 110432, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 2996, + "pos": 110599, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 2999, + "pos": 110724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 3011, + "pos": 111262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 3013, + "pos": 111392, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187AEC", + "line": 3051, + "pos": 113111, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3121, + "pos": 115820, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3132, + "pos": 116443, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3147, + "pos": 117087, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3148, + "pos": 117147, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3149, + "pos": 117207, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3151, + "pos": 117272, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3156, + "pos": 117478, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3161, + "pos": 117694, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80187DD0", + "line": 3166, + "pos": 117910, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801880C4", + "line": 3223, + "pos": 120356, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018829C", + "line": 3305, + "pos": 122788, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018829C", + "line": 3340, + "pos": 123821, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018829C", + "line": 3344, + "pos": 123969, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018829C", + "line": 3345, + "pos": 124058, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018829C", + "line": 3346, + "pos": 124109, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80188554", + "line": 3426, + "pos": 126480, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3521, + "pos": 130470, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3543, + "pos": 131477, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3545, + "pos": 131576, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3585, + "pos": 133341, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3589, + "pos": 133455, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3590, + "pos": 133516, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3594, + "pos": 133630, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3599, + "pos": 133856, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3602, + "pos": 134114, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801886B0", + "line": 3604, + "pos": 134173, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80188B9C", + "line": 3746, + "pos": 139919, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80188B9C", + "line": 3747, + "pos": 139971, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80188B9C", + "line": 3748, + "pos": 140025, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80188D90", + "line": 3783, + "pos": 140867, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801894F0", + "line": 4168, + "pos": 155346, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801894F0", + "line": 4185, + "pos": 156123, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_801894F0", + "line": 4260, + "pos": 157433, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189954", + "line": 4273, + "pos": 157855, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189954", + "line": 4275, + "pos": 158014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189954", + "line": 4277, + "pos": 158174, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189A34", + "line": 4371, + "pos": 162587, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189A34", + "line": 4373, + "pos": 162650, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189A34", + "line": 4375, + "pos": 162848, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189A34", + "line": 4376, + "pos": 162950, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189A34", + "line": 4378, + "pos": 163148, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189C28", + "line": 4424, + "pos": 164505, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189C28", + "line": 4441, + "pos": 165085, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4466, + "pos": 165925, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4468, + "pos": 166107, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4469, + "pos": 166201, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4471, + "pos": 166383, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4475, + "pos": 166528, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4481, + "pos": 166662, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4483, + "pos": 166738, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 238 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4486, + "pos": 166867, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 242 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4487, + "pos": 166908, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189D64", + "line": 4490, + "pos": 167019, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189E60", + "line": 4613, + "pos": 172777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189E60", + "line": 4614, + "pos": 172816, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_80189E60", + "line": 4615, + "pos": 172857, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4716, + "pos": 175117, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4718, + "pos": 175237, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4735, + "pos": 175802, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4744, + "pos": 176219, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4746, + "pos": 176321, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A170", + "line": 4753, + "pos": 176505, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4794, + "pos": 177678, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4801, + "pos": 177929, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4802, + "pos": 178029, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4803, + "pos": 178117, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4804, + "pos": 178164, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4809, + "pos": 178334, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4813, + "pos": 178548, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4825, + "pos": 178946, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A28C", + "line": 4826, + "pos": 179030, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A7C8", + "line": 4979, + "pos": 183650, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A7C8", + "line": 4981, + "pos": 183740, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 80 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A7C8", + "line": 4983, + "pos": 183826, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018A7C8", + "line": 4989, + "pos": 184069, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018AD74", + "line": 5339, + "pos": 198143, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018AD74", + "line": 5341, + "pos": 198245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B060", + "line": 5469, + "pos": 203417, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B060", + "line": 5475, + "pos": 203826, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B060", + "line": 5476, + "pos": 203874, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B1D8", + "line": 5546, + "pos": 206677, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B1D8", + "line": 5550, + "pos": 206876, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5577, + "pos": 207759, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5583, + "pos": 208168, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5583, + "pos": 208201, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5584, + "pos": 208250, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5584, + "pos": 208283, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B330", + "line": 5592, + "pos": 208660, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B4D8", + "line": 5641, + "pos": 210085, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B4D8", + "line": 5648, + "pos": 210342, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B4D8", + "line": 5649, + "pos": 210393, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B714", + "line": 5692, + "pos": 211414, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B774", + "line": 5768, + "pos": 213680, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 232 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B8F8", + "line": 5813, + "pos": 214863, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s0", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B9D4", + "line": 5844, + "pos": 215782, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B9D4", + "line": 5859, + "pos": 216338, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018B9D4", + "line": 5860, + "pos": 216390, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018BB18", + "line": 5877, + "pos": 216928, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018CA44", + "line": 6441, + "pos": 233070, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018CB88", + "line": 6489, + "pos": 234221, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018CB88", + "line": 6510, + "pos": 234775, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018CB88", + "line": 6511, + "pos": 234865, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 48 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D40C", + "line": 6819, + "pos": 244288, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D514", + "line": 6842, + "pos": 244889, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D514", + "line": 6850, + "pos": 245175, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D870", + "line": 7189, + "pos": 259714, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D870", + "line": 7191, + "pos": 259816, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D870", + "line": 7270, + "pos": 263503, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018D870", + "line": 7272, + "pos": 263613, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E188", + "line": 7536, + "pos": 272618, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E188", + "line": 7538, + "pos": 272720, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iv", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7689, + "pos": 279314, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7692, + "pos": 279427, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7706, + "pos": 279847, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7708, + "pos": 279930, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 26 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7712, + "pos": 280049, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", + "fn": "func_8018E5DC", + "line": 7718, + "pos": 280258, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2777, + "pos": 101459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2782, + "pos": 101552, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2782, + "pos": 101586, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2800, + "pos": 102264, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2801, + "pos": 102307, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2828, + "pos": 103245, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2829, + "pos": 103292, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2845, + "pos": 103839, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2845, + "pos": 103867, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2846, + "pos": 103912, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2846, + "pos": 103940, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2850, + "pos": 104113, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2851, + "pos": 104160, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2860, + "pos": 104417, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2861, + "pos": 104464, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2893, + "pos": 105404, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184A28", + "line": 2894, + "pos": 105447, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80184F88", + "line": 2965, + "pos": 107612, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 2993, + "pos": 108191, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 2996, + "pos": 108285, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 3006, + "pos": 108719, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 3007, + "pos": 108776, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 3008, + "pos": 108857, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018500C", + "line": 3009, + "pos": 108942, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801850CC", + "line": 3044, + "pos": 109802, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801850CC", + "line": 3048, + "pos": 109906, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801853B4", + "line": 3253, + "pos": 118391, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3372, + "pos": 121859, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3374, + "pos": 122035, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3375, + "pos": 122132, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3377, + "pos": 122195, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3377, + "pos": 122238, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3378, + "pos": 122364, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3379, + "pos": 122457, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3381, + "pos": 122521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3381, + "pos": 122564, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3383, + "pos": 122741, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185750", + "line": 3384, + "pos": 122838, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3610, + "pos": 131363, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3617, + "pos": 131659, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3619, + "pos": 131826, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3622, + "pos": 131951, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3634, + "pos": 132489, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3636, + "pos": 132619, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185B80", + "line": 3674, + "pos": 134338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3743, + "pos": 137026, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3754, + "pos": 137667, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3769, + "pos": 138311, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3770, + "pos": 138371, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3771, + "pos": 138431, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3773, + "pos": 138496, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3778, + "pos": 138720, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3783, + "pos": 138954, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80185E64", + "line": 3788, + "pos": 139188, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186158", + "line": 3823, + "pos": 140010, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186330", + "line": 3902, + "pos": 142466, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186330", + "line": 3937, + "pos": 143499, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186330", + "line": 3941, + "pos": 143647, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186330", + "line": 3942, + "pos": 143736, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186330", + "line": 3943, + "pos": 143787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801865E8", + "line": 4020, + "pos": 146114, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4113, + "pos": 149845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4135, + "pos": 150852, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4137, + "pos": 150951, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4177, + "pos": 152716, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4181, + "pos": 152830, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4182, + "pos": 152891, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4186, + "pos": 153005, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4191, + "pos": 153231, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4194, + "pos": 153494, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186744", + "line": 4195, + "pos": 153563, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186C30", + "line": 4293, + "pos": 157008, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186C30", + "line": 4294, + "pos": 157060, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186C30", + "line": 4295, + "pos": 157114, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80186E24", + "line": 4334, + "pos": 157960, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187584", + "line": 4720, + "pos": 172449, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "obj", + "bclass": "local", + "off": 28 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187584", + "line": 4737, + "pos": 173226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187584", + "line": 4812, + "pos": 174536, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801879E8", + "line": 4824, + "pos": 174938, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801879E8", + "line": 4826, + "pos": 175097, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801879E8", + "line": 4828, + "pos": 175257, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187AC8", + "line": 4888, + "pos": 177369, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187AC8", + "line": 4890, + "pos": 177432, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187AC8", + "line": 4892, + "pos": 177630, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187AC8", + "line": 4893, + "pos": 177732, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187AC8", + "line": 4895, + "pos": 177930, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187CBC", + "line": 4943, + "pos": 179289, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187CBC", + "line": 4960, + "pos": 179869, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 4986, + "pos": 180777, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 4988, + "pos": 180959, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 4989, + "pos": 181053, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 4991, + "pos": 181235, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 4995, + "pos": 181380, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 5001, + "pos": 181514, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 5003, + "pos": 181590, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 238 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 5006, + "pos": 181719, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 242 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 5007, + "pos": 181760, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187DF8", + "line": 5010, + "pos": 181871, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187EF4", + "line": 5058, + "pos": 182917, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187EF4", + "line": 5059, + "pos": 182956, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80187EF4", + "line": 5060, + "pos": 182997, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5378, + "pos": 192868, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5379, + "pos": 192911, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5380, + "pos": 192964, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5396, + "pos": 193998, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5397, + "pos": 194073, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5399, + "pos": 194229, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5408, + "pos": 194519, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5408, + "pos": 194549, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5409, + "pos": 194585, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188754", + "line": 5410, + "pos": 194645, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188964", + "line": 5568, + "pos": 200543, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188D68", + "line": 5609, + "pos": 202296, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188EDC", + "line": 5698, + "pos": 205758, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80188EDC", + "line": 5700, + "pos": 205871, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189318", + "line": 5947, + "pos": 214806, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189318", + "line": 5948, + "pos": 214875, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189318", + "line": 5950, + "pos": 214954, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189318", + "line": 5961, + "pos": 215642, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801897DC", + "line": 6018, + "pos": 217210, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801897DC", + "line": 6019, + "pos": 217252, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801899AC", + "line": 6136, + "pos": 221818, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_801899AC", + "line": 6137, + "pos": 221860, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189B9C", + "line": 6211, + "pos": 224234, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189B9C", + "line": 6216, + "pos": 224480, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189B9C", + "line": 6219, + "pos": 224612, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189B9C", + "line": 6254, + "pos": 225849, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189B9C", + "line": 6254, + "pos": 225881, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189EB4", + "line": 6320, + "pos": 228522, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189EB4", + "line": 6323, + "pos": 228711, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189EB4", + "line": 6324, + "pos": 228803, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_80189EB4", + "line": 6325, + "pos": 228895, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A0AC", + "line": 6517, + "pos": 236271, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6549, + "pos": 236947, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6549, + "pos": 236991, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6550, + "pos": 237078, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6551, + "pos": 237132, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6551, + "pos": 237176, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6553, + "pos": 237332, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6555, + "pos": 237497, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6557, + "pos": 237662, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6562, + "pos": 237881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6565, + "pos": 238045, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6566, + "pos": 238123, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6568, + "pos": 238253, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6571, + "pos": 238413, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6572, + "pos": 238461, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6573, + "pos": 238519, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6575, + "pos": 238597, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A4F4", + "line": 6576, + "pos": 238647, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018A704", + "line": 6718, + "pos": 243422, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6816, + "pos": 246459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6823, + "pos": 246881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6827, + "pos": 247160, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6836, + "pos": 247709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6836, + "pos": 247736, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6838, + "pos": 247871, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6838, + "pos": 247898, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6846, + "pos": 248307, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6847, + "pos": 248355, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6851, + "pos": 248685, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6852, + "pos": 248763, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AD58", + "line": 6860, + "pos": 249150, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018AFFC", + "line": 6897, + "pos": 250121, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B19C", + "line": 6953, + "pos": 251767, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B314", + "line": 7049, + "pos": 254066, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B314", + "line": 7051, + "pos": 254128, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B314", + "line": 7052, + "pos": 254214, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7073, + "pos": 254855, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7074, + "pos": 254895, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7082, + "pos": 255287, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7082, + "pos": 255312, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7084, + "pos": 255431, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B40C", + "line": 7084, + "pos": 255458, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B4E0", + "line": 7110, + "pos": 256073, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B5E0", + "line": 7187, + "pos": 257684, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B5E0", + "line": 7189, + "pos": 257822, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B5E0", + "line": 7191, + "pos": 257934, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7221, + "pos": 258690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7222, + "pos": 258726, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7235, + "pos": 259214, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7235, + "pos": 259239, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7238, + "pos": 259351, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B6DC", + "line": 7238, + "pos": 259378, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B7D0", + "line": 7267, + "pos": 259989, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B8B0", + "line": 7307, + "pos": 260972, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B8B0", + "line": 7308, + "pos": 261015, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018B8B0", + "line": 7309, + "pos": 261068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018BF50", + "line": 7566, + "pos": 271809, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018BF50", + "line": 7567, + "pos": 271845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C28C", + "line": 7751, + "pos": 277488, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C664", + "line": 7900, + "pos": 281616, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C664", + "line": 7913, + "pos": 281942, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C664", + "line": 7915, + "pos": 282056, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C664", + "line": 7918, + "pos": 282152, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C778", + "line": 7998, + "pos": 285287, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C928", + "line": 8036, + "pos": 286264, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C928", + "line": 8042, + "pos": 286435, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018C928", + "line": 8045, + "pos": 286542, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CBDC", + "line": 8150, + "pos": 289137, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CC68", + "line": 8194, + "pos": 290242, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CD90", + "line": 8238, + "pos": 291473, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CD90", + "line": 8244, + "pos": 291783, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CD90", + "line": 8264, + "pos": 292454, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CFE4", + "line": 8335, + "pos": 294459, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CFE4", + "line": 8336, + "pos": 294537, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CFE4", + "line": 8341, + "pos": 294708, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018CFE4", + "line": 8342, + "pos": 294787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D0B8", + "line": 8387, + "pos": 296107, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D0B8", + "line": 8387, + "pos": 296139, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D0B8", + "line": 8393, + "pos": 296370, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D0B8", + "line": 8393, + "pos": 296402, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8433, + "pos": 297358, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8435, + "pos": 297478, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8452, + "pos": 298035, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 252 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8461, + "pos": 298452, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8463, + "pos": 298554, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", + "fn": "func_8018D1B0", + "line": 8470, + "pos": 298738, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2810, + "pos": 102826, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2815, + "pos": 102919, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2815, + "pos": 102953, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2833, + "pos": 103631, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2834, + "pos": 103674, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2861, + "pos": 104612, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2862, + "pos": 104659, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2878, + "pos": 105206, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2878, + "pos": 105234, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2879, + "pos": 105279, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2879, + "pos": 105307, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2883, + "pos": 105480, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2884, + "pos": 105527, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2893, + "pos": 105784, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2894, + "pos": 105831, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2926, + "pos": 106771, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80186F00", + "line": 2927, + "pos": 106814, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187460", + "line": 2998, + "pos": 108996, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3027, + "pos": 109573, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3030, + "pos": 109667, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3040, + "pos": 110101, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3041, + "pos": 110158, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3042, + "pos": 110239, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 174 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801874E4", + "line": 3043, + "pos": 110324, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801875A4", + "line": 3066, + "pos": 111154, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801875A4", + "line": 3069, + "pos": 111264, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "s0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018788C", + "line": 3276, + "pos": 119791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187A50", + "line": 3315, + "pos": 120895, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187A50", + "line": 3316, + "pos": 120941, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187A50", + "line": 3327, + "pos": 121319, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187A50", + "line": 3339, + "pos": 121774, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3398, + "pos": 123511, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3400, + "pos": 123687, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3401, + "pos": 123784, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3403, + "pos": 123847, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3403, + "pos": 123890, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3404, + "pos": 124016, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3405, + "pos": 124109, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3407, + "pos": 124173, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3407, + "pos": 124216, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 144 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3409, + "pos": 124393, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187C28", + "line": 3410, + "pos": 124490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187ECC", + "line": 3534, + "pos": 128889, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187ECC", + "line": 3538, + "pos": 129032, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187ECC", + "line": 3542, + "pos": 129176, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80187ECC", + "line": 3568, + "pos": 129961, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3633, + "pos": 132981, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3640, + "pos": 133297, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3642, + "pos": 133464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3645, + "pos": 133589, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3657, + "pos": 134127, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3659, + "pos": 134257, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188058", + "line": 3697, + "pos": 136014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3765, + "pos": 138741, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3776, + "pos": 139382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3791, + "pos": 140026, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3792, + "pos": 140086, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3793, + "pos": 140146, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3795, + "pos": 140211, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3800, + "pos": 140435, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3805, + "pos": 140669, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018833C", + "line": 3810, + "pos": 140903, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188630", + "line": 3867, + "pos": 143342, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188808", + "line": 3944, + "pos": 145719, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188808", + "line": 3979, + "pos": 146792, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188808", + "line": 3983, + "pos": 146940, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188808", + "line": 3984, + "pos": 147029, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188808", + "line": 3985, + "pos": 147080, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188AC0", + "line": 4063, + "pos": 149415, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4160, + "pos": 153266, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4182, + "pos": 154313, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4184, + "pos": 154412, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4224, + "pos": 156177, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4228, + "pos": 156291, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4229, + "pos": 156352, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4233, + "pos": 156466, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4238, + "pos": 156692, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4241, + "pos": 156955, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80188C1C", + "line": 4242, + "pos": 157024, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189108", + "line": 4340, + "pos": 160469, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189108", + "line": 4341, + "pos": 160521, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189108", + "line": 4342, + "pos": 160575, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_801892FC", + "line": 4380, + "pos": 161435, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189A5C", + "line": 4776, + "pos": 176692, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189A5C", + "line": 4851, + "pos": 178002, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189EC0", + "line": 4863, + "pos": 178351, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189EC0", + "line": 4865, + "pos": 178510, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189EC0", + "line": 4867, + "pos": 178670, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189FA0", + "line": 4927, + "pos": 180785, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189FA0", + "line": 4929, + "pos": 180848, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189FA0", + "line": 4931, + "pos": 181046, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189FA0", + "line": 4932, + "pos": 181148, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_80189FA0", + "line": 4934, + "pos": 181346, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018A194", + "line": 4982, + "pos": 182725, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018A194", + "line": 4999, + "pos": 183305, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018A3CC", + "line": 5138, + "pos": 188954, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018A3CC", + "line": 5139, + "pos": 188993, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018A3CC", + "line": 5140, + "pos": 189034, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5467, + "pos": 199225, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5468, + "pos": 199268, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5469, + "pos": 199321, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5485, + "pos": 200355, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5486, + "pos": 200430, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5488, + "pos": 200586, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5497, + "pos": 200876, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5497, + "pos": 200906, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5498, + "pos": 200942, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AC2C", + "line": 5499, + "pos": 201002, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018AE3C", + "line": 5657, + "pos": 206966, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B240", + "line": 5698, + "pos": 208719, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B3B4", + "line": 5787, + "pos": 212181, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B3B4", + "line": 5789, + "pos": 212294, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B7F0", + "line": 6036, + "pos": 221229, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B7F0", + "line": 6037, + "pos": 221298, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B7F0", + "line": 6039, + "pos": 221377, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018B7F0", + "line": 6050, + "pos": 222065, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018BCB4", + "line": 6107, + "pos": 223633, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018BCB4", + "line": 6108, + "pos": 223675, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018BE84", + "line": 6225, + "pos": 228241, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018BE84", + "line": 6226, + "pos": 228283, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C074", + "line": 6300, + "pos": 230657, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C074", + "line": 6305, + "pos": 230923, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C074", + "line": 6308, + "pos": 231075, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C074", + "line": 6343, + "pos": 232312, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C074", + "line": 6343, + "pos": 232344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C38C", + "line": 6409, + "pos": 235031, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C38C", + "line": 6412, + "pos": 235220, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C38C", + "line": 6413, + "pos": 235312, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C38C", + "line": 6414, + "pos": 235404, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C584", + "line": 6606, + "pos": 242846, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6638, + "pos": 243522, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6638, + "pos": 243566, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6639, + "pos": 243653, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6640, + "pos": 243707, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6640, + "pos": 243751, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6642, + "pos": 243907, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6644, + "pos": 244072, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6646, + "pos": 244237, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6651, + "pos": 244456, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6654, + "pos": 244620, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6655, + "pos": 244698, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6657, + "pos": 244828, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6660, + "pos": 244988, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6661, + "pos": 245036, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6662, + "pos": 245094, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6664, + "pos": 245172, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018C9CC", + "line": 6665, + "pos": 245222, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018CBDC", + "line": 6806, + "pos": 250062, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6904, + "pos": 253099, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6911, + "pos": 253521, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6915, + "pos": 253800, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6924, + "pos": 254349, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6924, + "pos": 254376, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6926, + "pos": 254511, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6926, + "pos": 254538, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6934, + "pos": 254947, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6935, + "pos": 254995, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6939, + "pos": 255325, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6940, + "pos": 255403, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D230", + "line": 6948, + "pos": 255790, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D4D4", + "line": 6985, + "pos": 256717, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D674", + "line": 7044, + "pos": 258366, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D674", + "line": 7045, + "pos": 258407, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D674", + "line": 7047, + "pos": 258472, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D7EC", + "line": 7145, + "pos": 260769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D7EC", + "line": 7147, + "pos": 260831, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D7EC", + "line": 7148, + "pos": 260917, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7169, + "pos": 261558, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7170, + "pos": 261598, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7178, + "pos": 261990, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7178, + "pos": 262015, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7180, + "pos": 262134, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D8E4", + "line": 7180, + "pos": 262161, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D9B8", + "line": 7207, + "pos": 262790, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D9B8", + "line": 7208, + "pos": 262831, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018D9B8", + "line": 7210, + "pos": 262896, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DAB8", + "line": 7284, + "pos": 264508, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DAB8", + "line": 7286, + "pos": 264646, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DAB8", + "line": 7288, + "pos": 264758, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7318, + "pos": 265514, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7319, + "pos": 265550, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7332, + "pos": 266038, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7332, + "pos": 266063, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7335, + "pos": 266175, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DBB4", + "line": 7335, + "pos": 266202, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DCA8", + "line": 7365, + "pos": 266827, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DCA8", + "line": 7366, + "pos": 266868, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DCA8", + "line": 7368, + "pos": 266933, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "a1", + "bclass": "local", + "off": 1 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DD88", + "line": 7408, + "pos": 267903, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DD88", + "line": 7409, + "pos": 267946, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018DD88", + "line": 7410, + "pos": 267999, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018E428", + "line": 7667, + "pos": 278740, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018E428", + "line": 7668, + "pos": 278776, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018E764", + "line": 7852, + "pos": 284419, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018EB3C", + "line": 8001, + "pos": 288547, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018EB3C", + "line": 8014, + "pos": 288873, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018EB3C", + "line": 8016, + "pos": 288987, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018EB3C", + "line": 8019, + "pos": 289083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018EC50", + "line": 8099, + "pos": 292218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F0B4", + "line": 8238, + "pos": 296049, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F140", + "line": 8282, + "pos": 297198, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F268", + "line": 8326, + "pos": 298449, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F268", + "line": 8332, + "pos": 298759, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F268", + "line": 8352, + "pos": 299430, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F4BC", + "line": 8424, + "pos": 301474, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F4BC", + "line": 8425, + "pos": 301542, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F4BC", + "line": 8428, + "pos": 301714, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F4BC", + "line": 8429, + "pos": 301792, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F688", + "line": 8547, + "pos": 305171, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", + "fn": "func_8018F688", + "line": 8549, + "pos": 305273, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8017EBC4", + "line": 3983, + "pos": 152014, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "D_801DDBF4", + "bclass": "global", + "off": 4 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80180A70", + "line": 5159, + "pos": 189740, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80180FE0", + "line": 5315, + "pos": 193666, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "D_801DDBF4", + "bclass": "global", + "off": 4 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80181D40", + "line": 5774, + "pos": 206842, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80181D40", + "line": 5775, + "pos": 206933, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80181DF8", + "line": 5859, + "pos": 209437, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80181DF8", + "line": 5870, + "pos": 210012, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "*(s32 *)(param_1 + 0x20)", + "bclass": "nested", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80181DF8", + "line": 5913, + "pos": 211815, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "D_801DDBF4", + "bclass": "global", + "off": 4 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8018280C", + "line": 6154, + "pos": 218561, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8018280C", + "line": 6162, + "pos": 218912, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8018280C", + "line": 6163, + "pos": 218948, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6195, + "pos": 219865, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6225, + "pos": 221035, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6227, + "pos": 221139, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6239, + "pos": 221653, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 240 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6241, + "pos": 221757, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "t", + "bclass": "local", + "off": 36 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6255, + "pos": 222318, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6256, + "pos": 222375, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6257, + "pos": 222432, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801828E4", + "line": 6259, + "pos": 222539, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6543, + "pos": 232321, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*q", + "bclass": "nested", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6544, + "pos": 232370, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*q", + "bclass": "nested", + "off": 10 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6545, + "pos": 232420, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*q", + "bclass": "nested", + "off": 12 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6548, + "pos": 232503, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*p", + "bclass": "nested", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6549, + "pos": 232552, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*p", + "bclass": "nested", + "off": 10 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80182ED8", + "line": 6550, + "pos": 232602, + "name": "CAST_NONSTRUCT", + "cls": "NON-STRUCT", + "base": "*p", + "bclass": "nested", + "off": 12 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183A58", + "line": 6924, + "pos": 245347, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183A58", + "line": 6933, + "pos": 245770, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6960, + "pos": 246258, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6980, + "pos": 247045, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 96 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6982, + "pos": 247136, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6983, + "pos": 247186, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2v", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6996, + "pos": 247656, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a2v2", + "bclass": "local", + "off": 254 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6998, + "pos": 247754, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a2v2", + "bclass": "local", + "off": 236 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183B1C", + "line": 6999, + "pos": 247842, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183CB8", + "line": 7022, + "pos": 248351, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183D84", + "line": 7086, + "pos": 249778, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183D84", + "line": 7091, + "pos": 249975, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "e", + "bclass": "local", + "off": 240 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183D84", + "line": 7094, + "pos": 250100, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "e", + "bclass": "local", + "off": 244 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183D84", + "line": 7136, + "pos": 251432, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 100 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80183D84", + "line": 7141, + "pos": 251625, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "e", + "bclass": "local", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184084", + "line": 7216, + "pos": 254931, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184084", + "line": 7307, + "pos": 258884, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184464", + "line": 7323, + "pos": 259551, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184464", + "line": 7326, + "pos": 259670, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184464", + "line": 7329, + "pos": 259789, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184464", + "line": 7332, + "pos": 259908, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184564", + "line": 7417, + "pos": 262338, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 88 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184564", + "line": 7497, + "pos": 264971, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184564", + "line": 7498, + "pos": 265033, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184564", + "line": 7499, + "pos": 265100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184564", + "line": 7500, + "pos": 265167, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184EFC", + "line": 7711, + "pos": 271846, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184EFC", + "line": 7717, + "pos": 272007, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184FF8", + "line": 7760, + "pos": 273308, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184FF8", + "line": 7769, + "pos": 273670, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80184FF8", + "line": 7775, + "pos": 273914, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801852E4", + "line": 7885, + "pos": 276689, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185C88", + "line": 8391, + "pos": 296580, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185C88", + "line": 8391, + "pos": 296613, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185C88", + "line": 8392, + "pos": 296762, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185C88", + "line": 8400, + "pos": 297068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185D44", + "line": 8446, + "pos": 299007, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185D44", + "line": 8448, + "pos": 299081, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185D44", + "line": 8455, + "pos": 299328, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "v1", + "bclass": "local", + "off": 128 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_80185D44", + "line": 8460, + "pos": 299518, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8018656C", + "line": 8789, + "pos": 307909, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_8018656C", + "line": 8817, + "pos": 308640, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801866B0", + "line": 8888, + "pos": 310724, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", + "fn": "func_801866B0", + "line": 8889, + "pos": 310762, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2826, + "pos": 104631, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2833, + "pos": 104927, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2835, + "pos": 105094, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2838, + "pos": 105219, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2850, + "pos": 105757, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2852, + "pos": 105887, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182890", + "line": 2890, + "pos": 107606, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2958, + "pos": 110293, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2969, + "pos": 110934, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2984, + "pos": 111578, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2985, + "pos": 111638, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2986, + "pos": 111698, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2988, + "pos": 111763, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2993, + "pos": 111987, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 2998, + "pos": 112221, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182B74", + "line": 3003, + "pos": 112455, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "dst", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80182E68", + "line": 3038, + "pos": 113277, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183040", + "line": 3117, + "pos": 115733, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183040", + "line": 3152, + "pos": 116766, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183040", + "line": 3156, + "pos": 116914, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 52 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183040", + "line": 3157, + "pos": 117003, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183040", + "line": 3158, + "pos": 117054, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801832F8", + "line": 3239, + "pos": 119378, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3338, + "pos": 123218, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3360, + "pos": 124225, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3362, + "pos": 124324, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3402, + "pos": 126089, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3406, + "pos": 126203, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3407, + "pos": 126264, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3411, + "pos": 126378, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3416, + "pos": 126604, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3419, + "pos": 126867, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183454", + "line": 3420, + "pos": 126936, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 28 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183940", + "line": 3598, + "pos": 135464, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183940", + "line": 3599, + "pos": 135516, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183940", + "line": 3600, + "pos": 135570, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80183B34", + "line": 3634, + "pos": 136322, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184294", + "line": 4035, + "pos": 151486, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184294", + "line": 4110, + "pos": 152796, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801846F8", + "line": 4122, + "pos": 153198, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801846F8", + "line": 4124, + "pos": 153357, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801846F8", + "line": 4126, + "pos": 153517, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 258 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801847D8", + "line": 4186, + "pos": 155612, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801847D8", + "line": 4188, + "pos": 155675, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 220 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801847D8", + "line": 4190, + "pos": 155873, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801847D8", + "line": 4191, + "pos": 155975, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801847D8", + "line": 4193, + "pos": 156173, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801849CC", + "line": 4241, + "pos": 157532, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801849CC", + "line": 4258, + "pos": 158112, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4306, + "pos": 160735, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4308, + "pos": 160917, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4309, + "pos": 161011, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 212 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4311, + "pos": 161193, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 216 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4316, + "pos": 161372, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4324, + "pos": 161667, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 236 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4326, + "pos": 161743, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 238 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4329, + "pos": 161872, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 242 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4330, + "pos": 161913, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 244 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184B08", + "line": 4333, + "pos": 162024, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 248 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184C04", + "line": 4437, + "pos": 166541, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184C04", + "line": 4438, + "pos": 166580, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80184C04", + "line": 4439, + "pos": 166621, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "base", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4768, + "pos": 176578, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4775, + "pos": 176829, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4776, + "pos": 176929, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4777, + "pos": 177017, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4778, + "pos": 177064, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4783, + "pos": 177234, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4787, + "pos": 177448, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4799, + "pos": 177846, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80185464", + "line": 4800, + "pos": 177930, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801859A0", + "line": 4953, + "pos": 182598, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801859A0", + "line": 4955, + "pos": 182688, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a1", + "bclass": "local", + "off": 80 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801859A0", + "line": 4957, + "pos": 182774, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 80 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801859A0", + "line": 4963, + "pos": 182982, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186238", + "line": 5360, + "pos": 197276, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186238", + "line": 5366, + "pos": 197685, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186238", + "line": 5367, + "pos": 197733, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801863B0", + "line": 5439, + "pos": 200762, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801863B0", + "line": 5443, + "pos": 200961, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5470, + "pos": 201859, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5476, + "pos": 202268, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5476, + "pos": 202301, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5477, + "pos": 202350, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5477, + "pos": 202383, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186508", + "line": 5485, + "pos": 202760, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801866B0", + "line": 5549, + "pos": 205608, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801866B0", + "line": 5558, + "pos": 206112, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801866B0", + "line": 5559, + "pos": 206168, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186870", + "line": 5594, + "pos": 207120, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801868EC", + "line": 5607, + "pos": 207329, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018694C", + "line": 5679, + "pos": 209523, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "s1", + "bclass": "local", + "off": 232 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186BAC", + "line": 5761, + "pos": 211571, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186BAC", + "line": 5776, + "pos": 212127, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186BAC", + "line": 5777, + "pos": 212179, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 232 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80186CF0", + "line": 5791, + "pos": 212638, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80187A64", + "line": 6282, + "pos": 227120, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80187A64", + "line": 6284, + "pos": 227227, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 228 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80187B88", + "line": 6326, + "pos": 228522, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80187C1C", + "line": 6345, + "pos": 229095, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 262 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6694, + "pos": 239647, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6695, + "pos": 239690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6696, + "pos": 239743, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6712, + "pos": 240777, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6713, + "pos": 240852, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6715, + "pos": 241008, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6724, + "pos": 241298, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6724, + "pos": 241328, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6725, + "pos": 241364, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801885E4", + "line": 6726, + "pos": 241424, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801887F4", + "line": 6884, + "pos": 247322, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80188BF8", + "line": 6906, + "pos": 247893, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80188D6C", + "line": 6995, + "pos": 251355, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80188D6C", + "line": 6997, + "pos": 251468, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801891A8", + "line": 7244, + "pos": 260445, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801891A8", + "line": 7245, + "pos": 260514, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801891A8", + "line": 7247, + "pos": 260593, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_801891A8", + "line": 7258, + "pos": 261281, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018966C", + "line": 7315, + "pos": 262849, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018966C", + "line": 7316, + "pos": 262891, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018983C", + "line": 7433, + "pos": 267457, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018983C", + "line": 7434, + "pos": 267499, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189A2C", + "line": 7508, + "pos": 269873, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189A2C", + "line": 7513, + "pos": 270119, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189A2C", + "line": 7516, + "pos": 270251, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189A2C", + "line": 7551, + "pos": 271488, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189A2C", + "line": 7551, + "pos": 271520, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189D44", + "line": 7617, + "pos": 274161, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189D44", + "line": 7620, + "pos": 274350, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189D44", + "line": 7621, + "pos": 274442, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189D44", + "line": 7622, + "pos": 274534, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_80189F3C", + "line": 7814, + "pos": 281910, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7846, + "pos": 282586, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7846, + "pos": 282630, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7847, + "pos": 282717, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7848, + "pos": 282771, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7848, + "pos": 282815, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7850, + "pos": 282971, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7852, + "pos": 283136, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7854, + "pos": 283301, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7859, + "pos": 283520, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7862, + "pos": 283684, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7863, + "pos": 283762, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7865, + "pos": 283892, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7868, + "pos": 284052, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7869, + "pos": 284100, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7870, + "pos": 284158, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7872, + "pos": 284236, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A384", + "line": 7873, + "pos": 284286, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018A594", + "line": 8015, + "pos": 289061, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8113, + "pos": 292098, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8120, + "pos": 292520, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8124, + "pos": 292799, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8133, + "pos": 293348, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8133, + "pos": 293375, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8135, + "pos": 293510, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8135, + "pos": 293537, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8143, + "pos": 293946, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8144, + "pos": 293994, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8148, + "pos": 294324, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8149, + "pos": 294402, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018ABE8", + "line": 8157, + "pos": 294789, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018AE8C", + "line": 8193, + "pos": 295745, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B02C", + "line": 8251, + "pos": 297354, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B1A4", + "line": 8340, + "pos": 299466, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B1A4", + "line": 8343, + "pos": 299645, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8366, + "pos": 300342, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8367, + "pos": 300382, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8375, + "pos": 300774, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8375, + "pos": 300799, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8377, + "pos": 300918, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B29C", + "line": 8377, + "pos": 300945, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B370", + "line": 8403, + "pos": 301560, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B470", + "line": 8482, + "pos": 303388, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B470", + "line": 8484, + "pos": 303515, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8516, + "pos": 304332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8517, + "pos": 304368, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8530, + "pos": 304856, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8530, + "pos": 304881, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8533, + "pos": 304993, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B56C", + "line": 8533, + "pos": 305020, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018B660", + "line": 8562, + "pos": 305631, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018BDE0", + "line": 8804, + "pos": 313781, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018BDE0", + "line": 8805, + "pos": 313817, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C11C", + "line": 8989, + "pos": 319499, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C4F4", + "line": 9138, + "pos": 323688, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C4F4", + "line": 9151, + "pos": 324014, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C4F4", + "line": 9153, + "pos": 324128, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C4F4", + "line": 9156, + "pos": 324224, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C608", + "line": 9206, + "pos": 325697, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C7B8", + "line": 9244, + "pos": 326674, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C7B8", + "line": 9250, + "pos": 326845, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018C7B8", + "line": 9253, + "pos": 326952, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CA6C", + "line": 9358, + "pos": 329682, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CAF8", + "line": 9400, + "pos": 330743, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CC20", + "line": 9444, + "pos": 331992, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CC20", + "line": 9450, + "pos": 332302, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CC20", + "line": 9470, + "pos": 332995, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CE74", + "line": 9541, + "pos": 335160, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CE74", + "line": 9542, + "pos": 335228, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CE74", + "line": 9545, + "pos": 335383, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018CE74", + "line": 9546, + "pos": 335461, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D040", + "line": 9660, + "pos": 338739, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D040", + "line": 9662, + "pos": 338841, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "np", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D15C", + "line": 9746, + "pos": 341800, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D264", + "line": 9770, + "pos": 342416, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D264", + "line": 9778, + "pos": 342678, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D5C0", + "line": 9934, + "pos": 347533, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018D5C0", + "line": 9937, + "pos": 347646, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DBB0", + "line": 10150, + "pos": 355768, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DBB0", + "line": 10153, + "pos": 355881, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DD44", + "line": 10230, + "pos": 358873, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DD44", + "line": 10233, + "pos": 358986, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DED8", + "line": 10312, + "pos": 361757, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018DED8", + "line": 10315, + "pos": 361870, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10470, + "pos": 367677, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10473, + "pos": 367790, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10487, + "pos": 368210, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10489, + "pos": 368293, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 26 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10493, + "pos": 368412, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E32C", + "line": 10499, + "pos": 368621, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "t", + "bclass": "local", + "off": 18 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E70C", + "line": 10658, + "pos": 374912, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018E70C", + "line": 10661, + "pos": 375025, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018EB08", + "line": 10839, + "pos": 382128, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 118 + }, + { + "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", + "fn": "func_8018EB08", + "line": 10842, + "pos": 382241, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 130 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017DE00", + "line": 3264, + "pos": 112495, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017DE00", + "line": 3265, + "pos": 112535, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017DF44", + "line": 3318, + "pos": 114303, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E224", + "line": 3494, + "pos": 118638, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 138 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E224", + "line": 3504, + "pos": 118946, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E224", + "line": 3507, + "pos": 119073, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E3EC", + "line": 3573, + "pos": 120984, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E3EC", + "line": 3576, + "pos": 121111, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017E8B0", + "line": 3747, + "pos": 125200, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 222 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4232, + "pos": 138301, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4233, + "pos": 138344, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4234, + "pos": 138397, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4250, + "pos": 139431, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4251, + "pos": 139506, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4253, + "pos": 139662, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 14 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4262, + "pos": 139952, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4262, + "pos": 139982, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4263, + "pos": 140018, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F32C", + "line": 4264, + "pos": 140078, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F53C", + "line": 4422, + "pos": 145976, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017F940", + "line": 4463, + "pos": 147709, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FAB4", + "line": 4552, + "pos": 151171, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FAB4", + "line": 4554, + "pos": 151284, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FEF0", + "line": 4801, + "pos": 160261, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FEF0", + "line": 4802, + "pos": 160330, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "spr", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FEF0", + "line": 4804, + "pos": 160409, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 260 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8017FEF0", + "line": 4815, + "pos": 161097, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801803B4", + "line": 4873, + "pos": 162666, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801803B4", + "line": 4874, + "pos": 162708, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180584", + "line": 4991, + "pos": 167274, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180584", + "line": 4992, + "pos": 167316, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180774", + "line": 5066, + "pos": 169690, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180774", + "line": 5071, + "pos": 169936, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 204 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180774", + "line": 5074, + "pos": 170068, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 208 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180774", + "line": 5109, + "pos": 171305, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180774", + "line": 5109, + "pos": 171337, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180A8C", + "line": 5175, + "pos": 173958, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 94 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180A8C", + "line": 5178, + "pos": 174147, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180A8C", + "line": 5179, + "pos": 174239, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180A8C", + "line": 5180, + "pos": 174331, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80180C84", + "line": 5372, + "pos": 181707, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5404, + "pos": 182383, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5404, + "pos": 182427, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5405, + "pos": 182514, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5406, + "pos": 182568, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 6 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5406, + "pos": 182612, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5408, + "pos": 182768, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5410, + "pos": 182933, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5412, + "pos": 183098, + "name": "CAST_MISALIGNED", + "cls": "MISALIGNED", + "base": "param_1", + "bclass": "param", + "off": 50 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5417, + "pos": 183317, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5420, + "pos": 183481, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5421, + "pos": 183559, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5423, + "pos": 183689, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "iVar3", + "bclass": "local", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5426, + "pos": 183849, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5427, + "pos": 183897, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 6 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5428, + "pos": 183955, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 10 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5430, + "pos": 184033, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801810CC", + "line": 5431, + "pos": 184083, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "iVar3", + "bclass": "local", + "off": 14 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801812DC", + "line": 5573, + "pos": 188858, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5671, + "pos": 191895, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5678, + "pos": 192317, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5682, + "pos": 192596, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5691, + "pos": 193145, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5691, + "pos": 193172, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5693, + "pos": 193307, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "local", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5693, + "pos": 193334, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5701, + "pos": 193743, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5702, + "pos": 193791, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5706, + "pos": 194121, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 44 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5707, + "pos": 194199, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181930", + "line": 5715, + "pos": 194586, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "arg0", + "bclass": "param", + "off": 10 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181BD4", + "line": 5756, + "pos": 195530, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 256 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181D74", + "line": 5817, + "pos": 197106, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181EEC", + "line": 5917, + "pos": 199503, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181EEC", + "line": 5919, + "pos": 199565, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181EEC", + "line": 5920, + "pos": 199651, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5941, + "pos": 200292, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5942, + "pos": 200332, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5950, + "pos": 200724, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5950, + "pos": 200749, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5952, + "pos": 200868, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80181FE4", + "line": 5952, + "pos": 200895, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801820B8", + "line": 5978, + "pos": 201510, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801821B8", + "line": 6060, + "pos": 203220, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801821B8", + "line": 6062, + "pos": 203358, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801821B8", + "line": 6064, + "pos": 203470, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6094, + "pos": 204226, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 252 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6095, + "pos": 204262, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 254 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6108, + "pos": 204750, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6108, + "pos": 204775, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6111, + "pos": 204887, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801822B4", + "line": 6111, + "pos": 204914, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "a0", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801823A8", + "line": 6140, + "pos": 205525, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 32 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182488", + "line": 6172, + "pos": 206414, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "a0", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6205, + "pos": 207259, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6208, + "pos": 207380, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 188 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6210, + "pos": 207490, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 196 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6215, + "pos": 207791, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6219, + "pos": 207902, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6232, + "pos": 208499, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 2 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6234, + "pos": 208588, + "name": "CAST_ALIAS", + "cls": "SCHED-ALIAS", + "base": "param_1", + "bclass": "param", + "off": 112 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6235, + "pos": 208653, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6251, + "pos": 209128, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 56 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6251, + "pos": 209161, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 4 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6252, + "pos": 209225, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 8 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801824F8", + "line": 6253, + "pos": 209289, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "param_1", + "bclass": "param", + "off": 12 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182764", + "line": 6308, + "pos": 210769, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "param_1", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8018282C", + "line": 6333, + "pos": 211406, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_8018282C", + "line": 6353, + "pos": 211865, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "local", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182C1C", + "line": 6504, + "pos": 215170, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182C68", + "line": 6526, + "pos": 215672, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182C68", + "line": 6551, + "pos": 216389, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182C68", + "line": 6559, + "pos": 216681, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DA4", + "line": 6582, + "pos": 217119, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DA4", + "line": 6583, + "pos": 217157, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DA4", + "line": 6585, + "pos": 217235, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DA4", + "line": 6586, + "pos": 217277, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "arg0", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DF8", + "line": 6608, + "pos": 217693, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DF8", + "line": 6608, + "pos": 217720, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 16 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DF8", + "line": 6609, + "pos": 217760, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80182DF8", + "line": 6609, + "pos": 217787, + "name": "CAST_WIDTH", + "cls": "WIDTH", + "base": "p", + "bclass": "param", + "off": 24 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183004", + "line": 6698, + "pos": 220210, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183004", + "line": 6715, + "pos": 220784, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183004", + "line": 6724, + "pos": 221139, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183004", + "line": 6738, + "pos": 221691, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801833CC", + "line": 6844, + "pos": 224418, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801833CC", + "line": 6854, + "pos": 224727, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_801833CC", + "line": 6868, + "pos": 225270, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183530", + "line": 6882, + "pos": 225565, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + }, + { + "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", + "fn": "func_80183584", + "line": 6918, + "pos": 226354, + "name": "CAST_SIGN", + "cls": "SIGN", + "base": "p", + "bclass": "param", + "off": 224 + } + ] }, "decls": { "fn_definitions": 99109, @@ -299,7 +56439,7 @@ "extern_data_decls": 1078766, "declared_fn_names": 12088, "multi_spelled_callees": 3773, - "multi_body_names": 6413, + "multi_body_names": 6435, "data_symbols_declared": 55542, "multi_typed_data_symbols": 18498, "asm_label_aliases": 5148, @@ -1471,60 +57611,61 @@ "cross_callees": 96 }, "struct_map": { - "types": 19123, - "explained_sites": 498868, - "deref_sites": 502988, - "explained_pct": 99.2, - "unassigned_sites": 4120, - "conflicts": 857, - "suspect": 11, + "types": 18853, + "explained_sites": 469163, + "deref_sites": 473279, + "explained_pct": 99.1, + "unassigned_sites": 4116, + "conflicts": 858, + "suspect": 12, "evidence": { - "param": 38862, - "assign": 16777, - "ret-of": 4334, - "arg": 10823, - "return": 1524, - "assign&": 1183, - "arg&": 270, - "field": 9896 + "param": 39680, + "arg": 11284, + "assign": 17745, + "ret-of": 5099, + "assign&": 1239, + "return": 1526, + "arg&": 256, + "field": 8963, + "nested": 6 }, "vetoed": { - "arg-conduit": 115274, - "ret-of-multisource": 6678, - "assign-multisource": 33062, - "arg&-conduit": 14636, - "field-multisource": 7008, - "ret-of": 675, - "assign&-multisource": 12102, - "arg&-no-overlap": 3455, - "assign": 347, - "arg-no-overlap": 43617, - "assign&": 337, - "arg": 182, - "return": 12, - "field": 3224 + "arg-no-overlap": 36079, + "arg&-no-overlap": 3438, + "arg-conduit": 121064, + "assign&-multisource": 12168, + "assign-multisource": 33106, + "arg&-conduit": 14637, + "ret-of-multisource": 6609, + "assign": 356, + "field-multisource": 6538, + "assign&": 325, + "ret-of": 395, + "arg": 1262, + "return": 10, + "field": 1168 }, - "singletons": 15077, - "multi_body": 4046, - "sites_in_multi_body": 440088, + "singletons": 14885, + "multi_body": 3968, + "sites_in_multi_body": 412217, "top": [ { "name": "Unkstruct_800B5CB8", - "sites": 107580, - "bodies": 11184, + "sites": 78513, + "bodies": 7638, "size_hint": 268, - "fields": 134, + "fields": 133, "conflicts": 50, - "sign_mixed": 55, + "sign_mixed": 57, "merges": { - "arg&": 249, - "param": 9704, - "arg": 7080, - "assign": 8078, - "return": 713, - "ret-of": 1477, - "assign&": 18, - "field": 2622 + "arg&": 234, + "param": 10058, + "arg": 7337, + "assign": 8393, + "ret-of": 1930, + "return": 706, + "assign&": 7, + "field": 2350 }, "globals_at": [ "D_800B5CB8", @@ -1539,18 +57680,18 @@ }, { "name": "Unkstruct_80126B58", - "sites": 65397, - "bodies": 17047, + "sites": 64172, + "bodies": 16360, "size_hint": 588, - "fields": 175, + "fields": 173, "conflicts": 50, - "sign_mixed": 60, + "sign_mixed": 57, "merges": { - "assign&": 106, - "param": 2102, - "arg": 1087, + "assign&": 107, + "param": 2084, + "arg": 1083, "assign": 43, - "field": 51 + "field": 48 }, "globals_at": [ "D_80126B58" @@ -1604,6 +57745,20 @@ "globals_at": [], "globals_ptr": [] }, + { + "name": "Unkstruct_8014964C", + "sites": 4093, + "bodies": 1749, + "size_hint": 132, + "fields": 20, + "conflicts": 1, + "sign_mixed": 9, + "merges": { + "field": 112 + }, + "globals_at": [], + "globals_ptr": [] + }, { "name": "Unkstruct_f8ed2b9f", "sites": 4061, @@ -1643,39 +57798,43 @@ "globals_ptr": [] }, { - "name": "Unkstruct_8014A1B0", - "sites": 3778, - "bodies": 542, + "name": "Unkstruct_8015D57C", + "sites": 3768, + "bodies": 540, "size_hint": 254, - "fields": 13, + "fields": 7, "conflicts": 0, - "sign_mixed": 1, + "sign_mixed": 0, "merges": { - "field": 13, - "arg": 10, - "param": 10, - "return": 1 + "field": 10 }, "globals_at": [], "globals_ptr": [] }, { - "name": "Unkstruct_80128EA8", - "sites": 3311, - "bodies": 632, - "size_hint": 56, - "fields": 18, - "conflicts": 0, - "sign_mixed": 13, + "name": "Unkstruct_80126948", + "sites": 3278, + "bodies": 1095, + "size_hint": 164, + "fields": 34, + "conflicts": 1, + "sign_mixed": 10, "merges": { - "field": 7, - "arg": 23, - "ret-of": 19, - "assign": 1, - "param": 2 + "arg&": 2, + "param": 14, + "arg": 17, + "assign": 104, + "assign&": 4 }, - "globals_at": [], - "globals_ptr": [] + "globals_at": [ + "D_80126948", + "D_80126E60" + ], + "globals_ptr": [ + "D_80114EE8", + "D_801151D4", + "D_80126948" + ] }, { "name": "Unkstruct_57a28935", @@ -1716,31 +57875,6 @@ "globals_at": [], "globals_ptr": [] }, - { - "name": "Unkstruct_80126948", - "sites": 2986, - "bodies": 832, - "size_hint": 164, - "fields": 34, - "conflicts": 0, - "sign_mixed": 10, - "merges": { - "arg&": 1, - "assign": 99, - "param": 6, - "arg": 14, - "assign&": 4 - }, - "globals_at": [ - "D_80126948", - "D_80126E60" - ], - "globals_ptr": [ - "D_80114EE8", - "D_801151D4", - "D_80126948" - ] - }, { "name": "Unkstruct_adc0bee4", "sites": 2646, @@ -1769,20 +57903,6 @@ "globals_at": [], "globals_ptr": [] }, - { - "name": "Unkstruct_801439FC", - "sites": 2489, - "bodies": 981, - "size_hint": 268, - "fields": 57, - "conflicts": 9, - "sign_mixed": 22, - "merges": { - "field": 102 - }, - "globals_at": [], - "globals_ptr": [] - }, { "name": "Unkstruct_80130D48", "sites": 2382, @@ -1793,7 +57913,7 @@ "sign_mixed": 3, "merges": { "field": 1, - "assign": 119 + "assign": 121 }, "globals_at": [], "globals_ptr": [ @@ -1892,6 +58012,20 @@ }, "globals_at": [], "globals_ptr": [] + }, + { + "name": "Unkstruct_a8d34bce", + "sites": 1948, + "bodies": 1948, + "size_hint": 533, + "fields": 1, + "conflicts": 0, + "sign_mixed": 0, + "merges": { + "param": 2 + }, + "globals_at": [], + "globals_ptr": [] } ] }, @@ -1919,14 +58053,14 @@ "dup_classes": 0, "outside_canon": 0, "dead": 0, - "twins_stale": 0, + "twins_stale": 1, "twins_listed": 53, - "dead_kept": 3, + "dead_kept": 2, "block_frames": 629 }, "global_blocks": { - "n": 2124, - "members": 14253, + "n": 2121, + "members": 14243, "top": [ { "base": "0x800cf10c", @@ -2104,9 +58238,9 @@ "path": ".run/P37/census/parked.tsv" }, "timing": { - "walk_s": 57.6, - "decls_s": 261.6, - "total_s": 276.0 + "walk_s": 65.8, + "decls_s": 259.7, + "total_s": 273.4 } }, "dup_layout_classes": [ @@ -3287,10 +59421,10 @@ "tier": 3, "camps": [ [ - "RECT" + "SVECTOR" ], [ - "SVECTOR" + "RECT" ], [ "Vtx_8016B6BC" @@ -3587,11 +59721,11 @@ ], "tier": 3, "camps": [ - [], [ "Vec32" ], [], + [], [ "LineF2" ], @@ -3900,10 +60034,10 @@ "tier": 3, "camps": [ [ - "Range_80189A70" + "Pair_8013AD38" ], [ - "Pair_8013AD38" + "Range_80189A70" ], [ "Entry" @@ -4169,6 +60303,30 @@ "Rec_80180808" ] }, + { + "lhash": "ac91ae2d8aa0", + "size": 28, + "n_names": 3, + "n_defs": 72, + "canon": 3, + "in_c": 59, + "names": [ + "G3", + "S800D22E4", + "vec" + ], + "tier": 3, + "camps": [ + [], + [ + "G3" + ] + ], + "opaque_names": [ + "S800D22E4", + "vec" + ] + }, { "lhash": "9568f57fb00f", "size": 20, @@ -4219,30 +60377,6 @@ "Blk32_801898F4" ] }, - { - "lhash": "ac91ae2d8aa0", - "size": 28, - "n_names": 3, - "n_defs": 72, - "canon": 3, - "in_c": 59, - "names": [ - "G3", - "S800D22E4", - "vec" - ], - "tier": 3, - "camps": [ - [], - [ - "G3" - ] - ], - "opaque_names": [ - "S800D22E4", - "vec" - ] - }, { "lhash": "355775b26f45", "size": 20, @@ -4774,7 +60908,6 @@ "UV16D78", "UV_80181574", "UV_80185214", - "Unkstruct_80126B58", "V", "V16F18", "Vtx_8016B6BC", @@ -4788,6 +60921,8 @@ ], "shadow": [], "structs_dead": [], - "structs_stale": [], + "structs_stale": [ + "Unkstruct_80126B58" + ], "refused": [] } \ No newline at end of file diff --git a/.run/P37/census/type_census.txt b/.run/P37/census/type_census.txt index 025abc6e49..944440d9d3 100644 --- a/.run/P37/census/type_census.txt +++ b/.run/P37/census/type_census.txt @@ -1,33 +1,33 @@ -type_census — 2026-10-01T17:32:55Z at 7845da8f03 (src stamp 64f7b70e3eb5b45d, tool a018054562); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 57.6 s, total 276.0 s +type_census — 2026-10-01T18:59:47Z at fe2e814776 (src stamp 97a583190e434577, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 65.8 s, total 273.4 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) · 56 dead canonical names · 0 canonical names redefined in .c · 4300 scalar/alias typedefs · 145 forward decls -CAST SITES deref 502988 = P 408979 + I 60666 + X 13800 + M 19543 (+ A address-of 18892; + C typed cast-member 36853) in 69492 bodies · coverage OK (raw {'P': 408979, 'I': 60666, 'X': 13800, 'A': 18892, 'C': 36853, 'M': 19543, 'K': 12}) · refused 0 · absolute 0 · readability regex over raw text 411816 - by base: param 276840 · local 149900 · gaddr 40123 · nested 24076 · global 8861 · other 1677 · addr-of 1350 · ident 161 - by width: s4 145146 · u2 142772 · s2 131805 · u1 43174 · agg 13480 · p4 12018 · u4 11164 · s1 3429 - top bases: a0(param) 92255 · param_1(param) 81578 · arg0(param) 67704 · p(local) 18039 · p(param) 11784 · s0(local) 10368 · cach(local) 8246 · s1(local) 7137 · buf(local) 7060 · flag(local) 5453 · *(s32 *)(a0 + 0x20)(nested) 5215 · iVar2(local) 5160 · dst(local) 4874 · iVar1(local) 4836 · iVar3(local) 4693 · e(local) 3918 -DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6413 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} + 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 473279 = P 379387 + I 60565 + X 13797 + M 19530 (+ A address-of 18892; + C typed cast-member 58879) in 67648 bodies · coverage OK (raw {'P': 379387, 'I': 60565, 'X': 13797, 'A': 18892, 'C': 58879, 'M': 19530, 'K': 5115}) · refused 0 · absolute 0 · readability regex over raw text 382224 + by base: param 255514 · local 146191 · gaddr 40117 · nested 19385 · global 8846 · other 1727 · addr-of 1338 · ident 161 + by width: s4 134817 · u2 132784 · s2 124013 · u1 42460 · agg 13446 · p4 11602 · u4 10775 · s1 3382 + top bases: a0(param) 77869 · param_1(param) 77572 · arg0(param) 65847 · p(local) 17451 · p(param) 11464 · s0(local) 9158 · cach(local) 8246 · buf(local) 7056 · s1(local) 7000 · flag(local) 5453 · iVar2(local) 5110 · dst(local) 4854 · iVar1(local) 4821 · iVar3(local) 4610 · e(local) 3882 · obj(local) 3439 +DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6435 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 19123 types explain 498868/502988 deref sites (99.2 %); unassigned 4120; 4046 types span ≥2 bodies (440088 sites), 15077 single-body; types with conflicts 857, suspect 11 - merges by evidence {'param': 38862, 'assign': 16777, 'ret-of': 4334, 'arg': 10823, 'return': 1524, 'assign&': 1183, 'arg&': 270, 'field': 9896}; vetoed {'arg-conduit': 115274, 'ret-of-multisource': 6678, 'assign-multisource': 33062, 'arg&-conduit': 14636, 'field-multisource': 7008, 'ret-of': 675, 'assign&-multisource': 12102, 'arg&-no-overlap': 3455, 'assign': 347, 'arg-no-overlap': 43617, 'assign&': 337, 'arg': 182, 'return': 12, 'field': 3224} - Unkstruct_800B5CB8 sites 107580 bodies 11184 fields 134 size≥0x10c width-conflicts 50 sign-mixed 55 merges {'param': 9704, 'assign': 8078, 'arg': 7080, 'field': 2622} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780 - Unkstruct_80126B58 sites 65397 bodies 17047 fields 175 size≥0x24c width-conflicts 50 sign-mixed 60 merges {'param': 2102, 'arg': 1087, 'assign&': 106, 'field': 51} at D_80126B58 ptr D_80126B58 +STRUCT MAP 18853 types explain 469163/473279 deref sites (99.1 %); unassigned 4116; 3968 types span ≥2 bodies (412217 sites), 14885 single-body; types with conflicts 858, suspect 12 + merges by evidence {'param': 39680, 'arg': 11284, 'assign': 17745, 'ret-of': 5099, 'assign&': 1239, 'return': 1526, 'arg&': 256, 'field': 8963, 'nested': 6}; vetoed {'arg-no-overlap': 36079, 'arg&-no-overlap': 3438, 'arg-conduit': 121064, 'assign&-multisource': 12168, 'assign-multisource': 33106, 'arg&-conduit': 14637, 'ret-of-multisource': 6609, 'assign': 356, 'field-multisource': 6538, 'assign&': 325, 'ret-of': 395, 'arg': 1262, 'return': 10, 'field': 1168} + Unkstruct_800B5CB8 sites 78513 bodies 7638 fields 133 size≥0x10c width-conflicts 50 sign-mixed 57 merges {'param': 10058, 'assign': 8393, 'arg': 7337, 'field': 2350} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780 + Unkstruct_80126B58 sites 64172 bodies 16360 fields 173 size≥0x24c width-conflicts 50 sign-mixed 57 merges {'param': 2084, 'arg': 1083, 'assign&': 107, '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_8014964C sites 4093 bodies 1749 fields 20 size≥0x84 width-conflicts 1 sign-mixed 9 merges {'field': 112} 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_8014A1B0 sites 3778 bodies 542 fields 13 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'field': 13, 'arg': 10, 'param': 10, 'return': 1} - Unkstruct_80128EA8 sites 3311 bodies 632 fields 18 size≥0x38 width-conflicts 0 sign-mixed 13 merges {'arg': 23, 'ret-of': 19, 'field': 7, 'param': 2} + Unkstruct_8015D57C sites 3768 bodies 540 fields 7 size≥0xfe width-conflicts 0 sign-mixed 0 merges {'field': 10} + Unkstruct_80126948 sites 3278 bodies 1095 fields 34 size≥0xa4 width-conflicts 1 sign-mixed 10 merges {'assign': 104, 'arg': 17, 'param': 14, '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 {} -GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14253 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED) +GLOBAL BLOCKS 2121 runs of ≥4 adjacent scalar D_ symbols (14243 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED) PARKED (P36) 24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 PARK names are minimum-lever banks CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7) duplicate-layout classes (top 12): 4B×56 names (0 defs): B4_80165140, B4_8017F154, B4_8018750C, B4_8018AD9C… | 8B×46 names (0 defs): Blk8S16, Blk8_80126940, Blk8_80180A38, D_80195AF4_t… | 8B×45 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×34 names (0 defs): Args_80182194, Blk8017FD54, Blk8_801A6AD0, Blk8_801AD914… | 20B×32 names (0 defs): Blk20_8017D110, Buf8017BF34_8017BF34, Buf8017BF50_8017C234, Loc_80180E10… | 16B×28 names (0 defs): Blk16X, Blk16_8017ECD4, Blk16_8018A4C4, Blk16_8018A8B8… | 6B×25 names (0 defs): D80190448_t, Pt6_8017D65C, ResMapCol, S6… | 32B×25 names (0 defs): Blk20_8016DF5C, Blk20_80180B78, Blk20_80184694, Blk32L_80133298… | 8B×22 names (22 defs): B8014, Blk8_80133CD4, Blk8_801463A0, Blk8_8017FF80… | 12B×19 names (19 defs): Blk12, Prim126, PrimC59C, PrimC974… | 8B×14 names (0 defs): CdFileLoc, Cmd_801805C8, M8_8016B6BC, Pair8_8017DDC4… | 4B×14 names (0 defs): D_801D0660_s, Ent_80186AE4, P4, Pair4_801B02DC… VARIANT names (top 12): -type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 502988 cast sites in 69492 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: 19123 types over 19123 clusters explain 498868/502988 sites (99.2 %); 4120 unassigned sites; 857 types with conflicts +type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 473279 cast sites in 67648 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: 18853 types over 18853 clusters explain 469163/473279 sites (99.1 %); 4116 unassigned sites; 858 types with conflicts diff --git a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c index 7afb19e372..90516a65ff 100644 --- a/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c +++ b/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c @@ -2627,34 +2627,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801C7EB4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801C7EA8+0xC == &D_801C7EB4; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2665,9 +2665,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2676,11 +2676,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801C7EB4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801C7EA8 + 0xC)) < 0x101) { @@ -3847,33 +3847,33 @@ void func_8017D72C(s32 arg0) { * - the 0x5C read/write SPLIT across a temp (an in-place `&= 0xFFFE` * keeps lhu/andi/sh adjacent and the whole block re-orders); * - t5e as s32, not u8 (a u8 temp adds a redundant `andi $v1,0xff`). */ - *(s16 *)(arg0 + 0x34) = 0; - *(s16 *)(arg0 + 2) = 2; - t5c = *(u16 *)(arg0 + 0x5C); - *(s32 *)(arg0 + 0x1C) = 0x15; - t5e = *(u8 *)(arg0 + 0x5E); - *(u16 *)(arg0 + 0x5C) = t5c & 0xFFFE; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + t5c = ((Unkstruct_800B5CB8 *)arg0)->unk5C; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x15; + t5e = ((Unkstruct_800B5CB8 *)arg0)->unk5E; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = t5c & 0xFFFE; if (t5e == 5) { func_80019064(&D_80062BDC); } - if ((*(u16 *)(arg0 + 0x82) & 1) != 0) { + if ((CAST_SIGN(u16, arg0, 0x82) & 1) != 0) { func_8016B428(arg0); func_80019064(D_80062C04); } /* SIGNED field: `--*(s16*)` gives the target's `sll $v0,$v0,16` + bnez * (combine drops the sra for an ==0 test). A u16 field gives * `andi $v0,0xffff` instead -- the load itself is lhu either way. */ - if (--*(s16 *)(arg0 + 0x76) == 0) { - *(u16 *)(arg0 + 0x5C) &= 0x7FFF; + if (--((Unkstruct_800B5CB8 *)arg0)->unk76 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk5C &= 0x7FFF; func_8002D4C8(0x4A8, 0); } else { func_8002D4C8(0x4A9, 0); } - t = D_80186F8C[*(s16 *)(arg0 + 0x76)]; + t = D_80186F8C[((Unkstruct_800B5CB8 *)arg0)->unk76]; n = t; - *(s16 *)(arg0 + 0xFC) = t; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = t; for (i = 0; i < 10; i++) { - D_801C5A30[i] = *(Blk12_801C5A30 *)(i * 12 + *(s32 *)D_80186FB0[*(s16 *)(arg0 + 0x76)]); + D_801C5A30[i] = *(Blk12_801C5A30 *)(i * 12 + *(s32 *)D_80186FB0[((Unkstruct_800B5CB8 *)arg0)->unk76]); } func_8012A828(arg0, &D_80186F7C); /* §250: the POINTER form materialises one lui/addiu/addu base. Writing @@ -3884,18 +3884,18 @@ void func_8017D72C(s32 arg0) { D_801C5AAE[0] = p[1]; D_801C5AB2[0] = p[2]; func_8012B21C((void *)arg0); - *(s32 *)(arg0 + 0x48) = 0x18000; + ((Unkstruct_800B5CB8 *)arg0)->unk48 = 0x18000; v = rand() << 4; if ((rand() & 1) == 0) { v = -v; } - *(s32 *)(arg0 + 0x10) = v; + CAST_WIDTH(s32, arg0, 0x10) = v; v = rand() << 4; if ((rand() & 1) == 0) { v = -v; } - *(s32 *)(arg0 + 0x18) = v; - *(s32 *)(arg0 + 0x14) = -0xC0000; + CAST_WIDTH(s32, arg0, 0x18) = v; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = -0xC0000; } @@ -3958,71 +3958,71 @@ void func_8017D93C(s32 arg0) { s32 idx; u16 *dst; - *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x48) = *(s16 *)(arg0 + 0xDC); - *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x50) = *(s16 *)(arg0 + 0xDE); - in[0] = (*(s32 *)(arg0 + 0x1C) & 1) << 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk48 = CAST_WIDTH(s16, arg0, 0xDC); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk50 = *(s16 *)(arg0 + 0xDE); + in[0] = (((Unkstruct_800B5CB8 *)arg0)->unk1C & 1) << 2; in[2] = 0; in[1] = 0; func_8012F214(arg0, (s32)&in[0], (s32)&out[0]); - *(u16 *)(arg0 + 6) = out[0]; - *(u16 *)(arg0 + 0xE) = out[2]; - *(s16 *)(arg0 + 0x98) = 0; - base = *(s32 *)(*(s32 *)(arg0 + 0x90)); - idx = *(s16 *)(arg0 + 0xFC); - *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x44); - *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x48); - *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x4C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; + base = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk90); + idx = ((Unkstruct_800B5CB8 *)arg0)->unkFC; + CAST_WIDTH(s32, arg0, 0x10) += ((Unkstruct_800B5CB8 *)arg0)->unk44; + ((Unkstruct_800B5CB8 *)arg0)->unk14 += ((Unkstruct_800B5CB8 *)arg0)->unk48; + CAST_WIDTH(s32, arg0, 0x18) += ((Unkstruct_800B5CB8 *)arg0)->unk4C; p1 = &D_801C5AA8; - *p1 += *(s32 *)(arg0 + 0x10); + *p1 += CAST_WIDTH(s32, arg0, 0x10); p2 = &D_801C5AAC; - *p2 += *(s32 *)(arg0 + 0x14); + *p2 += ((Unkstruct_800B5CB8 *)arg0)->unk14; p3 = &D_801C5AB0; - *p3 += *(s32 *)(arg0 + 0x18); + *p3 += CAST_WIDTH(s32, arg0, 0x18); dst = (u16 *)(base + idx * 12); dst[0] = *(u16 *)D_801C5AAA - in[0]; dst[1] = *(u16 *)D_801C5AAE; dst[2] = *(u16 *)D_801C5AB2 - in[2]; - if (*(s32 *)(arg0 + 0x1C) >= 0xB) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C >= 0xB) { o = func_8012C588(0x24, arg0); if (o != 0) { in[0] = dst[0]; in[1] = dst[1]; in[2] = dst[2]; func_8012F214(arg0, (s32)&in[0], (s32)&out[0]); - *(u16 *)(o + 6) = out[0]; - *(u16 *)(o + 0xA) = out[1]; - *(u16 *)(o + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)o)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)o)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)o)->unkE = out[2]; } } if (func_8012BEE8(arg0) != 0) { - if (*(s16 *)(arg0 + 0x76) <= 0) { - if (*(s16 *)(arg0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)arg0)->unk76 <= 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 4) { func_8012C218((void *)arg0); } else { func_8017DBF4((void *)arg0); } } else { - ((void (*)(s32, s32))func_8012A828)(arg0, D_80186FB0[*(s16 *)(arg0 + 0x76)]); - *(s16 *)(arg0 + 2) = 1; - if (*(s16 *)(arg0 + 0x70) == 4) { - *(s32 *)(arg0 + 0x58) = (s32)&D_80186F6C; + ((void (*)(s32, s32))func_8012A828)(arg0, D_80186FB0[((Unkstruct_800B5CB8 *)arg0)->unk76]); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 4) { + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)&D_80186F6C; } else { - *(s32 *)(arg0 + 0x58) = (s32)&D_80186F5C; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)&D_80186F5C; } - *(u32 *)(arg0 + 0x58) |= 0x60000000; - t = *(s32 *)(arg0 + 0x20); - *(u16 *)(t + 0x1C) = 0x1C00; - *(u16 *)(t + 0x1A) = 0x1C00; - *(u16 *)(t + 0x18) = 0x1C00; - *(u16 *)(arg0 + 0x5E) = 0; - *(u16 *)(arg0 + 0x5C) |= 0x8800; - *(u16 *)(arg0 + 6) = *(u16 *)(arg0 + 0xDC); - *(u16 *)(arg0 + 0xE) = *(u16 *)(arg0 + 0xDE); + CAST_SIGN(u32, arg0, 0x58) |= 0x60000000; + t = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(u16, t, 0x1C) = 0x1C00; + ((Unkstruct_800B5CB8 *)t)->unk1A = 0x1C00; + ((Unkstruct_800B5CB8 *)t)->unk18 = 0x1C00; + CAST_WIDTH(u16, arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C |= 0x8800; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = CAST_WIDTH(u16, arg0, 0xDC); + ((Unkstruct_800B5CB8 *)arg0)->unkE = *(u16 *)(arg0 + 0xDE); } } } @@ -4039,13 +4039,13 @@ void func_8017DBF4(void *arg0) { func_8001C214(M2C_FIELD(arg0, void **, 0x20), &D_801891AC); func_8012A828(arg0, &D_80183884); - M2C_FIELD(arg0, s16 *, 2) = 3; - M2C_FIELD(arg0, u16 *, 6) = (u16) M2C_FIELD(arg0, u16 *, 0xDC); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = (u16) M2C_FIELD(arg0, u16 *, 0xDC); temp_v1 = M2C_FIELD(arg0, void **, 0x20); - M2C_FIELD(arg0, u16 *, 0xE) = (u16) M2C_FIELD(arg0, u16 *, 0xDE); - M2C_FIELD(arg0, u16 *, 0x5C) = (u16) (M2C_FIELD(arg0, u16 *, 0x5C) & 0x77FF); - M2C_FIELD(temp_v1, u16 *, 0x2C) = (u16) (M2C_FIELD(temp_v1, u16 *, 0x2C) & 0xFFEF); - M2C_FIELD(arg0, s32 *, 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE = (u16) M2C_FIELD(arg0, u16 *, 0xDE); + ((Unkstruct_800B5CB8 *)arg0)->unk5C = (u16) (((Unkstruct_800B5CB8 *)arg0)->unk5C & 0x77FF); + ((Unkstruct_800B5CB8 *)temp_v1)->unk2C = (u16) (((Unkstruct_800B5CB8 *)temp_v1)->unk2C & 0xFFEF); + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } @@ -4062,13 +4062,13 @@ void func_8017DC78(int param_1) { unsigned short uVar1; func_8012A828(param_1, &D_80183884); - *(short *)(param_1 + 2) = 4; - *(short *)(param_1 + 0x34) = 0; - *(int *)(param_1 + 0x1c) = 0x1e; - uVar1 = *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); - *(short *)(param_1 + 0xe8) = 0; - *(int *)(param_1 + 0xe0) = 0x400000; - *(int *)(param_1 + 0xe4) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + uVar1 = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); + CAST_WIDTH(short, param_1, 0xe8) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0x400000; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0; *(short *)(param_1 + 0xea) = uVar1; func_8002D4C8(0x49e, 0); func_8002D4C8(0x4a2, 0); @@ -4172,49 +4172,49 @@ void func_8017DEB0(s32 arg0) { s32 v; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { func_8012CAE4((void *)arg0); } else { - func_8001C214(*(s32 *)(arg0 + 0x20), D_8018703C[rand() % 3]); - if (*(s16 *)(arg0 + 0x70) != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, D_8018703C[rand() % 3]); + if (((Unkstruct_800B5CB8 *)arg0)->unk70 != 0) { s32 addr = arg0 + 0x24; - ang = -*(s16 *)(arg0 + 0xE); + ang = -CAST_SIGN(s16, arg0, 0xE); base = ang + 0x400; - *(s16 *)(arg0 + 0x2A) = -2; - *(s16 *)(arg0 + 0x24) = base * 48 / 2048; - *(s16 *)(arg0 + 0x26) = base * 96 / 2048; - *(s16 *)(arg0 + 0x28) = base / 64; - obj = *(s32 *)(arg0 + 0x20); - *(u16 *)(obj + 0x2C) = *(u16 *)(obj + 0x2C) | 0x80; - *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x80) = addr; + CAST_ALIAS(s16, arg0, 0x2A) = -2; + CAST_WIDTH(s16, arg0, 0x24) = base * 48 / 2048; + CAST_WIDTH(s16, arg0, 0x26) = base * 96 / 2048; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = base / 64; + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)obj)->unk2C = ((Unkstruct_800B5CB8 *)obj)->unk2C | 0x80; + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x80) = addr; } - obj = *(s32 *)(arg0 + 0x20); - *(u16 *)(obj + 0x2C) = *(u16 *)(obj + 0x2C) | 0x10; - obj = *(s32 *)(arg0 + 0x20); - *(u16 *)(obj + 0x1C) = 0x2000; - *(u16 *)(obj + 0x1A) = 0x2000; - *(u16 *)(obj + 0x18) = 0x2000; + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)obj)->unk2C = ((Unkstruct_800B5CB8 *)obj)->unk2C | 0x10; + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(u16, obj, 0x1C) = 0x2000; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x2000; func_8012A828(arg0, &D_80183884); - *(s16 *)(arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8012B21C((void *)arg0); - *(s32 *)(arg0 + 0x48) = 0x18000; + ((Unkstruct_800B5CB8 *)arg0)->unk48 = 0x18000; v = rand() << 4; if ((rand() & 1) == 0) { v = -v; } - *(s32 *)(arg0 + 0x10) = v; + CAST_WIDTH(s32, arg0, 0x10) = v; v = rand() << 4; if ((rand() & 1) == 0) { v = -v; } - *(s32 *)(arg0 + 0x18) = v; - if (*(s16 *)(arg0 + 0x70) == 0) { - *(s32 *)(arg0 + 0x14) = -(rand() << 4); + CAST_WIDTH(s32, arg0, 0x18) = v; + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk14 = -(rand() << 4); } else { - *(s32 *)(arg0 + 0x14) = -0x80000 - (rand() << 5); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = -0x80000 - (rand() << 5); } - *(s32 *)(arg0 + 0x1C) = 0x32; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x32; } } @@ -4223,7 +4223,7 @@ void func_8017DEB0(s32 arg0) { extern void (*D_80187050[])(void); void func_8017E0A4(void *a0) { - D_80187050[*(u16 *)((s32)a0 + 0x2)](); + D_80187050[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4256,15 +4256,15 @@ void func_8017E124(int param_1) { if (((int (*)(int))func_8012BD14)(param_1) < 0x4001) { v = func_8012E544(0x161); if (v != 0) { - *(short *)(v + 0xfc) = 1; - *(short *)(v + 0xfe) = 3 - *(short *)(param_1 + 0x70); + ((Unkstruct_800B5CB8 *)v)->unkFC = 1; + ((Unkstruct_800B5CB8 *)v)->unkFE = 3 - ((Unkstruct_800B5CB8 *)param_1)->unk70; } *p = 1; - *(int *)(param_1 + 0x1c) = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; } } else { ((void (*)(int))func_8012BEE8)(param_1); - if (*(int *)(param_1 + 0x1c) == 0 && D_80126D50 == 0 && + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0 && D_80126D50 == 0 && ((int (*)(int))func_8012BD14)(param_1) < 0x241) { func_8017DC78(param_1); } @@ -4325,19 +4325,19 @@ void func_8017E2C8(int param_1) int iVar1; ((void (*)(void))func_8012AD80)(); - if (*(int *)(param_1 + 0x1c) >= 0x30) { - *(unsigned int *)(*(int *)(param_1 + 0x20) + 4) = - *(unsigned int *)(*(int *)(param_1 + 0x20) + 4) | 0x80000000; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C >= 0x30) { + *(unsigned int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(unsigned int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) | 0x80000000; } else { - *(unsigned int *)(*(int *)(param_1 + 0x20) + 4) = - *(unsigned int *)(*(int *)(param_1 + 0x20) + 4) & 0x7fffffff; + *(unsigned int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(unsigned int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) & 0x7fffffff; } - *(short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(short *)(*(int *)(param_1 + 0x20) + 0x10) + 0x17; - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(param_1 + 0x20) + 0x12) + 0x43; - *(short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(short *)(*(int *)(param_1 + 0x20) + 0x14) + 0x58; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk10 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) + 0x17; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x43; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + 0x58; iVar1 = func_8012BEE8(param_1); if (iVar1 != 0) { ((void (*)(int))func_8012C218)(param_1); @@ -4588,7 +4588,7 @@ void func_8017E724(s32 param_1) goto L864; } L858: - t = *(u16 *)((s32)base + 0xA) + 0x80; + t = CAST_SIGN(u16, (s32)base, 0xA) + 0x80; goto L868; L864: t = -0x480; @@ -4887,13 +4887,13 @@ void func_8017EF58(int param_1) { if (func_80171B4C(param_1, 0x1E) != 0) { if (((int (*)(void))func_800CF854)() != 0) { - *(char *)(param_1 + 0x214) = 3; + ((Unkstruct_80126B58 *)param_1)->unk214 = 3; } else { ((int (*)(int, int))func_80154274)(param_1, (int)&D_800D5A34); ((int (*)(int))func_8014706C)(param_1); - *(int *)(param_1 + 0x198) = func_8013767C(*(int *)(param_1 + 0x198)); - *(char *)(param_1 + 0x214) = *(char *)(param_1 + 0x214) + 1; - *(short *)(param_1 + 0x20c) = 0; + ((Unkstruct_80126B58 *)param_1)->unk198 = func_8013767C(((Unkstruct_80126B58 *)param_1)->unk198); + ((Unkstruct_80126B58 *)param_1)->unk214 = CAST_SIGN(char, param_1, 0x214) + 1; + ((Unkstruct_80126B58 *)param_1)->unk20C = 0; } } } @@ -4912,45 +4912,45 @@ extern u8 D_8018954C[]; extern u8 D_800D5A34[]; void func_8017EFDC(int param_1) { - switch (*(s16 *)(param_1 + 0x20C)) { + switch (((Unkstruct_80126B58 *)param_1)->unk20C) { case 0: if (func_8016F410(0) != 0) { - *(u16 *)(param_1 + 0x20C) = *(u16 *)(param_1 + 0x20C) + 1; + ((Unkstruct_80126B58 *)param_1)->unk20C = CAST_SIGN(u16, param_1, 0x20C) + 1; func_80154274((s32 *)param_1, (s32)&D_800D599C); } break; case 2: if (func_8016F410(1) != 0) { func_80154274((s32 *)param_1, (s32)&D_801894CC); - *(u16 *)(param_1 + 0x20E) = 0; - *(u16 *)(param_1 + 0x20C) = *(u16 *)(param_1 + 0x20C) + 1; + ((Unkstruct_80126B58 *)param_1)->unk20E = 0; + ((Unkstruct_80126B58 *)param_1)->unk20C = CAST_SIGN(u16, param_1, 0x20C) + 1; } break; case 3: - if (((*(u16 *)(param_1 + 0xB8) & 0x8000) != 0) && (*(s16 *)(param_1 + 0x20E) == 0)) { - *(u16 *)(param_1 + 0x20E) = 1; + if (((((Unkstruct_80126B58 *)param_1)->unkB8 & 0x8000) != 0) && (((Unkstruct_80126B58 *)param_1)->unk20E == 0)) { + ((Unkstruct_80126B58 *)param_1)->unk20E = 1; func_80154274((s32 *)param_1, (s32)&D_801895CC); } if (func_8016F410(2) != 0) { func_80154274((s32 *)param_1, (s32)&D_8018954C); - *(u16 *)(param_1 + 0x20C) = *(u16 *)(param_1 + 0x20C) + 1; + ((Unkstruct_80126B58 *)param_1)->unk20C = CAST_SIGN(u16, param_1, 0x20C) + 1; } break; case 1: case 4: - if ((*(u16 *)(param_1 + 0xB8) & 0x8000) != 0) { + if ((((Unkstruct_80126B58 *)param_1)->unkB8 & 0x8000) != 0) { func_80154274((s32 *)param_1, (s32)&D_800D5A34); - *(u16 *)(param_1 + 0x20C) = *(u16 *)(param_1 + 0x20C) + 1; + ((Unkstruct_80126B58 *)param_1)->unk20C = CAST_SIGN(u16, param_1, 0x20C) + 1; } break; case 5: break; } - if (func_801399F0(*(s32 *)(param_1 + 0x198)) != 0) { - func_80139914(*(s32 *)(param_1 + 0x198)); + if (func_801399F0(((Unkstruct_80126B58 *)param_1)->unk198) != 0) { + func_80139914(((Unkstruct_80126B58 *)param_1)->unk198); func_80147060((u8 *)param_1); - *(u8 *)(param_1 + 0x214) = *(u8 *)(param_1 + 0x214) + 1; + ((Unkstruct_80126B58 *)param_1)->unk214 = ((Unkstruct_80126B58 *)param_1)->unk214 + 1; } } @@ -4984,8 +4984,8 @@ extern void func_8017F204(s32 a0); void func_8017F1C0(s32 a0) { - *(u8 *)(a0 + 0x214) = *(u8 *)(a0 + 0x214) + 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; + ((Unkstruct_80126B58 *)a0)->unk214 = ((Unkstruct_80126B58 *)a0)->unk214 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; func_80171B44((s32 *)a0); func_8017F204(a0); } @@ -5034,14 +5034,14 @@ void func_8017F2A4(s32 *param_1) s16 curz; if (func_80172658(param_1) != 0) { - idx = *(s32 *)((s32)param_1 + 0x218); - curx = *(s16 *)((s32)param_1 + 6); - curz = *(s16 *)((s32)param_1 + 0xE); - *(s16 *)((s32)param_1 + 0x20C) = ratan2(curx - D_80189664[idx][0], curz - D_80189668[idx][0]) & 0xFFF; - *(s16 *)((s32)param_1 + 0x20E) = D_80126968; + idx = CAST_WIDTH(s32, (s32)param_1, 0x218); + curx = ((Unkstruct_80126B58 *)param_1)->unk6; + curz = ((Unkstruct_80126B58 *)param_1)->unkE; + CAST_ALIAS(s16, (s32)param_1, 0x20C) = ratan2(curx - D_80189664[idx][0], curz - D_80189668[idx][0]) & 0xFFF; + CAST_ALIAS(s16, (s32)param_1, 0x20E) = D_80126968; D_80126968 = 0x38E; func_80175454(); - *(u8 *)((s32)param_1 + 0x214) = *(u8 *)((s32)param_1 + 0x214) + 1; + ((Unkstruct_80126B58 *)param_1)->unk214 = ((Unkstruct_80126B58 *)param_1)->unk214 + 1; } } @@ -5121,7 +5121,7 @@ void func_8017F4BC(s32 a0) { extern void (*D_8018A05C[])(void); void func_8017F500(void *a0) { - D_8018A05C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A05C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5198,21 +5198,21 @@ void func_8017F638(s32 arg0) { } func_8017F458(); func_80175454(); - v1 = *(s32 *)(arg0 + 0x20); - *(s16 *)(arg0 + 0xA) = 0x89F; - *(s32 *)(arg0 + 0xF0) = 0xA5F; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = 0x89F; + CAST_WIDTH(s32, arg0, 0xF0) = 0xA5F; *(s16 *)(v1 + 0x12) = 0; - v1 = *(s16 *)(arg0 + 0xA); - *(s32 *)(arg0 + 0xDC) = 1; - *(s32 *)(arg0 + 0xE4) = 0x20; + v1 = CAST_SIGN(s16, arg0, 0xA); + CAST_ALIAS(s32, arg0, 0xDC) = 1; + CAST_ALIAS(s32, arg0, 0xE4) = 0x20; D_8012718C = v1; - func_8001C214(*(s32 *)(arg0 + 0x20), D_801AC738); - func_8001D0E8(*(s32 *)(arg0 + 0x20), 0x800, 0x800); + func_8001C214(CAST_ALIAS(s32, arg0, 0x20), D_801AC738); + func_8001D0E8(((Unkstruct_800B5CB8 *)arg0)->unk20, 0x800, 0x800); func_800D0C48(0); func_8002D4C8(0x404, 0); func_8012A828(arg0, &D_80189CEC); func_801806DC(); - *(u16 *)((s32)arg0 + 2) += 1; + CAST_SIGN(u16, (s32)arg0, 2) += 1; } @@ -5557,7 +5557,7 @@ void func_8017FD64(s32 arg0) extern void (*D_8018A1F8[])(void); void func_8017FF78(void *a0) { - D_8018A1F8[*(u16 *)((s32)a0 + 0x2)](); + D_8018A1F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5620,12 +5620,12 @@ void func_801800F4(s32 param_1) { s32 v0; - *(s32 *)(param_1 + 0x4) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x4); - *(s16 *)(param_1 + 0xA) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xA) - *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xF0); - *(s32 *)(param_1 + 0xC) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xC); + CAST_WIDTH(s32, param_1, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x4); + ((Unkstruct_800B5CB8 *)param_1)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xA) - *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xF0); + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xC); v0 = func_8012B864(param_1); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = v0; - if (*(s32 *)(param_1 + 0xF4) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = v0; + if (((Unkstruct_800B5CB8 *)param_1)->unkF4 != 0) { func_80180188(param_1); } } @@ -5648,21 +5648,21 @@ void func_80180188(s32 param_1) u16 sp10[3]; func_8012B2CC(param_1); - func_8012F14C(*(s32 *)(param_1 + 0x20) + 0x34, (s32)D_801899B4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0x8) = sp10[0]; - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0xA) = sp10[1]; - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0xC) = sp10[2]; - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0x10) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0x12) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0xF4) + 0x14) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14); - func_8012F14C(*(s32 *)(param_1 + 0x20) + 0x34, (s32)D_801899BC, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0x8) = sp10[0]; - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0xA) = sp10[1]; - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0xC) = sp10[2]; - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0x10) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0x12) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0xF8) + 0x14) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14); - ((void (*)(s32))D_8018A200[*(u16 *)((s32)param_1 + 0x34)])(param_1); + func_8012F14C(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)D_801899B4, (s32)sp10); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0x8) = sp10[0]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0xA) = sp10[1]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0xC) = sp10[2]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0x10) = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0x12) = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF4 + 0x14) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14); + func_8012F14C(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)D_801899BC, (s32)sp10); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0x8) = sp10[0]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0xA) = sp10[1]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0xC) = sp10[2]; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0x10) = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0x12) = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unkF8 + 0x14) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14); + ((void (*)(s32))D_8018A200[((Unkstruct_800B5CB8 *)param_1)->unk34])(param_1); } @@ -5729,7 +5729,7 @@ void func_801803AC(s32 arg0) { extern void (*D_8018A20C[])(void); void func_80180420(void *a0) { - D_8018A20C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A20C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5749,7 +5749,7 @@ void func_8018045C(s32 arg0) v0 = ((s32 (*)(void))func_8012C1B8)(); s1 = v0; - *(s32 *)(arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)arg0); return; @@ -5758,10 +5758,10 @@ void func_8018045C(s32 arg0) func_8001D0E8(s1, 0x800, 0x800); func_8012A828((void *)arg0, &D_8018A044); *(s32 *)(s1 + 4) = *(s32 *)(s1 + 4) | 0x40; - *(s32 *)(arg0 + 4) = *(s32 *)(*(s32 *)(arg0 + 0x64) + 4); - *(s32 *)(arg0 + 8) = *(s32 *)(*(s32 *)(arg0 + 0x64) + 8) - *(s32 *)(*(s32 *)(arg0 + 0x64) + 0xF0); - *(s32 *)(arg0 + 0xC) = *(s32 *)(*(s32 *)(arg0 + 0x64) + 0xC); - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + CAST_WIDTH(s32, arg0, 4) = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 4); + CAST_WIDTH(s32, arg0, 8) = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 8) - *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xF0); + CAST_WIDTH(s32, arg0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xC); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } @@ -5777,7 +5777,7 @@ void func_80180528(s32 arg0) { extern void (*D_8018A214[])(void); void func_8018055C(void *a0) { - D_8018A214[*(u16 *)((s32)a0 + 0x2)](); + D_8018A214[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5797,7 +5797,7 @@ void func_80180598(s32 arg0) ret = ((s32 (*)(void))func_8012C1B8)(); obj = ret; - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { ((void (*)(s32))func_8012CAE4)(arg0); return; @@ -5808,13 +5808,13 @@ void func_80180598(s32 arg0) } func_8001D0E8(obj, 0x800, 0x800); func_8012A828(arg0, D_80189D04); - *(s32 *)(arg0 + 8) = 0; - v = *(s16 *)(arg0 + 0xA); - *(s32 *)(arg0 + 0xC) = 0; - *(s32 *)(arg0 + 4) = 0; + CAST_WIDTH(s32, arg0, 8) = 0; + v = CAST_SIGN(s16, arg0, 0xA); + CAST_WIDTH(s32, arg0, 0xC) = 0; + CAST_WIDTH(s32, arg0, 4) = 0; D_80127190 = v; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x40000040; - *(u16 *)(arg0 + 2) += 1; + CAST_WIDTH(u32, *(s32 *)(arg0 + 0x20), 4) |= 0x40000040; + CAST_SIGN(u16, arg0, 2) += 1; } @@ -5833,9 +5833,9 @@ extern void func_8012C218(void *a0); extern s32 D_80127190; void func_80180694(void *arg0) { - D_80127190 = *(s16 *)((s32)arg0 + 0xA); - *(u16 *)((s32)arg0 + 0xA) += 8; - if (--*(s32 *)((s32)arg0 + 0xDC) == 0) { + D_80127190 = CAST_SIGN(s16, (s32)arg0, 0xA); + ((Unkstruct_800B5CB8 *)arg0)->unkA += 8; + if (--CAST_ALIAS(s32, (s32)arg0, 0xDC) == 0) { func_8012C218(arg0); } } @@ -6027,11 +6027,11 @@ void func_801808B8(s32 param_1) { func_8012913C(0x14); q = func_8012913C(0x14); if (q != 0) { - *(u16 *)(q + 0x2E) = 0x71; + ((Unkstruct_800B5CB8 *)q)->unk2E = 0x71; } q = func_8012913C(0x14); if (q != 0) { - *(u16 *)(q + 0x2E) = 0xE3; + ((Unkstruct_800B5CB8 *)q)->unk2E = 0xE3; } *(s32 *)(param_1 + 0x1C) = 0x10; if (D_80127188 != 0) { @@ -6282,7 +6282,7 @@ void func_80180D54(s32 param_1) { func_8012913C(0x1C); q = func_8012913C(0x1C); if (q != 0) { - *(u16 *)(q + 0x2C) = 1; + ((Unkstruct_800B5CB8 *)q)->unk2C = 1; } *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; } @@ -6295,14 +6295,14 @@ extern void (*D_8018A22C[])(void); extern void (*D_8018A22C[])(void); void func_80180F30(void *a0) { - D_8018A22C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A22C[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_8018A240[])(void); void func_80180F6C(void *a0) { - D_8018A240[*(u16 *)((s32)a0 + 0x2)](); + D_8018A240[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6337,13 +6337,13 @@ void func_80181040(void *a0) { u16 v0; s32 v1; - *(u16 *)((s8 *)a0 + 0xA) = D_80127190 - 0x150; - v1 = *(s32 *)((s8 *)a0 + 0x20); - v0 = *(u16 *)(v1 + 0x18) + 0x80; - *(u16 *)(v1 + 0x18) = v0; - *(u16 *)(v1 + 0x1A) = v0; - v0 = *(u16 *)((s8 *)a0 + 0x2E) - 1; - *(u16 *)((s8 *)a0 + 0x2E) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_80127190 - 0x150; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v0 = ((Unkstruct_800B5CB8 *)v1)->unk18 + 0x80; + ((Unkstruct_800B5CB8 *)v1)->unk18 = v0; + ((Unkstruct_800B5CB8 *)v1)->unk1A = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk2E - 1; + ((Unkstruct_800B5CB8 *)a0)->unk2E = v0; if ((s16)v0 == -1) { func_801292C8((u8 *)a0); } @@ -6353,7 +6353,7 @@ void func_80181040(void *a0) { extern void (*D_8018A248[])(void); void func_801810A8(void *a0) { - D_8018A248[*(u16 *)((s32)a0 + 0x2)](); + D_8018A248[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6397,12 +6397,12 @@ void func_801810E4(void *a0) { t = D_80127190 - 0x128; y = t + zr; - if (*(s16 *)((u8 *)a0 + 0x2C) != 0) { + if (CAST_SIGN(s16, (u8 *)a0, 0x2C) != 0) { if (D_8012718C - (s16)t < 0x628) { s32 b = D_80127190 - 0x750; y = b + (D_8012718C - t); } - t2 = y - (rand() & (*(u16 *)((u8 *)a0 + 0x2C) & 0x7FF)); + t2 = y - (rand() & (((Unkstruct_800B5CB8 *)a0)->unk2C & 0x7FF)); y = t2 + zr; if ((s16)t2 < D_8012718C - 0x9C8) { func_801292C8((u8 *)a0); @@ -6419,14 +6419,14 @@ void func_801810E4(void *a0) { v.vx = 0; v.vz = d; ApplyMatrixSV(&mtx, &v, &v); - *(u16 *)((u8 *)a0 + 0x6) = v.vx; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v.vx; v.vy = y; - *(u16 *)((u8 *)a0 + 0xA) = y; - *(u16 *)((u8 *)a0 + 0xE) = v.vz; - *(s32 *)((u8 *)a0 + 0x10) = v.vx << 9; + ((Unkstruct_800B5CB8 *)a0)->unkA = y; + ((Unkstruct_800B5CB8 *)a0)->unkE = v.vz; + CAST_WIDTH(s32, (u8 *)a0, 0x10) = v.vx << 9; r2 = r + zr; - c = *(s16 *)((u8 *)a0 + 0x2C); + c = CAST_SIGN(s16, (u8 *)a0, 0x2C); if (c != 0) { if (c & 0x8000) { *(u16 *)((u8 *)a0 + 0x16) = (r & 3) - 0xE; @@ -6438,41 +6438,41 @@ void func_801810E4(void *a0) { *(u16 *)((u8 *)a0 + 0x16) = (r & 3) - 0xA; m = 0x12; } - *(s32 *)((u8 *)a0 + 0x1C) = m; + ((Unkstruct_800B5CB8 *)a0)->unk1C = m; /* §5a barrier: without it both sched1 and sched2 sink this store below the three &v/&v2 address insns (byte-attributed with -fno-schedule-insns*). */ __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus7) - *(s32 *)((u8 *)a0 + 0x18) = v.vz << 9; + CAST_WIDTH(s32, (u8 *)a0, 0x18) = v.vz << 9; func_800D20C0(&v, &v2, 1); func_800D23D0(&v2); - RotMatrixYXZ(&v2, *(void **)((u8 *)a0 + 0x34)); - *(s32 *)((u8 *)a0 + 0x2C) = 0x1000 - (s32)((u32)(r2 & 0x7FF0) >> 4); - *(s32 *)((u8 *)a0 + 0x30) = 0x88; + RotMatrixYXZ(&v2, CAST_WIDTH(void *, (u8 *)a0, 0x34)); + CAST_WIDTH(s32, (u8 *)a0, 0x2C) = 0x1000 - (s32)((u32)(r2 & 0x7FF0) >> 4); + ((Unkstruct_800B5CB8 *)a0)->unk30 = 0x88; q = r2 & 0x803C; - *(u16 *)((u8 *)a0 + 0x28) = q; + ((Unkstruct_800B5CB8 *)a0)->unk28 = q; if (q == 0) { - *(s32 *)((u8 *)a0 + 0x1C) <<= 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C <<= 1; } func_8012931C((struct vec *)a0); - if (*(s16 *)((u8 *)a0 + 0x28) != 0) { - func_80169A4C((s32)a0, *(s32 *)((u8 *)a0 + 0x34)); - *(s32 *)((u8 *)a0 + 0x14) += 0xF000; + if (((Unkstruct_800B5CB8 *)a0)->unk28 != 0) { + func_80169A4C((s32)a0, CAST_WIDTH(s32, (u8 *)a0, 0x34)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0xF000; } else { - func_801696D8((s32)a0, *(s32 *)((u8 *)a0 + 0x34)); - *(s32 *)((u8 *)a0 + 0x14) += 0x8000; + func_801696D8((s32)a0, CAST_WIDTH(s32, (u8 *)a0, 0x34)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x8000; } - if (--*(s32 *)((u8 *)a0 + 0x1C) == -1) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == -1) { func_801292C8((u8 *)a0); } - *(u16 *)((u8 *)a0 + 0x2) += 1; + CAST_SIGN(u16, (u8 *)a0, 0x2) += 1; } extern void (*D_8018A250[])(void); void func_801813D4(void *a0) { - D_8018A250[*(u16 *)((s32)a0 + 0x2)](); + D_8018A250[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6501,9 +6501,9 @@ void func_80181410(s32 param_1) u16 c; u16 t; - sp20[0] = *(u16 *)(param_1 + 6); - sp20[1] = *(u16 *)(param_1 + 0xA); - sp20[2] = *(u16 *)(param_1 + 0xE); + sp20[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp20[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + sp20[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; p1 = sp28; func_800D20C0(sp20, p1, 1); p1 = 0; @@ -6512,28 +6512,28 @@ void func_80181410(s32 param_1) p2 = 0; sp28[2] = sp28[1] * 2; RotMatrixYXZ(sp28, sp30); - if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(param_1 + 0x2C) = (rand() & 0x7FF) + 0x600; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + CAST_WIDTH(s32, param_1, 0x2C) = (rand() & 0x7FF) + 0x600; } else { - *(s32 *)(param_1 + 0x2C) = 0x500; + CAST_WIDTH(s32, param_1, 0x2C) = 0x500; } func_801696D8(param_1, (s32)sp30); - if (--*(s32 *)(param_1 + 0x1C) != -1) { - sp10[0] = *(u16 *)(param_1 + 6); - sp10[1] = *(u16 *)(param_1 + 0xA); - sp10[2] = *(u16 *)(param_1 + 0xE); + if (--((Unkstruct_800B5CB8 *)param_1)->unk1C != -1) { + sp10[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; func_8012931C((struct vec *)param_1); - sp18[0] = *(u16 *)(param_1 + 6); - sp18[1] = *(u16 *)(param_1 + 0xA); - sp18[2] = *(u16 *)(param_1 + 0xE); + sp18[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp18[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + sp18[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; if (func_80135168(1, sp10, sp18) != 0) { - t = *(u16 *)(param_1 + 2); - *(u16 *)(param_1 + 6) = sp18[0]; - *(u16 *)(param_1 + 0xA) = sp18[1]; + t = CAST_SIGN(u16, param_1, 2); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sp18[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = sp18[1]; c = sp18[2]; - *(s32 *)(param_1 + 0x1C) = 0xC; - *(u16 *)(param_1 + 2) = t + 1; - *(u16 *)(param_1 + 0xE) = c; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xC; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = t + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = c; } } else { func_801292C8((u8 *)param_1); @@ -6544,14 +6544,14 @@ void func_80181410(s32 param_1) extern void (*D_8018A258[])(void); void func_8018155C(void *a0) { - D_8018A258[*(u16 *)((s32)a0 + 0x2)](); + D_8018A258[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_8018A264[])(void); void func_80181598(void *a0) { - D_8018A264[*(u16 *)((s32)a0 + 0x2)](); + D_8018A264[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6648,13 +6648,13 @@ void func_80181770(u8 *arg0) { u16 sp1E; u8 *sp18; - sp1E = *(u16 *)(arg0 + 0x2E); - sp18 = *(u8 **)(arg0 + 0x20); - *(u16 *)(arg0 + 0x2E) = sp1E - 1; + sp1E = ((Unkstruct_800B5CB8 *)arg0)->unk2E; + sp18 = CAST_SIGN(u8 *, arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2E = sp1E - 1; if ((s16)sp1E < 0) { func_801292C8(arg0); } else { - *(u32 *)(sp18 + 0x20) = (u32)&D_801C5B00[(s16)(sp1E - 1) >> 2]; + ((Unkstruct_800B5CB8 *)sp18)->unk20 = (u32)&D_801C5B00[(s16)(sp1E - 1) >> 2]; } } @@ -6664,14 +6664,14 @@ extern void func_8012931C(struct vec *a0); void func_801817CC(s32 *a0) { func_8012931C((struct vec *)a0); - if (*(s16 *)((u8 *)a0 + 0x28) != 0) { - func_80169A4C((s32)a0, *(s32 *)((u8 *)a0 + 0x34)); - *(s32 *)((u8 *)a0 + 0x14) += 0xF000; + if (((Unkstruct_800B5CB8 *)a0)->unk28 != 0) { + func_80169A4C((s32)a0, CAST_WIDTH(s32, (u8 *)a0, 0x34)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0xF000; } else { - func_801696D8((s32)a0, *(s32 *)((u8 *)a0 + 0x34)); - *(s32 *)((u8 *)a0 + 0x14) += 0x8000; + func_801696D8((s32)a0, CAST_WIDTH(s32, (u8 *)a0, 0x34)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x8000; } - if (--*(s32 *)((u8 *)a0 + 0x1C) == -1) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == -1) { func_801292C8((u8 *)a0); } } @@ -6695,9 +6695,9 @@ void func_80181854(void *a0) { Blk20 mtx; void *p; - v.vx = *(u16 *)((u8 *)a0 + 0x6); - v.vy = *(u16 *)((u8 *)a0 + 0xA); - v.vz = *(u16 *)((u8 *)a0 + 0xE); + v.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + v.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + v.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; /* §373.1 DEAD-RESET CSE-BREAKER (zero bytes, zero LUID disturbance). `&v2` feeds three calls in one cse basic block; cse unifies the three @@ -6720,15 +6720,15 @@ void func_80181854(void *a0) { v2.vz = v2.vy * 2; RotMatrixYXZ(&v2, &mtx); - *(s32 *)((u8 *)a0 + 0x2C) = - (*(s32 *)((u8 *)a0 + 0x1C) & 1) ? ((rand() & 0x7FF) + 0x600) : 0x500; + CAST_WIDTH(s32, (u8 *)a0, 0x2C) = + (((Unkstruct_800B5CB8 *)a0)->unk1C & 1) ? ((rand() & 0x7FF) + 0x600) : 0x500; /* §194-A zero-byte scheduling fence (the colon-less/volatile predicate, not the "memory" clobber): without it both schedulers sink this store past the two argument insns below and it steals the jal's delay slot. Same lever as the §5a barrier in func_801810E4. */ do { func_801696D8((s32)a0, (s32)&mtx); } while (0); - if (--*(s32 *)((u8 *)a0 + 0x1C) == -1) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == -1) { func_801292C8((u8 *)a0); } } @@ -6857,7 +6857,7 @@ void func_80181BB0(s16 *arg) { extern void (*D_8018A26C[])(void); void func_80181C68(void *a0) { - D_8018A26C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A26C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6975,8 +6975,8 @@ void func_80181D98(void *a0) { e = func_8012C658(0x2C, t->kind, 0); if (e != 0) { v = t->dist; - *(s32 *)(e + 0xCC) = (s32)q; - *(s16 *)(e + 0xFC) = v + 0x500; + ((Unkstruct_800B5CB8 *)e)->unkCC = (s32)q; + ((Unkstruct_800B5CB8 *)e)->unkFC = v + 0x500; } *q = 1; } @@ -7014,7 +7014,7 @@ void func_80181FAC(s32 arg0) { s32 vol; if ((D_800B99DA & 1) == 0) { - dist = *(s16 *)(arg0 + 0xFC) - D_801270D0; + dist = ((Unkstruct_800B5CB8 *)arg0)->unkFC - D_801270D0; if (dist < 0) { dist = -dist; } @@ -7025,21 +7025,21 @@ void func_80181FAC(s32 arg0) { vol = 127; } id = 0x4A4; - if (*(s16 *)(arg0 + 0x70) == 2) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 2) { id = 0x4A5; } - if (*(s32 *)(arg0 + 0xDC) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unkDC == 0) { if (dist < 700) { - func_8002D59C(id, (u16)(vol | 0x5000), *(u16 *)(arg0 + 0x36)); - *(s32 *)(arg0 + 0xDC) = 1; + func_8002D59C(id, (u16)(vol | 0x5000), ((Unkstruct_800B5CB8 *)arg0)->unk36); + ((Unkstruct_800B5CB8 *)arg0)->unkDC = 1; } } else { if (dist < 700) { - func_8002D59C(id, (u16)(vol | 0x5000), *(u16 *)(arg0 + 0x36)); - *(s32 *)(arg0 + 0xDC) = 1; + func_8002D59C(id, (u16)(vol | 0x5000), ((Unkstruct_800B5CB8 *)arg0)->unk36); + ((Unkstruct_800B5CB8 *)arg0)->unkDC = 1; } else { - func_8002D59C(4, id, *(u16 *)(arg0 + 0x36)); - *(s32 *)(arg0 + 0xDC) = 0; + func_8002D59C(4, id, ((Unkstruct_800B5CB8 *)arg0)->unk36); + ((Unkstruct_800B5CB8 *)arg0)->unkDC = 0; } } } @@ -7069,10 +7069,10 @@ void func_801820AC(s32 arg0) { register s32 am __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus7) d = D_8018A2AC; - sum = *(u16 *)(arg0 + 0xFC) + d; - *(u16 *)(arg0 + 0xFC) = sum; + sum = CAST_SIGN(u16, arg0, 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = sum; ang = (s16)sum; - base = D_8018A2B0[*(s16 *)(arg0 + 0x70)]; + base = D_8018A2B0[((Unkstruct_800B5CB8 *)arg0)->unk70]; yaw = (-(ang << 10)) / 8192 - 0x202; q = ang * -371; if (q < 0) { @@ -7089,25 +7089,25 @@ void func_801820AC(s32 arg0) { buf[0] = sn; buf[1] = yaw; buf[2] = cs; - buf[1] += D_8018A2BC[*(s16 *)(arg0 + 0x70)]; - *(s16 *)(arg0 + 6) = buf[0]; - *(u16 *)(arg0 + 0xA) = buf[1]; - *(s16 *)(arg0 + 0xE) = buf[2]; - rot = *(s16 *)(arg0 + 0xFC); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = (-rot) & 0xFFF; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) + D_8018A2A4[*(s16 *)(arg0 + 0x70)]; + buf[1] += D_8018A2BC[((Unkstruct_800B5CB8 *)arg0)->unk70]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = buf[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = buf[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = buf[2]; + rot = ((Unkstruct_800B5CB8 *)arg0)->unkFC; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = (-rot) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 + D_8018A2A4[((Unkstruct_800B5CB8 *)arg0)->unk70]; if (((s32 (*)(s32))func_8012BD14)(arg0) <= 0x10000 && func_8012D714(arg0, 1) != 0) { D_80126B98 = 10; - D_80126B9A = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + D_80126B9A = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12; mode = 2; - if (*(s16 *)(arg0 + 0x70) == 2) { + if (CAST_ALIAS(s16, arg0, 0x70) == 2) { mode = 4; } D_80126B96 = mode | 0x4000; } func_80181FAC(arg0); - if (*(s16 *)(arg0 + 0xFC) <= 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unkFC <= 0) { func_80182290((u8 *)arg0); } } @@ -7119,10 +7119,10 @@ extern void func_8012B200(u8 *a0); void func_80182290(u8 *param_1) { - *(s16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; func_8012B200(param_1); - *(u32 *)(param_1 + 0x18) = 0xFFF20000; - *(u32 *)(param_1 + 0x1C) = 0x3C; + CAST_WIDTH(u32, param_1, 0x18) = 0xFFF20000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; } @@ -7130,7 +7130,7 @@ void func_80182290(u8 *param_1) extern void (*D_8018A2F4[])(void); void func_801822D0(void *a0) { - D_8018A2F4[*(u16 *)((s32)a0 + 0x2)](); + D_8018A2F4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7197,16 +7197,16 @@ void func_8018230C(s32 arg0) { s32 w; s32 ang; - c = *(s32 *)(arg0 + 0x1C); + c = ((Unkstruct_800B5CB8 *)arg0)->unk1C; acc = 0; for (; c >= 0; c--, acc += D_8018A308) { - if (c < *(s32 *)(arg0 + 0x1C) - 0x10) { + if (c < ((Unkstruct_800B5CB8 *)arg0)->unk1C - 0x10) { break; } bp = base; - base[0] = *(u16 *)(arg0 + 6); - base[1] = *(u16 *)(arg0 + 0xA); - base[2] = *(u16 *)(arg0 + 0xE); + base[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + base[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + base[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; base[1] = base[1] - D_8018A302 * c; w = D_8018A304 + D_8018A306 * c; for (i = 0, ang = 0; i < 16; i++, ang += 0x100) { @@ -7223,8 +7223,8 @@ void func_8018230C(s32 arg0) { i = j; } while (i < 16); } - if (*(s32 *)(arg0 + 0x1C) == 0x10) { - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) &= 0x7FFFFFFF; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0x10) { + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) &= 0x7FFFFFFF; } if (func_8012BEE8(arg0) != 0) { func_801824D0(arg0); @@ -7291,14 +7291,14 @@ void func_801824FC(s32 arg0) { extern void (*D_8018A32C[])(void); void func_80182670(void *a0) { - D_8018A32C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A32C[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_8018A40C[])(void); void func_801826AC(void *a0) { - D_8018A40C[*(u16 *)((s32)a0 + 0x2)](); + D_8018A40C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7314,22 +7314,22 @@ void func_801826E8(s32 arg0) s32 p; s32 id; - if (*(s32 *)(arg0 + 0x1C) < 0x14) { - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x14) { + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) ^= 0x80000000; } func_8012AD80(arg0); - p = *(s32 *)(arg0 + 0x20); - *(u16 *)(p + 0x10) = *(u16 *)(p + 0x10) + D_8018A2A4[*(s16 *)(arg0 + 0x70)]; + p = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk10 = ((Unkstruct_800B5CB8 *)p)->unk10 + D_8018A2A4[((Unkstruct_800B5CB8 *)arg0)->unk70]; func_80181FAC(arg0); if (func_8012BEE8(arg0) != 0) { - if (*(s32 *)(arg0 + 0xDC) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unkDC != 0) { id = 0x4A4; - if (*(s16 *)(arg0 + 0x70) == 2) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 2) { id = 0x4A5; } - func_8002D59C(4, id, *(u16 *)(arg0 + 0x36)); + func_8002D59C(4, id, ((Unkstruct_800B5CB8 *)arg0)->unk36); } func_8012C218((void *)arg0); } @@ -7350,19 +7350,19 @@ void func_801827B4(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4(a0); return; } - func_8001C214(ret, (s32)D_8018A2E8[*(s16 *)((s32)a0 + 0x70)]); - func_8001D0E8(*(s32 *)((s32)a0 + 0x20), 0xC0, 0x94); - *(s32 *)((s32)a0 + 0x58) = - (*(s16 *)((s32)a0 + 0x70) == 2 ? (s32)&D_8018A2D8 : (s32)&D_8018A2C8) | 0x40000000; - *(s16 *)((s32)a0 + 0x5C) = 0x800; + func_8001C214(ret, (s32)D_8018A2E8[((Unkstruct_800B5CB8 *)a0)->unk70]); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0xC0, 0x94); + ((Unkstruct_800B5CB8 *)a0)->unk58 = + (((Unkstruct_800B5CB8 *)a0)->unk70 == 2 ? (s32)&D_8018A2D8 : (s32)&D_8018A2C8) | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; ((void (*)(void *, void *))func_8012A828)(a0, &(*(u8 *)&D_80183884)); - *(s16 *)((s32)a0 + 2) = 1; - *(s32 *)((s32)a0 + 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0; } @@ -7380,9 +7380,9 @@ void func_8018287C(s32 arg0) { base = (u16 *)&D_80126B58; if (func_8012BEE8(arg0) != 0) { for (i = 0; i < 4; i++) { - in.x = *(u16 *)(arg0 + 6) + D_8018A30C[i][0]; - in.y = *(u16 *)(arg0 + 0xA); - in.z = *(u16 *)(arg0 + 0xE) + D_8018A310[i][0]; + in.x = ((Unkstruct_800B5CB8 *)arg0)->unk6 + D_8018A30C[i][0]; + in.y = ((Unkstruct_800B5CB8 *)arg0)->unkA; + in.z = ((Unkstruct_800B5CB8 *)arg0)->unkE + D_8018A310[i][0]; out = in; out.y -= 0x18; if (func_8012DF34(0, (s32)&in, (s32)&out) != 0) { @@ -7410,11 +7410,11 @@ void func_80182990(s32 arg0) { if (func_8012BEE8(arg0) != 0) { func_8012C218((void *)arg0); } else { - p = *(s32 *)(arg0 + 0x20); + p = ((Unkstruct_800B5CB8 *)arg0)->unk20; v = D_8018A408; - *(u16 *)(p + 0x1C) = v; - *(u16 *)(p + 0x1A) = v; - *(u16 *)(p + 0x18) = v; + CAST_WIDTH(u16, p, 0x1C) = v; + ((Unkstruct_800B5CB8 *)p)->unk1A = v; + ((Unkstruct_800B5CB8 *)p)->unk18 = v; } } @@ -7430,14 +7430,14 @@ void func_80182A00(void *a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); } else { func_8001CA1C((void *)v0, &D_8018A338); func_8012A828((s32)a0, &D_8018A3B0); - *(u16 *)((s32)a0 + 2) = 1; - *(s32 *)((s32)a0 + 0x1C) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; } } @@ -7637,13 +7637,13 @@ extern void func_8012C098(void *a0); void func_80182F64(int param_1) { - if (*(short *)(param_1 + 0x70) == 2) { + if (((Unkstruct_80126B58 *)param_1)->unk70 == 2) { func_801832C0((void *)param_1); } else { D_8018A468[*(unsigned short *)(param_1 + 2)](param_1); - if ((D_801C7550[*(short *)(param_1 + 0xFC)] == 0) || - ((D_801C7550[(*(short *)(param_1 + 0xFC) - 1) & 3] == 0) && - (D_801C7550[(*(short *)(param_1 + 0xFC) + 1) & 3] == 0))) { + if ((D_801C7550[((Unkstruct_80126B58 *)param_1)->unkFC] == 0) || + ((D_801C7550[(((Unkstruct_80126B58 *)param_1)->unkFC - 1) & 3] == 0) && + (D_801C7550[(((Unkstruct_80126B58 *)param_1)->unkFC + 1) & 3] == 0))) { func_8012C098((void *)param_1); } } @@ -7673,9 +7673,9 @@ void func_80183054(s32 arg0) iVar1 = func_8012C194(); p2 = &D_801C7594; - *(int *)(arg0 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = iVar1; if (iVar1 != 0) { - switch (*(u16 *)(arg0 + 0x70) & 0x7f) { + switch (CAST_SIGN(u16, arg0, 0x70) & 0x7f) { case 0: func_8001CC3C(iVar1, (s32)&D_8018A45C, 0, 0); func_80183258((s32 *)arg0); @@ -7683,7 +7683,7 @@ void func_80183054(s32 arg0) break; case 1: func_8001CD9C(iVar1, p2); - *(u16 *)(iVar1 + 0x2c) = 0xc020; + ((Unkstruct_800B5CB8 *)iVar1)->unk2C = 0xc020; func_800233CC(p2, 0x50); *p2 = 0x80a040; D_801C7598 = 0; @@ -7692,16 +7692,16 @@ void func_80183054(s32 arg0) default: break; } - if ((*(u16 *)(arg0 + 0x70) & 0x80) != 0) { + if ((CAST_SIGN(u16, arg0, 0x70) & 0x80) != 0) { func_8012BF4C((s32 *)arg0, 1); } else { func_8012BF4C((s32 *)arg0, 0); - func_80015954(*(short *)(arg0 + 0xfc) * 0x10 + (s32)&D_8018A414, arg0 + 4); + func_80015954(((Unkstruct_800B5CB8 *)arg0)->unkFC * 0x10 + (s32)&D_8018A414, arg0 + 4); } - *(short *)(iVar1 + 0x1a) = 0x1000; - *(short *)(iVar1 + 0x18) = 0x1000; - *(int *)(iVar1 + 4) = *(int *)(iVar1 + 4) | 0x50000000; + ((Unkstruct_800B5CB8 *)iVar1)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)iVar1)->unk18 = 0x1000; + CAST_WIDTH(int, iVar1, 4) = CAST_WIDTH(int, iVar1, 4) | 0x50000000; } else { func_8012C098((void *)arg0); @@ -7738,7 +7738,7 @@ void func_801831E8(s32 arg0) { *ptr = 0x709030; } D_801C7598 = 0; - if ((*(s32 *)(arg0 + 0x1C) != 0) && (--*(s32 *)(arg0 + 0x1C) == 0)) { + if ((CAST_ALIAS(s32, arg0, 0x1C) != 0) && (--((Unkstruct_800B5CB8 *)arg0)->unk1C == 0)) { func_8012C098((void *) arg0); } } @@ -7746,7 +7746,7 @@ void func_801831E8(s32 arg0) { extern void func_80183278(); // K&R: 0 of 1 args (P37 rung D t4_D2) void func_80183258(s32 *a0) { - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; func_80183278(); } @@ -7771,7 +7771,7 @@ void func_80183278(s32 *a0) { extern void (*D_8018A488[])(void); void func_801832C0(void *a0) { - D_8018A488[*(u16 *)((s32)a0 + 0x2)](); + D_8018A488[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c index 4ac3869c0e..f4d29d48b8 100644 --- a/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c +++ b/src/ov_SC02_005/ov_SC02_005_jr_80185E80.c @@ -283,7 +283,7 @@ s16 param_3; if (param_2 < 0x1A) { if (param_3 == 0) { param_3 = 2; - if (*(u32 *)((u8 *)param_1 + 0xE8) & 0x2000) { + if (CAST_SIGN(u32, (u8 *)param_1, 0xE8) & 0x2000) { param_3 = 1; } } @@ -299,9 +299,9 @@ s16 param_3; s0 = (void **)(base2 + param_2 * 8); func_80132EC4(*s0, param_3); if (sp4 != 0) { - func_8012A860(*(void **)((u8 *)param_1 + 0xCC), (s32)*s0); + func_8012A860(CAST_SIGN(void *, (u8 *)param_1, 0xCC), (s32)*s0); } else { - func_8012A828((s32)*(void **)((u8 *)param_1 + 0xCC), *s0); + func_8012A828((s32)CAST_SIGN(void *, (u8 *)param_1, 0xCC), *s0); } } } @@ -385,8 +385,8 @@ void func_80186600(s32 a0) { s32 v0; s32 s1; - flags = *(s32 *)(a0 + 0xE8); - s1 = *(s32 *)(a0 + 0xCC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkE8; + s1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; D_801E43B8 = 0; if (flags & 1) { @@ -394,18 +394,18 @@ void func_80186600(s32 a0) { s16 fE6 = *(s16 *)(a0 + 0xE6); if (fE6 >= 0x55) { - s16 fE4 = *(s16 *)(a0 + 0xE4); + s16 fE4 = CAST_WIDTH(s16, a0, 0xE4); if (fE4 != 0) { - s32 p = *(s32 *)(s1 + 0x20); + s32 p = ((Unkstruct_800B5CB8 *)s1)->unk20; u16 t; - *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + 0x100; - t = *(u16 *)(a0 + 0xE4); + ((Unkstruct_800B5CB8 *)p)->unk12 = ((Unkstruct_800B5CB8 *)p)->unk12 + 0x100; + t = CAST_WIDTH(u16, a0, 0xE4); D_801E43B8 = 0x100; - *(s16 *)(a0 + 0xE4) = t - 1; + CAST_WIDTH(s16, a0, 0xE4) = t - 1; } else { v0 = flags & ~0x300; - *(s32 *)(a0 + 0xE8) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = v0; *(s16 *)(a0 + 0xE6) = 0; } } else { @@ -417,7 +417,7 @@ void func_80186600(s32 a0) { } } else if (fE6 == 0x54) { v0 = flags | 0x100; - *(s32 *)(a0 + 0xE8) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = v0; func_8002D4C8(0x4EC, 0); } *(s16 *)(a0 + 0xE6) = *(u16 *)(a0 + 0xE6) + 1; @@ -430,14 +430,14 @@ void func_80186600(s32 a0) { s32 r; v0 = func_8012B864(a0); - p1 = *(s32 *)(s1 + 0x20); - p2 = *(s32 *)(a0 + 0x20); - r = func_8012B608(*(s16 *)(p1 + 0x12) + *(s16 *)(p2 + 0x12), v0, 8); - p3 = *(s32 *)(s1 + 0x20); + p1 = ((Unkstruct_800B5CB8 *)s1)->unk20; + p2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + r = func_8012B608(CAST_SIGN(s16, p1, 0x12) + CAST_SIGN(s16, p2, 0x12), v0, 8); + p3 = ((Unkstruct_800B5CB8 *)s1)->unk20; { - u16 t2 = *(u16 *)(p3 + 0x12); + u16 t2 = ((Unkstruct_800B5CB8 *)p3)->unk12; D_801E43B8 = r; - *(u16 *)(p3 + 0x12) = t2 + r; + ((Unkstruct_800B5CB8 *)p3)->unk12 = t2 + r; } } } @@ -455,34 +455,34 @@ extern D_80195AF4_t D_80195AF4[]; s32 func_8018675C(void *a0) { - s32 flags = *(s32 *)((u8 *)a0 + 0xE8); + s32 flags = ((Unkstruct_800B5CB8 *)a0)->unkE8; if (flags & 0x800) { - s16 t = *(s16 *)((u8 *)a0 + 0xE0); + s16 t = CAST_WIDTH(s16, (u8 *)a0, 0xE0); if (t >= 0) { - if (*(s16 *)((u8 *)a0 + 6) < *(s16 *)((u8 *)D_80195AF4 + t * 8)) { + if (CAST_SIGN(s16, (u8 *)a0, 6) < *(s16 *)((u8 *)D_80195AF4 + t * 8)) { u16 old = D_801E43B4; s32 f6 = *(s16 *)((u8 *)D_80195AF4 + t * 8 + 6); D_801E43B4 = old + 1; D_801270C8 = f6; - *(s16 *)((u8 *)a0 + 0xE0) = -1; + CAST_WIDTH(s16, (u8 *)a0, 0xE0) = -1; } } - if (*(s32 *)((u8 *)a0 + 0x10) >= 0) { + if (CAST_WIDTH(s32, (u8 *)a0, 0x10) >= 0) { return 0; } - if (*(s16 *)((u8 *)a0 + 6) < D_80195ACE) { - *(s16 *)((u8 *)a0 + 0xFE) = 0; - *(s32 *)((u8 *)a0 + 0xE8) |= 8; + if (CAST_SIGN(s16, (u8 *)a0, 6) < D_80195ACE) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 |= 8; return 1; } return 0; } else { - if (*(s32 *)((u8 *)a0 + 0x18) > 0) { + if (CAST_WIDTH(s32, (u8 *)a0, 0x18) > 0) { s32 phase = D_801E4BBC; - if (*(s16 *)((u8 *)D_80195AC4 + phase * 4) < *(s16 *)((u8 *)a0 + 0xE)) { - *(s32 *)((u8 *)a0 + 0xE8) = flags | ((phase == 2) ? 0x400 : 8); - *(s16 *)((u8 *)a0 + 0xFE) = 0; + if (*(s16 *)((u8 *)D_80195AC4 + phase * 4) < CAST_SIGN(s16, (u8 *)a0, 0xE)) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = flags | ((phase == 2) ? 0x400 : 8); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; return 1; } } @@ -793,39 +793,39 @@ void func_80186DE8(s32 a0) { s32 flags; s32 a2; - state = *(s16 *)(a0 + 0xFC); + state = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (state == 0) { return; } - flags = *(s32 *)(a0 + 0xE8); + flags = ((Unkstruct_800B5CB8 *)a0)->unkE8; state = state - 1; - *(s16 *)(a0 + 0xFC) = state; + ((Unkstruct_800B5CB8 *)a0)->unkFC = state; if (flags & 0x40) { if (state != 0) { return; } v0 = flags & ~0x40; - *(s32 *)(a0 + 0xE8) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = v0; v0 = 8; - *(s16 *)(a0 + 0xFC) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; return; } if (flags & 0x200) { - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; return; } a2 = D_801E43A0; if ((a2 & 0x1540) == 0x1540) { - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; return; } if (state != 0) { return; } v0 = flags | 0x40; - *(s32 *)(a0 + 0xE8) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = v0; v0 = 0xC; - *(s16 *)(a0 + 0xFC) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; if ((a2 & 0x40) == 0) { func_80186F9C(a0, 5); } @@ -855,7 +855,7 @@ void func_80186F14(void *a0) void func_80186F58(void *a0) { - *(s16 *)((s32)a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } @@ -900,7 +900,7 @@ void func_80186F9C(a0, a1) } v1 = func_8012C658(0x51, a2 | a1, 0); if (v1 != 0) { - *(s32 *)(v1 + 0x64) = *(s32 *)(a0 + 0xCC); + ((Unkstruct_800B5CB8 *)v1)->unk64 = ((Unkstruct_800B5CB8 *)a0)->unkCC; } } } @@ -915,7 +915,7 @@ void func_80187070(s32 arg0) { v1 = func_8012C658(0x56, 5, self); if (v1 != 0) { - *(s32 *)(v1 + 0xCC) = *(s32 *)(self + 0xCC); + ((Unkstruct_800B5CB8 *)v1)->unkCC = *(s32 *)(self + 0xCC); } } @@ -1025,7 +1025,7 @@ void func_80187280(s32 arg0, s32 arg1) { } else { p[i] = D_801BD9D4[arg1 & 0xFFFF]; } - *(s32 *)(arg0 + 0x58) = ((((arg1 & 0xFFFF) << 4) + (u32)D_80195CA4)) | 0x40000000; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = ((((arg1 & 0xFFFF) << 4) + (u32)D_80195CA4)) | 0x40000000; } D_801E43A0 |= 1 << var; } @@ -1100,7 +1100,7 @@ s32 func_801873FC(s32 a0) { s32 x; s32 i; - box = (u8 *)((*(u32 *)(a0 + 0x58) & 0xFFFFFFF) | 0x80000000); + box = (u8 *)((CAST_SIGN(u32, a0, 0x58) & 0xFFFFFFF) | 0x80000000); p1.x = *(u16 *)(box + 4); p1.z = *(u16 *)(box + 0xC); @@ -1154,29 +1154,29 @@ s32 func_80187560(s32 a0, s32 a1, s32 a2) { Vec4h_80187560 p2; s32 result; - p1.x = *(u16 *)(a0 + 0x6) + *(u16 *)(a1 + 0x4); - p2.x = *(u16 *)(a0 + 0x6) + *(u16 *)(a1 + 0x6); - p1.y = p2.y = a2 + (*(u16 *)(a0 + 0xA) + *(u16 *)(a1 + 0xA)); + p1.x = ((Unkstruct_800B5CB8 *)a0)->unk6 + *(u16 *)(a1 + 0x4); + p2.x = ((Unkstruct_800B5CB8 *)a0)->unk6 + *(u16 *)(a1 + 0x6); + p1.y = p2.y = a2 + (((Unkstruct_800B5CB8 *)a0)->unkA + *(u16 *)(a1 + 0xA)); - p1.z = p2.z = *(u16 *)(a0 + 0xE) - 0x30; + p1.z = p2.z = ((Unkstruct_800B5CB8 *)a0)->unkE - 0x30; if (func_8012DF34(a0, (s32)&p1, (s32)&p2)) { result = 1; goto save; } - p1.z = p2.z = *(u16 *)(a0 + 0xE) - 0x10; + p1.z = p2.z = ((Unkstruct_800B5CB8 *)a0)->unkE - 0x10; if (func_8012DF34(a0, (s32)&p1, (s32)&p2)) { result = 1; goto save; } - p1.z = p2.z = *(u16 *)(a0 + 0xE) + 0x10; + p1.z = p2.z = ((Unkstruct_800B5CB8 *)a0)->unkE + 0x10; if (func_8012DF34(a0, (s32)&p1, (s32)&p2)) { result = 1; goto save; } - p1.z = p2.z = *(u16 *)(a0 + 0xE) + 0x30; + p1.z = p2.z = ((Unkstruct_800B5CB8 *)a0)->unkE + 0x30; result = func_8012DF34(a0, (s32)&p1, (s32)&p2) != 0; save: @@ -1362,7 +1362,7 @@ extern void func_80186304(void * param_1, s32 param_2, int param_3); extern void func_8012AD44(s32 *a0, s16 a1); void func_80187A38(void *arg0) { - *(u32 *)((s32)arg0 + 0xE8) |= 1; + CAST_SIGN(u32, (s32)arg0, 0xE8) |= 1; func_80186F58(arg0); func_80186304((u8 *)arg0, 0xE, 2); func_8012AD44((s32 *)arg0, 4); @@ -1375,7 +1375,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_80186F58(void *a0); void func_80187A8C(void *arg0) { - *(u32 *)((s32)arg0 + 0xE8) &= ~1; + CAST_SIGN(u32, (s32)arg0, 0xE8) &= ~1; func_8012AD44((s32 *)arg0, 5); func_80186F58(arg0); } @@ -1454,12 +1454,12 @@ void func_80187C14(s32 a0) { func_8012AD80(a0); if (func_8012BEE8(a0) == 0) { - temp = *(s32 *)(a0 + 0x1C); + temp = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (temp % 3 == 1) { func_8018A174(a0); } } - if (*(s16 *)(a0 + 0xA) < -0xB00) { + if (CAST_SIGN(s16, a0, 0xA) < -0xB00) { func_8018203C(a0); } } @@ -1501,7 +1501,7 @@ extern void func_8018415C(void *a0); void func_80187D4C(s32 param_1) { if (func_8012BEE8(param_1) != 0) { func_80182284(param_1); - func_8018415C(*(void **)(param_1 + 0xD4)); + func_8018415C(CAST_SIGN(void *, param_1, 0xD4)); } } @@ -1519,12 +1519,12 @@ extern void func_80182998(void); extern void func_801838A8(u8*); void func_80187DCC(u8 *arg0) { - if (*(u32 *)(arg0 + 0xE8) & 0x60000) { + if (CAST_SIGN(u32, arg0, 0xE8) & 0x60000) { func_80182998(); return; } - if (!(*(u32 *)(arg0 + 0xE8) & 0x200)) { + if (!(CAST_SIGN(u32, arg0, 0xE8) & 0x200)) { func_801838A8(arg0); } } @@ -1540,30 +1540,30 @@ extern s32 func_80184CA4(void *arg0); extern void func_801856E4(void); void func_80187E18(u8 *arg0) { - if (*(u16 *)(arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (D_801E4BBC == 2) { - if (*(s32 *)(arg0 + 0x94) == 0xC) { - if (*(s16 *)(arg0 + 0x98) == 1) { - func_80184CA4(*(s32 *)(arg0 + 0xD0)); - *(u16 *)(arg0 + 0x5C) |= 0x200; + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0xC) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 1) { + func_80184CA4(((Unkstruct_800B5CB8 *)arg0)->unkD0); + ((Unkstruct_800B5CB8 *)arg0)->unk5C |= 0x200; } } } else { - if (*(s32 *)(arg0 + 0x94) == 0xA) { - if (*(s16 *)(arg0 + 0x98) == 1) { + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0xA) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 1) { func_8002D4C8(0xA2F, 0); } } } - if (*(s16 *)(arg0 + 0x98) == 0) { - (*(u16 *)(arg0 + 0x34))++; - *(s32 *)(arg0 + 0x1C) = 0; - *(s32 *)(arg0 + 0xE8) |= 0x10000; + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { + (((Unkstruct_800B5CB8 *)arg0)->unk34)++; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 |= 0x10000; } } else { if (func_8012BEE8((s32)arg0) != 0) { func_801856E4(); - *(s32 *)(arg0 + 0x1C) = 0x180; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x180; } } } @@ -1651,10 +1651,10 @@ extern u8 D_8019103C; void func_801880AC(void *a0) { - *(u32 *)((u8 *)a0 + 0xE8) |= 0x4000; + CAST_SIGN(u32, (u8 *)a0, 0xE8) |= 0x4000; func_8012AD80((s32)a0); - if (*(s16 *)((u8 *)a0 + 0xA) >= 0) { - *(s16 *)((u8 *)a0 + 0xA) = 0; + if (CAST_SIGN(s16, (u8 *)a0, 0xA) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; func_8013C9C4(&D_8019103C); ((void (*)(s32))func_8018300C)((s32)a0); } @@ -1692,7 +1692,7 @@ extern void func_80183074(s32 *a0); void func_80188194(s32 a0) { ((void (*)(s32 *, s32))func_801830F4)((s32 *) a0, 0); - if ((*(u32 *) ((char *) a0 + 0x1C) & 3) == 0) { + if ((CAST_SIGN(u32, (char *) a0, 0x1C) & 3) == 0) { func_8002D4C8(0x504, 0); } if (func_8012BEE8(a0) != 0) { @@ -1774,22 +1774,22 @@ void func_80188324(s32 a0) { if (!ret) return; - *(u8 *)(a0 + 0xC1) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; func_8012AD44((s32 *)a0, 1); func_8012B200(a0); /* Structure updates */ - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x28) = (0xE0 << 16) | 0xE0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = (0xE0 << 16) | 0xE0; - v0 = *(s32 *)(a0 + 0x20); - v1 = *(u16 *)(v0 + 0x2C); - *(u16 *)(v0 + 0x2C) = v1 | 0x80; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)v0)->unk2C; + ((Unkstruct_800B5CB8 *)v0)->unk2C = v1 | 0x80; - v0 = *(s32 *)(a0 + 0x20); - *(s32 *)(v0 + 0x80) = (s32)&D_801961E0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, v0, 0x80) = (s32)&D_801961E0; - *(u8 *)(a0 + 0x75) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; D_801E4490 = 0x1000000; D_801E448C = 0x1000000; } @@ -1830,16 +1830,16 @@ void func_80188404(void *a0) func_8012CAE4(a0); return; } - *(s32 *)((s32)a0 + 0xC) = 0; - *(s32 *)((s32)a0 + 0x8) = 0; - *(s32 *)((s32)a0 + 0x4) = 0; - func_80132784((s32)a0, *(s32 *)((s32)a0 + 0x64), 0); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0xE000E0; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019637C; - *(s32 *)((s32)a0 + 0xB4) = 0; - *(u8 *)((s32)a0 + 0x75) = 8; - *(s32 *)((s32)a0 + 0xC4) |= 2; + CAST_WIDTH(s32, (s32)a0, 0xC) = 0; + CAST_WIDTH(s32, (s32)a0, 0x8) = 0; + CAST_WIDTH(s32, (s32)a0, 0x4) = 0; + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unk64, 0); + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0xE000E0; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019637C; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 2; func_80183D54((s32)a0); func_80132288(&D_801E44E0, &D_801963B8, (*(s32 *)&D_801D6D94)); } @@ -1870,19 +1870,19 @@ extern void (*D_80196338[])(void); void func_8018850C(s32 *s0) { s32 *v1; - v1 = (s32 *)*(s32 *)((u8 *)s0 + 0x20); + v1 = (s32 *)((Unkstruct_800B5CB8 *)s0)->unk20; *(u16 *)((u8 *)v1 + 0x2C) |= 1; ((void (*)(s32))func_8013240C)((s32)&D_801E44E0); if (D_801E44EC & 0x4000) { - v1 = (s32 *)*(s32 *)((u8 *)s0 + 0x64); + v1 = (s32 *)((Unkstruct_800B5CB8 *)s0)->unk64; *(u32 *)((u8 *)v1 + 0xE8) |= 2; func_80183FCC((s32)s0); - *(u8 *)((u8 *)s0 + 0xC1) = 0; - *(u16 *)((u8 *)s0 + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; + CAST_WIDTH(u16, (u8 *)s0, 0x5E) = 0; func_8012AD44(s0, 2); - *(s32 *)((u8 *)s0 + 0x58) = (s32)&D_80196338 | 0x40000000; - func_80132784((s32)s0, *(s32 *)((u8 *)s0 + 0x64), 0x15); + ((Unkstruct_800B5CB8 *)s0)->unk58 = (s32)&D_80196338 | 0x40000000; + func_80132784((s32)s0, ((Unkstruct_800B5CB8 *)s0)->unk64, 0x15); } } @@ -1979,14 +1979,14 @@ void func_8018874C(s32 arg0) { s32 flags; s32 st; - idx = *(s16 *)(arg0 + 0x70); + idx = ((Unkstruct_800B5CB8 *)arg0)->unk70; if (idx < 13) { flags = D_801E43A0; if (((flags >> (idx + 1)) & 1) != 0) { func_80185060(arg0, 0); } } - st = *(s32 *)(*(s32 *)(arg0 + 0xCC) + 0xE8); + st = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xCC))->unkE8; if (st & 0x8000) { func_80185214(arg0); } @@ -2024,16 +2024,16 @@ void func_80188830(s32 a0) { void *v1; u16 hw; - if (*(s16 *)((u8 *)a0 + 0x70) < 12) { - v1 = *(void **)((u8 *)a0 + 0x20); - *(u16 *)((u8 *)v1 + 0x14) += 0x300; + if (((Unkstruct_800B5CB8 *)a0)->unk70 < 12) { + v1 = CAST_SIGN(void *, (u8 *)a0, 0x20); + CAST_WIDTH(u16, (u8 *)v1, 0x14) += 0x300; - v1 = *(void **)((u8 *)a0 + 0x20); - *(u16 *)((u8 *)v1 + 0x10) += 0x100; + v1 = CAST_SIGN(void *, (u8 *)a0, 0x20); + ((Unkstruct_800B5CB8 *)v1)->unk10 += 0x100; - hw = *(u16 *)((u8 *)a0 + 0x100); + hw = CAST_SIGN(u16, (u8 *)a0, 0x100); hw++; - *(u16 *)((u8 *)a0 + 0x100) = hw; + ((Unkstruct_800B5CB8 *)a0)->unk100 = hw; if ((hw & 3) == 0) { func_80189F84(a0); @@ -2041,7 +2041,7 @@ void func_80188830(s32 a0) { func_8012AD80(a0); - if (*(s16 *)((u8 *)a0 + 0xA) >= *(s16 *)((u8 *)a0 + 0x102)) { + if (CAST_SIGN(s16, (u8 *)a0, 0xA) >= ((Unkstruct_800B5CB8 *)a0)->unk102) { func_8012B200((u8 *)a0); func_801853CC(a0); } @@ -2074,12 +2074,12 @@ extern void func_801822B4(s32 a0); void func_80188968(s32 arg0) { - if (*(s16 *)(arg0 + 0x98) == 0) + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { func_8012B23C(arg0); - if ((*(s16 *)(arg0 + 0xE0) < 0) && (*(s16 *)(arg0 + 0xDC) != 0)) + if ((CAST_WIDTH(s16, arg0, 0xE0) < 0) && (CAST_WIDTH(s16, arg0, 0xDC) != 0)) { - *(u16 *)(arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; return; } func_801822B4(arg0); @@ -2091,7 +2091,7 @@ void func_80188968(s32 arg0) extern void (*D_801964BC[])(void); void func_801889D4(void *a0) { - D_801964BC[*(u16 *)((s32)a0 + 0x2)](); + D_801964BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2144,29 +2144,29 @@ void func_80188A7C(void *a0) *p96 |= 0x4000; } - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) < 0x400) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) + 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < 0x400) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) + 0x100; } - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 + 0x40; - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012CBCC((s32)a0) != 0) { func_8018A658((s32)a0); func_8013C9C4(&D_8019103C); - *(s32 *)((s32)a0 + 0x48) = 0; - *(s32 *)((s32)a0 + 0x10) = 0; - *(s32 *)((s32)a0 + 0x14) = 0; - *(s32 *)((s32)a0 + 0x18) = (s32)0xFFD80000; - *(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0; + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + CAST_WIDTH(s32, (s32)a0, 0x18) = (s32)0xFFD80000; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8002D4C8(0x4FC, 0); } break; case 1: func_8012AD80((s32)a0); - if ((*(s16 *)((s32)a0 + 0xE) - D_80126CB8) < -0x180) { + if ((CAST_SIGN(s16, (s32)a0, 0xE) - D_80126CB8) < -0x180) { func_8018AC10((s32)a0); } break; @@ -2178,7 +2178,7 @@ void func_80188A7C(void *a0) extern void (*D_801964FC[])(void); void func_80188BB4(void *a0) { - D_801964FC[*(u16 *)((s32)a0 + 0x2)](); + D_801964FC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2210,35 +2210,35 @@ void func_80188BF0(void *a0) return; } - if (*(s16 *)((u8 *)a0 + 0x70) != 0) { - *(s16 *)((u8 *)a0 + 0x5C) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; } else { - s32 flags = *(s32 *)((u8 *)a0 + 0xC4); - *(u8 *)((u8 *)a0 + 0xC0) = 1; - *(s32 *)((u8 *)a0 + 0xBC) = (s32)&D_80196578; - *(s32 *)((u8 *)a0 + 0xB4) = 0; - *(u8 *)((u8 *)a0 + 0xC1) = 0; - *(s16 *)((u8 *)a0 + 0xAE) = -1; - *(u8 *)((u8 *)a0 + 0x75) = 0; - *(s32 *)((u8 *)a0 + 0xC4) = flags | 2; + s32 flags = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80196578; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = flags | 2; } - *(s32 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x28) = 0xE000E0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0xE000E0; func_8012B23C((s32)a0); - *(s32 *)((u8 *)a0 + 0x14) = 0xFFEC0000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFEC0000; - idx = (*(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0x100) & 1) - + ((*(u16 *)((u8 *)a0 + 0x70) & 1) << 1); + idx = (*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 1) + + ((CAST_SIGN(u16, (u8 *)a0, 0x70) & 1) << 1); - *(s32 *)((u8 *)a0 + 0x10) = D_80196514[idx * 2]; - *(s32 *)((u8 *)a0 + 0x18) = D_80196518[idx * 2]; - *(s16 *)((u8 *)a0 + 0xFC) = D_80196534[idx * 2]; - *(s16 *)((u8 *)a0 + 0xFE) = D_80196536[idx * 2]; + CAST_WIDTH(s32, (u8 *)a0, 0x10) = D_80196514[idx * 2]; + CAST_WIDTH(s32, (u8 *)a0, 0x18) = D_80196518[idx * 2]; + ((Unkstruct_800B5CB8 *)a0)->unkFC = D_80196534[idx * 2]; + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_80196536[idx * 2]; v0 = func_80143970((s32)a0); - *(s32 *)((u8 *)a0 + 0xCC) = v0; - *(s16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) = -0x200; + ((Unkstruct_800B5CB8 *)a0)->unkCC = v0; + CAST_ALIAS(s16, *(s32 *)((u8 *)a0 + 0x20), 0x12) = -0x200; func_8012AD50(a0); } @@ -2264,58 +2264,58 @@ void func_80188D1C(s32 a0) s16 ang; s16 v; - obj = *(s32 *)(a0 + 0xCC); - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) != *(s16 *)(a0 + 0xFE)) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) + *(u16 *)(a0 + 0xFC); + obj = ((Unkstruct_800B5CB8 *)a0)->unkCC; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) != ((Unkstruct_800B5CB8 *)a0)->unkFE) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + CAST_SIGN(u16, a0, 0xFC); } if (obj != 0) { - v = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + v = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (v < 0) { ang = -v; } else { ang = v; } - *(s16 *)(*(s32 *)(obj + 0xCC) + 0x18) = ang * 24 + 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(obj + 0xCC))->unk18 = ang * 24 + 0x2000; } - if (*(s16 *)(a0 + 0x70) == 0 && obj != 0 && ang == 0x400 && + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && obj != 0 && ang == 0x400 && func_8012D714(a0, 2) != 0) { D_80126B96 = 0x4002; D_80126B98 = 10; } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012CBCC(a0) != 0) { - *(s32 *)(a0 + 0x14) = (s32)0xFFF80000; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = (s32)0xFFF80000; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8018A47C(a0); func_8013C9C4(D_80191060); func_8002D4C8(0x4F9, 0); if (obj != 0) { func_801439C0((u8 *)obj); - *(s32 *)(a0 + 0xCC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; } } break; case 1: if (func_8012CBCC(a0) != 0) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8012B200((u8 *)a0); - if (*(s16 *)(a0 + 0x70) != 0) { - *(s32 *)(a0 + 0x1C) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } else { - *(s32 *)(a0 + 0x1C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; } } break; case 2: if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x5C) &= 0xFDFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xFDFF; func_8012AD50((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x18; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x18; } break; } @@ -2379,33 +2379,33 @@ void func_80188FF0(s32 a0) { func_8012AD80(a0); v0 = func_801892CC(a0); - if (*(s16 *)(a0 + 0x100) == 0 && v0 != 0) { - *(s16 *)(a0 + 0x102) = 2; - *(u16 *)(a0 + 0x100) += 1; - } else if (*(s16 *)(a0 + 0x102) != 0) { - if (--*(s16 *)(a0 + 0x102) == 0) { - *(s32 *)(a0 + 0x1C) = 0x18; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0x100) = -1; - *(s32 *)(a0 + 0x10) = -(*(s32 *)(a0 + 0x10) >> 1); - *(s32 *)(a0 + 0x18) = -(*(s32 *)(a0 + 0x18) >> 1); - *(s32 *)(a0 + 0x14) += -0x80000; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0 && v0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = 2; + CAST_SIGN(u16, a0, 0x100) += 1; + } else if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x18; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = -1; + CAST_WIDTH(s32, a0, 0x10) = -(CAST_WIDTH(s32, a0, 0x10) >> 1); + CAST_WIDTH(s32, a0, 0x18) = -(CAST_WIDTH(s32, a0, 0x18) >> 1); + ((Unkstruct_800B5CB8 *)a0)->unk14 += -0x80000; } } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - if (*(s16 *)(a0 + 0xA) >= -0x7FF) { + if (CAST_SIGN(s16, a0, 0xA) >= -0x7FF) { func_8018A47C(a0); - *(s32 *)(a0 + 0x14) = -0x80000; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = -0x80000; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8002D4C8(0xA2E, 0); } break; case 1: - if (*(s16 *)(a0 + 0xA) >= -0x7FF) { - *(s32 *)(a0 + 0x48) = 0; - *(u16 *)(a0 + 0x34) += 1; + if (CAST_SIGN(s16, a0, 0xA) >= -0x7FF) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 2: @@ -2414,13 +2414,13 @@ void func_80188FF0(s32 a0) { } break; case 3: - if (*(s16 *)(a0 + 0xA) >= -0x7FF) { + if (CAST_SIGN(s16, a0, 0xA) >= -0x7FF) { func_8012B200((u8 *)a0); } - if (*(s32 *)(a0 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; } if (func_8012BEE8(a0) != 0) { func_8012C218((void *)a0); @@ -2434,7 +2434,7 @@ void func_80188FF0(s32 a0) { extern void (*D_801965B0[])(void); void func_80189204(void *a0) { - D_801965B0[*(u16 *)((s32)a0 + 0x2)](); + D_801965B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2511,7 +2511,7 @@ s32 func_801892CC(s32 arg0) s32 i; s32 count; - if (*(s16 *)(arg0 + 0x100) < 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk100 < 0) { return 0; } @@ -2529,28 +2529,28 @@ s32 func_801892CC(s32 arg0) func_8012F214(arg0, (s32)&v1, (s32)&o3); for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0x49) { + if (((Unkstruct_800B5CB8 *)p)->unk0 != 0x49) { continue; } - hit = func_80135260(*(s32 *)(p + 0x20), *(s32 *)(p + 0x58), (s16 *)&o0, (s16 *)&o1) + hit = func_80135260(((Unkstruct_800B5CB8 *)p)->unk20, ((Unkstruct_800B5CB8 *)p)->unk58, (s16 *)&o0, (s16 *)&o1) ? (u16 *)&o1 : (u16 *)0; - if (func_80135260(*(s32 *)(p + 0x20), *(s32 *)(p + 0x58), (s16 *)&o2, (s16 *)&o3)) { + if (func_80135260(((Unkstruct_800B5CB8 *)p)->unk20, ((Unkstruct_800B5CB8 *)p)->unk58, (s16 *)&o2, (s16 *)&o3)) { hit = (u16 *)&o3; } if (hit == (u16 *)0) { continue; } - if (*(s16 *)(p + 0xAE) == 0 && *(u16 *)(p + 0x5E) != 0x1D) { - u16 f = *(u16 *)(p + 0x5C); + if (((Unkstruct_800B5CB8 *)p)->unkAE == 0 && CAST_WIDTH(u16, p, 0x5E) != 0x1D) { + u16 f = ((Unkstruct_800B5CB8 *)p)->unk5C; if ((f & 0xC000) == 0x8000) { - *(s16 *)(p + 0x5C) = f | 1; - *(s16 *)(p + 0x60) = 8; - *(s16 *)(p + 0x62) = 0; - *(s16 *)(p + 0x5E) = 0x1D; - *(s16 *)(p + 0x7C) = hit[0]; - *(s16 *)(p + 0x7E) = hit[1]; - *(s16 *)(p + 0x80) = hit[2]; + ((Unkstruct_800B5CB8 *)p)->unk5C = f | 1; + ((Unkstruct_800B5CB8 *)p)->unk60 = 8; + ((Unkstruct_800B5CB8 *)p)->unk62 = 0; + CAST_WIDTH(s16, p, 0x5E) = 0x1D; + ((Unkstruct_800B5CB8 *)p)->unk7C = hit[0]; + ((Unkstruct_800B5CB8 *)p)->unk7E = hit[1]; + ((Unkstruct_800B5CB8 *)p)->unk80 = hit[2]; } } count++; @@ -2566,24 +2566,24 @@ s32 func_801892CC(s32 arg0) extern void (*D_801965C0[])(void); void func_801894C8(void *a0) { - D_801965C0[*(u16 *)((s32)a0 + 0x2)](); + D_801965C0[((Unkstruct_80126B58 *)a0)->unk2](); } extern void func_80132784(s32 a0, s32 a1, u32 a2); void func_80189504(void *a0) { - func_80132784((s32)a0, *(s32 *)((u8 *)a0 + 0xCC), *(u16 *)((u8 *)a0 + 0x70)); + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unkCC, CAST_SIGN(u16, (u8 *)a0, 0x70)); - *(s32 *)((u8 *)a0 + 0xDC) = - (*(s32 *)(*(s32 *)(*(s32 *)((u8 *)a0 + 0x64) + 0x20) + 0x48) - - *(s32 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x48)) >> 4; - *(s32 *)((u8 *)a0 + 0xE0) = - (*(s32 *)(*(s32 *)(*(s32 *)((u8 *)a0 + 0x64) + 0x20) + 0x4C) - - *(s32 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x4C)) >> 4; - *(s32 *)((u8 *)a0 + 0xE4) = - (*(s32 *)(*(s32 *)(*(s32 *)((u8 *)a0 + 0x64) + 0x20) + 0x50) - - *(s32 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x50)) >> 4; + ((Unkstruct_800B5CB8 *)a0)->unkDC = + (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x48) - + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk48) >> 4; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = + (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4C) - + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk4C) >> 4; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = + (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x50) - + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk50) >> 4; } @@ -2591,7 +2591,7 @@ void func_80189504(void *a0) { extern void (*D_801965D4[])(void); void func_801895A4(void *a0) { - D_801965D4[*(u16 *)((s32)a0 + 0x2)](); + D_801965D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2600,17 +2600,17 @@ void func_801895E0(void *a0) { s32 n; s32 arr[3]; - p = *(s32 **)((s32)a0 + 0x2C); - n = *(s16 *)((s32)a0 + 0x30) + 1; + p = CAST_WIDTH(s32 *, (s32)a0, 0x2C); + n = CAST_WIDTH(s16, (s32)a0, 0x30) + 1; arr[0] = *(s32 *)((s32)p + 0xDC); arr[1] = *(s32 *)((s32)p + 0xE0); arr[2] = *(s32 *)((s32)p + 0xE4); - *(s16 *)((s32)a0 + 0x06) = + ((Unkstruct_800B5CB8 *)a0)->unk6 = arr[0] * n + *(s32 *)(*(s32 *)((s32)p + 0x20) + 0x48) - (arr[0] >> 1); - *(s16 *)((s32)a0 + 0x0A) = + ((Unkstruct_800B5CB8 *)a0)->unkA = arr[1] * n + *(s32 *)(*(s32 *)((s32)p + 0x20) + 0x4C) - (arr[1] >> 1); - *(s16 *)((s32)a0 + 0x0E) = + ((Unkstruct_800B5CB8 *)a0)->unkE = arr[2] * n + *(s32 *)(*(s32 *)((s32)p + 0x20) + 0x50) - (arr[2] >> 1); } @@ -2641,29 +2641,29 @@ void func_8018968C(void *a0) s32 disp; s32 base; - id = *(s16 *)((u8 *)a0 + 0x102) = func_8018B300(); + id = ((Unkstruct_800B5CB8 *)a0)->unk102 = func_8018B300(); err = 0; - *(s32 *)((u8 *)a0 + 0xC) = 0; - *(s32 *)((u8 *)a0 + 0x8) = 0; - *(s32 *)((u8 *)a0 + 0x4) = 0; - *(s16 *)((u8 *)a0 + 0x100) = *(u16 *)((u8 *)a0 + 0x70) >> 8; - *(u16 *)((u8 *)a0 + 0x70) = *(u8 *)((u8 *)a0 + 0x70); + CAST_WIDTH(s32, (u8 *)a0, 0xC) = 0; + CAST_WIDTH(s32, (u8 *)a0, 0x8) = 0; + CAST_WIDTH(s32, (u8 *)a0, 0x4) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (u8 *)a0, 0x70) >> 8; + ((Unkstruct_800B5CB8 *)a0)->unk70 = CAST_WIDTH(u8, (u8 *)a0, 0x70); if (id < 0) { err = 1; } else { - if (*(s16 *)((u8 *)a0 + 0x100) < 2) { - *(s16 *)((u8 *)a0 + 0xFE) = 4; + if (((Unkstruct_800B5CB8 *)a0)->unk100 < 2) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; flag = 0; } else { - *(s16 *)((u8 *)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; flag = 1; } - for (i = 0; i < *(s16 *)((u8 *)a0 + 0xFE); i++) { + for (i = 0; i < ((Unkstruct_800B5CB8 *)a0)->unkFE; i++) { t = (s32)func_8012913C(9); arr[i] = t; if (t != 0) { - *(s16 *)(*(s32 *)(t + 0x20) + 0x1E) = flag; + *(s16 *)(((Unkstruct_800B5CB8 *)t)->unk20 + 0x1E) = flag; } else { err++; } @@ -2671,13 +2671,13 @@ void func_8018968C(void *a0) } c1b8 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)a0 + 0x20) = c1b8; + ((Unkstruct_800B5CB8 *)a0)->unk20 = c1b8; if (c1b8 == 0) { err++; } if (err != 0) { - for (i = 0; i < *(s16 *)((u8 *)a0 + 0xFE); i++) { + for (i = 0; i < ((Unkstruct_800B5CB8 *)a0)->unkFE; i++) { if (arr[i] != 0) { func_801292C8((u8 *)arr[i]); } @@ -2688,13 +2688,13 @@ void func_8018968C(void *a0) func_8001C2C4(c1b8); - *(s16 *)((u8 *)a0 + 0x6) = D_801965DC[*(s16 *)((u8 *)a0 + 0x100) * 4]; - *(s16 *)((u8 *)a0 + 0xA) = D_801965DE[*(s16 *)((u8 *)a0 + 0x100) * 4]; - *(s16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x10) = D_801965E0[*(s16 *)((u8 *)a0 + 0x100) * 4]; - *(s16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) = D_801965E2[*(s16 *)((u8 *)a0 + 0x100) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_801965DC[((Unkstruct_800B5CB8 *)a0)->unk100 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_801965DE[((Unkstruct_800B5CB8 *)a0)->unk100 * 4]; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk10 = D_801965E0[((Unkstruct_800B5CB8 *)a0)->unk100 * 4]; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 = D_801965E2[((Unkstruct_800B5CB8 *)a0)->unk100 * 4]; i = 0; - if (*(s16 *)((u8 *)a0 + 0xFE) > 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE > 0) { disp = id << 7; base = (s32)D_801E44F8; do { @@ -2706,11 +2706,11 @@ void func_8018968C(void *a0) *(s32 *)(arr[i] + 0x34) = disp + base; base += 0x20; i++; - } while (i < *(s16 *)((u8 *)a0 + 0xFE)); + } while (i < ((Unkstruct_800B5CB8 *)a0)->unkFE); } - *(s16 *)((u8 *)a0 + 0xFC) = 0; - *(u16 *)((u8 *)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + CAST_SIGN(u16, (u8 *)a0, 0x2) += 1; } @@ -2729,38 +2729,38 @@ void func_801898F4(void *a0) { u8 *p; s32 v0; - if (*(s16 *)((u8 *)a0 + 0xFC) == 0) { - for (i = 0; i < *(s16 *)((u8 *)a0 + 0xFE); i++) { - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x2C) &= ~1; - switch (*(s16 *)((u8 *)a0 + 0x100)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + for (i = 0; i < ((Unkstruct_800B5CB8 *)a0)->unkFE; i++) { + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk2C &= ~1; + switch (((Unkstruct_800B5CB8 *)a0)->unk100) { case 0: - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) = i * 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 = i * 0x400; break; case 1: - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) = i * 0x400; - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) += 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 = i * 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 += 0x200; break; } - func_80132784((s32)a0, *(s32 *)((u8 *)a0 + 0x64), *(u16 *)((u8 *)a0 + 0x70)); + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unk64, CAST_SIGN(u16, (u8 *)a0, 0x70)); base = D_801E44F8; - p = base + *(s16 *)((u8 *)a0 + 0x102) * 128; + p = base + ((Unkstruct_800B5CB8 *)a0)->unk102 * 128; *(Blk32_801898F4 *)(p + i * 32) = - *(Blk32_801898F4 *)((u8 *)(*(s32 *)((u8 *)a0 + 0x20)) + 0x34); + *(Blk32_801898F4 *)((u8 *)(((Unkstruct_800B5CB8 *)a0)->unk20) + 0x34); } - if (*(s16 *)((u8 *)a0 + 0x100) == 0) { - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) += 0x200; - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x2C) &= ~1; - func_80132784((s32)a0, *(s32 *)((u8 *)a0 + 0x64), *(u16 *)((u8 *)a0 + 0x70)); - v0 = *(u16 *)((u8 *)a0 + 0x104) + 1; - *(u16 *)((u8 *)a0 + 0x104) = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 += 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk2C &= ~1; + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unk64, CAST_SIGN(u16, (u8 *)a0, 0x70)); + v0 = CAST_SIGN(u16, (u8 *)a0, 0x104) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk104 = v0; if ((s32)(s16)v0 < 0xC) { - if (*(s16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xFC) != 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC) != 0) { func_80189B30((s32)a0); } } } } else { - D_801E44F0[*(s16 *)((u8 *)a0 + 0x102)] = 0; + D_801E44F0[((Unkstruct_800B5CB8 *)a0)->unk102] = 0; func_8012C218(a0); } } @@ -2770,7 +2770,7 @@ void func_801898F4(void *a0) { extern void (*D_8019660C[])(void); void func_80189AF4(void *a0) { - D_8019660C[*(u16 *)((s32)a0 + 0x2)](); + D_8019660C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2802,12 +2802,12 @@ void func_80189B30(s32 arg0) s32 dy; blob = D_801E2F00; - sub = *(s32 *)(arg0 + 0x20); - if ((s16)((u16)D_80126B62 - *(s32 *)(sub + 0x4C)) >= -0x20) { - lim = *(s16 *)(arg0 + 0x104) * 8 + 0x10; - dx = (s16)((u16)D_80126B5E - *(s32 *)(sub + 0x48)); + sub = ((Unkstruct_800B5CB8 *)arg0)->unk20; + if ((s16)((u16)D_80126B62 - ((Unkstruct_800B5CB8 *)sub)->unk4C) >= -0x20) { + lim = ((Unkstruct_800B5CB8 *)arg0)->unk104 * 8 + 0x10; + dx = (s16)((u16)D_80126B5E - ((Unkstruct_800B5CB8 *)sub)->unk48); if (dx >= -(s16)lim && dx <= (s16)lim) { - dy = (s16)((u16)D_80126B66 - *(s32 *)(sub + 0x50)); + dy = (s16)((u16)D_80126B66 - ((Unkstruct_800B5CB8 *)sub)->unk50); if (dy >= -(s16)lim && dy <= (s16)lim) { *(Blob8_80189B30 *)&D_80126C38 = blob; *(Blob8_80189B30 *)&D_80126C40 = blob; @@ -2825,7 +2825,7 @@ void func_80189B30(s32 arg0) extern void (*D_801966A0[])(void); void func_80189C90(void *a0) { - D_801966A0[*(u16 *)((s32)a0 + 0x2)](); + D_801966A0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2833,7 +2833,7 @@ void func_80189C90(void *a0) { extern void (*D_801966B8[])(void); void func_80189CCC(void *a0) { - D_801966B8[*(u16 *)((s32)a0 + 0x2)](); + D_801966B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2841,7 +2841,7 @@ void func_80189CCC(void *a0) { extern void (*D_80196760[])(void); void func_80189D08(void *a0) { - D_80196760[*(u16 *)((s32)a0 + 0x2)](); + D_80196760[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2849,7 +2849,7 @@ void func_80189D08(void *a0) { extern void (*D_801967C4[])(void); void func_80189D44(void *a0) { - D_801967C4[*(u16 *)((s32)a0 + 0x2)](); + D_801967C4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2857,7 +2857,7 @@ void func_80189D44(void *a0) { extern void (*D_801967CC[])(void); void func_80189D80(void *a0) { - D_801967CC[*(u16 *)((s32)a0 + 0x2)](); + D_801967CC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2865,7 +2865,7 @@ void func_80189D80(void *a0) { extern void (*D_80196814[])(void); void func_80189DBC(void *a0) { - D_80196814[*(u16 *)((s32)a0 + 0x2)](); + D_80196814[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2873,7 +2873,7 @@ void func_80189DBC(void *a0) { extern void (*D_80196868[])(void); void func_80189DF8(void *a0) { - D_80196868[*(u16 *)((s32)a0 + 0x2)](); + D_80196868[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2913,23 +2913,23 @@ void func_80189E34(s32 arg0, s16 arg1) RotTransSV(v, v, out); - obj = *(s32 *)(s1 + 0x20); - *(s16 *)(s1 + 6) = v[0]; - *(s16 *)(s1 + 0xA) = v[1]; - *(s16 *)(s1 + 0xE) = v[2]; - *(u16 *)(obj + 0x2C) = 0xC020; + obj = ((Unkstruct_800B5CB8 *)s1)->unk20; + ((Unkstruct_800B5CB8 *)s1)->unk6 = v[0]; + ((Unkstruct_800B5CB8 *)s1)->unkA = v[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = v[2]; + CAST_ALIAS(u16, obj, 0x2C) = 0xC020; if (D_800B99DC & 1) { flagval = -0x2000; - obj = *(s32 *)(s1 + 0x20); - *(s16 *)(obj + 0x1C) = flagval; + obj = ((Unkstruct_800B5CB8 *)s1)->unk20; + CAST_WIDTH(s16, obj, 0x1C) = flagval; } else { - obj = *(s32 *)(s1 + 0x20); + obj = ((Unkstruct_800B5CB8 *)s1)->unk20; flagval = 0x2000; - *(s16 *)(obj + 0x1C) = flagval; + CAST_WIDTH(s16, obj, 0x1C) = flagval; } - *(s16 *)(obj + 0x1A) = flagval; - *(s16 *)(obj + 0x18) = flagval; + ((Unkstruct_800B5CB8 *)obj)->unk1A = flagval; + ((Unkstruct_800B5CB8 *)obj)->unk18 = flagval; } } @@ -2981,9 +2981,9 @@ void func_80189FC4(s32 a0) { s0 = func_8012913C(0xC); if (s0 != NULL) { func_80129350((s32)s0, a0); - *(s16 *)(s0 + 0x34) = -1; - *(u16 *)(s0 + 0x6) -= 0x40; - *(u16 *)(s0 + 0xA) -= 0x40; + CAST_ALIAS(s16, s0, 0x34) = -1; + ((Unkstruct_800B5CB8 *)s0)->unk6 -= 0x40; + ((Unkstruct_800B5CB8 *)s0)->unkA -= 0x40; localMat = D_800AE620; RotMatrixY(i << 9, &localMat); func_800484EC((s32)&localMat, (s32)&blk16, (s32)(s0 + 0x10)); @@ -3001,14 +3001,14 @@ void func_8018A0E4(s32 arg0) ptr = func_8012913C(0xC); if (ptr != NULL) { - *(u16 *)(ptr + 0x6) = *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x48) + 0x50; - *(u16 *)(ptr + 0xA) = *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x4C) - 0x40; + ((Unkstruct_800B5CB8 *)ptr)->unk6 = *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x48) + 0x50; + ((Unkstruct_800B5CB8 *)ptr)->unkA = *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x4C) - 0x40; val = *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x50); - *(u32 *)(ptr + 0x14) = 0xFFF00000; - *(u32 *)(ptr + 0x18) = 0; - *(u32 *)(ptr + 0x10) = 0; - *(s16 *)(ptr + 0x34) = -0x5000; - *(u16 *)(ptr + 0xE) = val; + ((Unkstruct_800B5CB8 *)ptr)->unk14 = 0xFFF00000; + CAST_WIDTH(u32, ptr, 0x18) = 0; + CAST_WIDTH(u32, ptr, 0x10) = 0; + CAST_ALIAS(s16, ptr, 0x34) = -0x5000; + ((Unkstruct_800B5CB8 *)ptr)->unkE = val; } } @@ -3023,7 +3023,7 @@ void func_8018A174(s32 arg0) { do { ptr = func_8018A30C(arg0, i); if (ptr != NULL) { - *(s16 *) (ptr + 0x34) = val; + ((Unkstruct_800B5CB8 *)ptr)->unk34 = val; } i++; } while (i < 4); @@ -3071,9 +3071,9 @@ void func_8018A1D8(s32 a0) for (j = 0; j < 4; j++) { p = func_8018A30C(a0, j); if (p != NULL) { - *(s32 *)(p + 0x10) = outVec[0]; - *(s32 *)(p + 0x14) = outVec[1]; - *(s32 *)(p + 0x18) = outVec[2]; + CAST_WIDTH(s32, p, 0x10) = outVec[0]; + ((Unkstruct_800B5CB8 *)p)->unk14 = outVec[1]; + CAST_WIDTH(s32, p, 0x18) = outVec[2]; } } } @@ -3092,14 +3092,14 @@ u8 * func_8018A30C(s32 a0, s32 a1) { if (s0 != NULL) { func_80129350((s32)s0, a0); if (a1 & 1) { - *(u16 *)(s0 + 0x6) += 0x68; + ((Unkstruct_800B5CB8 *)s0)->unk6 += 0x68; } else { - *(u16 *)(s0 + 0x6) -= 0x68; + ((Unkstruct_800B5CB8 *)s0)->unk6 -= 0x68; } if (a1 & 2) { - *(u16 *)(s0 + 0xE) += 0x68; + ((Unkstruct_800B5CB8 *)s0)->unkE += 0x68; } else { - *(u16 *)(s0 + 0xE) -= 0x68; + ((Unkstruct_800B5CB8 *)s0)->unkE -= 0x68; } } return s0; @@ -3181,24 +3181,20 @@ void func_8018A4C4(s32 a0) * live at offset 0x34+0x14/0x18/0x1c inside the object pointed to by * a0's field 0x20. Written as raw asm: the target's .s marks these ctc2 * lines "handwritten instruction" (not a normal codegen mnemonic). */ - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lw $12, 20(%0)\n" "lw $13, 24(%0)\n" "ctc2 $12, $5\n" "lw $14, 28(%0)\n" "ctc2 $13, $6\n" - "ctc2 $14, $7\n" - : - : "r"((u8 *)*(s32 *)(a0 + 0x20) + 0x34) - : "$12", "$13", "$14", "memory" - ); + "ctc2 $14, $7\n" : : "r"((u8 *)*(s32 *)(a0 + 0x20) + 0x34) : "$12", "$13", "$14" ); for (i = 0; i < 8; i++) { s0 = func_8012913C(0xC); if (s0 != NULL) { - *(u16 *)(s0 + 0x6) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48) + *(u16 *)&blobA.b[0]; - *(u16 *)(s0 + 0xA) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C) + *(u16 *)&blobA.b[2]; - *(u16 *)(s0 + 0xE) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50) + *(u16 *)&blobA.b[4]; + ((Unkstruct_800B5CB8 *)s0)->unk6 = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48) + *(u16 *)&blobA.b[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C) + *(u16 *)&blobA.b[2]; + ((Unkstruct_800B5CB8 *)s0)->unkE = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50) + *(u16 *)&blobA.b[4]; localMat = (*(Blk20_8018A4C4 *)&D_800AE620); RotMatrixY(i << 9, &localMat); @@ -3236,21 +3232,21 @@ void func_8018A6A0(s32 a0, u16 *a1) func_8012B2CC(a0); - gte_SetRotTransMatrix((u8 *)*(s32 *)(s0 + 0x20) + 0x34); + gte_SetRotTransMatrix((u8 *)((Unkstruct_800B5CB8 *)s0)->unk20 + 0x34); vec0[2] = 0; vec0[0] = 0; vec0[1] = counter = *s1; - while ((s16)counter < *(s16 *)(s1 + 1)) { + while ((s16)counter < CAST_MISALIGNED(s16, s1, 1)) { puVar = func_8012913C(0xC); if (puVar != 0) { gte_ldv0(vec0); gte_rtv0tr(); gte_stlvnl(res); gte_stflg(&flags); - *(u16 *)(puVar + 6) = (u16)res[0]; - *(u16 *)(puVar + 0xA) = (u16)res[1]; - *(u16 *)(puVar + 0xE) = (u16)(res[2] - 8); + ((Unkstruct_800B5CB8 *)puVar)->unk6 = (u16)res[0]; + ((Unkstruct_800B5CB8 *)puVar)->unkA = (u16)res[1]; + ((Unkstruct_800B5CB8 *)puVar)->unkE = (u16)(res[2] - 8); } counter = vec0[1] + s1[2]; vec0[1] = counter; } } @@ -3272,18 +3268,18 @@ void func_8018A7D8(u16 *a0, u16 *a1, s16 *a2, s32 a3) { if ((*a0 & mask) == 0) { s0 = func_8012913C(0xD); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = a1[0] + rand() % (a2[0] * 2) - a2[0]; - *(s16 *)(s0 + 0xA) = a1[1] + rand() % (a2[1] * 2) - a2[1]; + ((Unkstruct_800B5CB8 *)s0)->unk6 = a1[0] + rand() % (a2[0] * 2) - a2[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = a1[1] + rand() % (a2[1] * 2) - a2[1]; { s32 r = rand(); s32 t = a2[2]; s32 base = a1[2]; - *(s32 *)(s0 + 0x18) = 0; - *(s32 *)(s0 + 0x14) = 0; - *(s32 *)(s0 + 0x10) = 0; - *(s16 *)(s0 + 0xE) = base + r % (t * 2) - t; + CAST_WIDTH(s32, s0, 0x18) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk14 = 0; + CAST_WIDTH(s32, s0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkE = base + r % (t * 2) - t; } - *(s16 *)(s0 + 0x34) = a1[3]; + ((Unkstruct_800B5CB8 *)s0)->unk34 = a1[3]; } } *a0 = *a0 + 1; @@ -3343,8 +3339,8 @@ void func_8018A968(s32 a0) v1 = func_8012C51C(&local, 0); *p0 = v1; if (v1 != 0) { - *(s32 *)(v1 + 0x64) = self; - *(s16 *)(v1 + 0x100) = idx; + ((Unkstruct_800B5CB8 *)v1)->unk64 = self; + ((Unkstruct_800B5CB8 *)v1)->unk100 = idx; } v0 = tab[-1]; @@ -3354,8 +3350,8 @@ void func_8018A968(s32 a0) v1 = func_8012C51C(&local, 0); *p1 = v1; if (v1 != 0) { - *(s32 *)(v1 + 0x64) = self; - *(s16 *)(v1 + 0x100) = idx + 1; + ((Unkstruct_800B5CB8 *)v1)->unk64 = self; + ((Unkstruct_800B5CB8 *)v1)->unk100 = idx + 1; } pos += 0x150; @@ -3453,7 +3449,7 @@ extern s32 D_801E4A58[]; void func_8018AC10(s32 a0) { - D_801E4A58[*(s16 *)((u8 *)a0 + 0x100)] = 0; + D_801E4A58[((Unkstruct_800B5CB8 *)a0)->unk100] = 0; func_8012C218(a0); } @@ -3495,7 +3491,7 @@ s32 func_8018ACB4(void *a0) { if (*(s16 *)(ent + 0xFC) != 0) { continue; } - if ((u16)(*(u16 *)(ent + 0xE) - *(u16 *)(a0 + 0xE) - 0x81) < 0x1F) { + if ((u16)(*(u16 *)(ent + 0xE) - ((Unkstruct_800B5CB8 *)a0)->unkE - 0x81) < 0x1F) { return i; } } @@ -3539,11 +3535,11 @@ void func_8018AD8C(s32 arg0, s32 arg1) s32 s0 = D_801E4A58[arg0]; if (s0 != 0) { - *(s16 *)(s0 + 0xFE) = arg1; - *(s32 *)(s0 + 0xC) = 0; - *(s32 *)(s0 + 8) = 0; - *(s32 *)(s0 + 4) = 0; - *(s16 *)(s0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFE = arg1; + CAST_WIDTH(s32, s0, 0xC) = 0; + CAST_WIDTH(s32, s0, 8) = 0; + CAST_WIDTH(s32, s0, 4) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 1; func_8012AD44((s32 *)s0, 2); func_8018A4C4(s0); } @@ -3595,8 +3591,8 @@ void func_8018AEB4(s32 a0, s32 a1) s0 = D_801E4A58[a0]; if (s0 != 0) { s1 = a1; - *(s16 *)(s0 + 0xFC) = 1; - func_8001C924(*(s32 *)(s0 + 0x20), D_801964D4); + ((Unkstruct_800B5CB8 *)s0)->unkFC = 1; + func_8001C924(((Unkstruct_800B5CB8 *)s0)->unk20, D_801964D4); func_8012AD44((s32 *)s0, 4); func_8012C658(0x60, s1, s0); if (s1 != 0) { @@ -3682,9 +3678,9 @@ void func_8018B058(s32 a0) for (i = 0; i < 4; i++) { s0 = func_8012C658(0x54, D_80196870[i], 0); if (s0 != 0) { - *(s32 *)(s0 + 4) = *(s32 *)(a0 + 4); - *(s32 *)(s0 + 8) = *(s32 *)(a0 + 8); - *(s32 *)(s0 + 0xC) = *(s32 *)(a0 + 0xC); + CAST_WIDTH(s32, s0, 4) = *(s32 *)(a0 + 4); + CAST_WIDTH(s32, s0, 8) = *(s32 *)(a0 + 8); + CAST_WIDTH(s32, s0, 0xC) = *(s32 *)(a0 + 0xC); func_8004978C((s16 *)&angle, &mtx); func_8012B23C(s0); func_800484EC((s32)&mtx, (s32)&vec, s0 + 0x10); @@ -3718,17 +3714,17 @@ void func_8018B16C(s32 a0, s32 a1, s32 a2) localMatrix = D_800AE620; s0 = (s32)&D_800B99DC; - RotMatrixY(*(u16 *)s0, &localMatrix); - *(u16 *)s0 = *(u16 *)s0 + D_800B99D8; + RotMatrixY(((Unkstruct_800B5CB8 *)s0)->unk0, &localMatrix); + ((Unkstruct_800B5CB8 *)s0)->unk0 = ((Unkstruct_800B5CB8 *)s0)->unk0 + D_800B99D8; if (a1 > 0) { i = 0; do { s0 = func_8012C658(0x54, *(s32 *)(D_80196880 + i), 0); if (s0 != 0) { - *(s16 *)(s0 + 6) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48) + *(u16 *)(a2 + 0); - *(s16 *)(s0 + 0xA) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C) + *(u16 *)(a2 + 2); - *(s16 *)(s0 + 0xE) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50) + *(u16 *)(a2 + 4); + ((Unkstruct_800B5CB8 *)s0)->unk6 = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48) + *(u16 *)(a2 + 0); + ((Unkstruct_800B5CB8 *)s0)->unkA = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C) + *(u16 *)(a2 + 2); + ((Unkstruct_800B5CB8 *)s0)->unkE = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50) + *(u16 *)(a2 + 4); func_8012B23C(s0); func_800484EC((s32)&localMatrix, (s32)(D_80196874 + i), s0 + 0x10); } @@ -3811,24 +3807,24 @@ void func_8018B368(void *a0) { s0 = a02; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)s0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(s0); } else { *(s32 *)D_801964C4 = *(s32 *)D_801BB8F8; - func_8001C214(*(s32 *)((u8 *)s0 + 0x20), (s32)D_801964C4); + func_8001C214(((Unkstruct_800B5CB8 *)s0)->unk20, (s32)D_801964C4); - *(s32 *)(*(s32 *)((u8 *)s0 + 0x20) + 0x28) = 0xB000D0; + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x28) = 0xB000D0; func_8012A828((s32)s0, (void *)&D_80190C0C); - *(s32 *)((u8 *)s0 + 0x58) = (s32)D_801964DC; + ((Unkstruct_800B5CB8 *)s0)->unk58 = (s32)D_801964DC; - *(s16 *)((u8 *)s0 + 0x5C) = 0xC00; + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0xC00; - *(s16 *)((u8 *)s0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; func_80188A5C(s0); } } @@ -3855,10 +3851,10 @@ void func_8018B440(s32 a0) { func_8018AC10(a0); } else { func_8012AD80(a0); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48) = *(s16 *)(a0 + 6); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C) = *(s16 *)(a0 + 0xA); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50) = *(s16 *)(a0 + 0xE); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48 = CAST_SIGN(s16, a0, 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C = CAST_SIGN(s16, a0, 0xA); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50 = CAST_SIGN(s16, a0, 0xE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 1; } } @@ -3899,7 +3895,7 @@ void func_8018B554(s32 a0) { s32 i; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -3915,8 +3911,8 @@ void func_8018B554(s32 a0) { } } - *(u16 *)(a0 + 0x2) += 1; - *(u16 *)(a0 + 0x34) = 0; + CAST_SIGN(u16, a0, 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -3924,11 +3920,11 @@ extern void func_80189504(void *a0); extern void func_8012C218(void *a0); void func_8018B5E0(void *a0) { - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - if (*(s16 *)((u8 *)a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { func_80189504(a0); } else { - (*(u16 *)((u8 *)a0 + 0x34))++; + (((Unkstruct_800B5CB8 *)a0)->unk34)++; } } else { func_8012C218(a0); @@ -3955,7 +3951,7 @@ extern void func_801292C8(u8 *a0); extern void func_801895E0(void *a0); void func_8018B6A0(s32 arg0) { - if (*(s16 *)(*(s32 *)(arg0 + 0x2C) + 0xFC) != 0) { + if (*(s16 *)(CAST_WIDTH(s32, arg0, 0x2C) + 0xFC) != 0) { func_801292C8((u8 *)arg0); } else { func_801895E0(arg0); @@ -3999,9 +3995,9 @@ extern void func_801292C8(u8*); void func_8018B7A4(s32 param_1) { - if (func_80128ED8(*(s32 *)(param_1 + 0x20), (s32 *)(param_1 + 0x24)) != 0) { - if (*(s32 *)(param_1 + 0x2C) != 0) { - *(s16 *)(*(s32 *)(param_1 + 0x2C) + 0xFC) = 1; + if (func_80128ED8(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32 *)(param_1 + 0x24)) != 0) { + if (CAST_WIDTH(s32, param_1, 0x2C) != 0) { + *(s16 *)(CAST_WIDTH(s32, param_1, 0x2C) + 0xFC) = 1; } func_801292C8((u8 *)param_1); } @@ -4087,29 +4083,29 @@ void func_8018B96C(s32 a0) { s32 s0; s32 pad[2]; - v0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x20); + v0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20); v0 = *(s32 *)(v0 + 4); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (v0 < 0) { - *(u32 *)(s0 + 4) |= 0x80000000; + CAST_WIDTH(u32, s0, 4) |= 0x80000000; } else { func_801439FC(a0); } - v0 = *(s32 *)(a0 + 0x64); - *(u16 *)(s0 + 0x14) = *(u16 *)(*(s32 *)(v0 + 0x20) + 0x12); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk64; + CAST_WIDTH(u16, s0, 0x14) = *(u16 *)(*(s32 *)(v0 + 0x20) + 0x12); - v0 = *(s32 *)(a0 + 0x64); - v1 = *(u16 *)(s0 + 0xA) - *(u16 *)(v0 + 0xA); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk64; + v1 = ((Unkstruct_800B5CB8 *)s0)->unkA - *(u16 *)(v0 + 0xA); if ((u16)(v1 + 0x20) >= 0x421) { - *(s16 *)(s0 + 0x1A) = 0; - *(s16 *)(s0 + 0x18) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0; } else { v1 = v1 << 16; v1 = v1 >> 11; v0 = -0x8000 - v1; - *(s16 *)(s0 + 0x1A) = v0; - *(s16 *)(s0 + 0x18) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk1A = v0; + ((Unkstruct_800B5CB8 *)s0)->unk18 = v0; } } @@ -4136,17 +4132,17 @@ void func_8018BA38(s32 param_1) ret = ((s32 (*)(void))func_8012C1B8)(); s0 = param_1; a0 = ret; - *(s32 *)(s0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)s0)->unk20 = ret; if (a0 == 0) { func_8012CAE4((void *)s0); return; } - func_8001C214(a0, (*(u16 *)(s0 + 0x70) & 1) ? (s32)D_801966B0 : (s32)D_801966A8); + func_8001C214(a0, (CAST_SIGN(u16, s0, 0x70) & 1) ? (s32)D_801966B0 : (s32)D_801966A8); func_8012A828((s32)s0, (void *)&D_80190C0C); - *(s16 *)(s0 + 0xFC) = rand() & 0x3F0; - *(s16 *)(s0 + 0xFE) = rand() & 0x3F0; - *(s32 *)(s0 + 0x1C) = 0x60; - *(s16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = rand() & 0x3F0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = rand() & 0x3F0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1; } @@ -4161,12 +4157,12 @@ void func_8018BAE4(s32 arg0) { s32 a1; s0 = arg0; - a0 = *(s32 *)(s0 + 0x20); - *(u16 *)(a0 + 0x12) = *(u16 *)(a0 + 0x12) + *(u16 *)(s0 + 0xFC); - a1 = *(s32 *)(s0 + 0x20); - *(u16 *)(a1 + 0x10) = *(u16 *)(a1 + 0x10) + *(u16 *)(s0 + 0xFE); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk12 = ((Unkstruct_800B5CB8 *)a0)->unk12 + CAST_SIGN(u16, s0, 0xFC); + a1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)a1)->unk10 = ((Unkstruct_800B5CB8 *)a1)->unk10 + CAST_SIGN(u16, s0, 0xFE); func_8012AD80(s0); - if (*(s16 *)(s0 + 0xA) >= -0x7FF) { + if (CAST_SIGN(s16, s0, 0xA) >= -0x7FF) { func_8012C218((void *)s0); } } @@ -4308,13 +4304,13 @@ void func_8018BDD0(s32 param_1) *(Blk4_8018BDD0 *)&D_801E4918 = *(Blk4_8018BDD0 *)&D_801E2F50; *(Blk4_8018BDD0 *)&D_801E491C = *(Blk4_8018BDD0 *)&D_801E2F54; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0xD0000000; - *(s16 *)(param_1 + 0xA) = -0x20; - *(s16 *)(param_1 + 0xE) = -0x20; - *(s16 *)(param_1 + 6) = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0xD0000000; + CAST_ALIAS(s16, param_1, 0xA) = -0x20; + CAST_ALIAS(s16, param_1, 0xE) = -0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = 0; /* store lands in the jal delay slot (executes before the callee) */ - *(s32 *)(param_1 + 0x1C) = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; func_8012AD44((s32 *)param_1, 1); } @@ -4417,7 +4413,7 @@ void func_8018C008(s32 arg0) { extern void (*D_801968F4[])(void); void func_8018C08C(void *a0) { - D_801968F4[*(u16 *)((s32)a0 + 0x2)](); + D_801968F4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4428,7 +4424,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern short D_80196B30; void func_8018C0C8(void *arg0) { - *(s16 *)((char *)arg0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; func_8012A828((s32)arg0, (void *)&D_80196B30); func_8012AD44((s32 *)arg0, 2); } @@ -4438,7 +4434,7 @@ void func_8018C0C8(void *arg0) { extern void (*D_80196B80[])(void); void func_8018C108(void *a0) { - D_80196B80[*(u16 *)((s32)a0 + 0x2)](); + D_80196B80[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4451,16 +4447,16 @@ extern s32 D_80196AE8; void func_8018C144(void *a0) { u16 v0, v1; - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; - v1 = *(u16 *)((s32)a0 + 0x5E); + v1 = CAST_WIDTH(u16, (s32)a0, 0x5E); if (v1 != 0xC) { goto else_block; } func_8012A828((s32)a0, (void *)&D_80196AE8); - v0 = *(u16 *)((s32)a0 + 0x70); - *(u8 *)((s32)a0 + 0xC1) = 1; + v0 = CAST_SIGN(u16, (s32)a0, 0x70); + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 1; if ((v0 & 0x8) == 0) { goto skip_call; } @@ -4472,16 +4468,16 @@ skip_call: return; else_block: - *(s16 *)((s32)a0 + 0x5E) = 0; - *(u8 *)((s32)a0 + 0xC1) = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; } extern void func_8012C218(void *a0); void func_8018C1C0(void *a0) { - if (*(s16 *)((s32)a0 + 0x98) == 0) { - void *v1 = *(void **)((s32)a0 + 0x64); + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + void *v1 = CAST_SIGN(void *, (s32)a0, 0x64); *(s16 *)((s32)v1 + 0x100) -= 1; func_8012C218((void *)a0); } @@ -4518,7 +4514,7 @@ void func_8018C204(void *a0) { extern void (*D_80196B8C[])(void); void func_8018C274(void *a0) { - D_80196B8C[*(u16 *)((s32)a0 + 0x2)](); + D_80196B8C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4570,7 +4566,7 @@ void func_8018C2B0(u8 *a0, s8 a1) { extern void (*D_80196B98[])(void); void func_8018C358(void *a0) { - D_80196B98[*(u16 *)((s32)a0 + 0x2)](); + D_80196B98[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4581,10 +4577,10 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_8018C394(s32 *a0) { s32 *v0; - v0 = *(s32 **)(((u8 *)a0) + 0x20); - *(s16 *)(((u8 *)v0) + 0x1C) = 0; - *(s16 *)(((u8 *)v0) + 0x1A) = 0; - *(s16 *)(((u8 *)v0) + 0x18) = 0; + v0 = CAST_SIGN(s32 *, ((u8 *)a0), 0x20); + CAST_WIDTH(s16, ((u8 *)v0), 0x1C) = 0; + ((Unkstruct_800B5CB8 *)v0)->unk1A = 0; + ((Unkstruct_800B5CB8 *)v0)->unk18 = 0; func_8012AD44(a0, 1); } @@ -4626,7 +4622,7 @@ void func_8018C3EC(void) extern void (*D_80196BA0[])(void); void func_8018C418(void *a0) { - D_80196BA0[*(u16 *)((s32)a0 + 0x2)](); + D_80196BA0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4691,16 +4687,16 @@ void func_8018C598(void *a0, s32 a1, s32 a2, s32 *a3, u16 a4, u16 a5) v0 = func_8012C588(0x7A, (s32)a0); if (v0 == 0) goto L_end; - *(Blk8 *)(v0 + 0x50) = *(Blk8 *)(a1 + 0); - v1 = *(s32 *)(v0 + 0x20); - *(Blk8 *)(v1 + 0x10) = *(Blk8 *)(a2 + 0); - *(u32 *)(v0 + 0x1C) = a5; + CAST_WIDTH(Blk8, v0, 0x50) = *(Blk8 *)(a1 + 0); + v1 = ((Unkstruct_800B5CB8 *)v0)->unk20; + CAST_WIDTH(Blk8, v1, 0x10) = *(Blk8 *)(a2 + 0); + ((Unkstruct_800B5CB8 *)v0)->unk1C = a5; if (a4 != 0) { - *(u16 *)(v0 + 0xFC) = a4; + ((Unkstruct_800B5CB8 *)v0)->unkFC = a4; } else { - *(u16 *)(v0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)v0)->unkFC = 1; } - *(u32 *)(v0 + 0xCC) = (s32)a3; + ((Unkstruct_800B5CB8 *)v0)->unkCC = (s32)a3; L_end: *a3 = v0; } @@ -4710,7 +4706,7 @@ L_end: extern void (*D_80196BB0[])(void); void func_8018C66C(void *a0) { - D_80196BB0[*(u16 *)((s32)a0 + 0x2)](); + D_80196BB0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4727,23 +4723,23 @@ void func_8018C6A8(void *a0) { s32 v0; - *(s32 *)((u8 *)a0 + 0x20) = v0 = ((s32 (*)(void))func_8012C1B8)(); + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = ((s32 (*)(void))func_8012C1B8)(); if (v0 == 0) { func_8012CAE4(a0); } else { func_8001CA88(v0, &D_801E4918); - if (*(s16 *)((u8 *)a0 + 0x70) != 0) { - *(s16 *)((u8 *)a0 + 0xFC) = 0; - *(s16 *)((u8 *)a0 + 0xFE) = 0; - *(s16 *)((u8 *)a0 + 0x102) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; func_8018BDD0(a0); } else { *(s32 *)((u8 *)v0 + 0x4) |= 0x80000000; - *(s16 *)((u8 *)a0 + 0xFC) = 0x58; - *(s16 *)((u8 *)a0 + 0xFE) = 0x100; - *(s16 *)((u8 *)a0 + 0x102) = 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x58; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0x2; func_8018C008(a0); } } @@ -4770,7 +4766,7 @@ extern void func_8018BE88(s32 a0); extern u8 D_801E4918; void func_8018C758(void *a0) { - s32 s0 = *(s32 *)((u8 *)a0 + 0x20); /* the entity's 0x20 record */ + s32 s0 = ((Unkstruct_800B5CB8 *)a0)->unk20; /* the entity's 0x20 record */ s32 v0; /* Clearing bit31 of rec->0x4 is written as read / mask / store with a @@ -4784,8 +4780,8 @@ void func_8018C758(void *a0) { * the store instead also fixes the order but then the fence is the last * insn before the jal and reorg.c:stop_search_p refuses to look past an * ASM_INPUT, so the `sw` never reaches the call's delay slot. */ - v0 = *(s32 *)(s0 + 0x4) & 0x7FFFFFFF; - do { *(s32 *)(s0 + 0x4) = v0; } while (0); + v0 = CAST_WIDTH(s32, s0, 0x4) & 0x7FFFFFFF; + do { CAST_WIDTH(s32, s0, 0x4) = v0; } while (0); if (func_80185D6C(a0) != 0) { func_8012C218(a0); @@ -4798,17 +4794,17 @@ void func_8018C758(void *a0) { * the mirror image of the target. */ u8 *p = (u8 *)&D_801E4918; - v0 = *(u16 *)(s0 + 0x1C) - 0x180; - *(u16 *)(s0 + 0x1C) = v0; - *(u16 *)(s0 + 0x1A) = v0; - *(u16 *)(s0 + 0x18) = v0; + v0 = CAST_WIDTH(u16, s0, 0x1C) - 0x180; + CAST_WIDTH(u16, s0, 0x1C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk1A = v0; + ((Unkstruct_800B5CB8 *)s0)->unk18 = v0; p[0] += 0x10; ((u8 *)&D_801E4918)[1] += 0x10; ((u8 *)&D_801E4918)[4] += 0x10; /* = D_801E491C */ ((u8 *)&D_801E4918)[5] += 0x8; /* = D_801E491C + 1 */ - func_80132784((s32)a0, *(s32 *)((u8 *)a0 + 0xCC), *(u16 *)((u8 *)a0 + 0x70)); + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unkCC, CAST_SIGN(u16, (u8 *)a0, 0x70)); } } @@ -4828,25 +4824,25 @@ void func_8018C84C(s32 a0) s32 u; func_8012AD80(a0); - temp = *(s16 *)(a0 + 0xFC); + temp = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (temp < 0x80) { - *(s16 *)(a0 + 0xFC) = temp + 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = temp + 0x10; } - temp2 = *(u16 *)(a0 + 0xFE); - *(u16 *)(a0 + 0xFE) = temp2 - 0x40; + temp2 = CAST_SIGN(u16, a0, 0xFE); + ((Unkstruct_800B5CB8 *)a0)->unkFE = temp2 - 0x40; if (func_8012BEE8(a0) != 0) { - if (*(u16 *)(a0 + 0x34) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { - *(s32 *)(a0 + 0x10) = (*(s16 *)&D_80126B5E - *(s16 *)(a0 + 6)) << 14, - *(s32 *)(a0 + 0x14) = (*(s16 *)(*(s32 *)(a0 + 0x64) + 0xA) - *(s16 *)(a0 + 0xA)) << 14; - cnt = *(u16 *)(a0 + 0x34) + 1; + CAST_WIDTH(s32, a0, 0x10) = (*(s16 *)&D_80126B5E - CAST_SIGN(s16, a0, 6)) << 14, + CAST_ALIAS(s32, a0, 0x14) = (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA) - CAST_SIGN(s16, a0, 0xA)) << 14; + cnt = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; t = *(s16 *)&D_80126B66; - u = *(s16 *)(a0 + 0xE) + 0x20; - *(s32 *)(a0 + 0x1C) = 4; - *(u16 *)(a0 + 0x34) = cnt; - *(s32 *)(a0 + 0x18) = (t - u) << 14; + u = CAST_SIGN(s16, a0, 0xE) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 4; + CAST_ALIAS(u16, a0, 0x34) = cnt; + CAST_WIDTH(s32, a0, 0x18) = (t - u) << 14; } else { @@ -4874,13 +4870,13 @@ extern void func_8018BFDC(u8 *a0); void func_8018C978(s32 arg0) { - switch (*(u16 *)(arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: - if (*(s16 *)(arg0 + 0xFC) >= 0x51) { - *(s16 *)(arg0 + 0xFC) -= 2; + if (((Unkstruct_800B5CB8 *)arg0)->unkFC >= 0x51) { + ((Unkstruct_800B5CB8 *)arg0)->unkFC -= 2; } else { - *(s32 *)(arg0 + 0x1C) = 0xA0; - *(u16 *)(arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0xA0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } break; case 1: @@ -4890,7 +4886,7 @@ void func_8018C978(s32 arg0) break; } - *(u16 *)(arg0 + 0xFE) -= 0x40; + CAST_SIGN(u16, arg0, 0xFE) -= 0x40; } @@ -4904,7 +4900,7 @@ extern s32 D_801270C8; extern void func_8012C218(void *a0); void func_8018CA3C(s32 a0) { - if (*(s16 *)(a0 + 0x100) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { D_801270C8 = 13; func_8012C218((void *)a0); } @@ -4935,7 +4931,7 @@ void func_8018CA74(s32 d) ret = ((s32 (*)(void))func_8012C1B8)(); obj = ret; - *(s32 *)(d + 0x20) = ret; + ((Unkstruct_800B5CB8 *)d)->unk20 = ret; if (ret == 0) { func_8012CAE4((void *)d); return; @@ -4944,19 +4940,19 @@ void func_8018CA74(s32 d) *(s16 *)(obj + 0x1c) = 0x2800; *(s16 *)(obj + 0x1a) = 0x2800; *(s16 *)(obj + 0x18) = 0x2800; - *(s32 *)(d + 0xbc) = (s32)&D_80196B68; - *(u8 *)(d + 0xc0) = 1; - *(s32 *)(d + 0x58) = (s32)&D_80196B58 | 0x20000000; - *(u8 *)(d + 0x75) = 1; - *(s32 *)(d + 0xb4) = 0; - *(u8 *)(d + 0xc1) = 0; - *(s32 *)(d + 0xc4) |= 2; - *(s32 *)(*(s32 *)(d + 0x20) + 4) |= 0x50000000; - *(s16 *)(d + 0x5c) = 0; - *(u16 *)(d + 0xae) |= 0xfffd; + ((Unkstruct_800B5CB8 *)d)->unkBC = (s32)&D_80196B68; + ((Unkstruct_800B5CB8 *)d)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)d)->unk58 = (s32)&D_80196B58 | 0x20000000; + ((Unkstruct_800B5CB8 *)d)->unk75 = 1; + ((Unkstruct_800B5CB8 *)d)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)d)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)d)->unkC4 |= 2; + *(s32 *)(((Unkstruct_800B5CB8 *)d)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)d)->unk5C = 0; + CAST_SIGN(u16, d, 0xae) |= 0xfffd; func_8012A828(d, &D_80196A60); - *(s16 *)(d + 0x98) = 1; - *(s32 *)(d + 0x94) = *(u16 *)(d + 0x70) & 7; + ((Unkstruct_800B5CB8 *)d)->unk98 = 1; + ((Unkstruct_800B5CB8 *)d)->unk94 = CAST_SIGN(u16, d, 0x70) & 7; func_8012AD50((void *)d); } @@ -4968,14 +4964,14 @@ void func_8018CB70(void *arg0) { void *v0; u16 s1; - v0 = *(void **)((u8 *)arg0 + 0x64); + v0 = CAST_SIGN(void *, (u8 *)arg0, 0x64); s1 = *(u16 *)((u8 *)v0 + 0x102); if (s1 & 4) { func_8018C204(arg0); } if (s1 & 2) { - *(u16 *)((u8 *)arg0 + 0x5C) |= 0x8000; + ((Unkstruct_800B5CB8 *)arg0)->unk5C |= 0x8000; } func_8018C454(arg0); if (s1 & 1) { @@ -5115,12 +5111,12 @@ void func_8018CEE0(void *param_1) s16 sp18; u8 *s0; - sp18 = *(s16 *)((s32)param_1 + 0x2C); + sp18 = CAST_SIGN(s16, (s32)param_1, 0x2C); if (sp18 < 0x700) { s0 = &D_801E491C; - *(s16 *)((s32)param_1 + 0x2C) = sp18 + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk2C = sp18 + 0x30; func_8018C2B0(s0, -4); - func_800233CC(s0 - 4, *(u16 *)((s32)param_1 + 0x2C)); + func_800233CC(s0 - 4, ((Unkstruct_800B5CB8 *)param_1)->unk2C); } else { func_801292C8(param_1); } @@ -5142,7 +5138,7 @@ void func_8018CF58(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; @@ -5151,22 +5147,22 @@ void func_8018CF58(s32 param_1) ((void (*)(s32, s32))func_8001C810)(v0, (s32)&D_801F1988); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); - v0 = *(s32 *)(param_1 + 0x20); - *(s16 *)v0 = 0; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)v0)->unk0 = 0; return; } ((void (*)(s32, s32))func_8001C810)(v0, (s32)&D_801F2138); - *(s16 *)(param_1 + 0xA) -= 0x100; - *(u8 *)(param_1 + 0xC0) = 0; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; - *(u32 *)(*(s32 *)(param_1 + 0xCC) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0xCC) + 0x2C) |= 0x10; + CAST_SIGN(s16, param_1, 0xA) -= 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk2C |= 0x10; func_8018C394((s32 *)param_1); } @@ -5228,16 +5224,16 @@ extern void func_80016450(s32 a0, s32 a1); void func_8018D144(s32 param_1) { - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: { - u8 v0 = *(u8 *)(param_1 + 0xFC) + 0x10; - *(u8 *)(param_1 + 0xFC) = v0; + u8 v0 = CAST_WIDTH(u8, param_1, 0xFC) + 0x10; + CAST_WIDTH(u8, param_1, 0xFC) = v0; if (v0 >= 0xF1) { - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; - *(u32 *)(*(s32 *)(param_1 + 0xCC) + 4) |= 0x80000000; - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) += 1; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; func_8017C048(); } break; @@ -5249,7 +5245,7 @@ void func_8018D144(s32 param_1) break; } - func_80016450(*(u8 *)(param_1 + 0xFC), 1); + func_80016450(CAST_WIDTH(u8, param_1, 0xFC), 1); } @@ -5259,8 +5255,8 @@ extern void func_80016450(s32 a0, s32 a1); void func_8018D21C(void *a0) { u8 v; - v = *(u8 *)((s32)a0 + 0xFC) - 3; - *(u8 *)((s32)a0 + 0xFC) = v; + v = CAST_WIDTH(u8, (s32)a0, 0xFC) - 3; + CAST_WIDTH(u8, (s32)a0, 0xFC) = v; if (v >= 9) { func_80016450(v, 1); } else { @@ -5283,53 +5279,53 @@ void func_8018D270(void *a0) { s32 v; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); } else { func_8001C214(v0, (s32)&D_801BDCD0); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20) = (s32)a0 + 0xDC; - v = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk20 = (s32)a0 + 0xDC; + v = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20); if (v != 0) { - ((void (*)(s32, s32))func_8001C1E4)(*(s32 *)((s32)a0 + 0x20), v); - *(s16 *)((s32)a0 + 0xE) = 0; - *(s16 *)((s32)a0 + 0xA) = 0; - *(s16 *)((s32)a0 + 0x6) = 0; + ((void (*)(s32, s32))func_8001C1E4)(((Unkstruct_800B5CB8 *)a0)->unk20, v); + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; } - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; func_8012AD50(a0); } } void func_8018D318(s32 a0) { - if (*(s16 *)(a0 + 0xFC) != 0) { - *(s16 *)(a0 + 0xFC) = *(s16 *)(a0 + 0xFC) - 1; - if (*(s16 *)(a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = ((Unkstruct_800B5CB8 *)a0)->unkFC - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { return; } - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; } else { if (func_8012BEE8(a0) != 0) { - s32 cc = *(s32 *)(a0 + 0xCC); + s32 cc = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (cc != 0) { *(s32 *)cc = 0; } func_8012C218((void *)a0); } else { - if (*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) == 0) { - *(u16 *)(a0 + 6) = *(u16 *)(*(s32 *)(a0 + 0x64) + 6); - *(u16 *)(a0 + 10) = *(u16 *)(*(s32 *)(a0 + 0x64) + 10); - *(u16 *)(a0 + 14) = *(u16 *)(*(s32 *)(a0 + 0x64) + 14); + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 6); + ((Unkstruct_800B5CB8 *)a0)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 10); + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 14); } { - s32 r = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20); + s32 r = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20; *(u16 *)r -= 2; if ((s16)(*(u16 *)r) < -0x20) { *(u16 *)r = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += 0x40; } } } @@ -5649,7 +5645,7 @@ extern s32 func_8012C588(s32 a0, s32 a1); void func_8018D964(void *a0) { func_8012C588(0x68, (s32)a0); - *(u16 *)((s32)a0 + 0x2) += 1; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; } @@ -5715,7 +5711,7 @@ void func_8018DAD8(void) { extern void (*D_80196C9C[])(void); void func_8018DAE0(void *a0) { - D_80196C9C[*(u16 *)((s32)a0 + 0x2)](); + D_80196C9C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5833,26 +5829,26 @@ void func_8018DCD8(s32 a0) s32 s3; s16 i; - s3 = *(s32 *)(a0 + 0x20); + s3 = ((Unkstruct_800B5CB8 *)a0)->unk20; if (func_8012D714(a0, 2) != 0) { D_80126B96 = 0x4001; D_80126B98 = 5; } func_8012AD80(a0); - if (*(s16 *)(a0 + 0xA) >= -0x802) { - *(s16 *)(a0 + 0xA) = -0x802; - **(s16 **)(a0 + 0xD0) = 0; + if (CAST_SIGN(s16, a0, 0xA) >= -0x802) { + CAST_ALIAS(s16, a0, 0xA) = -0x802; + *CAST_SIGN(s16 *, a0, 0xD0) = 0; for (i = 0; i < 8; i++) { func_8012C658(99, i, a0); func_8012C658(100, i, a0); } func_8001C97C((s32 *)&D_801D9044); - *(s32 *)(s3 + 0x24) = &D_801D9044; - *(s32 *)(a0 + 0x1C) = 0x10; + CAST_WIDTH(s32, s3, 0x24) = &D_801D9044; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; func_8002D4C8(0x4FF, 0); - *(u16 *)(a0 + 2) += 1; + CAST_SIGN(u16, a0, 2) += 1; } else { - *(s32 *)(a0 + 0x14) += 0x1C000; + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x1C000; } } @@ -5864,15 +5860,15 @@ void func_8018DDFC(void *a0) { s32 var; void *p; - var = *(s32 *)((s32)a0 + 0x1C); + var = ((Unkstruct_800B5CB8 *)a0)->unk1C; var = var - 1; - *(s32 *)((s32)a0 + 0x1C) = var; + ((Unkstruct_800B5CB8 *)a0)->unk1C = var; if (var == -1) { - p = *(void **)((s32)a0 + 0xD0); + p = CAST_SIGN(void *, (s32)a0, 0xD0); if (p != NULL) { *(s16 *)((s32)p + 0) = 0; } - func_801439C0((u8 *)*(s32 *)((s32)a0 + 0xCC)); + func_801439C0((u8 *)((Unkstruct_800B5CB8 *)a0)->unkCC); func_8012C218((void *)a0); } } @@ -5886,11 +5882,11 @@ void func_8018DE5C(void *a0) { void *p; if (D_801270C8 > 0x15) { - p = *(void **)((s32)a0 + 0xD0); + p = CAST_SIGN(void *, (s32)a0, 0xD0); if (p != NULL) { *(s16 *)((s32)p + 0) = 0; } - func_801439C0((u8 *)*(s32 *)((s32)a0 + 0xCC)); + func_801439C0((u8 *)((Unkstruct_800B5CB8 *)a0)->unkCC); func_8012C218((void *)a0); } } @@ -5935,7 +5931,7 @@ void func_8018DEB8(s16 param_1) { extern void (*D_80196CB0[])(void); void func_8018DF88(void *a0) { - D_80196CB0[*(u16 *)((s32)a0 + 0x2)](); + D_80196CB0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5981,7 +5977,7 @@ void func_8018DFC4(void *a0) { s0 = a0; - switch (*(s16 *)((u8 *)s0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)s0)->unk70) { case 0: func_8018F5C4(); tbl = D_801E7ECC; @@ -6000,7 +5996,7 @@ void func_8018DFC4(void *a0) { break; } - if (*(s16 *)((u8 *)s0 + 0x70) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk70 == 0) { count = 0x15; vecs = D_801E7F24; sp40.f00 = -0x80; @@ -6014,7 +6010,7 @@ void func_8018DFC4(void *a0) { sp40.f04 = -0x8B0; } - if (*(s16 *)((u8 *)s0 + 0x70) < 4) { + if (((Unkstruct_800B5CB8 *)s0)->unk70 < 4) { func_8013C9C4(D_80196C00); func_8002D4C8(0x500, 0); for (i = 0; i < count; i++) { @@ -6024,25 +6020,25 @@ void func_8018DFC4(void *a0) { } sp18.f0C = 0; sp18.f0A = 0; - if (*(s16 *)((u8 *)s0 + 0x70) == 3) { + if (((Unkstruct_800B5CB8 *)s0)->unk70 == 3) { sp18.f0C = -0x400; } else { sp18.f0C = 0; } sp18.f10 = 0; sp18.f06 = 0x5C; - sp18.f08 = *(u16 *)((u8 *)s0 + 0x70) + 4; + sp18.f08 = CAST_SIGN(u16, (u8 *)s0, 0x70) + 4; func_8018E7E4((s32)s0, &sp18, vecs, &sp40, count); func_8012C218(s0); } else { obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)s0 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)s0)->unk20 = obj; if (obj == 0) { func_8012C218(s0); } else { - func_8001C214(obj, (s32)&D_801E4998[*(s16 *)((u8 *)s0 + 0xFC)]); - func_8001D0E8(*(s32 *)((u8 *)s0 + 0x20), 0x7FFF, 0x7FFF); - *(s16 *)((u8 *)s0 + 2) = 3; + func_8001C214(obj, (s32)&D_801E4998[((Unkstruct_800B5CB8 *)s0)->unkFC]); + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x7FFF, 0x7FFF); + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; } } } @@ -6057,13 +6053,13 @@ void func_8018E234(void *a0) { s32 var; void *p; - var = *(s32 *)((s32)a0 + 0x1C); - p = *(void **)((s32)a0 + 0x20); + var = ((Unkstruct_800B5CB8 *)a0)->unk1C; + p = CAST_SIGN(void *, (s32)a0, 0x20); var = var - 1; - *(s32 *)((s32)a0 + 0x1C) = var; + ((Unkstruct_800B5CB8 *)a0)->unk1C = var; if (var != 0) { if (var < 0x10) { - *(s32 *)((s32)p + 4) ^= 0x80000000; + CAST_WIDTH(s32, (s32)p, 4) ^= 0x80000000; } } else { func_8012C218((void *)a0); @@ -6077,54 +6073,54 @@ extern void func_8012AD80(s32 a0); extern void func_8012C218(void *a0); void func_8018E288(void *a0) { - s32 v1 = *(s32 *)((s32)a0 + 0x1C); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v1 < 0x24) { v1 = v1 + 1; - *(s32 *)((s32)a0 + 0x1C) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v1; if (v1 == 1) { return; } - if (*(s16 *)((s32)a0 + 0x70) == 4) { - if (*(s16 *)((s32)a0 + 0xA) < -0x800) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { + if (CAST_SIGN(s16, (s32)a0, 0xA) < -0x800) { void *p; - *(s32 *)((s32)a0 + 0x48) = 0x1C000; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1C000; func_8012AD80((s32)a0); - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x10) -= (*(s32 *)((s32)a0 + 0x18) << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_SIGN(s16, (s32)p, 0x10) -= (CAST_WIDTH(s32, (s32)a0, 0x18) << 4) >> 16; - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x14) -= (*(s32 *)((s32)a0 + 0x10) << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(s16, (s32)p, 0x14) -= (CAST_WIDTH(s32, (s32)a0, 0x10) << 4) >> 16; } } else { - if (*(s16 *)((s32)a0 + 0x6) < -0x5FF || *(s16 *)((s32)a0 + 0xA) < -0x7FF) { - if (*(s16 *)((s32)a0 + 0xA) >= -0x3FF) { + if (CAST_SIGN(s16, (s32)a0, 0x6) < -0x5FF || CAST_SIGN(s16, (s32)a0, 0xA) < -0x7FF) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= -0x3FF) { func_8012C218((void *)a0); } else { void *p; s32 t; - *(s32 *)((s32)a0 + 0x48) = 0x1C000; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1C000; func_8012AD80((s32)a0); - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x10) -= (*(s32 *)((s32)a0 + 0xDC) << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_SIGN(s16, (s32)p, 0x10) -= (((Unkstruct_800B5CB8 *)a0)->unkDC << 4) >> 16; - if (*(s16 *)((s32)a0 + 0x70) != 7) { - t = *(s32 *)((s32)a0 + 0x10); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 7) { + t = CAST_WIDTH(s32, (s32)a0, 0x10); } else { - t = *(s32 *)((s32)a0 + 0x18); + t = CAST_WIDTH(s32, (s32)a0, 0x18); } - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x12) += (t << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_SIGN(s16, (s32)p, 0x12) += (t << 4) >> 16; } } } } else { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(s16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) - 1; } } @@ -6133,7 +6129,7 @@ void func_8018E288(void *a0) { extern void (*D_80196CC0[])(void); void func_8018E400(void *a0) { - D_80196CC0[*(u16 *)((s32)a0 + 0x2)](); + D_80196CC0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6173,7 +6169,7 @@ void func_8018E450(void *a0) s32 ret; u16 w0; - switch (*(s16 *)((s32)a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: if (D_801270C8 != 0x19) { return; @@ -6187,7 +6183,7 @@ void func_8018E450(void *a0) } func_8018F664(); func_8018EA04(7); - *(s16 *)((s32)a0 + 6) = -0x600; + CAST_ALIAS(s16, (s32)a0, 6) = -0x600; w0 = 0x700; goto store; case 2: @@ -6204,13 +6200,13 @@ void func_8018E450(void *a0) } func_8018F6B4(); func_8018EA04(9); - *(s16 *)((s32)a0 + 6) = -0x180; + CAST_ALIAS(s16, (s32)a0, 6) = -0x180; w0 = 0x400; store: - *(s16 *)((s32)a0 + 0xE) = w0; + ((Unkstruct_800B5CB8 *)a0)->unkE = w0; break; } - if (*(s16 *)((s32)a0 + 0x70) < 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 < 4) { func_8013C9C4(&D_80196C00); func_8002D4C8(0x502, 0); lim = 0x12; @@ -6228,18 +6224,18 @@ void func_8018E450(void *a0) } while (i < bound); buf.f0C = 0; buf.f0A = 0; - if (*(s16 *)((s32)a0 + 0x70) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { buf.f0C = 0x400; } else { buf.f0C = 0; } buf.f10 = 0; buf.f06 = 0x5D; - buf.f08 = *(u16 *)((s32)a0 + 0x70) + 4; + buf.f08 = CAST_SIGN(u16, (s32)a0, 0x70) + 4; func_8018E7E4((s32)a0, &buf, &D_801F0220, arr, lim); } else { ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { goto nonzero; } @@ -6247,9 +6243,9 @@ void func_8018E450(void *a0) func_8012C218(a0); return; nonzero: - func_8001C214(ret, (s32)&D_801E4998[*(s16 *)((s32)a0 + 0xFC)]); - func_8001D0E8(*(s32 *)((s32)a0 + 0x20), 0x7FFF, 0x7FFF); - *(s16 *)((s32)a0 + 2) = 4; + func_8001C214(ret, (s32)&D_801E4998[((Unkstruct_800B5CB8 *)a0)->unkFC]); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x7FFF, 0x7FFF); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } @@ -6262,13 +6258,13 @@ void func_8018E6DC(void *a0) { s32 var; void *p; - var = *(s32 *)((s32)a0 + 0x1C); - p = *(void **)((s32)a0 + 0x20); + var = ((Unkstruct_800B5CB8 *)a0)->unk1C; + p = CAST_SIGN(void *, (s32)a0, 0x20); var = var - 1; - *(s32 *)((s32)a0 + 0x1C) = var; + ((Unkstruct_800B5CB8 *)a0)->unk1C = var; if (var != 0) { if (var < 0x10) { - *(s32 *)((s32)p + 4) ^= 0x80000000; + CAST_WIDTH(s32, (s32)p, 4) ^= 0x80000000; } } else { func_8012C218((void *)a0); @@ -6279,29 +6275,29 @@ void func_8018E6DC(void *a0) { extern void func_8012AD80(s32 a0); void func_8018E730(void *a0) { - s32 v1 = *(s32 *)((s32)a0 + 0x1C); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v1 < 0x28) { v1 = v1 + 1; - *(s32 *)((s32)a0 + 0x1C) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v1; if (v1 == 1) { return; } - if (*(s16 *)((s32)a0 + 0xA) < -0x800) { + if (CAST_SIGN(s16, (s32)a0, 0xA) < -0x800) { void *p; - *(s32 *)((s32)a0 + 0x48) = 0x38000; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x38000; func_8012AD80((s32)a0); - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x10) -= (*(s32 *)((s32)a0 + 0x18) << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_SIGN(s16, (s32)p, 0x10) -= (CAST_WIDTH(s32, (s32)a0, 0x18) << 4) >> 16; - p = *(void **)((s32)a0 + 0x20); - *(s16 *)((s32)p + 0x14) -= (*(s32 *)((s32)a0 + 0x10) << 4) >> 16; + p = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(s16, (s32)p, 0x14) -= (CAST_WIDTH(s32, (s32)a0, 0x10) << 4) >> 16; } } else { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(s16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) - 1; } } @@ -6335,9 +6331,9 @@ void func_8018E7E4(arg0, arg1, arg2, arg3, count) vec[1] = *(u16 *)((s32)arg2 + i * 12 + 2); vec[2] = *(u16 *)((s32)arg2 + i * 12 + 4); ApplyMatrixSV(&mat, vec, out); - *(u16 *)((s32)arg1 + 0) = *(u16 *)((s32)arg0 + 6) + out[0]; - *(u16 *)((s32)arg1 + 2) = *(u16 *)((s32)arg0 + 0xA) + out[1]; - *(u16 *)((s32)arg1 + 4) = *(u16 *)((s32)arg0 + 0xE) + out[2]; + *(u16 *)((s32)arg1 + 0) = ((Unkstruct_800B5CB8 *)arg0)->unk6 + out[0]; + *(u16 *)((s32)arg1 + 2) = ((Unkstruct_800B5CB8 *)arg0)->unkA + out[1]; + *(u16 *)((s32)arg1 + 4) = ((Unkstruct_800B5CB8 *)arg0)->unkE + out[2]; *(u16 *)((s32)arg1 + 0xE) = i; prim = func_8012C750((s32)arg1); if (prim != 0) { @@ -6347,12 +6343,12 @@ void func_8018E7E4(arg0, arg1, arg2, arg3, count) VectorNormalSS(out, out); ApplyMatrixSV(&mat, out, out); val = (out[0] << 9) + (out[0] << 8); - *(s32 *)(prim + 0x10) = val; + CAST_WIDTH(s32, prim, 0x10) = val; val = (out[1] << 9) + (out[1] << 8); - *(s32 *)(prim + 0xDC) = val; - *(s32 *)(prim + 0x14) = val; + ((Unkstruct_800B5CB8 *)prim)->unkDC = val; + ((Unkstruct_800B5CB8 *)prim)->unk14 = val; val = (out[2] << 9) + (out[2] << 8); - *(s32 *)(prim + 0x18) = val; + CAST_WIDTH(s32, prim, 0x18) = val; } } } diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c index 9ea3b975f7..ef12abe98c 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80183178.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80183178.c @@ -176,13 +176,13 @@ void func_80183558(s32 a0) { if (func_8012BEE8(a0) != 0) { v1 = ((s32 (*)(s32, s32))func_8012CC40)((int)a0, (int)&D_80195144); if (v1 & 0x8000) { - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(a0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; } else if (v1 & 0x6000) { - *(s16 *)(a0 + 0x2) = 8; - } else if ((*(u32 *)(a0 + 0xDC) & 1) == 0 && *(s32 *)(a0 + 0x14) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + } else if ((CAST_SIGN(u32, a0, 0xDC) & 1) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk14 >= 0) { ((void (*)(s32, s32))func_8012A828)((int)a0, (int)&D_801F40A4); - *(u32 *)(a0 + 0xDC) |= 1; + CAST_SIGN(u32, a0, 0xDC) |= 1; } } } @@ -230,82 +230,82 @@ void func_80183630(s32 a0) { if (func_801845F4() == 1) { return; } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: func_8018487C(a0); D_801955F0 = func_80183954(a0); if (func_80183B30(a0, D_801955F0) == 1) { - *(s16 *)(a0 + 0x34) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 8; return; } if (func_80183994(a0, D_801955F0) != 1) { return; } - *(s16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; return; case 1: - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; case 2: if (func_80183994(a0, D_801955F0) == 1) { - *(s16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; return; } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, D_801F3EFC); - *(s32 *)(a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } return; case 3: func_8012B23C(a0); func_8012B178(a0, 0xA0000); - *(s16 *)(a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; return; case 4: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x20; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = -0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x20; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)(a0 + 0x20), 0x10) = -0x400; } if (func_8012CBCC(a0) & 0x2000) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = -0x400; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = 5; + CAST_ALIAS(s16, *(s32 *)(a0 + 0x20), 0x10) = -0x400; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 5; func_8002D4C8(0xB09, 0); func_8013C9C4(D_80195184); } return; case 5: if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x34) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 6; } return; case 6: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += 0x80; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) >= 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += 0x80; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) >= 0) { func_8012B2CC(a0); func_8012B23C(a0); func_8012B178(a0, 0xFFFC8000); func_8012A828(a0, D_801F3FA4); - *(s16 *)(a0 + 0x34) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; } return; case 7: if (((s32 (*)(s32, s32))func_8012CC1C)(a0, (s32)&D_80195144) & 0x8000) { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8018452C(a0); - *(s32 *)(a0 + 0xDC) &= ~0x10; + ((Unkstruct_800B5CB8 *)a0)->unkDC &= ~0x10; } return; case 8: func_8012A828(a0, D_801F41DC); - *(s32 *)(a0 + 0x1C) = 0x14; - *(s16 *)(a0 + 0x34) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 9; return; case 9: if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x34) = 0xA; - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } return; case 10: @@ -315,9 +315,9 @@ void func_80183630(s32 a0) { func_8012AD80(a0); func_8012B23C(a0); func_8012B260((u8 *)a0); - *(s16 *)(a0 + 0x34) = 0xB; - *(s32 *)(a0 + 0x1C) = 0x10; - *(s32 *)(a0 + 0xDC) = (*(s32 *)(a0 + 0xDC) & ~0x20) | 0x48; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkDC = (((Unkstruct_800B5CB8 *)a0)->unkDC & ~0x20) | 0x48; return; } } @@ -331,7 +331,7 @@ s32 func_80183954(s32 a0) { func_8012AD80(a0); s0 = (u8 *)a0; - val = *(s16 *)(s0 + 0xA); + val = CAST_SIGN(s16, s0, 0xA); return ((val - 0xB0) < -0xA01) ? 0 : 2; } @@ -359,7 +359,7 @@ s32 func_80183994(s32 a0, s32 a1) { p = D_801202A0; i = 0; do { - if (*(u16 *)p == 0xB0) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0xB0) { if (hit == 0) { func_8012B260((u8 *)a0); hit = 1; @@ -367,12 +367,12 @@ s32 func_80183994(s32 a0, s32 a1) { if (func_80183C2C(a0, p, a1) != 0) { func_8012ADE4((u8 *)a0); func_8012B260((u8 *)a0); - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; t = 0; if (func_80183C2C(a0, p, 4) != 1) { return t; } - *(s32 *)(a0 + 0xDC) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkDC |= 0x10; return 1; } } @@ -380,13 +380,13 @@ s32 func_80183994(s32 a0, s32 a1) { p += 0x10C; } while (i < 0x60); - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801F3EFC); } - t = *(s32 *)(a0 + 0xE8) - 1; - *(s32 *)(a0 + 0xE8) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unkE8 - 1; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = t; if (t <= 0) { - *(s32 *)(a0 + 0xE8) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x2D; if (rand() % 3 != 0) { goto ret0; } @@ -733,7 +733,7 @@ extern void func_8012C218(void *a0); extern u8 D_801952D8[]; void func_80184414(void *arg0) { - if (*(void **)((char *)arg0 + 0xCC) != (void *)D_801952D8 || func_800D0CE0() != 0) { + if (CAST_SIGN(void *, (char *)arg0, 0xCC) != (void *)D_801952D8 || func_800D0CE0() != 0) { func_8018823C(); func_8012C218(arg0); } @@ -791,9 +791,9 @@ void func_8018452C(s32 a0) s0 = a0; func_8012B14C(s0, (s32)&D_801950D8); func_8012A828(s0, (void *)D_801F3EFC); - *(u16 *)(s0 + 0xFC) = rand() & 1; - *(s32 *)(s0 + 0x1C) = 0x2D; - *(u16 *)(s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = rand() & 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x2D; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; } @@ -801,7 +801,7 @@ void func_80184590(s32 param_1) { extern u8 D_80126B5C; extern s32 func_8012C588(s32 a0, s32 a1); - *(s32 *)(param_1 + 4) = *(s32 *)&D_80126B5C; + CAST_WIDTH(s32, param_1, 4) = *(s32 *)&D_80126B5C; func_8012C588(0xBA, param_1); } @@ -810,7 +810,7 @@ void func_801845C0(s32 param_1) { extern u8 D_80126B5C; extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); - *(s32 *)&D_80126B5C = *(s32 *)(param_1 + 4); + *(s32 *)&D_80126B5C = CAST_WIDTH(s32, param_1, 4); func_8012C658(0xBA, 1, param_1); } @@ -831,7 +831,7 @@ s32 func_801845F4(s32 param_1) { if (func_80172670(s1) == 0 && func_80172658(s1) == 0) { return 0; } - if (func_80172658(s1) != 0 && *(s16 *)((s32)s1 + 0xA) < -0xA01) { + if (func_80172658(s1) != 0 && ((Unkstruct_80126B58 *)s1)->unkA < -0xA01) { if ((*(u32 *)((s32)s0 + 0xDC) & 0x80) == 0) { func_801746DC(); *(u32 *)((s32)s0 + 0xDC) |= 0x80; @@ -868,10 +868,10 @@ void func_80184738(s32 a0) { p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p == 0xB0) { - if ((*(u16 *)(p + 0x70) & 0xF) == 0) { - *(s16 *)(p + 0xFC) = a0; - *(u16 *)(p + 0x70) |= 0x800; + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0xB0) { + if ((CAST_SIGN(u16, p, 0x70) & 0xF) == 0) { + ((Unkstruct_800B5CB8 *)p)->unkFC = a0; + CAST_SIGN(u16, p, 0x70) |= 0x800; } } } @@ -933,7 +933,7 @@ void func_8018487C(s32 param_1) s32 scaled; s32 *p; - tmp = *(s32 *)(param_1 + 8) + -0x900000; + tmp = CAST_WIDTH(s32, param_1, 8) + -0x900000; iVar1 = D_80126B60 - tmp; if (iVar1 < 0) { iVar1 = iVar1 + 0xfffff; @@ -1028,7 +1028,7 @@ void func_80184A54(void) p = D_801202A0; s2 = 0x6C; do { - u16 v = *(u16 *)p; + u16 v = ((Unkstruct_800B5CB8 *)p)->unk0; if ((u32)(v - 0x123) < 2 || v == s2) { ((void (*)(u8 *))func_8012C098)(p); } @@ -1043,7 +1043,7 @@ void func_80184A54(void) extern void (*D_801957F8[])(void); void func_80184ACC(void *a0) { - D_801957F8[*(u16 *)((s32)a0 + 0x2)](); + D_801957F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -1063,25 +1063,25 @@ void func_80184B08(s32 param_1) { extern s32 D_80126B64; s32 v0; - *(s16 *)(param_1 + 0x76) = 10; - *(u16 *)(param_1 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)param_1)->unk76 = 10; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0x8C00; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { func_8001C214(v0, (s32)&D_801CA540); - *(u32 *)(param_1 + 0x58) = - (((*(u16 *)(param_1 + 0x70) & 1) << 4) + (s32)&D_80195648) | 0x60000000; - if ((*(u16 *)(param_1 + 0x70) & 1) != 0) { - *(s16 *)(param_1 + 2) = 2; - *(u16 *)(param_1 + 0x5C) |= 0x200; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = + (((CAST_SIGN(u16, param_1, 0x70) & 1) << 4) + (s32)&D_80195648) | 0x60000000; + if ((CAST_SIGN(u16, param_1, 0x70) & 1) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk5C |= 0x200; func_8012A828(param_1, (void *)&D_8019105C); - *(s32 *)(param_1 + 4) = *(s32 *)&D_80126B5C; - *(s32 *)(param_1 + 8) = D_80126B60; - *(s32 *)(param_1 + 0xC) = D_80126B64; + CAST_WIDTH(s32, param_1, 4) = *(s32 *)&D_80126B5C; + CAST_WIDTH(s32, param_1, 8) = D_80126B60; + CAST_WIDTH(s32, param_1, 0xC) = D_80126B64; } else { - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, (void *)&D_80195734); } func_8012B2CC(param_1); @@ -1094,13 +1094,13 @@ extern s32 D_801F432C; extern s32 D_80195744; void func_80184C0C(s32 param_1) { - *(u16 *)(param_1 + 6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 6); - *(u16 *)(param_1 + 0xE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); - if (*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x90) == (s32)&D_801F432C) { - *(s16 *)(param_1 + 2) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + if (*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x90) == (s32)&D_801F432C) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; func_8012A828(param_1, &D_80195744); - *(s32 *)(param_1 + 0x1c) = 0xe; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xe; } } @@ -1115,18 +1115,18 @@ void func_80184C98(s32 param_1) { u16 v1; s32 v0; - v1 = *(u16 *)(param_1 + 0x5C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk5C; if (v1 & 1) { - *(u16 *)(param_1 + 0x5C) = v1 & 0xFFFE; - if (*(u16 *)(param_1 + 0x5E) == 9) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = v1 & 0xFFFE; + if (CAST_WIDTH(u16, param_1, 0x5E) == 9) { func_8012B23C(param_1); - pt.a = *(u16 *)(*(s32 *)(param_1 + 0x64) + 6); - pt.b = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xA); - pt.c = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xE); + pt.a = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6); + pt.b = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xA); + pt.c = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE); if (((s32 (*)(s32, s32))func_80185098)(param_1, (s32)&pt) == 1) { func_8012B14C(param_1, (s32)D_801957EC); } - *(u16 *)(param_1 + 2) = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 5; } } } @@ -1147,13 +1147,13 @@ void func_80184D50(s32 param_1) { s32 t; u16 h; - t = *(s32 *)(param_1 + 0x1C) - 1; - *(s32 *)(param_1 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = t; if (t == 0) { - h = *(u16 *)(param_1 + 0xE); - *(u16 *)(param_1 + 2) = 4; - *(u16 *)(param_1 + 0x98) = 0; - *(u16 *)(param_1 + 0xE) = h + 0x68; + h = ((Unkstruct_800B5CB8 *)param_1)->unkE; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE = h + 0x68; func_8012B23C(param_1); pt.a = D_80126B5E; @@ -1163,7 +1163,7 @@ void func_80184D50(s32 param_1) { func_8012B14C(param_1, (s32)D_801957EC); } func_8012AD80(param_1); - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } } @@ -1202,12 +1202,12 @@ void func_80184E00(s32 param_1) func_80185098(param_1, (s32)&pt); if (func_8012CBCC(param_1) & 0x6000) { - *(s16 *)(param_1 + 2) = 6; - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 6; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; return; } - if (*(s16 *)(param_1 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC != 0) { return; } @@ -1221,8 +1221,8 @@ void func_80184E00(s32 param_1) func_8014C978(); func_8012F568(1, 0xC001, 0, 0x3E8, (s32)&sv2, (s32)D_801152A8); - *(s16 *)(*(s32 *)(param_1 + 0x64) + 0x34) = 4; - *(s16 *)(param_1 + 0xFC) = 1; + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; func_8001AAD0(1, 0x4292); D_80126B66 = D_80126B66 + 0x20; @@ -1242,30 +1242,30 @@ void func_80184F48(s32 param_1) SV3_80184F48 sv2; SV3_80184F48 pt; - pt.a = *(u16 *)(*(s32 *)(param_1 + 0x64) + 6); - pt.b = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xA); - pt.c = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xE); + pt.a = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6); + pt.b = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xA); + pt.c = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE); func_80185098(param_1, (s32)&pt); if (func_8012CBCC(param_1) & 0x6000) { - *(s16 *)(param_1 + 2) = 6; - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 6; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; return; } - if (*(s16 *)(param_1 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC != 0) { return; } func_8012F214(param_1, (s32)&D_801957DC, (s32)&sv1); func_8012F214(param_1, (s32)&D_801957DC + 8, (s32)&sv2); - if (func_80135888(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20), *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x58), (s32)&sv1, (s32)&sv2) == 0) { + if (func_80135888(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20), *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x58), (s32)&sv1, (s32)&sv2) == 0) { return; } - *(s16 *)(param_1 + 0xFC) = 1; - *(s16 *)(*(s32 *)(param_1 + 0x64) + 0x34) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x34) = 1; func_8001AAD0(1, 0x4331); } @@ -1279,7 +1279,7 @@ void func_80185048(s32 param_1) { s32 *temp_v0; - temp_v0 = *(s32 **)(param_1 + 0x20); + temp_v0 = CAST_SIGN(s32 *, param_1, 0x20); temp_v0[1] ^= 0x80000000; if (func_8012BEE8(param_1) != 0) { func_8012C218(param_1); @@ -1313,12 +1313,12 @@ s32 func_80185098_impl(s32 a0, s32 a1) asm("func_80185098"); s32 func_80185098_impl(s32 a0, s32 a1) { s16 val; - val = *(s16 *)(a1 + 2); - if (val < *(s16 *)(a0 + 0xA) || *(s16 *)(a0 + 0xFC) != 0) { + val = CAST_NONSTRUCT(s16, a1, 2); + if (val < CAST_NONSTRUCT(s16, a0, 0xA) || CAST_NONSTRUCT(s16, a0, 0xFC) != 0) { return 0; } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = -ratan2(*(s16 *)(a1 + 4) - *(s16 *)(a0 + 0xE), - val - *(s16 *)(a0 + 0xA)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = -ratan2(CAST_NONSTRUCT(s16, a1, 4) - CAST_NONSTRUCT(s16, a0, 0xE), + val - CAST_NONSTRUCT(s16, a0, 0xA)); func_8012B2CC(a0); func_8012B14C(a0, (s32)D_801957EC); return 1; @@ -1329,7 +1329,7 @@ s32 func_80185098_impl(s32 a0, s32 a1) { extern void (*D_801958B8[])(void); void func_80185120(void *a0) { - D_801958B8[*(u16 *)((s32)a0 + 0x2)](); + D_801958B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -1347,35 +1347,35 @@ void func_8018515C(void *param_1) u8 *s1; s32 v0; - f = *(u16 *)((s32)param_1 + 0x70); + f = CAST_SIGN(u16, (s32)param_1, 0x70); s1 = &D_80195834[(f & 1) * 0x34]; if ((f & 0x80) != 0) { - *(s32 *)((s32)param_1 + 0x78) = (s32)s1; - *(u16 *)((s32)param_1 + 0x5C) = *(u16 *)(s1 + 2); + ((Unkstruct_800B5CB8 *)param_1)->unk78 = (s32)s1; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = *(u16 *)(s1 + 2); 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; } func_8001C810(v0, *(s32 *)(s1 + 4)); - *(s32 *)((s32)param_1 + 0x58) = *(s32 *)(s1 + 8) | 0x60000000; - *(s32 *)(*(s32 *)((s32)param_1 + 0x20) + 4) |= 0x8000; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = *(s32 *)(s1 + 8) | 0x60000000; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x8000; } else { if (func_8012C354((s32)param_1, (s32)s1) == 0) { return; } } - *(s32 *)((s32)param_1 + 0xDC) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 1; func_8012A828((s32)param_1, D_801958A8); - *(u8 *)((s32)param_1 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; - if ((*(s16 *)((s32)param_1 + 0x70) & 0x8000) != 0) { - *(s16 *)((s32)param_1 + 2) = 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } else { - *(s16 *)((s32)param_1 + 2) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; } } @@ -1420,7 +1420,7 @@ void func_801852B0(s32 a0) s32 v; u8 *p; - if (func_8012BEE8(a0) == 0 && *(s16 *)(s0 + 0xFC) == 0) { + if (func_8012BEE8(a0) == 0 && ((Unkstruct_800B5CB8 *)s0)->unkFC == 0) { return; } @@ -1432,14 +1432,14 @@ void func_801852B0(s32 a0) * copy-propagated away and the copy lands next to the `jal` instead (+1 ins). */ p = (u8 *)s0; - if (*(s16 *)(s0 + 0xFC) != 0) { - v = *(s32 *)(s0 + 0xDC); + if (((Unkstruct_800B5CB8 *)s0)->unkFC != 0) { + v = ((Unkstruct_800B5CB8 *)s0)->unkDC; if (v == 0) { - *(s16 *)(s0 + 2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; return; } } else { - v = *(s32 *)(s0 + 0xDC); + v = ((Unkstruct_800B5CB8 *)s0)->unkDC; } /* cookbook-index L22 / §5a + the §34 zero-byte fence toolkit: reorg's eager @@ -1449,9 +1449,9 @@ void func_801852B0(s32 a0) * unfilled `nop` (idx 18) survives. Emits nothing. */ __asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9) v ^= 1; - *(s32 *)(s0 + 0xDC) = v; + ((Unkstruct_800B5CB8 *)s0)->unkDC = v; func_8012B200(p); - *(u16 *)(s0 + 0x5C) |= 0x400; + ((Unkstruct_800B5CB8 *)s0)->unk5C |= 0x400; /* Both arms: the target sets up $a0/$a1 BEFORE the `= 7` / `= 6` store, so * the store (not the `li $a1`) is what reorg pulls into the jal's delay slot. @@ -1460,23 +1460,23 @@ void func_801852B0(s32 a0) * pins place the copies, and the zero-byte re-tie on the $a1 pin (ADD-8 -> * §245 addendum, "the re-tie barrier pins call-arg setup to source order") * stops the constant from being rematerialised down at the call. */ - if (*(s32 *)(s0 + 0xDC) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkDC == 0) { register s32 q __asm__("$4") = s0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) s32 r = 0xFFF80000; __asm__ __volatile__("" : "=r"(r) : "0"(r)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9) - *(s16 *)(s0 + 2) = 7; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 7; func_8012B178(q, r); v = 0x20; } else { register s32 q2 __asm__("$4") = s0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) s32 r2 = 0x100000; __asm__ __volatile__("" : "=r"(r2) : "0"(r2)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9) - *(s16 *)(s0 + 2) = 6; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 6; func_8012B178(q2, r2); v = 0x10; } - *(s32 *)(s0 + 0x1C) = v; + ((Unkstruct_800B5CB8 *)s0)->unk1C = v; func_8018567C(s0, 0x61A); } @@ -1495,19 +1495,19 @@ extern s32 func_80185548(s32 a0); extern void func_8012B178(s32 a0, s32 a1); void func_801853CC(s32 a0) { - u16 v1 = *(u16 *)(a0 + 0x34); + u16 v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: - if (*(s16 *)(a0 + 0xFC) != 0) { - *(u16 *)(a0 + 0x34) = v1 + 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = v1 + 1; func_8012B178(a0, 0xFFF80000); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; } break; case 1: if (func_80185548(a0) == v1) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 2: @@ -1531,10 +1531,10 @@ void func_80185480(void *a0) { extern void func_8018567C(s32, s32); if (func_80185548((s32)a0) == 1) { - if ((*(s16 *)((s32)a0 + 0x70) & 0x8000) != 0) { - *(s16 *)((s32)a0 + 2) = 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } func_8018567C((s32)a0, 0x61B); } @@ -1546,13 +1546,13 @@ void func_801854DC(void *a0) { extern void func_8018567C(s32, s32); if (func_80185548((s32)a0) == 1) { - if ((*(s16 *)((s32)a0 + 0x70) & 0x8000) != 0) { - *(s16 *)((s32)a0 + 2) = 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } func_8018567C((s32)a0, 0x61B); - *(u16 *)((s32)a0 + 0x5C) &= ~0x400; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= ~0x400; } } @@ -1614,13 +1614,13 @@ s32 func_80185548(s32 param_1) { u8 *base = (u8 *)&D_80126B58; func_8012AD80(param_1); - if (*(u8 *)(param_1 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk74 != 0) { in[0] = D_80126B5C; in[1] = D_80126B60; in[2] = gVecZ; - func_8012F0BC((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), in, tmp); + func_8012F0BC((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), in, tmp); func_8012B2CC(param_1); - func_8012F1A4((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), (s32)tmp, out); + func_8012F1A4((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), (s32)tmp, out); D_80126B5C = out[0]; D_80126B60 = out[1]; gVecZ = out[2]; @@ -1772,7 +1772,7 @@ void func_8018576C(u8 *vb) extern void (*D_801958E8[])(void); void func_801859E0(void *a0) { - D_801958E8[*(u16 *)((s32)a0 + 0x2)](); + D_801958E8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -1785,16 +1785,16 @@ void func_80185A1C(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4(a0); return; } func_8001C214(ret, 0); - *(u16 *)((u8 *)a0 + 0x2) = 1; - *(u16 *)((u8 *)a0 + 0x5C) = 0x40; - *(s32 *)((u8 *)a0 + 0x58) = (u32)D_801958D8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (u32)D_801958D8; } @@ -1843,17 +1843,17 @@ void func_80185AAC(s32 arg0) s16 selfA; s16 selfE; - self6 = *(s16 *)(arg0 + 0x6); + self6 = CAST_SIGN(s16, arg0, 0x6); if (self6 + *(s16 *)&D_801958F4 < *(s16 *)&D_80126B5E && *(s16 *)&D_80126B5E < self6 + *(s16 *)&D_801958F6) { - selfA = *(s16 *)(arg0 + 0xA); + selfA = CAST_SIGN(s16, arg0, 0xA); if (selfA + *(s16 *)&D_801958F8 < *(s16 *)&D_80126B62 && *(s16 *)&D_80126B62 < selfA + *(s16 *)&D_801958FA) { - selfE = *(s16 *)(arg0 + 0xE); + selfE = CAST_SIGN(s16, arg0, 0xE); if (selfE + *(s16 *)&D_801958FC < *(s16 *)&D_80126B66 && *(s16 *)&D_80126B66 < selfE + *(s16 *)&D_801958FE) { - *(u32 *)(arg0 + 0x58) = (u32)(a2 + 0x10) | 0x40000000; - *(s16 *)(arg0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (u32)(a2 + 0x10) | 0x40000000; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x800; func_80185BA4(arg0); } } @@ -1868,7 +1868,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_80185BA4(s32 a0) { func_800D0C48(1); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_80178B18(a0, (s32) D_80195910); func_8012AD44((s32 *)a0, 2); } @@ -1913,7 +1913,7 @@ void func_80185C20(void) extern void (*D_80195948[])(void); void func_80185C40(void *a0) { - D_80195948[*(u16 *)((s32)a0 + 0x2)](); + D_80195948[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2024,29 +2024,29 @@ void func_80185E20(s32 a0) { u16 delta; u16 cnt; - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (t == 0x30) { func_8013CABC(); } else if (t == 0x10) { - func_80186728(*(void **)(a0 + 0xD0)); + func_80186728(CAST_SIGN(void *, a0, 0xD0)); } - if (*(u16 *)(a0 + 0x102) & 1) { - *(u16 *)(*(s32 *)(a0 + 0x64) + 6) -= 3; - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 8) -= 3; - delta = *(u16 *)(a0 + 6) - 3; + if (CAST_SIGN(u16, a0, 0x102) & 1) { + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 6) -= 3; + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 8) -= 3; + delta = ((Unkstruct_800B5CB8 *)a0)->unk6 - 3; } else { - *(u16 *)(*(s32 *)(a0 + 0x64) + 6) += 3; - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 8) += 3; - delta = *(u16 *)(a0 + 6) + 3; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 6) += 3; + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 8) += 3; + delta = ((Unkstruct_800B5CB8 *)a0)->unk6 + 3; } - *(u16 *)(a0 + 6) = delta; + ((Unkstruct_800B5CB8 *)a0)->unk6 = delta; { - u16 raw = *(u16 *)(a0 + 0x102); + u16 raw = CAST_SIGN(u16, a0, 0x102); s32 old = D_801EB520; cnt = raw + 1; - *(u16 *)(a0 + 0x102) = cnt; + ((Unkstruct_800B5CB8 *)a0)->unk102 = cnt; if (old == 0) { D_801EB520 = func_80188114(); } @@ -2055,7 +2055,7 @@ void func_80185E20(s32 a0) { if (func_8012BEE8(a0) != 0 && D_801EB520 != 0) { func_80186070(a0); } else { - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (t < 0x48 && (t & 3) == 0) { func_80185FA0(a0); } @@ -2161,14 +2161,14 @@ extern void func_80186790(void *a0); extern u8 D_80195A94; void func_80186184(s32 a0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3800; func_8012A828(a0, &D_80195A94); - *(u16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; func_8012AD44((s32 *)a0, 4); - if (*(s32 *)(a0 + 0xD0) != 0) { - func_80186790(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_80186790(CAST_SIGN(void *, a0, 0xD0)); } } @@ -2199,7 +2199,7 @@ void func_80186250(s32 arg0) { extern void func_8012AD44(s32 *a0, s16 a1); extern s8 D_801959A8[]; - *(s32 *)((s32)arg0 + 0x58) = (s32)&D_801959A8; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)&D_801959A8; func_80186548((s32 *)arg0); func_8012AD44((s32 *)arg0, 6); } @@ -2272,7 +2272,7 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80186394(s32 a0) { func_8012AD44((s32 *)a0, 8); - *(s32 *)(a0 + 0x1C) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; func_8002D4C8(0x5EC, 0); } @@ -2288,7 +2288,7 @@ void func_801863D4(void *a0) { extern void (*D_80195CC4[])(void); void func_801863F4(void *a0) { - D_80195CC4[*(u16 *)((s32)a0 + 0x2)](); + D_80195CC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2353,8 +2353,8 @@ end: void func_80186548(s32 *a0) { - *(s32 *)((s32)a0 + 0x48) = 0x1400; - *(s32 *)((s32)a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1400; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } @@ -2362,11 +2362,11 @@ void func_80186558(s32 a0) { s32 v; func_8012AD80(a0); - v = *(s32 *)(a0 + 0x14); + v = ((Unkstruct_800B5CB8 *)a0)->unk14; if (v > 0x14000) { - *(s32 *)(a0 + 0x48) = -0x1400; + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x1400; } else if (v < -0x14000) { - *(s32 *)(a0 + 0x48) = 0x1400; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1400; } } @@ -2478,8 +2478,8 @@ extern void func_8002D4C8(s32 arg0, s32 arg1); void func_801867BC(void *a0) { - *(short *)((char *)a0 + 0x2) = 0x5; - *(int *)((char *)a0 + 0x1c) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -2504,11 +2504,11 @@ void func_80186818(s32 *a0) { s32 a1; s0 = a0; - a1 = *(s32 *)((u8 *)s0 + 0x34); + a1 = CAST_WIDTH(s32, (u8 *)s0, 0x34); func_80129350(s0, a1); a1 = (s32)((u8 *)s0 + 0x4); - *(s16 *)((u8 *)s0 + 0xA) = *(u16 *)((u8 *)s0 + 0xA) + *(u16 *)((u8 *)s0 + 0x2C); + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + ((Unkstruct_800B5CB8 *)s0)->unk2C; func_80133060((s32 *)((u8 *)s0 + 0x4), a1, -0x180); } @@ -2567,8 +2567,8 @@ void func_80186868(s32 a0) t = func_80132EF4(self, 0x22); if (t != 0) { func_80129374(t, self); - *(s16 *)(*(s32 *)(t + 0x20) + 0x18) = 0x5000; - *(s16 *)(*(s32 *)(t + 0x20) + 0x1A) = 0x5000; + ((Unkstruct_800B5CB8 *)*(s32 *)(t + 0x20))->unk18 = 0x5000; + ((Unkstruct_800B5CB8 *)*(s32 *)(t + 0x20))->unk1A = 0x5000; } } if ((*(s32 *)(self + 0x1C) & 3) == 0) { @@ -2608,7 +2608,7 @@ void func_80186AA0(s32 a0) { extern void (*D_80195D40[])(void); void func_80186AE0(void *a0) { - D_80195D40[*(u16 *)((s32)a0 + 0x2)](); + D_80195D40[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2659,14 +2659,14 @@ void func_80186BB0(void *a0) { s32 sp10[3]; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (!v0) { func_8012CAE4(a0); } else { func_8001C2C4(v0); - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x600; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = 0x600; func_8012B2CC((s32)a0); sp10[1] = 0; @@ -2764,12 +2764,12 @@ extern int func_80178970(void); extern void func_8018B1B0(void); void func_80186D78(s32 *a0) { - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { func_8012AD80((s32)a0); if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x100) = 0x80; - *(s32 *)((s32)a0 + 0x1C) = 0x30; - (*(u16 *)((s32)a0 + 0x34))++; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; + (((Unkstruct_800B5CB8 *)a0)->unk34)++; func_80186548(a0); } } else { @@ -2790,11 +2790,11 @@ extern int func_80178970(void); void func_80186E24(s32 a0) { if (func_8012BEE8(a0) == 0) { - if ((*(s32 *)(a0 + 0x1C) & 3) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 0) { func_8012C658(0x110, 1, a0); } } - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_801861FC(a0); } ((s32 (*)(s32))func_80178970)(a0); @@ -2809,15 +2809,15 @@ extern void func_80186250(s32 a0); void func_80186E94(s32 arg0) { u16 val_34; s16 val_fe, val_a; - val_34 = *(u16 *)(arg0 + 0x34); + val_34 = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (val_34 == 0) { if (func_8012BEE8(arg0) != 0) { - *(s32 *)(arg0 + 0x14) = 0x10000; - *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0x10000; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; } } else { - val_fe = *(s16 *)(arg0 + 0xFE); - val_a = *(s16 *)(arg0 + 0xA); + val_fe = ((Unkstruct_800B5CB8 *)arg0)->unkFE; + val_a = CAST_SIGN(s16, arg0, 0xA); if (val_a < (val_fe - 0xA0)) { func_8012AD80(arg0); } else { @@ -2852,8 +2852,8 @@ void func_80186F74(s32 a0) { s32 t0; s16 val0; - t0 = *(s32 *)(a0 + 0x20); - val0 = *(s16 *)(t0 + 0x18); + t0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + val0 = CAST_SIGN(s16, t0, 0x18); if (val0 > 0) { s32 temp; @@ -2863,23 +2863,23 @@ void func_80186F74(s32 a0) { func_8012AD80(a0); - temp = *(s32 *)(a0 + 0x20); - a = *(u16 *)(a0 + 0xDC); - b = *(u16 *)(temp + 0x18); - *(s16 *)(temp + 0x18) = (s16)(b - a); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; + a = CAST_WIDTH(u16, a0, 0xDC); + b = ((Unkstruct_800B5CB8 *)temp)->unk18; + ((Unkstruct_800B5CB8 *)temp)->unk18 = (s16)(b - a); - temp = *(s32 *)(a0 + 0x20); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; a = *(u16 *)(a0 + 0xDE); - b = *(u16 *)(temp + 0x1A); - *(s16 *)(temp + 0x1A) = (s16)(b - a); + b = ((Unkstruct_800B5CB8 *)temp)->unk1A; + ((Unkstruct_800B5CB8 *)temp)->unk1A = (s16)(b - a); - temp = *(s32 *)(a0 + 0x20); - val = *(s16 *)(temp + 0x18); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; + val = CAST_SIGN(s16, temp, 0x18); if (val == 0) { - flags = *(u32 *)(temp + 0x04); + flags = CAST_WIDTH(u32, temp, 0x04); flags |= 0x80000000; - *(u32 *)(temp + 0x04) = flags; + CAST_WIDTH(u32, temp, 0x04) = flags; } } @@ -3085,7 +3085,7 @@ void func_8018734C(void *a0) { extern void (*D_80195D50[])(void); void func_801873FC(void *a0) { - D_80195D50[*(u16 *)((s32)a0 + 0x2)](); + D_80195D50[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3114,7 +3114,7 @@ void func_801874A0(void) { extern void (*D_80195D58[])(void); void func_801874A8(void *a0) { - D_80195D58[*(u16 *)((s32)a0 + 0x2)](); + D_80195D58[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3132,7 +3132,7 @@ void func_801874E4(s32 a0) if ((*(s32 *)(s1 + 0x20) = s0 = ((s32 (*)(void))func_8012C1B8)()) == 0) goto L_end; func_8001C214(s0, (s32)&D_801DF580); - *(s32 *)(s0 + 0x20) = (s32)&D_81195D48; + ((Unkstruct_800B5CB8 *)s0)->unk20 = (s32)&D_81195D48; func_80187654((u8 *)s1); func_8012AD50((void *)s1); L_end: @@ -3164,7 +3164,7 @@ void func_8018754C(s32 *a0) result = func_8014BF6C(); - if (!(*(s16*)((u8*)a0 + 0x70) < (result & 0xFF))) { + if (!(((Unkstruct_800B5CB8 *)a0)->unk70 < (result & 0xFF))) { func_8012B23C((s32)a0); func_8002D4C8(0x580, 0); func_8012BF4C(a0, 0x10); @@ -3206,18 +3206,18 @@ void func_80187654(u8 *param_1) s16 off; SV3_80187654 out; - obj = *(u8 **)(param_1 + 0x20); + obj = CAST_SIGN(u8 *, param_1, 0x20); - *(Mtx32_80187654 *)(obj + 0x34) = *(Mtx32_80187654 *)((u8 *)D_80126B78 + 0x34); + CAST_WIDTH(Mtx32_80187654, obj, 0x34) = *(Mtx32_80187654 *)((u8 *)D_80126B78 + 0x34); idx = func_8014BF6C(); - off = *(s16 *)(param_1 + 0x70); + off = ((Unkstruct_800B5CB8 *)param_1)->unk70; func_8012F214((s32)param_1, D_80195DB0[idx] + off * 8, (s32)&out); - *(s16 *)(param_1 + 0x6) = out.a; - *(s16 *)(param_1 + 0xa) = out.b; - *(s16 *)(param_1 + 0xe) = out.c; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unkE = out.c; func_8012B260(param_1); } @@ -3242,7 +3242,7 @@ void func_80187724(u8 *a0, u8 *a1) { extern void (*D_80195DC4[])(void); void func_80187784(void *a0) { - D_80195DC4[*(u16 *)((s32)a0 + 0x2)](); + D_80195DC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3289,7 +3289,7 @@ void func_80187838(void) { extern void (*D_80195F14[])(void); void func_8018788C(void *a0) { - D_80195F14[*(u16 *)((s32)a0 + 0x2)](); + D_80195F14[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3413,21 +3413,21 @@ void func_80187CE8(s32 arg0) s32 v; s32 timer; - obj = *(s32 *)(arg0 + 0x20); - *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C); - *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30); - *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34); + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(s32, arg0, 0x10) += CAST_WIDTH(s32, arg0, 0x2C); + ((Unkstruct_800B5CB8 *)arg0)->unk14 += ((Unkstruct_800B5CB8 *)arg0)->unk30; + CAST_WIDTH(s32, arg0, 0x18) += CAST_WIDTH(s32, arg0, 0x34); func_8012931C((struct vec *)arg0); - v = *(u16 *)(obj + 0x1A) - 0x100; - *(u16 *)(obj + 0x1A) = v; - *(u16 *)(obj + 0x18) = v; + v = ((Unkstruct_800B5CB8 *)obj)->unk1A - 0x100; + ((Unkstruct_800B5CB8 *)obj)->unk1A = v; + ((Unkstruct_800B5CB8 *)obj)->unk18 = v; if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) { func_801292C8((u8 *)arg0); } else { - timer = *(s32 *)(arg0 + 0x1C); + timer = ((Unkstruct_800B5CB8 *)arg0)->unk1C; if (timer != 0) { timer--; - *(s32 *)(arg0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = timer; if (timer == 0) { func_801292C8((u8 *)arg0); } @@ -3557,7 +3557,7 @@ void func_80187FA0(u8 *a0, u8 *a1) { result = func_801290DC(0x3E, (u8 *)temp); if (result) { - *(s32 *)(result + 0x2C) = *(s16 *)(a1 + 0x6); + CAST_WIDTH(s32, result, 0x2C) = *(s16 *)(a1 + 0x6); } } @@ -3743,25 +3743,25 @@ s32 func_80188250_body(s32 a0) { self4 = (s16 *)(a0 + 4); sc = (unsigned int *)sp20; do { - if (*(u16 *)a0 == *(u16 *)p && (u8 *)a0 != p) { + if (*(u16 *)a0 == ((Unkstruct_800B5CB8 *)p)->unk0 && (u8 *)a0 != p) { if (func_8012BC60(self4, (struct Vec *)(p + 4)) < 0x1000) { ang = func_8012B6D4(self4, (s16 *)(p + 4)); func_8012B0B4(sc, ang, 0x41); - v18[0] = *(u16 *)(p + 6); - v18[1] = *(u16 *)(p + 0xA); - v18[2] = *(u16 *)(p + 0xE); + v18[0] = ((Unkstruct_800B5CB8 *)p)->unk6; + v18[1] = ((Unkstruct_800B5CB8 *)p)->unkA; + v18[2] = ((Unkstruct_800B5CB8 *)p)->unkE; v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = CAST_NONSTRUCT(u16, a0, 0x3A); + v10[1] = CAST_NONSTRUCT(u16, a0, 0x3E); + v10[2] = CAST_NONSTRUCT(u16, a0, 0x42); if ((func_8012CEB0((s32)&v10[0], (s32)&v18[0], 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return 1; } - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - do { *(u16 *)(a0 + 0xE) = v18[2]; } while (0); + CAST_NONSTRUCT(u16, a0, 6) = v18[0]; + CAST_NONSTRUCT(u16, a0, 0xA) = v18[1]; + do { CAST_NONSTRUCT(u16, a0, 0xE) = v18[2]; } while (0); return 1; } } @@ -3805,9 +3805,9 @@ void func_80188430(s32 a0) { SVECTOR out; s32 v0; - in.vx = *(s16 *)(a0 + 0x6); - in.vy = *(s16 *)(a0 + 0xA); - in.vz = *(s16 *)(a0 + 0xE); + in.vx = CAST_SIGN(s16, a0, 0x6); + in.vy = CAST_SIGN(s16, a0, 0xA); + in.vz = CAST_SIGN(s16, a0, 0xE); out = in; out.vy += 8; @@ -3819,12 +3819,12 @@ void func_80188430(s32 a0) { } if (v0 == 0) { - *(s16 *)(a0 + 0x2) = 0x11; - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; return; } - if (*(s32 *)(a0 + 0xC4) & 4) { + if (((Unkstruct_800B5CB8 *)a0)->unkC4 & 4) { func_80188508(a0); } else { func_80188554(a0); @@ -3837,9 +3837,9 @@ extern void func_8012A828(s32 a0, void *a1); extern void func_8012B23C(s32 a0); void func_80188508(s32 a0) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; func_8012A828(a0, &D_801D40D4); func_8012B23C(a0); } @@ -3857,21 +3857,21 @@ extern u8 D_801D3CBC[]; void func_80188554(s32 param_1) { LVec1CDC d; - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 0x5C) = 0xAA10; - *(s32 *)(param_1 + 0x1C) = (rand() & 0x1F) + 0x28; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (rand() & 0x1F) + 0x28; { void *target = (void *)(param_1 + 0x88); - d.vx = *(s16 *)(param_1 + 0x6) - *(s16 *)target; + d.vx = CAST_SIGN(s16, param_1, 0x6) - *(s16 *)target; d.vy = 0; - d.vz = *(s16 *)(param_1 + 0xE) - *(s16 *)(param_1 + 0x8C); + d.vz = CAST_SIGN(s16, param_1, 0xE) - CAST_SIGN(s16, param_1, 0x8C); Square0(&d.vx, &d.vx); if (d.vx + d.vz > 0x8FFFF) { - *(s16 *)(param_1 + 0xFC) = + ((Unkstruct_800B5CB8 *)param_1)->unkFC = func_8012B744((void *)(param_1 + 0x4), target); } else { s32 t = rand() & 0x3FF; @@ -3882,8 +3882,8 @@ void func_80188554(s32 param_1) { } else { v1 = t + 0x100; } - *(s16 *)(param_1 + 0xFC) = - (*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + v1) & 0xFFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = + (((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + v1) & 0xFFF; } } @@ -3916,17 +3916,17 @@ void func_80188654(s32 a0) s32 v0; s32 v1; - if (*(s32 *)(s0 + 0x1C) >= 8) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(s0 + 0x20) + 0x12), *(s16 *)(s0 + 0xFC), 8); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + r; + if (((Unkstruct_800B5CB8 *)s0)->unk1C >= 8) { + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)s0)->unkFC, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 + r; } { s32 d[3]; - d[0] = *(s16 *)(s0 + 0x6) - *(s16 *)(s0 + 0x88); + d[0] = CAST_SIGN(s16, s0, 0x6) - CAST_SIGN(s16, s0, 0x88); d[1] = 0; - d[2] = *(s16 *)(s0 + 0xE) - *(s16 *)(s0 + 0x8C); + d[2] = CAST_SIGN(s16, s0, 0xE) - CAST_SIGN(s16, s0, 0x8C); Square0(d, d); if (d[0] + d[2] <= 0x8FFFF) { if (func_8012BD3C(s0, 0x300, 0x10000)) { @@ -3959,7 +3959,7 @@ void func_80188654(s32 a0) } if (func_8012C044(s0) != 0) { - *(s16 *)(s0 + 0x102) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk102 = 1; ((void (*)(void *))func_8012C098)((void *)s0); } } @@ -3997,10 +3997,10 @@ void func_801887F8(s32 a0) { void *s1_ptr; s32 tmp0; - if ((*(u16 *)(a0 + 0x34) == 0) && ((*(u16 *)(a0 + 0x72) & 0x4000) != 0)) { - d.vx = *(s16 *)(a0 + 0x6) - *(s16 *)(a0 + 0x88); + if ((((Unkstruct_800B5CB8 *)a0)->unk34 == 0) && ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0)) { + d.vx = CAST_SIGN(s16, a0, 0x6) - CAST_SIGN(s16, a0, 0x88); d.vy = 0; - d.vz = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + d.vz = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&d.vx, &d.vx); if (d.vx + d.vz > 0x8FFFF) { @@ -4012,25 +4012,25 @@ void func_801887F8(s32 a0) { return; } - *(s16 *)(a0 + 0x2) = v0; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; r = rand(); p = &d; r = r & 0x1F; - dx = *(s16 *)(a0 + 0x6); + dx = CAST_SIGN(s16, a0, 0x6); tmp0 = a0 + 0x88; dz = *(s16 *)tmp0; - *(s32 *)(a0 + 0x1C) = r + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = r + 0x28; p->vy = 0; p->vx = dx - dz; - p->vz = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + p->vz = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&p->vx, &p->vx); s1_ptr = (void *)(a0 + 0x88); if (d.vx + d.vz > 0x8FFFF) { - *(s16 *)(a0 + 0xFC) = func_8012B744((void *)(a0 + 4), s1_ptr); + ((Unkstruct_800B5CB8 *)a0)->unkFC = func_8012B744((void *)(a0 + 4), s1_ptr); } else { v0 = rand() & 0x3FF; v1 = v0 - 0x200; @@ -4039,8 +4039,8 @@ void func_801887F8(s32 a0) { } else { v1 = v0 - 0x500; } - v0 = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); - *(s16 *)(a0 + 0xFC) = (v0 + v1) & 0xFFF; + v0 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; + ((Unkstruct_800B5CB8 *)a0)->unkFC = (v0 + v1) & 0xFFF; } func_8012A828(a0, (void *)&(*(short *)D_801D3CBC)); @@ -4056,17 +4056,17 @@ extern s16 D_801D3D64; extern s16 D_801D3DEC; void func_8018898C(s32 a0) { - *(s16 *)(a0 + 0x2) = 3; - if (*(u16 *)(a0 + 0x86) & 2) { - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; func_8012A828(a0, &D_801D3D64); - *(u16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } else { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801D3DEC); - *(s32 *)(a0 + 0x1C) = 0x19; - *(u16 *)(a0 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; } } @@ -4104,30 +4104,30 @@ void func_80188A10(s32 a0) { void *target; s32 lim; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 4); - if (*(s32 *)(a0 + 0x1C) == 0xF) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 4); + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0xF) { func_80142414(a0, -0x78); func_8002D4C8(0x6A9, 0); } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 3; - if (*(u16 *)(a0 + 0x86) & 2) { - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; func_8012A828(a0, &D_801D3D64); - *(u16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } else { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801D3DEC); - *(s32 *)(a0 + 0x1C) = 0x19; - *(u16 *)(a0 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; } } break; case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 6); func_8012B178(a0, D_8019609C); v1 = ((s32 (*)(s32))func_8012CBA4)(a0); if (v1 & 0x1000) { @@ -4143,29 +4143,29 @@ void func_80188A10(s32 a0) { break; } func_80188250(a0); - v0 = *(u16 *)(a0 + 0xFE) - 1; - *(u16 *)(a0 + 0xFE) = v0; + v0 = CAST_SIGN(u16, a0, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; if ((s16)v0 <= 0) { func_80143B6C(a0, 0); - *(u16 *)(a0 + 0xFE) = 8; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 8; } - d[0] = *(s16 *)(a0 + 0x6) - *(s16 *)(a0 + 0x88); + d[0] = CAST_SIGN(s16, a0, 0x6) - CAST_SIGN(s16, a0, 0x88); d[1] = 0; - d[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + d[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(d, d); lim = 0x8FFFF; target = (void *)(a0 + 0x88); if (d[0] + d[2] > lim || func_8012BCCC(a0) > 0x10000) { - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s32 *)(a0 + 0x1C) = (rand() & 0x1F) + 0x28; - d[0] = *(s16 *)(a0 + 0x6) - *(s16 *)(a0 + 0x88); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x1F) + 0x28; + d[0] = CAST_SIGN(s16, a0, 0x6) - CAST_SIGN(s16, a0, 0x88); d[1] = 0; - d[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + d[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(d, d); if (d[0] + d[2] > lim) { - *(s16 *)(a0 + 0xFC) = func_8012B744((void *)(a0 + 4), target); + ((Unkstruct_800B5CB8 *)a0)->unkFC = func_8012B744((void *)(a0 + 4), target); } else { v0 = rand() & 0x3FF; v1 = v0 - 0x200; @@ -4174,12 +4174,12 @@ void func_80188A10(s32 a0) { } else { v1 = v0 - 0x500; } - *(s16 *)(a0 + 0xFC) = - (*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + v1) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = + (((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + v1) & 0xFFF; } func_8012A828(a0, D_801D3CBC); } - if ((*(u16 *)(a0 + 0x70) & 0x100) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0x100) == 0) { if (func_8012BD3C(a0, 0x200, 0x1000)) { func_80188D54(a0); } @@ -4222,7 +4222,7 @@ void func_80188D80(s32 a0) { extern void func_8012A828(s32, void*); extern short D_801D458C; void func_80188DC8(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; ((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801D458C); } @@ -4230,10 +4230,10 @@ extern void func_8012A828(s32, void*); extern void func_8012A828(s32 a0, void *a1); void func_80188DF4(s32 arg0, s32 arg1, s32 arg2, void *arg3) { - *(short *)((char *)arg0 + 0x34) = arg1; - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = arg1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_8012A828(arg0, arg3); - *(s32 *)((char *)arg0 + 0x1C) = arg2; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = arg2; } diff --git a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c index 9c4c3072c1..36a81ab144 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c @@ -28,18 +28,18 @@ void func_80188E3C(s32 a0) { s32 v0; s32 v1; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - v1 = *(s32 *)(a0 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v0 = 7; goto cmpA; case 1: v0 = func_8012B8E4(a0, 6); - v1 = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + v0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = v1; + v1 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = v1; break; case 2: - v1 = *(s32 *)(a0 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v0 = 0xA; cmpA: if (v1 == v0) { @@ -47,54 +47,54 @@ void func_80188E3C(s32 a0) { } break; case 3: - if (*(s32 *)(a0 + 0x1C) == 0xB) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0xB) { func_8012D5E4(a0, (s32)D_801960A0, (s32)(D_801960A0 + 8), 0x11); } break; case 4: v0 = func_8012B8E4(a0, 6); - v1 = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + v0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = v1; - if (*(s32 *)(a0 + 0x1C) == 0xC) { + v1 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = v1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0xC) { func_801890C8(a0); } break; } if (func_8012BEE8(a0) != 0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012BD3C(a0, 0x400, 0x4000) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_8012A828(a0, D_801D3ACC); - *(s32 *)(a0 + 0x1C) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; } else { - *(u16 *)(a0 + 0x2) = 2; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801D3B74); } break; case 1: - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x18; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x18; func_8012A828(a0, &D_801D3F84); break; case 2: - *(u16 *)(a0 + 0x2) = 2; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801D3B74); break; case 3: break; case 4: - v0 = *(u16 *)(a0 + 0x100); + v0 = CAST_SIGN(u16, a0, 0x100); v0 -= 1; - *(u16 *)(a0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v0; if ((v0 << 16) == 0) { - *(u16 *)(a0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; func_8012A828(a0, &D_801D458C); } else { - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } break; } @@ -185,29 +185,29 @@ void func_801891E8(s32 param_1) { SV3_801891E8 pt; s32 v[4]; - if (*(u16 *)(param_1 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { pt.a = D_80126B5E; pt.c = D_80126B66; - v[0] = *(s16 *)(param_1 + 0x6) - pt.a; + v[0] = CAST_SIGN(s16, param_1, 0x6) - pt.a; v[1] = 0; - v[2] = *(s16 *)(param_1 + 0xE) - pt.c; + v[2] = CAST_SIGN(s16, param_1, 0xE) - pt.c; Square0(&v[0], &v[0]); if (v[0] + v[2] <= 0x19000) { - *(s16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } } else if ((func_8012CBCC(param_1) & 0x2000) != 0) { - *(s16 *)(param_1 + 0x2) = 3; - if ((*(u16 *)(param_1 + 0x86) & 2) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + if ((((Unkstruct_800B5CB8 *)param_1)->unk86 & 2) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x28; func_8012A828(param_1, &D_801D3D64); - *(s16 *)(param_1 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; } else { - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012A828(param_1, &D_801D3DEC); - *(s32 *)(param_1 + 0x1C) = 0x19; - *(u16 *)(param_1 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk86 |= 2; } } } @@ -263,55 +263,55 @@ void func_80189324(s32 a0) { void *s1_ptr; s32 tmp0; - idx = (*(u16 *)(a0 + 0x70) & 0xF00) >> 8; + idx = (CAST_SIGN(u16, a0, 0x70) & 0xF00) >> 8; if (func_8012C354(a0, (s32)(D_80195FF0 + idx * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; - *(u8 *)(a0 + 0xC1) = 0; - *(s32 *)(a0 + 0xBC) = (s32)D_80196058; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80196058; func_80143970(a0); func_8012B030((u8 *)a0); - if ((*(u16 *)(a0 + 0x70) & 0x6000) != 0) { - *(s16 *)(a0 + 0x2) = 6; + if ((CAST_SIGN(u16, a0, 0x70) & 0x6000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012A828(a0, (void *)&D_801D3B74); return; } - if ((*(u16 *)(a0 + 0x70) & 0x1) != 0) { - *(s16 *)(a0 + 0x2) = 0xF; + if ((CAST_SIGN(u16, a0, 0x70) & 0x1) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xF; return; } - if ((*(u16 *)(a0 + 0x70) & 0x100) != 0) { - *(s16 *)(a0 + 0x2) = 9; + if ((CAST_SIGN(u16, a0, 0x70) & 0x100) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; return; } - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; r = rand(); p = &d; r = r & 0x1F; - dx = *(s16 *)(a0 + 0x6); + dx = CAST_SIGN(s16, a0, 0x6); tmp0 = a0 + 0x88; dz = *(s16 *)tmp0; - *(s32 *)(a0 + 0x1C) = r + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = r + 0x28; p->vy = 0; p->vx = dx - dz; - p->vz = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + p->vz = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&p->vx, &p->vx); sum = d.vx + d.vz; s1_ptr = (void *)(a0 + 0x88); if (sum > 0x8FFFF) { - *(s16 *)(a0 + 0xFC) = (s16)func_8012B744((void *)(a0 + 4), s1_ptr); + ((Unkstruct_800B5CB8 *)a0)->unkFC = (s16)func_8012B744((void *)(a0 + 4), s1_ptr); } else { x = rand() & 0x3FF; v1 = x - 0x200; @@ -320,9 +320,9 @@ void func_80189324(s32 a0) { } else { v1 = x - 0x500; } - v0 = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + v0 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; v0 = (v0 + v1) & 0xFFF; - *(s16 *)(a0 + 0xFC) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; } func_8012A828(a0, (void *)&(*(short *)D_801D3CBC)); @@ -333,7 +333,7 @@ void func_80189324(s32 a0) { extern void (*D_801960D4[])(void); void func_801894E0(void *a0) { - D_801960D4[*(u16 *)((s32)a0 + 0x2)](); + D_801960D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -410,9 +410,9 @@ extern void func_8012A828(s32 a0, void *a1); void func_80189674(a0) s32 a0; { - *(s16 *)(a0 + 0x2) = 14; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 14; func_8012A828(a0, &(*(u8 *)&D_801D4494)); - *(s32 *)(a0 + 0x1C) = 0x1e; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1e; } @@ -429,10 +429,10 @@ void func_801896B4(s32 param_1) unsigned short val; v = func_8012B8E4(param_1, 6); - p = (unsigned short *)(*(s32 *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); - if (*(s32 *)(param_1 + 0x1C) == 0xC) { + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0xC) { func_801890C8(param_1); } @@ -449,7 +449,7 @@ void func_801896B4(s32 param_1) if (v0_shifted == 0) { *(unsigned short *)(param_1 + 0x2) = 0xB; } else { - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } } } @@ -462,9 +462,9 @@ extern u8 D_801D3ACC[]; void func_8018974C(s32 a0) { s32 s0 = a0; func_8012A828(a0, D_801D3ACC); - *(u16 *)(s0 + 2) = 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0x10; func_8012B23C(s0); - *(s32 *)(*(s32 *)(s0 + 0x20) + 4) |= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 4) |= 0x80000000; } @@ -481,9 +481,9 @@ void func_801897A4(s32 a0) { s16 field_102; s32 result; - field_a = *(s16 *)(a0 + 0xA); + field_a = CAST_SIGN(s16, a0, 0xA); if (field_a >= 0x10) { - field_102 = *(s16 *)(a0 + 0x102); + field_102 = ((Unkstruct_800B5CB8 *)a0)->unk102; if (field_102 == 0) { ((void (*)(s32))func_8002A04C)(a0); } @@ -509,7 +509,7 @@ void func_8018983C(s32 a0) { s0 = a0; ((void (*)(s32))func_8012CBF4)(a0); - if (*(u16 *)(s0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)s0)->unk72 & 0x4000) { func_80188554(s0); } } @@ -541,27 +541,27 @@ void func_801898C8(s32 a0) { s32 v0; func_8012AD80(a0); - if (*(u16 *)(a0 + 0x70) & 0x2000) { - v0 = *(u16 *)(a0 + 0xFE) - 1; - *(u16 *)(a0 + 0xFE) = v0; + if (CAST_SIGN(u16, a0, 0x70) & 0x2000) { + v0 = CAST_SIGN(u16, a0, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; if ((s16)v0 <= 0) { func_80143B6C(a0, 0); - *(u16 *)(a0 + 0xFE) = 8; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 8; } } if (func_8012BEE8(a0)) { - *(u16 *)(a0 + 0x86) |= 2; - *(s16 *)(a0 + 0x2) = 3; - if (*(u16 *)(a0 + 0x86) & 2) { - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; func_8012A828(a0, &D_801D3D64); - *(u16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } else { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801D3DEC); - *(s32 *)(a0 + 0x1C) = 0x19; - *(u16 *)(a0 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; } } } @@ -650,7 +650,7 @@ void func_80189A50(void) { extern void (*D_801961D4[])(void); void func_80189B28(void *a0) { - D_801961D4[*(u16 *)((s32)a0 + 0x2)](); + D_801961D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -670,19 +670,19 @@ void func_80189B64(s32 a0) { func_8012CAE4((void *)a0); return; } - *(s16 *)(a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; h = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = h; + ((Unkstruct_800B5CB8 *)a0)->unk20 = h; if (h == 0) { func_8012CAE4((void *)a0); return; } func_8001C214(h, (s32)&D_801D4E54); - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x140, 0xF0); - *(s32 *)(a0 + 0x58) = (s32)&D_801961AC | 0x10000000 | 0x40000000; - *(u8 *)(a0 + 0x75) = 1; - *(u16 *)(a0 + 0x2) = 1; - *(s32 *)(a0 + 0x1C) = 0x1F; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x140, 0xF0); + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801961AC | 0x10000000 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1F; func_8012A828(a0, (void *)D_8019105C); } @@ -694,9 +694,9 @@ void func_80189C20(s32 arg0) { if ((func_8014CB2C() & 0x7FFFFFFF) != 2) { return; } - *(u16 *)((s32)arg0 + 0x2) = 2; - *(u16 *)((s32)arg0 + 0xFC) = 1; - *(s32 *)((s32)arg0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x3C; } @@ -708,39 +708,39 @@ void func_80189C90(s32 s0) s32 s1; s32 s2; - s1 = *(s32 *)(s0 + 0x20); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk20; s2 = s1 + 0x10; if (rand() & 1) { v1 = rand(); - a0 = *(s16 *)(s0 + 0xFC); - *(s16 *)(s1 + 0x10) = *(u16 *)(s1 + 0x10) + a0 * (v1 % 8 + 1); + a0 = ((Unkstruct_800B5CB8 *)s0)->unkFC; + ((Unkstruct_800B5CB8 *)s1)->unk10 = ((Unkstruct_800B5CB8 *)s1)->unk10 + a0 * (v1 % 8 + 1); } v1 = *(s16 *)s2; if (v1 >= 0x39) { - *(s16 *)(s0 + 0xFC) = -1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = -1; *(s16 *)s2 = 0x38; - *(u16 *)(s0 + 0x100) += 1; + CAST_SIGN(u16, s0, 0x100) += 1; func_8018A084(s0); func_80189F30(s0); - *(s16 *)(s0 + 0xFE) = 5; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 5; func_8002D4C8(0x661, 0); } else { if (v1 < 0) { - *(s16 *)(s0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 1; *(s16 *)s2 = 0; } } - if (*(s16 *)(s0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE != 0) { func_80189F30(s0); - *(u16 *)(s0 + 0xFE) -= 1; + CAST_SIGN(u16, s0, 0xFE) -= 1; } - if (*(s16 *)(s0 + 0x100) >= 2) { + if (((Unkstruct_800B5CB8 *)s0)->unk100 >= 2) { func_8012B2CC(s0); func_8012B200((u8 *)s0); func_8012B178(s0, 0xFFFE0000); - *(s16 *)(s0 + 2) = 3; - *(s32 *)(s0 + 0x1C) = 10; - *(s32 *)(s0 + 0xDC) = 0x1F; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 10; + ((Unkstruct_800B5CB8 *)s0)->unkDC = 0x1F; func_8002D4C8(0x61D, 0); } } @@ -809,7 +809,7 @@ void func_80189F30(void *param_1) { s32 *m; v[1] = D_801961CE; - m = (s32 *)(*(s32 *)((s32)param_1 + 0x20) + 0x34); + m = (s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); gte_SetRotMatrix(m); gte_SetTransMatrix(m); for (i = 0; i < 10; i++) { @@ -1027,7 +1027,7 @@ void func_8018A438(s32 param_1) { extern void (*D_801D626C[])(void); void func_8018A5E4(void *a0) { - D_801D626C[*(u16 *)((s32)a0 + 0x2)](); + D_801D626C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -1062,7 +1062,7 @@ void func_8018A698(s32 *a0) { if (func_80172688(&D_80126B58) == 0) { if (func_8012BEE8((s32)a0) != 0) { func_8018A264(); - (*(u16 *)((s32)a0 + 2))--; + (CAST_SIGN(u16, (s32)a0, 2))--; } return; } @@ -2407,10 +2407,10 @@ void func_8018BCC4(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - p = *(s32 *)(param_1 + 0x20); - do { h = *(u16 *)(param_1 + 0x100); } while (0); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + do { h = CAST_SIGN(u16, param_1, 0x100); } while (0); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; a = param_1; *(s16 *)(a + 0x5C) |= 1; *(s16 *)(a + 0x60) = 0; @@ -2419,9 +2419,9 @@ void func_8018BCC4(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -2436,7 +2436,7 @@ extern void D_801DEB58; void func_8018BD70(s32 arg0) { - if ((M2C_FIELD(arg0, u8 *, 0xC3) & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801DEB58)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC3 & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801DEB58)) { func_8012A828(arg0, &D_801DEB58); } } @@ -2460,9 +2460,9 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801DEFE0; void func_8018BE00(s32 a0) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, &D_801DEFE0); - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; } @@ -2483,15 +2483,15 @@ s32 func_8018BE40(s32 param_1, s32 param_2, s32 param_3) { func_8018BEF0(param_1); return 1; } - sVar1 = *(s16 *)(param_1 + 0xdc) + 1; - *(s16 *)(param_1 + 0xdc) = sVar1; + sVar1 = CAST_WIDTH(s16, param_1, 0xdc) + 1; + CAST_WIDTH(s16, param_1, 0xdc) = sVar1; if (sVar1 < 0x79) { return 0; } if (param_3 >= iVar2) { return 0; } - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, &D_801DEF38); return 1; } @@ -2505,11 +2505,11 @@ extern void func_80142414(s32 a0, s16 a1); extern u8 D_801DECF8; void func_8018BEF0(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012A828(param_1, &D_801DECF8); - *(s32 *)(param_1 + 0x1c) = 0x1e; - if (*(s16 *)(param_1 + 0xfc) == 0) { - *(s16 *)(param_1 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; ((void (*)(s32, s32))func_80142414)(param_1, -0x96); } } @@ -2526,14 +2526,14 @@ extern void D_801DEB58; s32 func_8018BF60(void *a0) { u16 v; - *(u16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828((s32)a0, &D_801DEB58); - v = *(u16 *)(*(s32 *)((s32)a0 + 0x78) + 2); - *(u16 *)((s32)a0 + 0x5E) = 0; - *(u16 *)((s32)a0 + 0xDC) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0x3C; - *(u16 *)((s32)a0 + 0xFE) = 0; - *(u16 *)((s32)a0 + 0x5C) = v; + v = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 2); + CAST_WIDTH(u16, (s32)a0, 0x5E) = 0; + CAST_WIDTH(u16, (s32)a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = v; } @@ -2570,7 +2570,7 @@ void func_8018BFBC(u16 *s0) extern void (*D_801D6FDC[])(void); void func_8018C040(void *a0) { - D_801D6FDC[*(u16 *)((s32)a0 + 0x2)](); + D_801D6FDC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2578,7 +2578,7 @@ void func_8018C040(void *a0) { extern void (*D_801D7024[])(void); void func_8018C07C(void *a0) { - D_801D7024[*(u16 *)((s32)a0 + 0x2)](); + D_801D7024[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2609,11 +2609,11 @@ void func_8018C0B8(int param_1) void func_8018C11C(u8 *a0) { - u8 *p = *(u8 **)(a0 + 0x20); - u16 v = *(u16 *)(a0 + 0xFC); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x50; - *(s16 *)(p + 0x12) = v; + u8 *p = CAST_SIGN(u8 *, a0, 0x20); + u16 v = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)p)->unk12 = v; func_8012B2CC((s32)a0); func_8012B200(a0); func_8012B178((s32)a0, 0xFFF20000); @@ -2642,9 +2642,9 @@ void func_8018C174(s32 param_1) { return; } - v0 = *(s32 *)(param_1 + 0x1c); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v0 = v0 - 1; - *(s32 *)(param_1 + 0x1c) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 == 0) { func_8012C218((void *)param_1); } @@ -2666,11 +2666,11 @@ void func_8018C1E0(s32 arg0) { u16 sp10[3]; u16 sp18[12]; - if (*(s32 *)(arg0 + 0x1C) == 9) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 9) { if (func_8012D5E4(arg0, (s32)D_801D6FA4, (s32)(D_801D6FA4 + 8), 10) != 0) { D_80126B96 |= 0x800; } - if (*(s16 *)(arg0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) { func_8012F214(arg0, (s32)D_801D6FB4, (s32)sp10); sp18[3] = 0x126; sp18[5] = 0; @@ -2678,11 +2678,11 @@ void func_8018C1E0(s32 arg0) { sp18[0] = sp10[0]; sp18[1] = sp10[1]; sp18[2] = sp10[2]; - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12; func_8012C51C(sp18, arg0); - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x100; + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + 0x100; func_8012C51C(sp18, arg0); - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x100; + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 - 0x100; func_8012C51C(sp18, arg0); } func_8002D4C8(0x43E, 0); @@ -2699,7 +2699,7 @@ void func_8018C31C(s32 a0) { s32 result; s32 threshold; - if (*(s16 *)(a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { result = func_8012BCCC(a0); threshold = 0x90000; } else { @@ -2729,7 +2729,7 @@ extern s32 func_8012BEE8(s32 a0); void func_8018C3C0(s32 param_1) { if (func_8012BEE8(param_1) == 1) { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8018BE40(param_1, 0x40000, 0xC4000); } else { func_8018BE40(param_1, 0x9000, 0x24000); @@ -2752,7 +2752,7 @@ void func_8018C424(int param_1) unsigned short *p; v = func_8012B8E4(param_1, 4); - p = (unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); if (func_8012BEE8(param_1) != 0) { ((void (*)(s32))func_8018BF4C)(param_1); @@ -2782,27 +2782,27 @@ void func_8018C47C(s32 s0) { } v1 = 0xFFFBFFFD; - *(s32 *)(s0 + 0xB4) = v1; - v1 = *(s32 *)(s0 + 0x20); - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xBC) = (s32)&D_801D6F1C; - *(s32 *)(s0 + 0xC4) = 1; - v0 = *(u16 *)(v1 + 0x2C); + ((Unkstruct_800B5CB8 *)s0)->unkB4 = v1; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_801D6F1C; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; + v0 = ((Unkstruct_800B5CB8 *)v1)->unk2C; v0 |= 0x10; - *(u16 *)(v1 + 0x2C) = v0; + ((Unkstruct_800B5CB8 *)v1)->unk2C = v0; - v0 = *(s32 *)(s0 + 0x20); - a1v = *(s16 *)(s0 + 0x70); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + a1v = ((Unkstruct_800B5CB8 *)s0)->unk70; v0 = *(u16 *)(v0 + 0x18); - *(u16 *)(s0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; v0 = func_8012C658(0x125, a1v, s0); - *(s32 *)(s0 + 0x6C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk6C = v0; if (v0 == 0) { func_8012CAE4((void *)s0); } else { - *(s16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, (void *)&D_801DEF38); } } @@ -2849,51 +2849,51 @@ extern u8 D_801D6FD4[]; void func_8018C5A4(s32 *self) { - s32 *tgt = (s32 *)*(s32 *)((s32)self + 0x64); + s32 *tgt = (s32 *)((Unkstruct_800B5CB8 *)self)->unk64; SV3 out; - if (*(s16 *)((s32)self + 0xFE) == 0x7FFF) { - *(s16 *)((s32)self + 0xFE) = - *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)self)->unkFE == 0x7FFF) { + ((Unkstruct_800B5CB8 *)self)->unkFE = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk12; } - if (*(s16 *)((s32)self + 0xFC) != - *(s16 *)(*(s32 *)((s32)self + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)self)->unkFC != + *(s16 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x36)) { func_8012C218(self); return; } - *(Blk8 *)(*(s32 *)((s32)self + 0x20) + 0x10) = + *(Blk8 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x10) = *(Blk8 *)(*(s32 *)((s32)tgt + 0x20) + 0x10); - if (*(s32 *)(*(s32 *)((s32)self + 0x64) + 0x90) != (s32)D_801DF130) { - *(s16 *)(*(s32 *)((s32)self + 0x20) + 0x12) = - *(u16 *)((s32)self + 0xFE); - *(s32 *)((s32)self + 0x4) = - *(s32 *)(*(s32 *)((s32)self + 0x64) + 0x4); - *(s32 *)((s32)self + 0x8) = - *(s32 *)(*(s32 *)((s32)self + 0x64) + 0x8); - *(s32 *)((s32)self + 0xC) = - *(s32 *)(*(s32 *)((s32)self + 0x64) + 0xC); + if (*(s32 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x90) != (s32)D_801DF130) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk12 = + CAST_SIGN(u16, (s32)self, 0xFE); + CAST_WIDTH(s32, (s32)self, 0x4) = + *(s32 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)self, 0x8) = + *(s32 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)self, 0xC) = + *(s32 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0xC); } else { - func_8012F214(*(s32 *)((s32)self + 0x64), (s32)D_801D6FD4, (s32)&out); - *(s16 *)((s32)self + 0x6) = out.a; - *(s16 *)((s32)self + 0xA) = out.b; - *(s16 *)((s32)self + 0xE) = out.c; + func_8012F214(((Unkstruct_800B5CB8 *)self)->unk64, (s32)D_801D6FD4, (s32)&out); + ((Unkstruct_800B5CB8 *)self)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)self)->unkA = out.b; + ((Unkstruct_800B5CB8 *)self)->unkE = out.c; } - *(Blk8 *)(*(s32 *)((s32)self + 0x20) + 0x18) = + *(Blk8 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x18) = *(Blk8 *)(*(s32 *)((s32)tgt + 0x20) + 0x18); { u16 flag = *(u16 *)(*(s32 *)((s32)tgt + 0x20) + 0x2C); - u16 cur = *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x2C); + u16 cur = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk2C; flag &= 0x10; cur |= flag; - *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x2C) = cur; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk2C = cur; } - *(s32 *)(*(s32 *)((s32)self + 0x20) + 0x4) = + *(s32 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x4) = *(s32 *)(*(s32 *)((s32)tgt + 0x20) + 0x4); } @@ -2909,21 +2909,21 @@ void func_8018C734(void *a0) s32 v0, v1; // Indirect call via table indexed by *(ushort*)(a0 + 2) - v0 = *(u16 *)((u8 *)a0 + 2); + v0 = CAST_SIGN(u16, (u8 *)a0, 2); v0 = v0 << 2; v1 = *(s32 *)((s32)D_801DF74C + v0); ((void (*)(void))v1)(); // Check if first ushort is non-zero - v0 = *(u16 *)a0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk0; if (v0 != 0) { - v0 = *(u16 *)((u8 *)a0 + 0xFE); + v0 = CAST_SIGN(u16, (u8 *)a0, 0xFE); v0 = v0 + 0x80; - *(u16 *)((u8 *)a0 + 0xFE) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; v0 = func_8012C044((s32)a0); if (v0 == 1) { - *(u16 *)((u8 *)a0 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; func_8018DBF4((s32)a0); } } @@ -2945,25 +2945,25 @@ void func_8018C7B8(s32 a0) { void *a0_val; if (func_8012C354(a0, (s32)&D_801DF598) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - v1 = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)&D_801DF6AC; - *(s32 *)(a0 + 0xB4) = -0x20AD; - *(s32 *)(a0 + 0xE0) = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801DF6AC; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20AD; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; v1 = v1 | 0x1; - *(s32 *)(a0 + 0xC4) = v1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = v1; func_8012A828(a0, (void *)&D_801E2900); - if ((*(u16 *)(a0 + 0x70) & 0x1) != 0) { - a0_val = (void *)*(s32 *)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0_val + 0x4) = *(s32 *)(a0_val + 0x4) | 0x80000000; + if ((CAST_SIGN(u16, a0, 0x70) & 0x1) != 0) { + a0_val = (void *)((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(s32, a0_val, 0x4) = CAST_WIDTH(s32, a0_val, 0x4) | 0x80000000; } else { - *(s16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } } } @@ -2984,11 +2984,11 @@ void func_8018C874(s32 a0) s32 u; s32 p; - if (*(s16 *)(a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { if (func_8012E778(a0, 0x64008C) == 0) { return; } - *(s16 *)(a0 + 0x102) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 1; } else { if (func_8012BEE8(a0) == 0) { return; @@ -2998,25 +2998,25 @@ void func_8018C874(s32 a0) } } - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; - *(u16 *)((*(s32 *)(a0 + 0x20)) + 0x2C) |= 0x10; + *(u16 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 0x2C) |= 0x10; - p = *(s32 *)(a0 + 0x20); - *(s32 *)(p + 0x4) &= 0x7FFFFFFF; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, p, 0x4) &= 0x7FFFFFFF; t = func_80047948(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1C) = t; - *(s16 *)(p + 0x18) = t; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s16, p, 0x1C) = t; + ((Unkstruct_800B5CB8 *)p)->unk18 = t; u = func_8004787C(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1A) = (u << 1) + 0x1000; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk1A = (u << 1) + 0x1000; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } @@ -3031,23 +3031,23 @@ void func_8018C968(s32 s0) { s32 v1; if (func_8012BEE8(s0) != 0) { - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; v1 = *(u16 *)(v0 + 0x2C); v1 &= 0xFFEF; *(s16 *)(v0 + 0x2C) = v1; - *(s16 *)(s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; } else { - s32 a0 = *(s32 *)(s0 + 0x1C); + s32 a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_80047948(a0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x18) = v0; - a0 = *(s32 *)(s0 + 0x1C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_8004787C(a0); v0 = v0 << 1; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; v0 += 0x1000; *(s16 *)(v1 + 0x1A) = v0; } @@ -3058,13 +3058,13 @@ extern s32 D_801E2900; extern void func_8012A828(s32, void*); void func_8018CA04(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; func_8012A828(param_1, ((u8 *)&D_801E2900)); - *(s32 *)(param_1 + 0x1C) = 0x20; - if (*(s32 *)(param_1 + 0xE0) != 0) { - *(s32 *)(param_1 + 0xE0) = 0; - *(s16 *)(param_1 + 0xA) = *(s16 *)(param_1 + 0xA) + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkA = CAST_SIGN(s16, param_1, 0xA) + 0x30; } } @@ -3076,12 +3076,12 @@ void func_8018CA64(s32 s0) { s32 v0; s32 v1; - v0 = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(v0 + 0x12) + 0x40; - *(s16 *)(v0 + 0x12) = v1; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)v0)->unk12 + 0x40; + ((Unkstruct_800B5CB8 *)v0)->unk12 = v1; if (func_8018DD60(s0) != 1) { if (func_8012BEE8(s0) != 0) { - *(s16 *)(s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } } } @@ -3110,7 +3110,7 @@ extern u8 D_800D3918[]; void func_8018CB20(s32 arg0) { if (func_8018DD60(arg0) != 1) { if (func_8018DAA8(arg0, D_800D3918) == 0) { - *(s16 *)(arg0 + 2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; } } } @@ -3151,10 +3151,10 @@ void func_8018CBBC(s32 a0) s0 = a0; v0 = func_8012B8E4(s0, 8); - p = *(u16 **)(s0 + 0x20); + p = CAST_SIGN(u16 *, s0, 0x20); p[9] = p[9] + (u16)v0; - if (*(s32 *)(s0 + 0x1C) < 0x19) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C < 0x19) { func_8012B178(s0, 0xFFFC0000); v1 = func_8018DAA8(s0, (void *)D_800D3918); @@ -3181,7 +3181,7 @@ void func_8018CBBC(s32 a0) } L_store: - *(s16 *)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } @@ -3227,30 +3227,30 @@ void func_8018CC9C(s32 param_1) s32 sVar2; u16 sp10[3]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) | 0x80000000; - *(s16 *)(param_1 + 0xE4) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) | 0x80000000; + CAST_WIDTH(s16, param_1, 0xE4) = 3; } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = uVar1; - *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 2 + 0x1000; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = uVar1; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = uVar1; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 2 + 0x1000; } break; case 1: - uVar1 = *(u16 *)(param_1 + 0xE4) - 1; - *(u16 *)(param_1 + 0xE4) = uVar1; + uVar1 = CAST_WIDTH(u16, param_1, 0xE4) - 1; + CAST_WIDTH(u16, param_1, 0xE4) = uVar1; if ((s16)uVar1 == 0) { - sp10[0] = *(u16 *)(param_1 + 0x6); - sp10[1] = *(u16 *)(param_1 + 0xA) - 0x38; - sp10[2] = *(u16 *)(param_1 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x38; + sp10[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; { s32 e; s32 q; @@ -3264,31 +3264,31 @@ void func_8018CC9C(s32 param_1) } } } - *(s16 *)(param_1 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; } /* fallthrough */ case 2: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 3; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) & 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 3; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) & 0x7FFFFFFF; func_8018D8B8(param_1); - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; } break; case 3: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) & 0xFFEF; - *(s16 *)(param_1 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C & 0xFFEF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xB; } else { - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = sVar2; - *(s16 *)(iVar3 + 0x18) = sVar2; - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = uVar1 * 2 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = sVar2; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar2; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = uVar1 * 2 + 0x1000; } break; } @@ -3301,10 +3301,10 @@ extern void func_8012B23C(s32 a0); void func_8018CEB0(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B23C(s0); func_8012A828(s0, (void *)&D_801E2AD0); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; func_8012B23C(s0); } @@ -3324,8 +3324,8 @@ void func_8018CF04(s32 s0) { s32 v1; v0 = func_8012B8E4(s0, 8); - v1 = *(s32*)(s0 + 0x20); - *(s16*)(v1 + 0x12) = (s16)(*(u16*)(v1 + 0x12) + v0); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = (s16)(((Unkstruct_800B5CB8 *)v1)->unk12 + v0); func_8012B178(s0, 0xFFFC0000); v0 = func_8018DAA8(s0, D_800D3918); if (v0 == -1) @@ -3345,7 +3345,7 @@ void func_8018CF04(s32 s0) { else return; } - *(s16*)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } @@ -3353,11 +3353,11 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801E2BA8[]; void func_8018CFAC(s32 param_1) { - *(s16 *)(param_1 + 2) = 0xE; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xE; func_8012A828(param_1, D_801E2BA8); - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(s16 *)(param_1 + 0xDC) = 0; - *(s16 *)(param_1 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + CAST_WIDTH(s16, param_1, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; } @@ -3377,17 +3377,17 @@ void func_8018CFF4(void *a0) v0 = func_8012BCCC(s0); if (v0 <= 0x14400) { - if (*(s32 *)(s0 + 0x1C) >= 0x16) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C >= 0x16) { v0 = func_8012B8E4(s0, 8); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 + v0; } - s1 = *(s32 *)(s0 + 0x1C); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (s1 == 0x15) { func_8002D4C8(0x522, 0); } - if (s1 != 0x15 || *(s32 *)(s0 + 0x1C) != s1) { - s32 v1 = *(s32 *)(s0 + 0x1C); + if (s1 != 0x15 || ((Unkstruct_800B5CB8 *)s0)->unk1C != s1) { + s32 v1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (v1 == 0xB || v1 == 1) { func_8018D720(s0); } @@ -3402,7 +3402,7 @@ void func_8018CFF4(void *a0) } else { v0 = 7; } - *(s16 *)(s0 + 2) = (s16)v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = (s16)v0; } @@ -3416,12 +3416,12 @@ extern s32 D_801E29F8; void func_8018D0C8(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; func_8012B2CC(s0); func_8012B23C(s0); func_8012B178(s0, 0xFFFD0000); func_8012A828(s0, (void *)&D_801E29F8); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -3433,12 +3433,12 @@ extern u8 D_800D3918[]; extern void func_8012A828(s32 a0, void *a1); void func_8018D128(s32 a0) { - if (*(s16 *)(a0 + 0xAA) <= 0) { - *(u16 *)(a0 + 2) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unkAA <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else { if (func_8012BEE8(a0) != 0) { func_8012A828(a0, (void *)&D_801E29F8); - *(s32 *)(a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; } func_8018DAA8(a0, (s32)D_800D3918); } @@ -3471,8 +3471,8 @@ void func_8018D1D8(s32 a0) { extern s32 func_8012B864(s32 a0); s32 s0 = a0; - *(s16 *)(s0 + 2) = 0xF; - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = (func_8012B864(s0) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xF; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = (func_8012B864(s0) + 0x800) & 0xFFF; } @@ -3484,11 +3484,11 @@ void func_8018D218(s32 s0) { s32 a0; s32 v1; - a0 = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(a0 + 0x2C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk2C; if (v1 & 0x10) { - *(u16 *)(a0 + 0x2C) = v1 & 0xFFEF; - v1 = *(s32 *)(s0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2C = v1 & 0xFFEF; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(u16 *)(v1 + 0x1C) = 0x1000; *(u16 *)(v1 + 0x1A) = 0x1000; *(u16 *)(v1 + 0x18) = 0x1000; @@ -3514,28 +3514,28 @@ void func_8018D288(s32 param_1) { s32 t2; s32 t3; - *(u16 *)(s0 + 0x5C) = *(u16 *)(s0 + 0x5C) & 0xFFFE; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = (*(u16 *)(s0 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)s0)->unk5C = ((Unkstruct_800B5CB8 *)s0)->unk5C & 0xFFFE; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)s0)->unk62 + 0x800) & 0xFFF; - t1 = *(s32 *)(s0 + 0x20); - *(u16 *)(t1 + 0x14) = 0; - *(u16 *)(t1 + 0x10) = 0; + t1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t1, 0x14) = 0; + ((Unkstruct_800B5CB8 *)t1)->unk10 = 0; func_8012B23C(s0); - *(u8 *)(s0 + 0xC2) = 0; - *(u8 *)(s0 + 0xC3) = 0; - *(u16 *)(s0 + 0x98) = 0; - *(s32 *)(s0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; - t2 = *(s32 *)(s0 + 0x20); - *(u16 *)(t2 + 0x2C) = *(u16 *)(t2 + 0x2C) & 0xFFEF; + t2 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)t2)->unk2C = ((Unkstruct_800B5CB8 *)t2)->unk2C & 0xFFEF; - t3 = *(s32 *)(s0 + 0x20); - *(u16 *)(t3 + 0x1C) = 0x1000; - *(u16 *)(t3 + 0x1A) = 0x1000; - *(u16 *)(t3 + 0x18) = 0x1000; + t3 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t3, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk18 = 0x1000; - if (*(u16 *)(s0 + 0x5E) == 9 || *(u16 *)(s0 + 0x5E) == 0x1C) { + if (CAST_WIDTH(u16, s0, 0x5E) == 9 || CAST_WIDTH(u16, s0, 0x5E) == 0x1C) { func_8012B14C(s0, (s32)D_801DF790); v0 = 0xCC; } else { @@ -3658,10 +3658,10 @@ void func_8018D52C(void *a0) { extern short D_801DF69C; s32 v0; - v0 = *(s32 *)((char *)a0 + 0x20); - *(s16 *)((char *)a0 + 0x5C) = 0; - *(s16 *)((char *)v0 + 0x10) = 0; - *(s16 *)((char *)a0 + 0x34) = 0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)v0)->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012E8A8((u8 *)a0); func_8012A828((s32)a0, (s32)&D_801DF69C); } @@ -3722,7 +3722,7 @@ void func_8018D574(s32 a0) { obj = a0; - if (*(u16 *)(obj + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)obj)->unk34 != 0) { if (func_8012BEE8(a0) != 0) { func_8002AC00(0xA); func_80130D48(obj); @@ -3745,11 +3745,11 @@ void func_8018D574(s32 a0) { func_8012B0B4(pbuf, ang1, dist); t4 = buf; - pos[0] = *(u16 *)(obj + 0x6) + t4; + pos[0] = ((Unkstruct_800B5CB8 *)obj)->unk6 + t4; v3 = rand() % 24; - base = *(s16 *)(obj + 0xA) - 0x34; + base = CAST_SIGN(s16, obj, 0xA) - 0x34; r4 = rand(); { @@ -3759,15 +3759,15 @@ void func_8018D574(s32 a0) { { s32 hi4; hi4 = t4 >> 16; - pos[2] = *(u16 *)(obj + 0xE) + hi4; + pos[2] = ((Unkstruct_800B5CB8 *)obj)->unkE + hi4; } func_80143BDC(pos); i++; } } - *(s32 *)(obj + 0x1C) = 0x10; - *(u16 *)(obj + 0x34) += 1; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk34 += 1; for (i = 0; i < 3; i++) { func_8012C658(0x240, i, obj); @@ -3825,14 +3825,14 @@ u8 *func_8018D820(s16 a0, u8 *a1, s32 a2) { return NULL; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); func_8001CD50((s32)sub, (s32)((u8 *)D_801DF5CC + (a2 << 6))); *(u16 *)(sub + 0x1E) = 0xC00; - *(u16 *)(sub + 0x1A) = 0x1000; - *(u16 *)(sub + 0x18) = 0x1000; - *(u16 *)(sub + 0x12) = a0; - *(s32 *)(sub + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)sub)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)sub)->unk12 = a0; + CAST_WIDTH(s32, sub, 0x4) |= 0x40000000; return obj; } @@ -3865,30 +3865,30 @@ void func_8018D8B8(s32 a0) { func_8012B23C(a0); - sp30[0] = *(u16 *)(a0 + 0x3A); - sp30[1] = *(u16 *)(a0 + 0x3E); - sp30[2] = *(u16 *)(a0 + 0x42); + sp30[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp30[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp30[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if (func_8018DDD0(a0) != 0) { goto body; } - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; return; found: - *(s16 *)(a0 + 0x6) = sv[0]; - *(s16 *)(a0 + 0xA) = sv[1]; - *(s16 *)(a0 + 0xE) = sv[2]; - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv[2]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; goto tail; body: - *(s16 *)(a0 + 0x6) = D_80126CB4; - *(s16 *)(a0 + 0xA) = D_80126CB6; - *(s16 *)(a0 + 0xE) = D_80126CB8; + CAST_ALIAS(s16, a0, 0x6) = D_80126CB4; + CAST_ALIAS(s16, a0, 0xA) = D_80126CB6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_80126CB8; vec[2] = (s32)0xFF600000; vec[1] = 0; @@ -3897,10 +3897,10 @@ body: m = D_800AE620; RotMatrixY(*(s16 *)((u8 *)D_80126B78 + 0x12), &m); - pos[1] = *(s32 *)(a0 + 0x8); + pos[1] = CAST_WIDTH(s32, a0, 0x8); do { - pos[0] = *(s32 *)(a0 + 0x4); - pos[2] = *(s32 *)(a0 + 0xC); + pos[0] = CAST_WIDTH(s32, a0, 0x4); + pos[2] = CAST_WIDTH(s32, a0, 0xC); func_800484EC((s32)&m, (s32)vec, (s32)out); pos[0] += out[0]; pos[2] += out[2]; @@ -3916,7 +3916,7 @@ body: func_8012ADE4(a0); tail: - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B864(a0); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B864(a0); } @@ -3967,11 +3967,11 @@ s32 func_8018DAA8(s32 a0, s32 a1) { } for (i = 0, p = D_801202A0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(u16 *)a0 == *(u16 *)p && a0 != (s32)p) { + if (*(u16 *)p != 0 && ((Unkstruct_800B5CB8 *)a0)->unk0 == *(u16 *)p && a0 != (s32)p) { if (func_8012BC60((struct Vec *)(a0 + 4), (struct Vec *)(p + 4)) < 0x1000) { - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); ang = func_8012B6D4((s16 *)(a0 + 4), (s16 *)(p + 4)); func_8012B0B4((unsigned int *)buf, ang, 0x41); @@ -3983,18 +3983,18 @@ s32 func_8018DAA8(s32 a0, s32 a1) { s32 t3; register s32 t4 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9) - *(s32 *)(a0 + 4) = t1; + CAST_WIDTH(s32, a0, 4) = t1; - t2 = *(u16 *)(a0 + 6); + t2 = ((Unkstruct_800B5CB8 *)a0)->unk6; t3 = *(s32 *)(p + 0xC); t2 = t2 + v1; - *(s32 *)(a0 + 0xC) = t3; - *(u16 *)(a0 + 6) = t2; + CAST_WIDTH(s32, a0, 0xC) = t3; + ((Unkstruct_800B5CB8 *)a0)->unk6 = t2; - t4 = *(u16 *)(a0 + 0xE); + t4 = ((Unkstruct_800B5CB8 *)a0)->unkE; v1 = v1 >> 16; t4 = t4 + v1; - *(u16 *)(a0 + 0xE) = t4; + ((Unkstruct_800B5CB8 *)a0)->unkE = t4; } goto found; } @@ -4019,66 +4019,66 @@ extern s32 D_801E2900; void func_8018DBF4(s32 a0) { u16 v1; - if (*(s16 *)(a0 + 0x100) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_8002A04C(); } - if (*(u8 *)(a0 + 0xC1) == 0xE) { + if (CAST_SIGN(u8, a0, 0xC1) == 0xE) { func_8002AC00(0xA); } - v1 = *(u16 *)(a0 + 0x70); + v1 = CAST_SIGN(u16, a0, 0x70); if ((v1 & 1) == 0) { goto LCFC; } if ((v1 & 0x8000) != 0) { goto LD44; } - if (*(u8 *)(a0 + 0xC1) == 0) { + if (CAST_SIGN(u8, a0, 0xC1) == 0) { goto LCFC; } - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x2) = 1; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; { s32 ent; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x5C) = 0; - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78)); - ent = *(s32 *)(a0 + 0x20); - *(s16 *)(ent + 0x14) = 0; - *(s16 *)(ent + 0x12) = 0; - *(s16 *)(ent + 0x10) = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78); + ent = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s16, ent, 0x14) = 0; + ((Unkstruct_800B5CB8 *)ent)->unk12 = 0; + ((Unkstruct_800B5CB8 *)ent)->unk10 = 0; } { - u16 f88 = *(u16 *)(a0 + 0x88); - u16 f8A = *(u16 *)(a0 + 0x8A); - u16 f8C = *(u16 *)(a0 + 0x8C); + u16 f88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + u16 f8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; + u16 f8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0xAA) = 0; - *(s16 *)(a0 + 0x6) = f88; - *(s16 *)(a0 + 0xA) = f8A; - *(s16 *)(a0 + 0xE) = f8C; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = f88; + ((Unkstruct_800B5CB8 *)a0)->unkA = f8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = f8C; func_8012A828(a0, (void *)&D_801E2900); } - if (*(s32 *)(a0 + 0xCC) != 0) { - func_801439C0(*(s32 *)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); } func_8012B2CC(a0); return; LCFC: - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - s32 v1c = *(s32 *)(a0 + 0x68); + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + s32 v1c = ((Unkstruct_800B5CB8 *)a0)->unk68; if (v1c != 0) { - if ((*(s16 *)(a0 + 0x72) & 0x8000) != 0) { + if ((CAST_SIGN(s16, a0, 0x72) & 0x8000) != 0) { u16 v0c = *(u16 *)(v1c + 0xA); v0c &= 0x7FFF; *(u16 *)(v1c + 0xA) = v0c; @@ -4096,7 +4096,7 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); s32 func_8018DD60(s32 obj) { s32 d = func_8012BCCC(obj); if (d < 0x2001) { - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return 1; } if (d > 0x24000) { @@ -4105,7 +4105,7 @@ s32 func_8018DD60(s32 obj) { if (func_8012BDBC(obj, 0x400) == 0) { return 0; } - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return 1; } @@ -4115,9 +4115,9 @@ s32 func_8018DD60(s32 obj) { s32 func_8018DDD0(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -4168,7 +4168,7 @@ s32 func_8018DE30(void *a0, SVECTOR *a1) extern void (*D_801DF7B0[])(void); void func_8018DF08(void *a0) { - D_801DF7B0[*(u16 *)((s32)a0 + 0x2)](); + D_801DF7B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4287,13 +4287,13 @@ void *arg0; return 0; } - pointA[0] = *(u16 *)(base + 0x6); - pointA[1] = *(u16 *)(base + 0xA); - pointA[2] = *(u16 *)(base + 0xE); + pointA[0] = CAST_SIGN(u16, base, 0x6); + pointA[1] = CAST_SIGN(u16, base, 0xA); + pointA[2] = CAST_SIGN(u16, base, 0xE); - diff[0] = pointA[0] - *(u16 *)((u8 *)arg0 + 0x6); - diff[1] = pointA[1] - *(u16 *)((u8 *)arg0 + 0xA); - diff[2] = pointA[2] - *(u16 *)((u8 *)arg0 + 0xE); + diff[0] = pointA[0] - ((Unkstruct_800B5CB8 *)arg0)->unk6; + diff[1] = pointA[1] - ((Unkstruct_800B5CB8 *)arg0)->unkA; + diff[2] = pointA[2] - ((Unkstruct_800B5CB8 *)arg0)->unkE; VectorNormalSS(diff, diff); @@ -4306,8 +4306,8 @@ void *arg0; func_8012F568(1, 0x4001, 0, 0xA, (s32)pointA, (s32)diff); } - ptr = *(void **)((u8 *)arg0 + 0x20); - *(u16 *)(base + 0x42) = *(u16 *)((u8 *)ptr + 0x12); + ptr = CAST_SIGN(void *, (u8 *)arg0, 0x20); + ((Unkstruct_80126B58 *)base)->unk42 = ((Unkstruct_800B5CB8 *)ptr)->unk12; return 1; } @@ -4389,7 +4389,7 @@ s32 func_8018E208(void *a0) s32 hit; cfg = (s32 *)&D_80126B58; - p0 = (u8 *)*(s32 *)((s32)a0 + 0x20); + p0 = (u8 *)((Unkstruct_800B5CB8 *)a0)->unk20; func_80020DA4((s32)p0 + 0x10, (s32)matrix); func_80020F34((s32)matrix, (s32)p0 + 0x18); @@ -4409,7 +4409,7 @@ s32 func_8018E208(void *a0) RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); - hit = func_80135888(*(s32 *)((u8 *)cfg + 0x20), *(s32 *)((u8 *)cfg + 0x38), + hit = func_80135888(((Unkstruct_80126B58 *)cfg)->unk20, ((Unkstruct_80126B58 *)cfg)->unk38, (s32)sv0, (s32)sv1); do { } while (0); /* scheduling barrier — see note 3, do not delete */ p1 += 8; @@ -4426,7 +4426,7 @@ s32 func_8018E208(void *a0) extern void (*D_801DF818[])(void); void func_8018E358(void *a0) { - D_801DF818[*(u16 *)((s32)a0 + 0x2)](); + D_801DF818[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4452,7 +4452,7 @@ void func_8018E3C8(u8 *arg0) { func_8018E420(0, arg0 + 0xFD); func_8018E420(1, arg0 + 0xFE); func_8018E420(2, arg0 + 0xFF); - *(s32 *)(arg0 + 0x1C) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 2; } } @@ -4493,7 +4493,7 @@ void func_8018E420(s32 a0, u8 *a1) { extern void (*D_801DF84C[])(void); void func_8018E4BC(void *a0) { - D_801DF84C[*(u16 *)((s32)a0 + 0x2)](); + D_801DF84C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4516,26 +4516,26 @@ void func_8018E4F8(void *a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)() + 0; - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } - func_8001C214(v0, D_801DF820[*(u16 *)((s32)a0 + 0x70) & 0xF]); + func_8001C214(v0, D_801DF820[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]); - *(s32 *)((s32)a0 + 0x1C) = 8; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; - func_8012EC04(*(s32 *)((s32)a0 + 0x64), D_801DF82C[*(u16 *)((s32)a0 + 0x70) & 0xF], buf); + func_8012EC04(((Unkstruct_800B5CB8 *)a0)->unk64, D_801DF82C[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF], buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, (s32)D_801DF844, out); - *(u16 *)((s32)a0 + 0x6) = out[0]; - *(u16 *)((s32)a0 + 0xA) = out[1]; - *(u16 *)((s32)a0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = out[2]; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); } @@ -4552,13 +4552,13 @@ void func_8018E5E4(s32 a0) { return; } s0 = a0; - *(u16 *)(s0 + 0x2) += 1; + CAST_SIGN(u16, s0, 0x2) += 1; r = rand(); - h = *(u16 *)(s0 + 0x70); + h = CAST_SIGN(u16, s0, 0x70); p = D_801DF838; - *(s32 *)(s0 + 0x48) = p[h & 0xF] + r % 1024; - *(s32 *)(s0 + 0x1C) = 0x100; - *(s32 *)(s0 + 0xE0) = rand(); + ((Unkstruct_800B5CB8 *)s0)->unk48 = p[h & 0xF] + r % 1024; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x100; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = rand(); } @@ -4576,25 +4576,25 @@ void func_8018E678(void *a0) s16 out[6]; s16 t5; - if ((*(u16 *)((s32)a0 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) -= 0x10; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = -0x400; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) == 2) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) -= 0x10; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)((s32)a0 + 0x20), 0x10) = -0x400; } } else { - vec[0] = func_80047948((*(s32 *)((s32)a0 + 0xE0) << 6) & 0xFC0) << 8; + vec[0] = func_80047948((((Unkstruct_800B5CB8 *)a0)->unkE0 << 6) & 0xFC0) << 8; vec[1] = 0; vec[2] = 0; - func_800484EC(*(s32 *)((s32)a0 + 0x20) + 0x34, (s32)vec, (s32)out); - *(s16 *)((s32)a0 + 0x50) = out[1]; + func_800484EC(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34, (s32)vec, (s32)out); + CAST_WIDTH(s16, (s32)a0, 0x50) = out[1]; t5 = out[5]; - *(s32 *)((s32)a0 + 0xE0) = *(s32 *)((s32)a0 + 0xE0) + 1; - *(s16 *)((s32)a0 + 0x54) = t5; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk54 = t5; } if (((s32 (*)(s32))func_8012CBF4)((s32)a0) != 0) { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(s16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 += 1; } else if (func_8012BEE8((s32)a0) != 0) { func_8012C218(a0); } @@ -4612,32 +4612,32 @@ void func_8018E780(s32 param_1) s32 uVar1; s32 sVar2; - if (*(u16 *)(param_1 + 0x34) == 0) { - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + -0x80; - if (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x400; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) + -0x80; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)(param_1 + 0x20), 0x10) = -0x400; } } iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C | 0x10; } } else { iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { ((void (*)(s32))func_8012C218)(param_1); } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x1C) = uVar1; *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 8 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 8 + 0x1000; } } } @@ -4746,23 +4746,23 @@ void func_8018E8A0(void *a0) s32 i, j, k, base, ang, t; u32 col; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += 0x40; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += 0x40; func_8012B414((s32)a0); mv.vz = -0x40000; rot.vz = 0; - col = D_801DF7F8[(*(u16 *)((s32)a0 + 0x10A))++ & 7]; + col = D_801DF7F8[(CAST_SIGN(u16, (s32)a0, 0x10A))++ & 7]; prim.code = 0x50000000; - *(u32 *)((s32)&prim + 0x20) = col; - *(u32 *)((s32)&prim + 0x24) = col; - *(u32 *)((s32)&prim + 0x28) = col; - *(u32 *)((s32)&prim + 0x2C) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x20) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x24) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x28) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x2C) = col; p = (s32 *)((s32)a0 + 0xCC); for (i = 0, k = 0; i < ((Cnt_8018E8A0 *)a0)->f[0x84]; i++, k++, p += 3) { zb = (s32 *)((s32)a0 + 0xD4); { register s32 c1 __asm__("$2"); register s32 c2 __asm__("$3"); // !FAKE: pin $2 — NEEDED DIFFERS; pin $3 — NEEDED DIFFERS (P36 rung B tus9) - c1 = *(s32 *)((s32)a0 + 0x1C); c2 = i * 4; d = c1 - c2; } + c1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; c2 = i * 4; d = c1 - c2; } if (d > 0x40) { if (i == 4) { func_8012C218(a0); @@ -4774,7 +4774,7 @@ void func_8018E8A0(void *a0) ang = base & 0xFFF; flag = (func_8004787C(ang) << 4) >> 12; - switch (*(s16 *)((s32)a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: t = ang; goto horiz; @@ -4811,7 +4811,7 @@ void func_8018E8A0(void *a0) mtx.t[2] = ((s16 *)q)[1]; src = (SVec8_8018E8A0 *)(D_801DF85C + - ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); + ((s32)(s16)CAST_SIGN(u16, (s32)a0, 0x70) / 2) * 0x20); dst = prim.v; gte_SetRotMatrix(&mtx); @@ -4820,11 +4820,11 @@ void func_8018E8A0(void *a0) for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); } - func_80017758(&prim, (void *)(*(s32 *)((s32)a0 + 0x20) + 0x34)); + func_80017758(&prim, (void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); } - *(s32 *)((s32)a0 + 0x1C) += 1; - if ((*(s32 *)((s32)a0 + 0x1C) & 3) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 0) { if (((Cnt_8018E8A0 *)a0)->f[0x84] < 5) { ((Cnt_8018E8A0 *)a0)->f[0x84] = ((Cnt_8018E8A0 *)a0)->f[0x84] + 1; } @@ -4836,7 +4836,7 @@ void func_8018E8A0(void *a0) extern void (*D_801DF89C[])(void); void func_8018EBEC(void *a0) { - D_801DF89C[*(u16 *)((s32)a0 + 0x2)](); + D_801DF89C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4851,19 +4851,19 @@ void func_8018EC28(void *a0) s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC((s32)a0); - *(u16 *)((s32)a0 + 0x108) = 1; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 1; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; } @@ -4871,7 +4871,7 @@ void func_8018EC28(void *a0) extern void (*D_801E33D8[])(void); void func_8018ECA8(void *a0) { - D_801E33D8[*(u16 *)((s32)a0 + 0x2)](); + D_801E33D8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4904,7 +4904,7 @@ void func_8018ECE4(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801E3130[idx]; @@ -4912,21 +4912,21 @@ void func_8018ECE4(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_8018F390); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_8019105C); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -5137,7 +5137,7 @@ s32 func_8018F138(void) { extern void (*D_801E3400[])(void); void func_8018F19C(void *a0) { - D_801E3400[*(u16 *)((s32)a0 + 0x2)](); + D_801E3400[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5159,7 +5159,7 @@ void func_8018F1D8(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -5187,23 +5187,23 @@ void func_8018F260(void *a0) { extern u8 D_801E39B8[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801E38B0); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801E39B8); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -5225,14 +5225,14 @@ void func_8018F320(void *a0) { extern u8 D_801E3AC0[]; extern u8 D_801E38A0[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801E3AC0); } else { func_8012A828((s32)a0, D_801E38A0); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -5395,13 +5395,13 @@ s32 func_8018F6FC(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_801E3AD0; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -5433,7 +5433,7 @@ s32 func_8018F6FC(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_801E3AD0; @@ -5469,7 +5469,7 @@ s32 func_8018F6FC(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -5481,7 +5481,7 @@ s32 func_8018F6FC(s32 param_1) { extern void (*D_801E3B1C[])(void); void func_8018F99C(void *a0) { - D_801E3B1C[*(u16 *)((s32)a0 + 0x2)](); + D_801E3B1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5518,20 +5518,20 @@ void func_8018F9D8(s32 param_1) { s32 o; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, void *))func_8001C214)(iVar1, &(*(u8 *)&D_801E439C)); - if ((*(u16 *)(param_1 + 0x70) & 0x1000) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x1000) == 0) { func_8002D4C8(0x43A, 0); } else { func_8002D4C8(0x6D6, 0); } func_8012A828(param_1, &D_801E4174); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 100; + CAST_ALIAS(s16, param_1, 2) = 1; + CAST_ALIAS(s32, param_1, 0x1C) = 100; *(s32 *)&in.lo = D_80126B60; in.hi -= 0x20; @@ -5540,22 +5540,22 @@ void func_8018F9D8(s32 param_1) { func_8012B77C(out, param_1 + 4, &in); o = out[0]; - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; switch (t) { case 0: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; break; case 1: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; case 3: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = (s16)(o >> 16); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = (s16)(o >> 16); break; case 2: break; } - if (*(u16 *)(param_1 + 0x70) & 0x1000) { - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) << 1; + if (CAST_SIGN(u16, param_1, 0x70) & 0x1000) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C << 1; } func_8012B2CC(param_1); ((void (*)(s32, s32))func_8012C588)(0xBC, param_1); @@ -5566,7 +5566,7 @@ void func_8018F9D8(s32 param_1) { extern void (*D_801E4210[])(void); void func_8018FB50(void *a0) { - D_801E4210[*(u16 *)((s32)a0 + 0x2)](); + D_801E4210[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5574,7 +5574,7 @@ void func_8018FB50(void *a0) { extern void (*D_801E4224[])(void); void func_8018FB8C(void *a0) { - D_801E4224[*(u16 *)((s32)a0 + 0x2)](); + D_801E4224[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5598,15 +5598,15 @@ void func_8018FBC8(s32 param_1) { func_8012B14C(s0, (s32)&D_801E41FC); if (((s32 (*)(s32))func_8012CBF4)(s0) != 0) { - func_80146A6C(6, (void *)s0, *(s16 *)(s0 + 0x6), *(s16 *)(s0 + 0xA), - *(s16 *)(s0 + 0xE), 0, 0); + func_80146A6C(6, (void *)s0, CAST_SIGN(s16, s0, 0x6), CAST_SIGN(s16, s0, 0xA), + CAST_SIGN(s16, s0, 0xE), 0, 0); v = func_80132EF4(s0, 0x22); if (v != 0) { - *(s16 *)(v + 0x34) = 0x2000; + ((Unkstruct_800B5CB8 *)v)->unk34 = 0x2000; } } else { if (func_8012D5E4(s0, (s32)&D_801E4208, (s32)&D_800D3918, 0x19) == 0 && - (*(s16 *)(s0 + 0x70) == 2 || D_80126D50 == 0) && + (((Unkstruct_800B5CB8 *)s0)->unk70 == 2 || D_80126D50 == 0) && func_8012BEE8(s0) == 0) { return; } @@ -5636,8 +5636,8 @@ void func_8018FCA8(int param_1) short c; if (*(unsigned short *)(param_1 + 0x34) == 0) { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); ((void (*)(void))func_8012B2CC)(); func_8012B23C(param_1); ((void (*)(int, void *))func_8012B14C)(param_1, &D_801E4218); @@ -5645,19 +5645,19 @@ void func_8018FCA8(int param_1) in.b = 0; in.c = 0x10; ((void (*)(int, void *, void *))func_8012F214)(param_1, &in, &out); - *(short *)(param_1 + 6) = out.a; - *(short *)(param_1 + 0xa) = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; c = out.c; - *(int *)(param_1 + 0x1c) = 0x5a; - *(short *)(param_1 + 0x34) = 1; - *(short *)(param_1 + 0xe) = c; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = c; } - *(short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(short *)(*(int *)(param_1 + 0x20) + 0x10) - 0x80; - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(param_1 + 0x20) + 0x12) + 4; - *(short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(short *)(*(int *)(param_1 + 0x20) + 0x14) + 5; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk10 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) - 0x80; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 4; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + 5; func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { ((void (*)(int))func_8012C218)(param_1); @@ -5776,12 +5776,12 @@ void func_8018FE94(void *a0) s16 w; m = D_800AE620; - sv = D_801E47C4[*(s16 *)((s32)a0 + 0x70)]; + sv = D_801E47C4[((Unkstruct_800B5CB8 *)a0)->unk70]; mp = &m; svp = &sv; - if ((*(s32 *)((s32)a0 + 0x20) = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } @@ -5789,22 +5789,22 @@ void func_8018FE94(void *a0) w = sv.w; func_8001C214(v0, D_801E484C[w]); - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12), mp); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12), mp); ApplyMatrixSV(mp, svp, svp); - *(u16 *)((s32)a0 + 0x6) += sv.x; - *(u16 *)((s32)a0 + 0xA) += sv.y; - *(u16 *)((s32)a0 + 0xE) += sv.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 += sv.x; + ((Unkstruct_800B5CB8 *)a0)->unkA += sv.y; + ((Unkstruct_800B5CB8 *)a0)->unkE += sv.z; func_8012B23C((s32)a0); - *(s16 *)((s32)a0 + 0x12) = (s16)sv.x >> 3; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (s16)sv.x >> 3; *(s16 *)((s32)a0 + 0x16) = (s16)sv.y >> 3; - *(s16 *)((s32)a0 + 0x1A) = (s16)sv.z >> 3; + ((Unkstruct_800B5CB8 *)a0)->unk1A = (s16)sv.z >> 3; - *(s16 *)((s32)a0 + 0xFC) = (s16)((rand() & 0x7FF) - 0x400) >> w; - *(s16 *)((s32)a0 + 0xFE) = (s16)((rand() & 0x7FF) - 0x400) >> w; - *(s16 *)((s32)a0 + 0x100) = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unkFC = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (s16)((rand() & 0x7FF) - 0x400) >> w; func_8012AD50(a0); } @@ -5814,7 +5814,7 @@ void func_8018FE94(void *a0) extern void (*D_801E4858[])(void); void func_801900B4(void *a0) { - D_801E4858[*(u16 *)((s32)a0 + 0x2)](); + D_801E4858[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5831,12 +5831,12 @@ void func_801900F0(s32 a0) { func_8012AD80(a0); s0 = (u8 *)a0; - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(u32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(u32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + CAST_WIDTH(u16, *(u32 *)(s0 + 0x20), 0x14) += CAST_SIGN(u16, s0, 0x100); - val1 = *(s16 *)(*(s32 *)(s0 + 0x64) + 0x0A); - val2 = *(s16 *)(s0 + 0x0A); + val1 = *(s16 *)(((Unkstruct_800B5CB8 *)s0)->unk64 + 0x0A); + val2 = CAST_SIGN(s16, s0, 0x0A); if (val2 > val1) { func_8012C218((void *)a0); @@ -5848,7 +5848,7 @@ void func_801900F0(s32 a0) { extern void (*D_801E8654[])(void); void func_80190184(void *a0) { - D_801E8654[*(u16 *)((s32)a0 + 0x2)](); + D_801E8654[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5868,20 +5868,20 @@ void func_801901C0(s32 param_1) { s32 v; if (((s32 (*)(s32, void *))func_8012C354)( - param_1, &D_801E8554[(*(u16 *)(param_1 + 0x70) & 0xF) * 0x34]) != 0) { - if ((*(u16 *)(param_1 + 0x70) & 1) == 0) { + param_1, &D_801E8554[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 0x34]) != 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 1) == 0) { v = func_8012C658(0x1E3, 1, param_1); - *(s32 *)(param_1 + 0x6C) = v; + ((Unkstruct_800B5CB8 *)param_1)->unk6C = v; if (v == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { - *(s16 *)(param_1 + 0x2) = 1; - *(s32 *)(param_1 + 0xCC) = + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = ((s32 (*)(s32, void *))func_801788B8)(param_1, func_801904BC); } } else { - *(s16 *)(param_1 + 0x2) = 5; - *(u16 *)(param_1 + 0x100) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); func_8012A828(param_1, D_801E38A0); } } @@ -5914,7 +5914,7 @@ void func_801902C0(void) { extern void func_80178CBC(s32 a0, s32 a1); extern short D_801E8604; void func_801902C8(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_80178CBC((int)arg0, (int)&D_801E8604); } @@ -5943,23 +5943,23 @@ void func_80190334(void *a0) { extern u8 D_801E39B8[]; s16 mode; - if (*(s16 *)((s32)a0 + 0x100) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801E38B0); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801E39B8); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -5969,13 +5969,13 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801E38A0[]; void func_801903F4(void *a0) { - if (*(s16 *)((s32)a0 + 0x98) == 0) { - if (*(s16 *)((s32)a0 + 0xFE) == 2) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 2) { func_8002D4C8(0x888, 0); func_8012A828((s32)a0, D_801E38A0); } - *(s16 *)((s32)a0 + 0x2) = 5; - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6064,7 +6064,7 @@ s32 func_801904BC(void *param_1) extern void (*D_801E86CC[])(void); void func_80190610(void *a0) { - D_801E86CC[*(u16 *)((s32)a0 + 0x2)](); + D_801E86CC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6088,24 +6088,24 @@ void func_8019064C(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801E8680, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801E868C); func_80190BC4(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -6132,20 +6132,20 @@ void func_80190748(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -6164,19 +6164,19 @@ void func_80190748(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_80190BC4(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -6203,16 +6203,16 @@ void func_801909D8(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_80190BC4(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -6253,7 +6253,7 @@ s32 func_80190B6C(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -6273,13 +6273,13 @@ void func_80190BC4(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -6296,7 +6296,7 @@ extern void func_8012C218(void *a0); void func_80190C40(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c index f4d1761ad2..5dba4b943e 100644 --- a/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c +++ b/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c @@ -3329,7 +3329,7 @@ void func_8017F3B0(s32 param_1) { func_80019064(&D_8018E140); func_8017F4AC(param_1); if (func_8017F474(param_1) != 0) { - v0 = *(s16 *)(param_1 + 0x210); + v0 = ((Unkstruct_80126B58 *)param_1)->unk210; switch (D_8018E19A[v0 << 2]) { case 0: break; @@ -3340,7 +3340,7 @@ void func_8017F3B0(s32 param_1) { func_80171928(param_1); return; } - *(s16 *)(param_1 + 0x210) = *(u16 *)(param_1 + 0x210) + 1; + ((Unkstruct_80126B58 *)param_1)->unk210 = CAST_SIGN(u16, param_1, 0x210) + 1; func_8017F474(param_1); } } @@ -3350,7 +3350,7 @@ s32 func_8017F474(void *a0) { extern struct { void *f0; void *f1; } D_8018E194[]; extern s32 func_8017209C(void *arg0, void *arg1, s32 arg2, s32 arg3); - func_8017209C(a0, &D_8018E194[*(s16 *)((s32)a0 + 0x210)], 0x80, 0xA); + func_8017209C(a0, &D_8018E194[((Unkstruct_80126B58 *)a0)->unk210], 0x80, 0xA); } @@ -3382,18 +3382,18 @@ void func_8017F4AC(s32 param_1) { s32 t; s32 u; - *(s16 *)(param_1 + 0x20E) = func_80012F74(*(s16 *)(param_1 + 0x20E), 0, 10, 1); - *(s16 *)(param_1 + 0x12E) = 1; + ((Unkstruct_80126B58 *)param_1)->unk20E = func_80012F74(((Unkstruct_80126B58 *)param_1)->unk20E, 0, 10, 1); + ((Unkstruct_80126B58 *)param_1)->unk12E = 1; t = func_8004787C((*p & 0x3F) << 6); - *(s16 *)(param_1 + 0x128) = *(s16 *)(param_1 + 0x20E) + t / 4; + ((Unkstruct_80126B58 *)param_1)->unk128 = ((Unkstruct_80126B58 *)param_1)->unk20E + t / 4; u = func_80047948((*p & 0x3F) << 6); - *(s16 *)(param_1 + 0x12C) = u / 8; - if (*(s16 *)(param_1 + 0x13A) != 0) { - *(s16 *)(param_1 + 0x13A) += *(s8 *)(param_1 + 0x20D); - *(s16 *)(param_1 + 0x20C) -= 0xE0; - if (*(s16 *)(param_1 + 0x13A) < 0) { - *(s16 *)(param_1 + 0x13A) = 0; - *(s16 *)(param_1 + 0x20C) = 0; + ((Unkstruct_80126B58 *)param_1)->unk12C = u / 8; + if (((Unkstruct_80126B58 *)param_1)->unk13A != 0) { + ((Unkstruct_80126B58 *)param_1)->unk13A += *(s8 *)(param_1 + 0x20D); + ((Unkstruct_80126B58 *)param_1)->unk20C -= 0xE0; + if (((Unkstruct_80126B58 *)param_1)->unk13A < 0) { + ((Unkstruct_80126B58 *)param_1)->unk13A = 0; + ((Unkstruct_80126B58 *)param_1)->unk20C = 0; } } } @@ -3663,10 +3663,10 @@ void func_8017FB60(void *a0) { s32 s1; u16 idx; - *(s16 *)((s32)a0 + 0x76) = 1; - *(u16 *)((s32)a0 + 0x5C) = 0x8800; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8800; v0 = ((s32 (*)(void *))func_8012C1B8)(a0); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -3674,30 +3674,30 @@ void func_8017FB60(void *a0) { func_8001C214(v0, (s32)D_801C81C8); - idx = *(u16 *)((s32)a0 + 0x70) & 0xF; + idx = CAST_SIGN(u16, (s32)a0, 0x70) & 0xF; v0 = func_800291B4(D_8018E204[idx]); s1 = v0 & 0xFF; if (s1 != 3) { - res2 = func_8012C658(0xAF, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0xCC) = res2; + res2 = func_8012C658(0xAF, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; if (res2 == 0) { func_8012CAE4(a0); return; } if (s1 == 0) { - *(s32 *)((s32)a0 + 0x58) = (s32)D_8018E1E4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018E1E4 | 0x40000000 | 0x20000000; goto common; } } - *(s32 *)((s32)a0 + 0x58) = (s32)D_8018E1F4 | 0x40000000 | 0x20000000; - *(u16 *)((s32)a0 + 0x5C) = *(u16 *)((s32)a0 + 0x5C) | 0x400; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018E1F4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C | 0x400; common: - *(u8 *)((s32)a0 + 0x75) = 4; - *(u16 *)((s32)a0 + 0x2) = 1; - *(s16 *)((s32)a0 + 0xAE) = -4; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -4; func_8012A828((s32)a0, D_8018A800); } @@ -3709,7 +3709,7 @@ void func_8017FC84(void) { extern void func_80178CBC(s32 a0, s32 a1); extern short D_8018E214; void func_8017FC8C(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; func_80178CBC((int)arg0, (int)&D_8018E214); } @@ -3775,7 +3775,7 @@ void func_8017FCFC(void *a0) { extern void (*D_8018E310[])(void); void func_8017FE3C(void *a0) { - D_8018E310[*(u16 *)((s32)a0 + 0x2)](); + D_8018E310[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3846,22 +3846,22 @@ void func_8017FF48(int param_1) { s32 v0; if (func_801805D4(param_1) != 1) { - v0 = func_800291B4(D_8018E204[(*(u16 *)(param_1 + 0x70)) & 0xF]) & 0xFF; + v0 = func_800291B4(D_8018E204[(CAST_SIGN(u16, param_1, 0x70)) & 0xF]) & 0xFF; if (v0 == 1) { - *(s16 *)(param_1 + 0x2) = 3; - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_80180398((void *)param_1); func_8012B23C(param_1); func_8012B14C(param_1, (s32)D_8018E264); func_8002D4C8(0x59E, 0); func_8002D4C8(0x5C1, 0); } else if (v0 == 2) { - *(s16 *)(param_1 + 0x2) = 2; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) + 0x42; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0x400; - *(s32 *)(param_1 + 0x58) = (s32)D_8018E254 | 0x40000000 | 0x20000000; - *(u16 *)(param_1 + 0x5C) = 0x8C00; - *(s32 *)(param_1 + 0xCC) = func_801788B8(param_1, (s32)func_8018183C); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA + 0x42; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)D_8018E254 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0x8C00; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_801788B8(param_1, (s32)func_8018183C); func_8012B2CC(param_1); } } @@ -3910,19 +3910,19 @@ void func_80180084(s32 p) { return; } - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { e = p + 0xEC; f = p + 0xF4; func_80180410(p, e, f); - if (*(s16 *)(*(s32 *)(p + 0x20) + 0x10) == 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x10) == 0) { func_8002D4C8(0x5C1, 0); } - *(s16 *)(*(s32 *)(p + 0x20) + 0x10) = - (*(u16 *)(*(s32 *)(p + 0x20) + 0x10) + 0x100) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk10 = + (((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk10 + 0x100) & 0xFFF; if (((s32 (*)(s32, s32))func_8012CC40)(p, (s32)&D_8018E28C) & 0x2000) { - *(s16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; return; } @@ -3934,27 +3934,27 @@ void func_80180084(s32 p) { } } func_8002D4C8(0x5A6, 0); - *(s16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; } else { - *(s32 *)(p + 0xE0) = *(s32 *)(p + 0xE0) + 0x40000; - *(s16 *)(*(s32 *)(p + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x10) + *(u16 *)(p + 0xE2); + ((Unkstruct_800B5CB8 *)p)->unkE0 = ((Unkstruct_800B5CB8 *)p)->unkE0 + 0x40000; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk10 + *(u16 *)(p + 0xE2); - if (*(s16 *)(*(s32 *)(p + 0x20) + 0x10) < 0x400) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x10) < 0x400) { return; } func_8002D4C8(0x5A7, 0); - *(s16 *)(*(s32 *)(p + 0x20) + 0x10) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk10 = 0x400; - *(s32 *)(p + 0xE0) = -(*(s32 *)(p + 0xE0) >> 1); - *(s32 *)(p + 0x1C) = *(s32 *)(p + 0x1C) - 1; - if (*(s32 *)(p + 0x1C) != 0) { + ((Unkstruct_800B5CB8 *)p)->unkE0 = -(((Unkstruct_800B5CB8 *)p)->unkE0 >> 1); + ((Unkstruct_800B5CB8 *)p)->unk1C = ((Unkstruct_800B5CB8 *)p)->unk1C - 1; + if (((Unkstruct_800B5CB8 *)p)->unk1C != 0) { return; } - *(s16 *)(p + 2) = 2; - *(s32 *)(p + 0xCC) = func_801788B8(p, (s32)func_8018183C); - func_800291A0(D_8018E204[*(u16 *)(p + 0x70) & 0xF], 2); + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; + ((Unkstruct_800B5CB8 *)p)->unkCC = func_801788B8(p, (s32)func_8018183C); + func_800291A0(D_8018E204[CAST_SIGN(u16, p, 0x70) & 0xF], 2); } } @@ -3993,11 +3993,11 @@ void func_80180304(int param_1) { if (func_801805D4(param_1) != 1) { if (func_801789AC(param_1) != 0) { ((void (*)(s32))func_80178D18)(param_1); - v0 = func_800291B4(D_8018E204[*(u16 *)(param_1 + 0x70) & 0xF]) & 0xFF; + v0 = func_800291B4(D_8018E204[CAST_SIGN(u16, param_1, 0x70) & 0xF]) & 0xFF; if (v0 == 3) { func_80180590((void *)param_1); } else { - *(s16 *)(param_1 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } } } @@ -4041,7 +4041,7 @@ void func_80180410(s32 a0, s32 a1, s32 a2) s32 *m; s32 sv[2]; /* sp+0x10 */ - m = (s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x34); + m = (s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34); gte_SetRotMatrix(m); gte_SetTransMatrix(m); @@ -4089,8 +4089,8 @@ void func_80180554(void *arg0) { extern void func_8012C218(void *a0); void func_80180590(void *arg0) { - if (*(s32 *)((s32)arg0 + 0xCC) != 0) { - func_8012C218(*(void **)((s32)arg0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)arg0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, (s32)arg0, 0xCC)); } func_8012C218(arg0); } @@ -4132,7 +4132,7 @@ s32 func_80180610(void) { extern void (*D_8018E368[])(void); void func_8018068C(void *a0) { - D_8018E368[*(u16 *)((s32)a0 + 0x2)](); + D_8018E368[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4160,27 +4160,27 @@ void func_801806C8(void *a0) { void *q; ret = ((s32 (*)(s32))func_8012C1B8)(a0); - *(s32 *)((u8 *)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { ((void (*)(s32))func_8012CAE4)(a0); return; } - t = *(u16 *)((u8 *)a0 + 0x70); + t = CAST_SIGN(u16, (u8 *)a0, 0x70); t &= 0xF; func_8001C214(ret, D_8018E338[t]); - t2 = *(u16 *)((u8 *)a0 + 0x70); - *(u16 *)((u8 *)a0 + 0x2) = 1; + t2 = CAST_SIGN(u16, (u8 *)a0, 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; t2 &= 0xF; - *(Rec801806C8 *)((u8 *)a0 + 0xFC) = D_8018E344[t2]; + CAST_WIDTH(Rec801806C8, (u8 *)a0, 0xFC) = D_8018E344[t2]; - q = *(void **)((u8 *)a0 + 0x64); - *(s32 *)((u8 *)a0 + 0xCC) = (s32)((u8 *)a0 + 0xFC); - *(u16 *)((u8 *)a0 + 0xD0) = 1; - *(s32 *)((u8 *)a0 + 0xD4) = 0; - *(s16 *)((u8 *)a0 + 0xD8) = -2; - *(u16 *)((u8 *)a0 + 0x108) = *(u16 *)((u8 *)q + 0x36); + q = CAST_SIGN(void *, (u8 *)a0, 0x64); + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)((u8 *)a0 + 0xFC); + CAST_WIDTH(u16, (u8 *)a0, 0xD0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkD4 = 0; + CAST_WIDTH(s16, (u8 *)a0, 0xD8) = -2; + ((Unkstruct_800B5CB8 *)a0)->unk108 = *(u16 *)((u8 *)q + 0x36); func_8012A828((s32)a0, (void *)((u8 *)a0 + 0xCC)); } @@ -4266,10 +4266,10 @@ void func_801809A8(void *arg0) { typedef void (*FuncPtr)(void); FuncPtr fn; - fn = (FuncPtr)D_8018E39C[*(u16 *)((char *)arg0 + 2)]; + fn = (FuncPtr)D_8018E39C[CAST_SIGN(u16, (char *)arg0, 2)]; fn(); - if (*(s16 *)((char *)arg0 + 0xFC) != *(s16 *)(*(s32 *)((char *)arg0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)arg0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x36)) { func_8012C218(arg0); } } @@ -4292,9 +4292,9 @@ void func_80180A10(void *a0) { s32 v0; s32 v1; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -4302,11 +4302,11 @@ void func_80180A10(void *a0) { func_8001C214(v0, (s32)D_801CA2D0); - *(s32 *)((s32)a0 + 0x58) = (s32)D_8018E374 | 0x40000000 | 0x20000000; - v1 = *(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36); - *(u8 *)((s32)a0 + 0x75) = 4; - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0xFC) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018E374 | 0x40000000 | 0x20000000; + v1 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v1; func_8012A828((s32)a0, D_8018E38C); func_8012E8A8((u8 *)a0); } @@ -4316,9 +4316,9 @@ extern void func_8012E88C(u8 *a0); extern void func_80180C90(s32 a0); void func_80180AB8(s32 param_1) { - if (*(s32 *)(param_1 + 0xDC) != 0) { - *(u16 *)((s32)param_1 + 2) = 2; - *(u16 *)((s32)param_1 + 0x34) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012E88C((u8 *)param_1); func_80180C90(param_1); } @@ -4336,36 +4336,36 @@ extern s32 func_8012BEE8(s32 a0); void func_80180B00(s32 param_1) { s32 cnt; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_80180CEC(param_1, 0) & 0x2000) { break; } - *(s32 *)(param_1 + 0x1C) = 0; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_80180CCC((void *)param_1); break; case 1: - cnt = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = cnt; + cnt = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = cnt; if (cnt >= 300) { - *(u16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; func_80180C44(param_1); } else { if (func_80180CEC(param_1, 1) & 0x2000) { - func_80146A6C(0x10, (void *)param_1, *(s16 *)(param_1 + 6), - (s16)(*(u16 *)(param_1 + 0xA) - 0x50), - *(s16 *)(param_1 + 0xE), 0, 0); - *(s32 *)(param_1 + 0x1C) = 30; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + func_80146A6C(0x10, (void *)param_1, CAST_SIGN(s16, param_1, 6), + (s16)(((Unkstruct_800B5CB8 *)param_1)->unkA - 0x50), + CAST_SIGN(s16, param_1, 0xE), 0, 0); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 30; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } break; case 2: func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_80180C44(param_1); } break; @@ -4380,14 +4380,14 @@ extern void func_80180C90(s32 a0); s32 func_80180C44(s32 param_1) { - u16 v0 = *(u16 *)(param_1 + 0x88); - u16 v1 = *(u16 *)(param_1 + 0x8A); - u16 v2 = *(u16 *)(param_1 + 0x8C); + u16 v0 = ((Unkstruct_800B5CB8 *)param_1)->unk88; + u16 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk8A; + u16 v2 = ((Unkstruct_800B5CB8 *)param_1)->unk8C; - *(s32 *)(param_1 + 0xDC) = 0; - *(u16 *)(param_1 + 0x6) = v0; - *(u16 *)(param_1 + 0xA) = v1; - *(u16 *)(param_1 + 0xE) = v2; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkA = v1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = v2; func_8012E8A8((u8 *)param_1); func_80180C90(param_1); @@ -4409,12 +4409,12 @@ void func_80180C90(s32 arg0) { void func_80180CCC(void *a0) { - *(s32 *)((s32)a0 + 0x18) = 0; - *(s32 *)((s32)a0 + 0x14) = 0; - *(s32 *)((s32)a0 + 0x10) = 0; - *(s32 *)((s32)a0 + 0x4c) = 0; - *(s32 *)((s32)a0 + 0x44) = 0; - *(s32 *)((s32)a0 + 0x48) = 0x1000; + CAST_WIDTH(s32, (s32)a0, 0x18) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk4C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk44 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1000; } @@ -4428,17 +4428,17 @@ s32 func_80180CEC(s32 param_1, s32 param_2) { s16 out[3]; s32 v0; - in[0] = *(u16 *)(param_1 + 0x3A); - in[1] = *(u16 *)(param_1 + 0x3E); - in[2] = *(u16 *)(param_1 + 0x42); + in[0] = ((Unkstruct_800B5CB8 *)param_1)->unk3A; + in[1] = ((Unkstruct_800B5CB8 *)param_1)->unk3E; + in[2] = ((Unkstruct_800B5CB8 *)param_1)->unk42; func_8012AD80(param_1); - out[0] = *(u16 *)(param_1 + 0x6); - out[1] = *(u16 *)(param_1 + 0xA); - out[2] = *(u16 *)(param_1 + 0xE); + out[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + out[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + out[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; v0 = func_80133784((s16)param_2, in, (s32)out); - *(u16 *)(param_1 + 0x6) = out[0]; - *(u16 *)(param_1 + 0xA) = out[1]; - *(u16 *)(param_1 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = out[2]; return v0; } @@ -4471,13 +4471,13 @@ void func_80180D8C(s32 param_1) { u8 buf[8]; u8 *base = (u8 *)&D_80126B58; - if (*(u8 *)(param_1 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk74 != 0) { in[0] = gVecX; in[1] = D_80126B60; in[2] = D_80126B64; - func_8012F0BC((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), in, tmp); + func_8012F0BC((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), in, tmp); func_8012B2CC(param_1); - func_8012F1A4((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), (s32)tmp, out); + func_8012F1A4((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), (s32)tmp, out); gVecX = out[0]; D_80126B60 = out[1]; D_80126B64 = out[2]; @@ -4516,21 +4516,21 @@ void func_80180EF4(void *arg0) { s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) goto cae4; func_8001C214(v0, 0); v0 = func_8012C51C(D_8018E3B0, (s32)arg0); - *(s32 *)((s32)arg0 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unkCC = v0; if (v0 == 0) goto cae4; v1 = func_8012C51C(D_8018E3B0 + 0x14, (s32)arg0); - *(s32 *)((s32)arg0 + 0xD0) = v1; + ((Unkstruct_800B5CB8 *)arg0)->unkD0 = v1; if (v1 != 0) goto set; - func_8012C218((void *)*(s32 *)((s32)arg0 + 0xCC)); + func_8012C218((void *)((Unkstruct_800B5CB8 *)arg0)->unkCC); cae4: func_8012CAE4(arg0); goto end; set: - *(s16 *)((s32)arg0 + 0x02) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; end:; } @@ -4562,8 +4562,8 @@ extern s32 func_8012BEE8(s32 a0); void func_8018104C(s32 param_1) { if (func_8012BEE8(param_1) != 0) { - *(s32 *)(*(s32 *)(param_1 + 0xD0) + 0xDC) = 1; - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unkDC = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } } @@ -4572,8 +4572,8 @@ extern s32 func_8012BEE8(s32 a0); void func_80181090(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s32 *)(*(s32 *)((u8 *)a0 + 0xCC) + 0xDC) = 1; - *(s16 *)((u8 *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0xCC))->unkDC = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -4604,9 +4604,9 @@ extern u8 D_8018A800[]; void func_80181118(s32 a0) { s32 v0; - *(u16 *)(a0 + 0x5C) = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -4614,13 +4614,13 @@ void func_80181118(s32 a0) { func_8001C214(v0, (s32)D_801CAAA8); /* §162c: keep BOTH ors -- never fold to a single literal. */ - *(s32 *)(a0 + 0x58) = (s32)D_8018E3E8 | 0x40000000 | 0x20000000; - *(u8 *)(a0 + 0x75) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018E3E8 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 1; if ((func_80029178(0xA0) & 0xFF) == 0) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(u16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xA) = -0xB73; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + CAST_ALIAS(s16, a0, 0xA) = -0xB73; } func_8012A828(a0, D_8018A800); } @@ -4634,9 +4634,9 @@ void func_801811D0(s32 arg0) { s0 = arg0; if (func_8012E778(s0, 0x8200AA) == 1 && (func_8014CB2C() & 0x7FFFFFFF) == 2) { - *(u16 *)(s0 + 2) = 2; - *(s32 *)(s0 + 0x1C) = 0x3C; - *(u16 *)(s0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 1; func_80178B18(s0, (s32)D_8018E410); } } @@ -4701,22 +4701,22 @@ s32 func_80181294(s32 arg0) { s32 base2; u16 sp10[3]; - e = *(s32 *)(arg0 + 0x20); + e = ((Unkstruct_800B5CB8 *)arg0)->unk20; rot = (s16 *)(e + 0x10); if (rand() & 1) { - *(u16 *)(e + 0x14) += *(s16 *)(arg0 + 0xFC) * (rand() % 8 + 1); + CAST_WIDTH(u16, e, 0x14) += ((Unkstruct_800B5CB8 *)arg0)->unkFC * (rand() % 8 + 1); } if (rot[2] > 0x38) { - *(s16 *)(arg0 + 0xFC) = -1; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = -1; rot[2] = 0x38; } else if (rot[2] < -0x38) { - *(s16 *)(arg0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = 1; rot[2] = -0x38; } - if (*(s32 *)(arg0 + 0x1C) % 10 == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C % 10 == 0) { sp10[1] = D_8018E40A; for (i = 0; i < 5; i++) { t = rand() % 80; @@ -4726,14 +4726,14 @@ s32 func_80181294(s32 arg0) { ((void (*)(s32, void *, s32))func_8017DC70)(arg0, sp10, 1); } func_8002D4C8(0xBA0, 0); - if (*(s32 *)(arg0 + 0x1C) % 10 == 0) { - sp10[0] = *(u16 *)(arg0 + 0x6); - sp10[1] = *(u16 *)(arg0 + 0xA); - sp10[2] = *(u16 *)(arg0 + 0xE) + 0x50; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C % 10 == 0) { + sp10[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE + 0x50; for (i = 0; i < 10; i++) { s32 v; t = rand() % 80; - base1 = *(s16 *)(arg0 + 0x6); + base1 = CAST_SIGN(s16, arg0, 0x6); if ((rand() & 1) == 0) { v = base1 - t; } else { @@ -4741,7 +4741,7 @@ s32 func_80181294(s32 arg0) { } sp10[0] = v; t = rand() % 56; - base2 = *(s16 *)(arg0 + 0xA); + base2 = CAST_SIGN(s16, arg0, 0xA); if ((rand() & 1) == 0) { v = base2 - t; } else { @@ -4844,10 +4844,10 @@ void func_80181604(s32 param_1) { s32 v; s32 t; /* the 0xE read, hoisted above the in[1] RMW -- see header */ - if (*(s32 *)(param_1 + 0x1C) != 0) { - in[0] = *(u16 *)(param_1 + 0x6); - in[1] = *(u16 *)(param_1 + 0xA); - t = *(u16 *)(param_1 + 0xE); + if (((Unkstruct_800B5CB8 *)param_1)->unk1C != 0) { + in[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + in[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + t = ((Unkstruct_800B5CB8 *)param_1)->unkE; in[1] = in[1] + D_8018E40A; out[1] = in[1]; in[2] = t; @@ -4870,16 +4870,16 @@ void func_80181604(s32 param_1) { out[2] = v; func_80143BDC((u16 *)out); } - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } - if (*(u8 *)(param_1 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk74 != 0) { vin[0] = gVecX; vin[1] = D_80126B60; vin[2] = D_80126B64; - func_8012F0BC((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), vin, tmp); + func_8012F0BC((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), vin, tmp); func_8012B2CC(param_1); - func_8012F1A4((s32 *)(*(s32 *)(param_1 + 0x20) + 0x34), (s32)tmp, vout); + func_8012F1A4((s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), (s32)tmp, vout); gVecX = vout[0]; D_80126B60 = vout[1]; D_80126B64 = vout[2]; @@ -4955,7 +4955,7 @@ s32 func_8018183C(void *a0) extern void (*D_8018E52C[])(void); void func_80181974(void *a0) { - D_8018E52C[*(u16 *)((s32)a0 + 0x2)](); + D_8018E52C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4973,15 +4973,15 @@ void func_801819B0(s32 s0) if (func_8012C354(s0, (s32)&D_8018E490) == 0) { return; } - if (func_8012C588(0xB4, s0) == 0 || func_8012C658(0xB5, *(s16 *)(s0 + 0x70), s0) == 0) { + if (func_8012C588(0xB4, s0) == 0 || func_8012C658(0xB5, ((Unkstruct_800B5CB8 *)s0)->unk70, s0) == 0) { func_8012CAE4((void *)s0); return; } - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x1E0, 0x168); + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x1E0, 0x168); func_8012A828(s0, (void *)D_8018A800); - *(u8 *)(s0 + 0x75) = 2; - *(u16 *)(s0 + 0x2) = 1; - *(u16 *)(s0 + 0xA) -= 0x70; + ((Unkstruct_800B5CB8 *)s0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkA -= 0x70; } @@ -4992,7 +4992,7 @@ void func_80181A54(void) { extern void (*D_8018E534[])(void); void func_80181A5C(void *a0) { - D_8018E534[*(u16 *)((s32)a0 + 0x2)](); + D_8018E534[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5009,12 +5009,12 @@ void func_80181A98(s32 s0) if (func_8012C354(s0, (s32)D_8018E4C4) == 0) { return; } - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x1E0, 0x168); + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x1E0, 0x168); func_8012A828(s0, (void *)D_8018A800); - uVar1 = *(u16 *)(*(s32 *)(s0 + 0x64) + 0x36); - *(u8 *)(s0 + 0x75) = 2; - *(u16 *)(s0 + 0x2) = 1; - *(u16 *)(s0 + 0xFC) = uVar1; + uVar1 = *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)s0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = uVar1; } @@ -5047,7 +5047,7 @@ extern void func_8012C098(void *param_1); extern void (*D_8018E54C[])(void); void func_80181B80(void *a0) { - D_8018E54C[*(u16 *)((s32)a0 + 0x2)](); + D_8018E54C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5063,15 +5063,15 @@ void func_80181BBC(s32 a0) if (func_8012C438(a0, (s32)D_8018E4F8) == 0) { return; } - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x1E0, 0x168); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = (s32)D_8018E540; - uVar1 = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u8 *)(a0 + 0x75) = 4; - *(u16 *)(a0 + 0xFE) = uVar1; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x1E0, 0x168); - *(u16 *)(a0 + 2) = 1; - *(u16 *)(a0 + 0xA) += 0x36; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x1E0, 0x168); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = (s32)D_8018E540; + uVar1 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = uVar1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x1E0, 0x168); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA += 0x36; } @@ -5107,10 +5107,10 @@ void func_80181CF0(void *a0) if (func_8012BEE8(s0) == 0) { return; } - *(s16 *)(s0 + 2) = 3; - *(u16 *)(s0 + 0xDC) = D_8018E55C[*(s16 *)(s0 + 0xFC)]; - *(u16 *)(s0 + 0xFC) = *(u16 *)(s0 + 0xFC) ^ 1; - *(s32 *)(s0 + 0x1C) = D_8018E560[*(u16 *)(s0 + 0x70) & 1]; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; + CAST_WIDTH(u16, s0, 0xDC) = D_8018E55C[((Unkstruct_800B5CB8 *)s0)->unkFC]; + ((Unkstruct_800B5CB8 *)s0)->unkFC = CAST_SIGN(u16, s0, 0xFC) ^ 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = D_8018E560[CAST_SIGN(u16, s0, 0x70) & 1]; func_8018209C(a0); } @@ -5126,14 +5126,14 @@ void func_80181D80(s32 s0) { if (func_80181E5C((void *)s0) == 1) { return; } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xDC); - if (*(u8 *)(s0 + 0x74) != 0) { - *(u16 *)((s32)D_80126B78 + 0x12) += *(u16 *)(s0 + 0xDC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 += CAST_WIDTH(u16, s0, 0xDC); + if (((Unkstruct_800B5CB8 *)s0)->unk74 != 0) { + *(u16 *)((s32)D_80126B78 + 0x12) += CAST_WIDTH(u16, s0, 0xDC); func_8012E014(s0); } - if (--*(s32 *)(s0 + 0x1C) == 0) { - *(u16 *)(s0 + 2) = 2; - *(s32 *)(s0 + 0x1C) = rand() % 30 + 0x2D; + if (--((Unkstruct_800B5CB8 *)s0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)s0)->unk1C = rand() % 30 + 0x2D; func_80181E98((u8 *)s0); } } @@ -5203,9 +5203,9 @@ s32 func_80181E98_impl(void *arg) t = -t; } if (t >= 0xAB || (w.sxy[1] >= 0 ? w.sxy[1] >= 0x83 : -w.sxy[1] >= 0x83)) { - w.in1[0] = *(s16 *)((s32)arg + 6); - w.in1[1] = *(s16 *)((s32)arg + 10); - w.in1[2] = *(s16 *)((s32)arg + 14); + w.in1[0] = CAST_NONSTRUCT(s16, (s32)arg, 6); + w.in1[1] = CAST_NONSTRUCT(s16, (s32)arg, 10); + w.in1[2] = CAST_NONSTRUCT(s16, (s32)arg, 14); gte_ldv0(w.in1); gte_rtps(); gte_stsxy(w.sxy); @@ -5264,9 +5264,9 @@ s32 func_8018209C_impl(void *arg0) t = -t; } if (t >= 0xAB || (res.y >= 0 ? res.y >= 0x83 : -res.y >= 0x83)) { - w.vx = *(u16 *)((s32)arg0 + 6); - w.vy = *(u16 *)((s32)arg0 + 0xA); - w.vz = *(u16 *)((s32)arg0 + 0xE); + w.vx = CAST_NONSTRUCT(u16, (s32)arg0, 6); + w.vy = CAST_NONSTRUCT(u16, (s32)arg0, 0xA); + w.vz = CAST_NONSTRUCT(u16, (s32)arg0, 0xE); gte_ldv0(&w); gte_rtps(); gte_stsxy(&res.x); @@ -5293,7 +5293,7 @@ s32 func_8018209C_impl(void *arg0) extern void (*D_8018E5C4[])(void); void func_801822A0(void *a0) { - D_8018E5C4[*(u16 *)((s32)a0 + 0x2)](); + D_8018E5C4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5323,7 +5323,7 @@ void func_80182354(void) { extern void (*D_8018E5DC[])(void); void func_8018235C(void *a0) { - D_8018E5DC[*(u16 *)((s32)a0 + 0x2)](); + D_8018E5DC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5387,8 +5387,8 @@ void func_80182468(s32 arg0) { buffer = D_801EE3EC; - v0 = *(u16 *)((u8 *)arg0 + 0x72) | 0x1000; - *(u16 *)((u8 *)arg0 + 0x72) = (u16)v0; + v0 = ((Unkstruct_800B5CB8 *)arg0)->unk72 | 0x1000; + ((Unkstruct_800B5CB8 *)arg0)->unk72 = (u16)v0; v0 = func_80029504(); if ((u32)v0 >= 0xC8) { @@ -5397,13 +5397,13 @@ void func_80182468(s32 arg0) { } s0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)arg0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = s0; if (s0 == 0) { return; } func_8001C2C4(s0); - *(Blk8 *)((u8 *)s0 + 0x10) = buffer; + CAST_WIDTH(Blk8, (u8 *)s0, 0x10) = buffer; for (i = 0; i < 4; i++) { func_8012C658(0x118, i, arg0); @@ -5422,11 +5422,11 @@ extern u8 D_8018E5EC[]; void func_80182558(void *arg0) { if ((u8)func_80029178(0x96) != 0) { - *(s32 *)((s32)arg0 + 0x58) = (s32)D_8018E5EC; - *(u8 *)((s32)arg0 + 0x75) = 0x18; - *(u16 *)((s32)arg0 + 0x5C) |= 0xC00; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)D_8018E5EC; + ((Unkstruct_800B5CB8 *)arg0)->unk75 = 0x18; + ((Unkstruct_800B5CB8 *)arg0)->unk5C |= 0xC00; - if (((u8)func_80029178(0x97) != 0) && (*(u8 *)((s32)arg0 + 0x74) != 0)) { + if (((u8)func_80029178(0x97) != 0) && (((Unkstruct_800B5CB8 *)arg0)->unk74 != 0)) { func_80147324(0x433); func_80174784(); func_8012BF4C((s32 *)arg0, 0x10); @@ -5443,12 +5443,12 @@ extern void func_8017F59C(void); extern s32 func_8012AD50(void *a0); void func_801825F4(s32 arg0) { - if (*(u8 *)(arg0 + 0x74) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk74 == 0) { func_801747AC(arg0); func_8012AD44((s32 *)arg0, 1); } else if (func_8012BEE8(arg0) != 0) { func_8017F59C(); - *(u16 *)(arg0 + 0x5C) = *(u16 *)(arg0 + 0x5C) & 0xF3FF; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = ((Unkstruct_800B5CB8 *)arg0)->unk5C & 0xF3FF; func_8012AD50((void *)arg0); } } @@ -5513,8 +5513,8 @@ void func_80182744(void *arg0) { if ((u8)func_80029178(0x96) != 0) { ((s32 (*)(void *))func_8018287C)(arg0); - v1 = *(s32 **)((s32)arg0 + 0x20); - *(s32 *)((s32)v1 + 4) = *(s32 *)((s32)v1 + 4) & 0x7FFFFFFF; + v1 = CAST_SIGN(s32 *, (s32)arg0, 0x20); + CAST_WIDTH(s32, (s32)v1, 4) = CAST_WIDTH(s32, (s32)v1, 4) & 0x7FFFFFFF; func_8012AD50(arg0); } } @@ -5555,7 +5555,7 @@ void func_80182844(s32 a0) { shift_temp = ((a0 << 16) >> 16); v1 = func_8012E57C(0x118, shift_temp); if (v1 != 0) { - *(s16 *)((char *)v1 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)v1)->unk2 = 3; } } @@ -5596,15 +5596,15 @@ void func_80182938(void* param_1) u8 *obj; SV3_80182938 out; - obj = *(u8 **)(param_1 + 0x20); + obj = CAST_SIGN(u8 *, param_1, 0x20); - *(Mtx32_80182938 *)(obj + 0x34) = *(Mtx32_80182938 *)((u8 *)D_80126B78 + 0x34); + CAST_WIDTH(Mtx32_80182938, obj, 0x34) = *(Mtx32_80182938 *)((u8 *)D_80126B78 + 0x34); - func_8012F214((s32)param_1, (s32)(D_8018E61C + *(s16 *)(param_1 + 0x70) * 8), (s32)&out); + func_8012F214((s32)param_1, (s32)(D_8018E61C + ((Unkstruct_800B5CB8 *)param_1)->unk70 * 8), (s32)&out); - *(s16 *)(param_1 + 0x6) = out.a; - *(s16 *)(param_1 + 0xa) = out.b; - *(s16 *)(param_1 + 0xe) = out.c; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unkE = out.c; func_8012B260(param_1); } @@ -5627,7 +5627,7 @@ void func_801829F4(u8 *a0, u8 *a1) { extern void (*D_8018E780[])(void); void func_80182A54(void *a0) { - D_8018E780[*(u16 *)((s32)a0 + 0x2)](); + D_8018E780[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5748,21 +5748,21 @@ void func_80182EB0(s32 arg0) s32 v; s32 timer; - obj = *(s32 *)(arg0 + 0x20); - *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C); - *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30); - *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34); + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(s32, arg0, 0x10) += CAST_WIDTH(s32, arg0, 0x2C); + ((Unkstruct_800B5CB8 *)arg0)->unk14 += ((Unkstruct_800B5CB8 *)arg0)->unk30; + CAST_WIDTH(s32, arg0, 0x18) += CAST_WIDTH(s32, arg0, 0x34); func_8012931C((struct vec *)arg0); - v = *(u16 *)(obj + 0x1A) - 0x100; - *(u16 *)(obj + 0x1A) = v; - *(u16 *)(obj + 0x18) = v; + v = ((Unkstruct_800B5CB8 *)obj)->unk1A - 0x100; + ((Unkstruct_800B5CB8 *)obj)->unk1A = v; + ((Unkstruct_800B5CB8 *)obj)->unk18 = v; if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) { func_801292C8((u8 *)arg0); } else { - timer = *(s32 *)(arg0 + 0x1C); + timer = ((Unkstruct_800B5CB8 *)arg0)->unk1C; if (timer != 0) { timer--; - *(s32 *)(arg0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = timer; if (timer == 0) { func_801292C8((u8 *)arg0); } @@ -5886,7 +5886,7 @@ void func_80183168(u8 *a0, u8 *a1) { result = func_801290DC(0x3F, (u8 *)temp); if (result) { - *(s32 *)(result + 0x2C) = *(s16 *)(a1 + 0x6); + CAST_WIDTH(s32, result, 0x2C) = *(s16 *)(a1 + 0x6); } } @@ -5938,7 +5938,7 @@ void func_801831FC(s32 arg0) { extern void (*D_8018E914[])(void); void func_801832F4(void *a0) { - D_8018E914[*(u16 *)((s32)a0 + 0x2)](); + D_8018E914[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6016,7 +6016,7 @@ s32 func_8018347C(s32 *arg0, s32 arg1, s32 arg2) { s16 ret; base = (s32)&D_80126B58; - if (*(u16 *)base == 0x19) { + if (((Unkstruct_80126B58 *)base)->unk0 == 0x19) { return 0; } func_80015978(base + 4, (s32 *)buf); @@ -6028,13 +6028,13 @@ s32 func_8018347C(s32 *arg0, s32 arg1, s32 arg2) { D_80126B5E = buf[0]; D_80126B66 = buf[2]; } - if ((*(s16 *)(base + 0xA) < -0xD00) && (*(s16 *)(base + 0xE) < 0)) { - if (*(s16 *)(base + 6) >= 0) { - if (*(s16 *)(base + 6) < 0x160) { - *(s16 *)(base + 6) = 0x160; + if ((((Unkstruct_80126B58 *)base)->unkA < -0xD00) && (((Unkstruct_80126B58 *)base)->unkE < 0)) { + if (((Unkstruct_80126B58 *)base)->unk6 >= 0) { + if (((Unkstruct_80126B58 *)base)->unk6 < 0x160) { + ((Unkstruct_80126B58 *)base)->unk6 = 0x160; } - } else if (*(s16 *)(base + 6) >= -0x15F) { - *(s16 *)(base + 6) = -0x160; + } else if (((Unkstruct_80126B58 *)base)->unk6 >= -0x15F) { + ((Unkstruct_80126B58 *)base)->unk6 = -0x160; } } if ((s16)arg2 != 0) { @@ -6115,7 +6115,7 @@ void func_801836A8(void *a0) { extern void (*D_8018EE88[])(void); void func_801836F0(void *a0) { - D_8018EE88[*(u16 *)((s32)a0 + 0x2)](); + D_8018EE88[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6130,12 +6130,12 @@ extern void func_8002D4C8(s32 a0, s32 a1); extern void (*D_8018EEB4[])(void); void func_8018372C(void *a0) { - *(u16 *)((s32)a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012E88C((u8 *)a0); func_8012B2CC((s32)a0); func_8012B23C((s32)a0); func_8012B14C((s32)a0, (s32)D_8018EEB4); - *(s32 *)((s32)a0 + 0x1C) = 0x16; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x16; func_8002D4C8(0x5D8, 0); } @@ -6152,16 +6152,16 @@ void func_80183790(s32 param_1) s32 v0; s16 v1; - *(s16 *)(param_1 + 2) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; func_8012E8E0(param_1, (s32)&D_8018EEA4); func_8012E8A8((u8 *)param_1); - v0 = *(s32 *)(param_1 + 0x20); - *(u16 *)(v0 + 0x14) = 0; - *(u16 *)(v0 + 0x12) = 0; - *(u16 *)(v0 + 0x10) = 0; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u16, v0, 0x14) = 0; + ((Unkstruct_800B5CB8 *)v0)->unk12 = 0; + ((Unkstruct_800B5CB8 *)v0)->unk10 = 0; func_8012B2CC(param_1); v1 = D_8018EE98; - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; D_8018EE98 = v1 + 1; } @@ -6190,29 +6190,29 @@ void func_80183800(s32 param_1) SV3 out; s32 t; - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012E8E0(param_1, (s32)&D_8018EEA4); func_8012E88C((u8 *)param_1); func_8012B2CC(param_1); func_8012B23C(param_1); - t = *(s16 *)(param_1 + 0x70); - *(s32 *)(param_1 + 0x10) = D_8018EEC8; - *(s32 *)(param_1 + 0x14) = D_8018EECC; - *(s32 *)(param_1 + 0x18) = D_8018EED0; - *(s32 *)(param_1 + 0x1C) = 0x3C; + t = ((Unkstruct_800B5CB8 *)param_1)->unk70; + CAST_WIDTH(s32, param_1, 0x10) = D_8018EEC8; + CAST_ALIAS(s32, param_1, 0x14) = D_8018EECC; + CAST_WIDTH(s32, param_1, 0x18) = D_8018EED0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; if (t != 0) { in.a = t << 4; in.b = 0; in.c = 0; func_8012F214(D_801EF9FC, (s32)&in, (s32)&out); - *(s16 *)(param_1 + 6) = out.a; - *(s16 *)(param_1 + 0xA) = out.b; - *(s16 *)(param_1 + 0xE) = out.c; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unkE = out.c; - *(SVECTOR *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(SVECTOR *)(*(s32 *)(D_801EF9FC + 0x20) + 0x10); + *(SVECTOR *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(SVECTOR *)(((Unkstruct_800B5CB8 *)D_801EF9FC)->unk20 + 0x10); } } @@ -6221,7 +6221,7 @@ void func_80183800(s32 param_1) extern void (*D_8018EEE0[])(void); void func_80183904(void *a0) { - D_8018EEE0[*(u16 *)((s32)a0 + 0x2)](); + D_8018EEE0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6259,7 +6259,7 @@ void func_801839A8(void *arg0) { func_800D0F4C(0x51); func_800D0F4C(0x52); func_80029514(0x50); - *(s32 *)((s32)arg0 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x5A; } @@ -6268,17 +6268,17 @@ extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); s32 func_80183A3C(s32 arg0) { if (func_8012BEE8(arg0) != 0) { - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = 0x806; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = 0x806; return 1; } - if ((*(s32 *)(arg0 + 0x1C) & 7) >= 4) { - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + - func_8012B608(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), 0x5E0, 2); + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) >= 4) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + + func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), 0x5E0, 2); } else { - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + - func_8012B608(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), 0x9E0, 2); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + + func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), 0x9E0, 2); } return 0; } @@ -6421,9 +6421,9 @@ extern void func_8012AD80(s32 a0); extern s32 func_8012BEE8(s32 a0); void func_80183D68(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) += D_8018EEC0; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += D_8018EEC2; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) += D_8018EEC4; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 += D_8018EEC0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += D_8018EEC2; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) += D_8018EEC4; func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { func_80183790(param_1); @@ -6438,11 +6438,11 @@ void func_80183DFC(s32 param_1) extern s32 func_8012BEE8(s32 a0); extern void func_80183800(s32 a0); - if (*(u16 *)(param_1 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { if (D_8018EE98 == 4) { - u16 t = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = D_8018EEDC; - *(u16 *)(param_1 + 0x34) = t + 1; + u16 t = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = D_8018EEDC; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = t + 1; } } else { if (func_8012BEE8(param_1) != 0) { @@ -6487,22 +6487,22 @@ void func_80183E70(s32 param_1) { func_8002D4C8(0x5D7, 0); func_8012C218((void *)param_1); } else { - v0 = *(s16 *)(param_1 + 0x70); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk70; if (v0 != 0) { in.a = v0 << 4; in.b = 0; in.c = 0; ((void (*)(s32, void *, void *))func_8012F214)((s32)aD801EF9FC, &in, &out); - *(s16 *)(param_1 + 0x6) = out.a; - *(s16 *)(param_1 + 0xA) = out.b; - *(s16 *)(param_1 + 0xE) = out.c; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unkE = out.c; - *(Blk8 *)(*(s32 *)(param_1 + 0x20) + 0x10) = + *(Blk8 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = *(Blk8 *)(*(s32 *)((s32)aD801EF9FC + 0x20) + 0x10); } else { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) += D_8018EED4; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += D_8018EED6; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) += D_8018EED8; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 += D_8018EED4; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += D_8018EED6; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) += D_8018EED8; func_8012AD80(param_1); func_8012B2CC(param_1); } @@ -6526,22 +6526,22 @@ void func_80183FA8(int param_1) { s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { func_8001C214(v0, (s32)D_801EAB44); func_8012E8E0(param_1, (s32)D_8018EE9C); func_8012E8A8((u8 *)param_1); - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012E8E0(param_1, (s32)D_8018EE9C); func_8012E8A8((u8 *)param_1); - *(s32 *)(param_1 + 0x1C) = D_8018EEAC[*(s16 *)(param_1 + 0x70)]; - v1 = *(s32 *)(param_1 + 0x20); - *(u16 *)(v1 + 0x14) = 0; - *(u16 *)(v1 + 0x12) = 0; - *(u16 *)(v1 + 0x10) = 0; - if (*(s16 *)(param_1 + 0x70) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = D_8018EEAC[((Unkstruct_800B5CB8 *)param_1)->unk70]; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u16, v1, 0x14) = 0; + ((Unkstruct_800B5CB8 *)v1)->unk12 = 0; + ((Unkstruct_800B5CB8 *)v1)->unk10 = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 0) { D_8018EE98 = 0; D_801EF9FC = param_1; } @@ -6749,7 +6749,7 @@ void func_801842E0(void) { extern void (*D_801CC350[])(void); void func_80184438(void *a0) { - D_801CC350[*(u16 *)((s32)a0 + 0x2)](); + D_801CC350[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6770,8 +6770,8 @@ void func_80184474(s32 param_1) func_8012C658(0xFC, 1, param_1) == 0) { func_8012CAE4((void *)param_1); } else { - *(u8 *)(param_1 + 0xC0) = 1; - *(s16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; func_8012A828(param_1, (void *)&D_801D0BB4); } } @@ -6816,23 +6816,23 @@ void func_8018457C(s32 param_1) { u16 a2; s32 a3; - v0 = *(s32 *)(param_1 + 0x20); - *(u16 *)(v0 + 0x10) += 0x40; - p1 = *(s32 *)(param_1 + 0x20); - if (*(s16 *)(p1 + 0x10) >= 0x401) { - *(u16 *)(p1 + 0x10) = 0x400; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)v0)->unk10 += 0x40; + p1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + if (CAST_SIGN(s16, p1, 0x10) >= 0x401) { + ((Unkstruct_800B5CB8 *)p1)->unk10 = 0x400; } func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { - v1 = *(u16 *)(param_1 + 0x88); - a1 = *(u16 *)(param_1 + 0x8A); - a2 = *(u16 *)(param_1 + 0x8C); - a3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(param_1 + 0x2) = 2; - *(u16 *)(param_1 + 0x6) = v1; - *(u16 *)(param_1 + 0xA) = a1; - *(u16 *)(param_1 + 0xE) = a2; - *(u16 *)(a3 + 0x10) = 0; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk88; + a1 = ((Unkstruct_800B5CB8 *)param_1)->unk8A; + a2 = ((Unkstruct_800B5CB8 *)param_1)->unk8C; + a3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = v1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = a1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = a2; + ((Unkstruct_800B5CB8 *)a3)->unk10 = 0; func_8012B2CC(param_1); } } @@ -6847,9 +6847,9 @@ void func_8018461C(void *a0) { extern s32 func_8012BEE8(s32 a0); void func_80184630(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += 0x80; if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } } @@ -6858,7 +6858,7 @@ void func_80184630(s32 param_1) { extern void (*D_801CC3AC[])(void); void func_8018467C(void *a0) { - D_801CC3AC[*(u16 *)((s32)a0 + 0x2)](); + D_801CC3AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6916,9 +6916,9 @@ void func_80184754(void *a0) { s32 s1; - s1 = *(s32 *)((s32)a0 + 0x64); + s1 = ((Unkstruct_800B5CB8 *)a0)->unk64; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(s1 + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(s1 + 0x36)) { func_8012C218(a0); return; } @@ -6926,13 +6926,13 @@ void func_80184754(void *a0) if (*(s32 *)(s1 + 0x1C) == 0) { func_80132288(&D_801EFA68, &D_801CC38C, D_801CCE84); } else { - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(s1 + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(s1 + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(s1 + 0xC); - *(SV4x_80184754 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = *(SV4x_80184754 *)(*(s32 *)(s1 + 0x20) + 0x10); - *(SV4x_80184754 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = *(SV4x_80184754 *)(*(s32 *)(s1 + 0x20) + 0x18); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x2C); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(s1 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(s1 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(s1 + 0xC); + *(SV4x_80184754 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) = *(SV4x_80184754 *)(*(s32 *)(s1 + 0x20) + 0x10); + *(SV4x_80184754 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) = *(SV4x_80184754 *)(*(s32 *)(s1 + 0x20) + 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x2C); + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); func_8013240C((s32)&D_801EFA68); } } @@ -6942,7 +6942,7 @@ void func_80184754(void *a0) extern void (*D_801CC3CC[])(void); void func_80184878(void *a0) { - D_801CC3CC[*(u16 *)((s32)a0 + 0x2)](); + D_801CC3CC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6962,23 +6962,23 @@ void func_801848B4(s32 param_1) { s0 = param_1; a0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(s0 + 0x20) = a0; + ((Unkstruct_800B5CB8 *)s0)->unk20 = a0; if (a0 == 0) { func_8012CAE4((void *)s0); return; } - func_8001C214(a0, D_801CC3B4[*(u16 *)(s0 + 0x70) & 1]); - v1 = *(u16 *)(*(s32 *)(s0 + 0x64) + 0x36); - *(s16 *)(s0 + 0x2) = 1; - *(s16 *)(s0 + 0xFC) = v1; + func_8001C214(a0, D_801CC3B4[CAST_SIGN(u16, s0, 0x70) & 1]); + v1 = *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = v1; func_8012A828(s0, D_8018A800); - v0 = *(u16 *)(s0 + 0x70) & 1; + v0 = CAST_SIGN(u16, s0, 0x70) & 1; if (v0 != 0) { v0 = 1000; } else { v0 = -250; } - *(s16 *)(s0 + 0xFE) = v0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = v0; } @@ -6992,60 +6992,60 @@ extern u8 D_801CC3BC[]; void func_8018495C(void *a0) { s32 s0 = (s32)a0; - s32 s1 = *(s32 *)(s0 + 0x64); + s32 s1 = ((Unkstruct_800B5CB8 *)s0)->unk64; SV3_8018495C out; s32 t; - if (*(s16 *)(s0 + 0xFC) != *(s16 *)(s1 + 0x36)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFC != *(s16 *)(s1 + 0x36)) { func_8012C218((void *)s0); return; } - *(Blk8_8018495C *)(*(s32 *)(s0 + 0x20) + 0x10) = + *(Blk8_8018495C *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x10) = *(Blk8_8018495C *)(*(s32 *)(s1 + 0x20) + 0x10); - if (*(u16 *)(s0 + 0x70) & 1) { + if (CAST_SIGN(u16, s0, 0x70) & 1) { t = *(s32 *)(s1 + 0x1C); if (t != 0) { t = t - 0x18; } else { - *(u16 *)(s0 + 0xFE) = 0x400; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 0x400; t = *(s32 *)(s1 + 0x1C) - 0x18; } if ((u32)t < 0x11) { - *(u16 *)(s0 + 0xFE) = *(u16 *)(s0 + 0xFE) - 0x40; + ((Unkstruct_800B5CB8 *)s0)->unkFE = CAST_SIGN(u16, s0, 0xFE) - 0x40; } } else { t = *(s32 *)(s1 + 0x1C); if (t != 0) { t = t - 0x18; } else { - *(s16 *)(s0 + 0xFE) = -0xFA; + ((Unkstruct_800B5CB8 *)s0)->unkFE = -0xFA; t = *(s32 *)(s1 + 0x1C) - 0x18; } if ((u32)t < 0xB) { - *(u16 *)(s0 + 0xFE) = *(u16 *)(s0 + 0xFE) + 0x19; + ((Unkstruct_800B5CB8 *)s0)->unkFE = CAST_SIGN(u16, s0, 0xFE) + 0x19; } } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) + *(u16 *)(s0 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 + CAST_SIGN(u16, s0, 0xFE); - func_8012F214(*(s32 *)(s0 + 0x64), - (s32)D_801CC3BC + ((*(u16 *)(s0 + 0x70) & 1) << 3), + func_8012F214(((Unkstruct_800B5CB8 *)s0)->unk64, + (s32)D_801CC3BC + ((CAST_SIGN(u16, s0, 0x70) & 1) << 3), (s32)&out); - *(s16 *)(s0 + 0x6) = out.a; - *(s16 *)(s0 + 0xA) = out.b; - *(s16 *)(s0 + 0xE) = out.c; + ((Unkstruct_800B5CB8 *)s0)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)s0)->unkA = out.b; + ((Unkstruct_800B5CB8 *)s0)->unkE = out.c; - *(Blk8_8018495C *)(*(s32 *)(s0 + 0x20) + 0x18) = + *(Blk8_8018495C *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x18) = *(Blk8_8018495C *)(*(s32 *)(s1 + 0x20) + 0x18); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x2C); - *(s32 *)(*(s32 *)(s0 + 0x20) + 0x4) = + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); } @@ -7060,17 +7060,17 @@ void func_80184B18(s32 a0) { u32 v1; u32 (*func_ptr)(void); - v0 = *(u16 *)((u8 *)s0 + 2); + v0 = CAST_SIGN(u16, (u8 *)s0, 2); v0 = v0 * 4; func_ptr = (u32 (*)(void))D_801D0D78[v0 / 4]; func_ptr(); - v0 = *(u16 *)s0; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk0; if (v0 == 0) { return; } - v0 = *(u32 *)((u8 *)s0 + 0x20); + v0 = CAST_SIGN(u32, (u8 *)s0, 0x20); v1 = *(u16 *)((u8 *)v0 + 0x2C); v1 = v1 | 0x10; *(u16 *)((u8 *)v0 + 0x2C) = v1; @@ -7080,7 +7080,7 @@ void func_80184B18(s32 a0) { if (v0 != v1) { return; } - *(u16 *)((u8 *)s0 + 0x102) = (v0 = 1); + ((Unkstruct_800B5CB8 *)s0)->unk102 = (v0 = 1); func_80185EE4(a0); } @@ -7096,14 +7096,14 @@ extern s32 D_801D0CA0; void func_80184BA4(s32 param_1) { if (func_8012C354(param_1, (s32)&D_801D0C6C) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xBC) = (s32)&D_801D0CA0; - *(s32 *)(param_1 + 0xB4) = 0xFFFBDFD9; - *(s32 *)(param_1 + 0xDC) = 0; - *(s16 *)(param_1 + 0x100) = 0x1000; - *(s32 *)(param_1 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_801D0CA0; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xFFFBDFD9; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 1; func_80143970(param_1); - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012B2CC(param_1); } } @@ -7156,18 +7156,18 @@ extern u8 D_801D5AD4[]; void func_80184C58(s32 a0) { s32 v; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BCCC(a0) <= 0x10000) { - func_8001C924(*(s32 *)(a0 + 0x20), (void *)&D_801D29A8); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, (void *)&D_801D29A8); func_8012A828(a0, (void *)&(*(u8 *)D_801D5AD4)); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } } else { v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (func_8012BEE8(a0) != 0 || v == 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } } @@ -7178,9 +7178,9 @@ extern s32 rand(void); extern u8 D_801D5AD4[]; void func_80184D28(s32 a0) { - *(s16 *)(a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012A828(a0, (void *)&(*(u8 *)D_801D5AD4)); - *(s32 *)(a0 + 0x1C) = rand() % 17 + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 17 + 0x28; *(u16 *)(a0 + 0x52) = 0; } @@ -7188,7 +7188,7 @@ void func_80184D28(s32 a0) { extern s32 func_8012BEE8(s32 arg); void func_80184D9C(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s16 *)((u8 *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; } } @@ -7223,19 +7223,19 @@ void func_80184E38(s32 a0) { s32 s0 = a0; if (func_8012BD3C(s0, 0x400, 0x10000) == 1) { if (func_8012BCCC(s0) < 0x3001) { - *(s16 *)(s0 + 2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; return; } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - func_8012B8E4(s0, (s16)(rand() % 11 + 10)) + *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + func_8012B8E4(s0, (s16)(rand() % 11 + 10)) + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12; func_8012B178(s0, 0xFFFE0000); if (func_80185D10(s0) == 0) { return; } } else { if (func_80185D10(s0) == 0) { - *(s16 *)(s0 + 2) = 0xA; - *(s32 *)(s0 + 0xDC) |= 0x40; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)s0)->unkDC |= 0x40; return; } } @@ -7261,16 +7261,16 @@ s32 s0; if ((func_8012BCCC(s0)) >= 0x3001) { v0 = rand(); v0 = func_8012B8E4(s0, (s16)(v0 - v0 / 5 * 5 + 4)); - v1 = *(s32 *)(s0 + 0x20); - *(s16 *)(v1 + 0x12) = (s16)(*(u16 *)(v1 + 0x12) + v0); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = (s16)(((Unkstruct_800B5CB8 *)v1)->unk12 + v0); func_8012B178(s0, 0xFFFC0000); func_80185D10(s0); } else { - *(s16 *)(s0 + 2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; } } else { if (func_80185D10(s0) == 0) { - *(s16 *)(s0 + 2) = 0xA; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xA; } } } @@ -7284,9 +7284,9 @@ void func_8018501C(s32 a0) { extern char D_801D5C84[]; - *(short *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, &D_801D5C84); - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80185CA4(a0); } @@ -7307,31 +7307,31 @@ void func_80185064(s32 a0) { s32 flags; v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; - if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) { - if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x20) != 0) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk1C - 10) < 0xD) { func_80185AF0(a0); } } else { - if (*(s32 *)(a0 + 0x1C) == 0x16) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x16) { func_801859C4(a0); } - if (*(s32 *)(a0 + 0x1C) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x10) { ((void (*)(s32))func_80185B5C)(a0); } } if (func_8012BEE8(a0) != 0) { - flags = *(s32 *)(a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (flags & 1) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (flags & 0x10) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFEF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80185CA4(a0); } } @@ -7363,20 +7363,20 @@ void func_8018518C(void *a0) { s32 cleared; s32 timer; - *(s16 *)((s32)a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; func_8012A828((s32)a0, D_801D5AD4); - flags = *(s32 *)((s32)a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; cleared = flags & ~8; - *(s32 *)((s32)a0 + 0xDC) = cleared; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared; if (flags & 0x40) { - *(s32 *)((s32)a0 + 0xDC) = cleared & ~0x40; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared & ~0x40; timer = 30; } else { timer = rand() % 16 + 15; } - *(s32 *)((s32)a0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)a0)->unk1C = timer; if (func_8012BD3C((s32)a0, 0x400, 0x8000) == 0) { - *(s32 *)((s32)a0 + 0xDC) |= 8; + ((Unkstruct_800B5CB8 *)a0)->unkDC |= 8; } } @@ -7387,18 +7387,18 @@ extern s32 func_8012BEE8(s32 a0); void func_80185244(s32 a0) { s32 v; - if ((*(s32 *)(a0 + 0xDC) & 8) != 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 0x44; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 8) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 0x44; } else { v = func_8012B8E4(a0, 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (v == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; return; } } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } @@ -7641,16 +7641,16 @@ void func_80185680(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s32 *)(param_1 + 0xDC) & 0x80) { - p = *(s32 *)(param_1 + 0x20); - *(s16 *)(p + 0x1C) = 0x1000; - *(s16 *)(p + 0x18) = 0x1000; - *(s32 *)(param_1 + 0xDC) &= ~0x80; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 0x80) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, p, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)p)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkDC &= ~0x80; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; } a = param_1; *(s16 *)(a + 0x5C) |= 1; @@ -7660,9 +7660,9 @@ void func_80185680(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -7676,10 +7676,10 @@ extern u8 D_801D4358; extern u8 D_801D5FBC; void func_80185768(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801D4358); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801D4358); func_8012A828(param_1, &D_801D5FBC); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } @@ -7693,11 +7693,11 @@ void func_801857C4(s32 a0) s32 v0; s32 v1; - if ((*(s32 *)(a0 + 0x1C)) < 0x11) { - v0 = *(s32 *)(a0 + 0x20); - v1 = *(s32 *)(v0 + 0x4); + if ((((Unkstruct_800B5CB8 *)a0)->unk1C) < 0x11) { + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v1 = CAST_WIDTH(s32, v0, 0x4); v1 = v1 ^ 0x80000000; - *(s32 *)(v0 + 0x4) = v1; + CAST_WIDTH(s32, v0, 0x4) = v1; } if (func_8012BEE8(a0) != 0) { @@ -7733,19 +7733,19 @@ void func_8018583C(s32 param_1) { s32 iVar1; s32 uVar2; - *(s16 *)(param_1 + 0x5C) = 0; - if (*(s32 *)(param_1 + 0xDC) & 2) { - *(s32 *)(param_1 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 2) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x2D; func_8012A828(param_1, &D_801D609C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - (*(u16 *)(param_1 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + (((Unkstruct_800B5CB8 *)param_1)->unk62 + 0x800) & 0xFFF; *(s16 *)(param_1 + 0x52) = 0; } else { - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801D4358); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801D4358); func_8012A828(param_1, &D_801D5FBC); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } iVar1 = func_8012BCCC(param_1); uVar2 = 0x520; @@ -7763,15 +7763,15 @@ extern void func_80185EE4(s32 a0); void func_8018590C(s32 a0) { - if ((*(s32 *)(a0 + 0xDC) & 0x2) != 0) { - if (*(s32 *)(a0 + 0x1C) >= 0x15) { - s32 p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x10) = *(u16 *)(p + 0x10) - 0x28; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x2) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x15) { + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk10 = ((Unkstruct_800B5CB8 *)p)->unk10 - 0x28; } } - if (*(s32 *)(a0 + 0x1C) < 0x11) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) ^= 0x80000000; } if (func_8012BEE8(a0) != 0) { @@ -7941,28 +7941,28 @@ s32 func_80185D10(s32 a0) { ret = 0; } - *(s32 *)(a0 + 0xDC) &= ~0x40; + ((Unkstruct_800B5CB8 *)a0)->unkDC &= ~0x40; p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - kind = *(u16 *)p; + kind = ((Unkstruct_800B5CB8 *)p)->unk0; if (kind == 0xAF || kind == 0x6F || kind == 0x100) { - if (*(s32 *)(p + 0x58) != 0 && a0 != (s32)p) { - buf1[0] = *(u16 *)(a0 + 0x3A); - buf1[1] = *(u16 *)(a0 + 0x3E); - buf1[2] = *(u16 *)(a0 + 0x42); - buf2[0] = *(u16 *)(a0 + 0x6); - buf2[1] = *(u16 *)(a0 + 0xA); - buf2[2] = *(u16 *)(a0 + 0xE); - if (func_80135A4C(*(s32 *)(p + 0x20), *(s32 *)(p + 0x58), + if (((Unkstruct_800B5CB8 *)p)->unk58 != 0 && a0 != (s32)p) { + buf1[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + buf1[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + buf1[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; + buf2[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf2[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf2[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + if (func_80135A4C(((Unkstruct_800B5CB8 *)p)->unk20, ((Unkstruct_800B5CB8 *)p)->unk58, (s32 *)buf1, (s32)buf2) != 0) { if ((func_8012CEB0((s32)buf1, (s32)buf2, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return ret; } - *(u16 *)(a0 + 0x6) = buf2[0]; - *(u16 *)(a0 + 0xA) = buf2[1]; - *(u16 *)(a0 + 0xE) = buf2[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = buf2[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = buf2[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = buf2[2]; break; } } @@ -7981,16 +7981,16 @@ s32 a0; { s32 v1; - if (*(short *)((char *)a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { ((void (*)(s32))func_8002A04C)((s32)a0); if (*(unsigned char *)((char *)a0 + 0xC1) == 0xE) { func_8002AC00(0xB); } } - if (!((*(short *)((char *)a0 + 0x70) & 0x8000))) { - v1 = *(s32 *)((char *)a0 + 0x68); - if (v1 != 0 && ((*(short *)((char *)a0 + 0x72) & 0x8000))) { + if (!((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000))) { + v1 = ((Unkstruct_800B5CB8 *)a0)->unk68; + if (v1 != 0 && ((CAST_SIGN(short, (char *)a0, 0x72) & 0x8000))) { *(unsigned short *)(v1 + 0xA) = *(unsigned short *)(v1 + 0xA) & 0x7FFF; } } @@ -8043,25 +8043,25 @@ s32 func_80185F88(s32 a0) self4 = (s16 *)(a0 + 4); sc = (u32 *)sp20; do { - if (*(u16 *)a0 == *(u16 *)p && (u8 *)a0 != p) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 == ((Unkstruct_800B5CB8 *)p)->unk0 && (u8 *)a0 != p) { if (func_8012BC60(self4, (s16 *)(p + 4)) < 0x1000) { ang = func_8012B6D4(self4, (s16 *)(p + 4)); func_8012B0B4(sc, ang, 0x41); - v18[0] = *(u16 *)(p + 6); - v18[1] = *(u16 *)(p + 0xA); - v18[2] = *(u16 *)(p + 0xE); + v18[0] = ((Unkstruct_800B5CB8 *)p)->unk6; + v18[1] = ((Unkstruct_800B5CB8 *)p)->unkA; + v18[2] = ((Unkstruct_800B5CB8 *)p)->unkE; v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if ((func_8012CEB0((s32)&v10[0], (s32)&v18[0], 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return 1; } - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - do { *(u16 *)(a0 + 0xE) = v18[2]; } while (0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + do { ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; } while (0); return 1; } } @@ -8105,17 +8105,17 @@ void func_80186168(s32 a0) { SVECTOR out; s32 v0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) &= 0xFFEF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C &= 0xFFEF; { - s16 *p = (s16 *)*(s32 *)(a0 + 0x20); + s16 *p = (s16 *)((Unkstruct_800B5CB8 *)a0)->unk20; p[0xE] = 0x1000; p[0xD] = 0x1000; p[0xC] = 0x1000; } - in.vx = *(s16 *)(a0 + 0x6); - in.vy = *(s16 *)(a0 + 0xA); - in.vz = *(s16 *)(a0 + 0xE); + in.vx = CAST_SIGN(s16, a0, 0x6); + in.vy = CAST_SIGN(s16, a0, 0xA); + in.vz = CAST_SIGN(s16, a0, 0xE); out = in; out.vy += 8; @@ -8127,12 +8127,12 @@ void func_80186168(s32 a0) { } if (v0 == 0) { - *(s16 *)(a0 + 0x2) = 0x11; - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; return; } - if (*(s32 *)(a0 + 0xC4) & 4) { + if (((Unkstruct_800B5CB8 *)a0)->unkC4 & 4) { func_8018626C(a0); } else { func_801862B8(a0); @@ -8147,9 +8147,9 @@ extern void func_8012B23C(s32 a0); extern short D_801E154C; void func_8018626C(s32 a0) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; func_8012A828(a0, &D_801E154C); func_8012B23C(a0); } @@ -8166,21 +8166,21 @@ extern short D_801E1134; void func_801862B8(s32 a0) { LVec1CDC d; - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x34) = 0; - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s32 *)(a0 + 0x1C) = (rand() & 0x1F) + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x1F) + 0x28; { void *target = (void *)(a0 + 0x88); - d.vx = *(s16 *)(a0 + 0x6) - *(s16 *)target; + d.vx = CAST_SIGN(s16, a0, 0x6) - *(s16 *)target; d.vy = 0; - d.vz = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + d.vz = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&d.vx, &d.vx); if (d.vx + d.vz > 0x8FFFF) { - *(s16 *)(a0 + 0xFC) = + ((Unkstruct_800B5CB8 *)a0)->unkFC = func_8012B744((void *)(a0 + 0x4), target); } else { s32 t = rand() & 0x3FF; @@ -8191,8 +8191,8 @@ void func_801862B8(s32 a0) { } else { v1 = t + 0x100; } - *(s16 *)(a0 + 0xFC) = - (*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + v1) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = + (((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + v1) & 0xFFF; } } @@ -8219,15 +8219,15 @@ void func_801863B8(s32 a0) { struct { s32 vx, vy, vz, pad; } vec; s32 v0; - if (*(s32 *)(a0 + 0x1C) > 7) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += - func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s16 *)(a0 + 0xFC), 8); + if (((Unkstruct_800B5CB8 *)a0)->unk1C > 7) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += + func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkFC, 8); } - vec.vx = *(s16 *)(a0 + 0x6) - *(s16 *)(a0 + 0x88); + vec.vx = CAST_SIGN(s16, a0, 0x6) - CAST_SIGN(s16, a0, 0x88); vec.vy = 0; - vec.vz = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + vec.vz = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&vec.vx, &vec.vx); if (vec.vx + vec.vz <= 0x8FFFF && func_8012BD3C(a0, 0x300, 0x24000) != 0) { @@ -8281,10 +8281,10 @@ void func_80186530(s32 param_1) void *s1_ptr; s32 tmp0; - if ((*(u16 *)(param_1 + 0x34) == 0) && ((*(u16 *)(param_1 + 0x72) & 0x4000) != 0)) { - d.vx = *(s16 *)(param_1 + 0x6) - *(s16 *)(param_1 + 0x88); + if ((((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) && ((((Unkstruct_800B5CB8 *)param_1)->unk72 & 0x4000) != 0)) { + d.vx = CAST_SIGN(s16, param_1, 0x6) - CAST_SIGN(s16, param_1, 0x88); d.vy = 0; - d.vz = *(s16 *)(param_1 + 0xE) - *(s16 *)(param_1 + 0x8C); + d.vz = CAST_SIGN(s16, param_1, 0xE) - CAST_SIGN(s16, param_1, 0x8C); Square0(&d.vx, &d.vx); if (d.vx + d.vz > 0x8FFFF) { @@ -8296,25 +8296,25 @@ void func_80186530(s32 param_1) return; } - *(s16 *)(param_1 + 0x2) = v0; - *(s16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; r = rand(); p = &d; r = r & 0x1F; - dx = *(s16 *)(param_1 + 0x6); + dx = CAST_SIGN(s16, param_1, 0x6); tmp0 = param_1 + 0x88; dz = *(s16 *)tmp0; - *(s32 *)(param_1 + 0x1C) = r + 0x28; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = r + 0x28; p->vy = 0; p->vx = dx - dz; - p->vz = *(s16 *)(param_1 + 0xE) - *(s16 *)(param_1 + 0x8C); + p->vz = CAST_SIGN(s16, param_1, 0xE) - CAST_SIGN(s16, param_1, 0x8C); Square0(&p->vx, &p->vx); s1_ptr = (void *)(param_1 + 0x88); if (d.vx + d.vz > 0x8FFFF) { - *(s16 *)(param_1 + 0xFC) = func_8012B744((void *)(param_1 + 4), s1_ptr); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = func_8012B744((void *)(param_1 + 4), s1_ptr); } else { v0 = rand() & 0x3FF; v1 = v0 - 0x200; @@ -8323,8 +8323,8 @@ void func_80186530(s32 param_1) } else { v1 = v0 - 0x500; } - v0 = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); - *(s16 *)(param_1 + 0xFC) = (v0 + v1) & 0xFFF; + v0 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (v0 + v1) & 0xFFF; } func_8012A828(param_1, &D_801E1134); @@ -8338,21 +8338,21 @@ extern s16 D_801E11DC; extern s16 D_801E1264; void func_801866C8(s32 a0) { - *(s16 *)(a0 + 0x2) = 3; - if (*(u16 *)(a0 + 0x86) & 2) { - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x28; - if (*(u16 *)(a0 + 0x70) & 0x200) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; + if (CAST_SIGN(u16, a0, 0x70) & 0x200) { func_8012A828(a0, &D_801E1AFC); } else { func_8012A828(a0, &D_801E11DC); } - *(u16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } else { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828(a0, &D_801E1264); - *(s32 *)(a0 + 0x1C) = 0x19; - *(u16 *)(a0 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; } } @@ -8393,36 +8393,36 @@ void func_80186770(s32 param_1) s32 d; void *target; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: v = func_8012B8E4(param_1, 4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += v; - if (*(s32 *)(param_1 + 0x1C) == 0xF) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += v; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0xF) { func_80142414(param_1, -0x78); func_8002D4C8(0x6A9, 0); } if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x2) = 3; - if ((*(u16 *)(param_1 + 0x86) & 2) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x28; - if ((*(u16 *)(param_1 + 0x70) & 0x200) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + if ((((Unkstruct_800B5CB8 *)param_1)->unk86 & 2) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x28; + if ((CAST_SIGN(u16, param_1, 0x70) & 0x200) != 0) { func_8012A828(param_1, &D_801E1AFC); } else { func_8012A828(param_1, &D_801E11DC); } - *(u16 *)(param_1 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; } else { - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012A828(param_1, &D_801E1264); - *(s32 *)(param_1 + 0x1C) = 0x19; - *(u16 *)(param_1 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk86 |= 2; } } break; case 1: v = func_8012B8E4(param_1, 6); - (*(u16 **)(param_1 + 0x20))[9] += v; + (CAST_SIGN(u16 *, param_1, 0x20))[9] += v; func_8012B178(param_1, D_801D619C); d = ((s32 (*)(s32))func_8012CBA4)(param_1); if ((d & 0x1000) != 0) { @@ -8431,31 +8431,31 @@ void func_80186770(s32 param_1) func_8012ADE4((u8 *)param_1); } func_80185F88(param_1); - v = *(u16 *)(param_1 + 0xFE) - 1; - *(u16 *)(param_1 + 0xFE) = v; + v = CAST_SIGN(u16, param_1, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = v; if ((v << 16) <= 0) { func_80143B6C(param_1, 0); - *(u16 *)(param_1 + 0xFE) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 8; } - if ((*(u16 *)(param_1 + 0x70) & 0x200) != 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x200) != 0) { func_80186C38(param_1, 0x11); } target = (void *)(param_1 + 0x88); - vec.vx = *(s16 *)(param_1 + 6) - *(s16 *)(param_1 + 0x88); + vec.vx = CAST_SIGN(s16, param_1, 6) - CAST_SIGN(s16, param_1, 0x88); vec.vy = 0; - vec.vz = *(s16 *)(param_1 + 0xE) - *(s16 *)(param_1 + 0x8C); + vec.vz = CAST_SIGN(s16, param_1, 0xE) - CAST_SIGN(s16, param_1, 0x8C); Square0(&vec.vx, &vec.vx); if (vec.vx + vec.vz > 0x8FFFF || (d = func_8012BCCC(param_1), d > 0x24000)) { - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 0x5C) = 0xAA10; - *(s32 *)(param_1 + 0x1C) = (rand() & 0x1F) + 0x28; - vec.vx = *(s16 *)(param_1 + 6) - *(s16 *)(param_1 + 0x88); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (rand() & 0x1F) + 0x28; + vec.vx = CAST_SIGN(s16, param_1, 6) - CAST_SIGN(s16, param_1, 0x88); vec.vy = 0; - vec.vz = *(s16 *)(param_1 + 0xE) - *(s16 *)(param_1 + 0x8C); + vec.vz = CAST_SIGN(s16, param_1, 0xE) - CAST_SIGN(s16, param_1, 0x8C); Square0(&vec.vx, &vec.vx); if (vec.vx + vec.vz > 0x8FFFF) { - *(u16 *)(param_1 + 0xFC) = func_8012B744((void *)(param_1 + 4), target); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = func_8012B744((void *)(param_1 + 4), target); } else { s32 t = rand() & 0x3FF; s32 off = t - 0x200; @@ -8465,14 +8465,14 @@ void func_80186770(s32 param_1) } else { off = t + 0x100; } - *(u16 *)(param_1 + 0xFC) = - (*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + off) & 0xFFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = + (((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + off) & 0xFFF; } func_8012A828(param_1, &D_801E1134); } - if ((*(u16 *)(param_1 + 0x70) & 0x100) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x100) == 0) { if (func_8012BD3C(param_1, 0x400, 0x1000) != 0) { - if ((*(u16 *)(param_1 + 0x70) & 0xF00) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF00) == 0) { ((void (*)(s32))func_80186B08)(param_1); } else { func_80186B34(param_1); @@ -8538,7 +8538,7 @@ extern u8 D_801E190C[]; extern void func_80186BC4(void *arg0); void func_80186B7C(s32 a0) { - if (*(s16 *)(a0 + 0x100) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_80186BC4(a0); } else { func_80186BF0(a0, 5, 30, (s32)D_801E190C); @@ -8550,7 +8550,7 @@ void func_80186B7C(s32 a0) { extern void func_8012A828(s32, void*); extern short D_801E1A04; void func_80186BC4(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; ((void (*)(s32, s32))func_8012A828)((int)arg0, (int)&D_801E1A04); } @@ -8558,10 +8558,10 @@ extern void func_8012A828(s32, void*); extern void func_8012A828(s32 a0, void *a1); void func_80186BF0(s32 a0, s32 a1, s32 a2, s32 a3) { - *(s16 *)(a0 + 0x34) = a1; - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = a1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012A828(a0, (void *)a3); - *(s32 *)(a0 + 0x1C) = a2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = a2; } diff --git a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c index f5a9548bd0..3f183236f2 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c @@ -3189,43 +3189,43 @@ void func_8017DAB8(s32 a0) extern u8 D_801A428C; extern u8 D_801A427C; - if ((*(s32 *)(a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4((void *)a0); return; } - if ((func_80029178((s32)D_801A429C[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) { - s0 = *(s32 *)(a0 + 0xDC); + if ((func_80029178((s32)D_801A429C[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { + s0 = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (s0 != 0) { s32 a1 = *(s32 *)(s0 + 0x4); if (a1 != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), a1); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, a1); if (*(s32 *)(s0 + 0xC) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } } } func_8012AD50((void *)a0); } else { - s0 = *(s32 *)(a0 + 0xDC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (s0 != 0) { s32 a1 = *(s32 *)s0; if (a1 != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), a1); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, a1); if (*(s32 *)(s0 + 0xC) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } } } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)&D_801A428C; - *(s32 *)(a0 + 0x58) = (s32)&D_801A427C | 0x40000000; - *(u16 *)(a0 + 0x5C) = 0x8800; - *(s32 *)(a0 + 0xB4) = 0; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0xAE) = 0x7FFF; - *(u8 *)(a0 + 0x75) = 0; - *(s32 *)(a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A428C; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A427C | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x7FFF; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; } func_8012AD50((void *)a0); } @@ -3279,12 +3279,12 @@ extern s32 D_801A4264; void func_8017DD0C(s32 a0) { s32 saved; s32 i; - saved = *(s32 *)(*(s32 **)(a0 + 0x20) + 8); - *(s32 *)(*(s32 **)(a0 + 0x20) + 8) = D_801A4264; + saved = CAST_WIDTH(s32, *(s32 **)(a0 + 0x20), 8); + CAST_WIDTH(s32, *(s32 **)(a0 + 0x20), 8) = D_801A4264; for (i = 0; i < 5; i++) { func_8012C658(0x150, i, a0); } - *(s32 *)(*(s32 **)(a0 + 0x20) + 8) = saved; + CAST_WIDTH(s32, *(s32 **)(a0 + 0x20), 8) = saved; } @@ -3330,59 +3330,59 @@ void func_8017DDC4(void *a0) /* §162: fold the store AND the test into ONE expression so cc1 keeps both * on the call's native $v0 instead of coalescing them into a fresh copy. */ - if ((*(s32 *)((s32)a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } - s1 = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xDC); + s1 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xDC); if (s1 != 0) { t = *(s32 *)(s1 + 0x8); if (t != 0) { - D_801D0120[*(s16 *)((s32)a0 + 0x70)].a = - ((s32 *)t)[*(s16 *)((s32)a0 + 0x70)]; + D_801D0120[((Unkstruct_800B5CB8 *)a0)->unk70].a = + ((s32 *)t)[((Unkstruct_800B5CB8 *)a0)->unk70]; } } - D_801D0120[*(s16 *)((s32)a0 + 0x70)].b = 0; - func_8001C214(*(s32 *)((s32)a0 + 0x20), - (s32)&D_801D0120[*(s16 *)((s32)a0 + 0x70)]); + D_801D0120[((Unkstruct_800B5CB8 *)a0)->unk70].b = 0; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, + (s32)&D_801D0120[((Unkstruct_800B5CB8 *)a0)->unk70]); if (*(s32 *)(s1 + 0xC) != 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } /* source order is DESCENDING here (0xE, 0xA, 0x6) — the emitted stores keep * source order, and the target's are 0xE/0xA/0x6 with 0x6 in the delay slot. */ - *(s16 *)((s32)a0 + 0xE) = 0; - *(s16 *)((s32)a0 + 0xA) = 0; - *(s16 *)((s32)a0 + 0x6) = 0; - func_80132784((s32)a0, *(s32 *)((s32)a0 + 0x64), *(u16 *)((s32)a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unk64, CAST_SIGN(u16, (s32)a0, 0x70)); - *(s16 *)((s32)a0 + 0x6) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x48); - *(s16 *)((s32)a0 + 0xA) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4C); - *(s16 *)((s32)a0 + 0xE) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk48; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk4C; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk50; - *(Rec8_8017DDC4 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = - *(Rec8_8017DDC4 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x10); + *(Rec8_8017DDC4 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) = + *(Rec8_8017DDC4 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x10); func_8012B23C(a0); - func_800484EC(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34, - (s32)&D_801A42B8[*(s16 *)((s32)a0 + 0x70)], + func_800484EC(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34, + (s32)&D_801A42B8[((Unkstruct_800B5CB8 *)a0)->unk70], (s32)a0 + 0x10); - *(s16 *)((s32)a0 + 0xFC) = rand() & 0xF0; - *(s16 *)((s32)a0 + 0xFE) = rand() & 0x1F0; - *(s16 *)((s32)a0 + 0x100) = rand() & 0x30; + ((Unkstruct_800B5CB8 *)a0)->unkFC = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = rand() & 0x30; v0 = func_80132EF4((s32)a0, 0x22); if (v0 != 0) { - *(s16 *)(v0 + 0x34) = 0x4001; - *(s32 *)(v0 + 0x10) = *(s32 *)((s32)a0 + 0x10) >> 2; - *(s32 *)(v0 + 0x14) = *(s32 *)((s32)a0 + 0x14) >> 2; - *(s32 *)(v0 + 0x18) = *(s32 *)((s32)a0 + 0x18) >> 2; + ((Unkstruct_800B5CB8 *)v0)->unk34 = 0x4001; + CAST_WIDTH(s32, v0, 0x10) = CAST_WIDTH(s32, (s32)a0, 0x10) >> 2; + ((Unkstruct_800B5CB8 *)v0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 2; + CAST_WIDTH(s32, v0, 0x18) = CAST_WIDTH(s32, (s32)a0, 0x18) >> 2; } - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012AD50(a0); } @@ -3391,7 +3391,7 @@ void func_8017DDC4(void *a0) extern void (*D_801A4308[])(void); void func_8017DFE0(void *a0) { - D_801A4308[*(u16 *)((s32)a0 + 0x2)](); + D_801A4308[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3408,32 +3408,32 @@ void func_8017E02C(s32 arg0) { s32 s1; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) + *(u16 *)(arg0 + 0xFC); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + *(u16 *)(arg0 + 0xFE); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x14) + *(u16 *)(arg0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 + CAST_SIGN(u16, arg0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + CAST_SIGN(u16, arg0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x14) + CAST_SIGN(u16, arg0, 0x100); s1 = ((s32 (*)(s32))func_8012CBF4)(arg0); - if (*(s16 *)(arg0 + 0xA) >= 0x101) { + if (CAST_SIGN(s16, arg0, 0xA) >= 0x101) { func_8012C218((void *)arg0); } - if (*(u16 *)(arg0 + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 != 0) { if ((s1 & 0x6000) != 0) { func_8012C218((void *)arg0); } } else if ((s1 & 0x6000) != 0) { u16 newcount; - *(s32 *)(arg0 + 0x14) = 0xFFF80000; - newcount = *(u16 *)(arg0 + 0x34) + 1; - *(u16 *)(arg0 + 0xFC) = (s16)*(u16 *)(arg0 + 0xFC) >> 1; - *(u16 *)(arg0 + 0xFE) = (s16)*(u16 *)(arg0 + 0xFE) >> 1; - *(u16 *)(arg0 + 0x34) = newcount; - *(u16 *)(arg0 + 0x100) = (s16)*(u16 *)(arg0 + 0x100) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xFFF80000; + newcount = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = (s16)CAST_SIGN(u16, arg0, 0xFC) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = (s16)CAST_SIGN(u16, arg0, 0xFE) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = newcount; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (s16)CAST_SIGN(u16, arg0, 0x100) >> 1; } } @@ -3473,40 +3473,40 @@ void func_8017E1FC(void *a0) { extern u8 D_801A4F78[]; extern u8 D_801A5068[]; - if (func_8012C354((s32)a0, (s32)(D_801A4F78 + ((*(u16 *)((s32)a0 + 0x70)) & 1) * 0x34)) != 0) { + if (func_8012C354((s32)a0, (s32)(D_801A4F78 + ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) * 0x34)) != 0) { s32 sub; s32 v; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_801A5068; - *(s32 *)((s32)a0 + 0xB4) = -0x20EF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A5068; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20EF; - *(s32 *)((s32)a0 + 0xC4) |= 3; - if (*(s32 *)((s32)a0 + 0xDC) == 0) { - *(s32 *)((s32)a0 + 0xDC) = 0x40000; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; + if (((Unkstruct_800B5CB8 *)a0)->unkDC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0x40000; } - if (*(s16 *)((s32)a0 + 0xFE) == 0) { - *(s16 *)((s32)a0 + 0xFE) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x3C; } - if ((*(u16 *)((s32)a0 + 0x70)) & 1) { - sub = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(sub + 0x2C) |= 0x10; + if ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) { + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)sub)->unk2C |= 0x10; - sub = *(s32 *)((s32)a0 + 0x20); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; v = 0x1666; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x1A) = v; - *(s16 *)(sub + 0x18) = v; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; } else { v = 0x1000; } - do { *(s16 *)((s32)a0 + 0x100) = v; } while (0); + do { ((Unkstruct_800B5CB8 *)a0)->unk100 = v; } while (0); func_8012C588(0x153, (s32)a0); func_8017F6B0(a0, 1); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -3515,7 +3515,7 @@ void func_8017E1FC(void *a0) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801A9B40; void func_8017E304(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012A828((int)arg0, (int)&D_801A9B40); } @@ -3525,11 +3525,11 @@ extern s32 func_8012E778(s32 param_1, s32 param_2); extern void func_8002D4C8(s32 a0, s32 a1); void func_8017E330(s32 a0) { - if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) != 0) { - *(s16 *)(a0 + 0x2) = 3; + if (func_8012BD3C(a0, 0x400, ((Unkstruct_800B5CB8 *)a0)->unkDC) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { if (func_8012E778(a0, 0x8C00B4) == 1) { func_8002D4C8(0x64A, 0); } @@ -3619,20 +3619,20 @@ void func_8017E590(s32 a0) if (func_8012BEE8(a0)) { if (func_8012BD14(a0) > 0x18FFF) { - *(u16 *)(a0 + 0x2) = 6; - *(s32 *)(a0 + 0x1C) = 0x20; - *(s32 *)((*(s32 *)(a0 + 0x20)) + 4) &= 0x7FFFFFFF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x1C) = 1; - *(u16 *)(v1 + 0x1A) = 1; - *(u16 *)(v1 + 0x18) = 1; - v0 = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + *(s32 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(u16, v1, 0x1C) = 1; + ((Unkstruct_800B5CB8 *)v1)->unk1A = 1; + ((Unkstruct_800B5CB8 *)v1)->unk18 = 1; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v0 + 0x14) = 0; *(u16 *)(v0 + 0x10) = 0; - v0 = *(s32 *)(a0 + 0x68); - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x12) = *(u16 *)(v0 + 0xC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk68; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = *(u16 *)(v0 + 0xC); func_8012B2CC(a0); } } @@ -3720,56 +3720,56 @@ void func_8017E72C(void *a0) { func_8012E9C0((s32)a0); - if (*(u16 *)((u8 *)a0 + 0x5E) != 0x1D) { - if (*(u8 *)((u8 *)a0 + 0xC8)) { + if (CAST_WIDTH(u16, (u8 *)a0, 0x5E) != 0x1D) { + if (((Unkstruct_800B5CB8 *)a0)->unkC8) { func_8002A520(a0); } - if (*(u8 *)((u8 *)a0 + 0xC9)) { + if (((Unkstruct_800B5CB8 *)a0)->unkC9) { func_8002A790(a0); } } { - s32 base = *(s32 *)((u8 *)a0 + 0x78); - speed = (*(s16 *)((u8 *)a0 + 0x60) * *(s16 *)(base + 0x30)) >> 12; + s32 base = ((Unkstruct_800B5CB8 *)a0)->unk78; + speed = (((Unkstruct_800B5CB8 *)a0)->unk60 * *(s16 *)(base + 0x30)) >> 12; } if (speed <= 0) { speed = 1; } - *(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed; + ((Unkstruct_800B5CB8 *)a0)->unk76 = CAST_SIGN(u16, (u8 *)a0, 0x76) - speed; { - *(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE; - if (*(s16 *)((u8 *)a0 + 0x76) <= 0) { - *(u16 *)((u8 *)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C & 0xFFFE; + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_80131E00(a0, 0xE); } else { if (speed > 0x10) { speed = 0x10; } - sv[0] = *(u16 *)((u8 *)a0 + 6) - D_80126B5E; - sv[1] = *(u16 *)((u8 *)a0 + 0xA) - D_80126B62; - sv[2] = *(u16 *)((u8 *)a0 + 0xE) - D_80126B66; + sv[0] = ((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E; + sv[1] = ((Unkstruct_800B5CB8 *)a0)->unkA - D_80126B62; + sv[2] = ((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66; VectorNormalSS(sv, (u8 *)a0 + 0x102); speed += 8; { - s32 p0 = speed * *(s16 *)((u8 *)a0 + 0x102); - s32 p1 = speed * *(s16 *)((u8 *)a0 + 0x104); - s32 p2 = speed * *(s16 *)((u8 *)a0 + 0x106); - *(s32 *)((u8 *)a0 + 0x1C) = 0x10; - *(s16 *)((u8 *)a0 + 0x102) = p0 >> 12; - *(s16 *)((u8 *)a0 + 0x104) = p1 >> 12; - *(s16 *)((u8 *)a0 + 0x106) = p2 >> 12; + s32 p0 = speed * ((Unkstruct_800B5CB8 *)a0)->unk102; + s32 p1 = speed * ((Unkstruct_800B5CB8 *)a0)->unk104; + s32 p2 = speed * ((Unkstruct_800B5CB8 *)a0)->unk106; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = p0 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk104 = p1 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk106 = p2 >> 12; } } } - *(s16 *)((u8 *)a0 + 6) = *(u16 *)((u8 *)a0 + 0x88); - *(s16 *)((u8 *)a0 + 0xA) = *(u16 *)((u8 *)a0 + 0x8A); - *(s16 *)((u8 *)a0 + 0xE) = *(u16 *)((u8 *)a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; func_8012A828((s32)a0, (s32)D_801A9D90); } @@ -3777,14 +3777,14 @@ void func_8017E72C(void *a0) { void func_8017E8D4(s32 self) { s32 t; - t = (*(s32 *)(self + 0x1C) << 10) & 0xC00; + t = (((Unkstruct_800B5CB8 *)self)->unk1C << 10) & 0xC00; t = -(func_8004787C(t) >> 12); - *(u16 *)(self + 0x6) = *(u16 *)(self + 0x6) + *(u16 *)(self + 0x102) * t; - *(u16 *)(self + 0xA) = *(u16 *)(self + 0xA) + *(u16 *)(self + 0x104) * t; - *(u16 *)(self + 0xE) = *(u16 *)(self + 0xE) + *(u16 *)(self + 0x106) * t; + ((Unkstruct_800B5CB8 *)self)->unk6 = ((Unkstruct_800B5CB8 *)self)->unk6 + CAST_SIGN(u16, self, 0x102) * t; + ((Unkstruct_800B5CB8 *)self)->unkA = ((Unkstruct_800B5CB8 *)self)->unkA + CAST_SIGN(u16, self, 0x104) * t; + ((Unkstruct_800B5CB8 *)self)->unkE = ((Unkstruct_800B5CB8 *)self)->unkE + CAST_SIGN(u16, self, 0x106) * t; if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; func_8017ED0C(self); } } @@ -3794,13 +3794,13 @@ extern s32 D_801A4FE0; void func_8017E980(int param_1) { - *(s32 *)(param_1 + 0x1C) = 0x78; - *(u16 *)(param_1 + 0x5C) &= 0xFFFE; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78; + ((Unkstruct_800B5CB8 *)param_1)->unk5C &= 0xFFFE; func_80143CD4(param_1); func_8002D4C8(0x47B, 0); func_8002D4C8(0x478, 0); func_800CB0E8(param_1); - *(s32 *)(param_1 + 0xCC) = (s32)&D_801A4FE0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = (s32)&D_801A4FE0; } @@ -3813,22 +3813,22 @@ void func_8017E9E8(s32 self) { s32 q; s32 e; - p = *(s32 *)(self + 0xCC); - q = *(s32 *)(self + 0x20); - *(u16 *)(q + 0x10) = *(u16 *)(p + 0); - *(u16 *)(q + 0x14) = *(u16 *)(p + 4); + p = ((Unkstruct_800B5CB8 *)self)->unkCC; + q = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)q)->unk10 = ((Unkstruct_800B5CB8 *)p)->unk0; + CAST_WIDTH(u16, q, 0x14) = CAST_SIGN(u16, p, 4); p += 8; - if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(self + 0xCC) = (s32)&(*(u8 *)&D_801A4FE0); + if (CAST_SIGN(s16, p, 6) == 0x7FFF) { + ((Unkstruct_800B5CB8 *)self)->unkCC = (s32)&(*(u8 *)&D_801A4FE0); } else { - *(s32 *)(self + 0xCC) = p; + ((Unkstruct_800B5CB8 *)self)->unkCC = p; } if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; - e = *(s32 *)(self + 0x20); - *(u16 *)(e + 0x14) = 0; - *(u16 *)(e + 0x10) = 0; + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; + e = ((Unkstruct_800B5CB8 *)self)->unk20; + CAST_WIDTH(u16, e, 0x14) = 0; + ((Unkstruct_800B5CB8 *)e)->unk10 = 0; func_8017ED0C(self); } } @@ -3922,7 +3922,7 @@ extern void func_80130D48(s32 a0); extern void func_8017EC78(void *arg0); void func_8017EC18(void *a0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 4) ^= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) ^= 0x80000000; if (func_8012BEE8((s32)a0) != 0) { func_8002AC00(0xF); func_80130D48((s32)a0); @@ -3934,20 +3934,20 @@ void func_8017EC18(void *a0) { void func_8017EC78(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0xC000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0xC000) != 0) { func_8012C098(arg0); } else { - s32 a0 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 5; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x78; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; - *(s32 *)((char *)a0 + 0x4) |= 0x80000000; - *(s16 *)((char *)arg0 + 0xAA) = 0; - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + s32 a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x78; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + CAST_WIDTH(s32, (char *)a0, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)arg0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } } @@ -3988,7 +3988,7 @@ void func_8017ED0C(s32 a0) { extern void (*D_801A5124[])(void); void func_8017ED80(void *a0) { - D_801A5124[*(u16 *)((s32)a0 + 0x2)](); + D_801A5124[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4006,17 +4006,17 @@ void func_8017EDBC(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); } else { func_8001C214(v0, (s32)&D_801A8938); - *(s16 *)(a0 + 0xFC) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(Rec8_801863EC *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(Rec8_801863EC *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x18); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x2C); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(Rec8_801863EC *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) = + *(Rec8_801863EC *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -4035,7 +4035,7 @@ extern void func_8012C218(void *a0); extern void (*D_801A5440[])(void); void func_8017EEB0(void *a0) { - D_801A5440[*(u16 *)((s32)a0 + 0x2)](); + D_801A5440[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4053,7 +4053,7 @@ void func_8017EEEC(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -4062,7 +4062,7 @@ void func_8017EEEC(void *a0) { func_8012E8A8((u8 *)a0); } - v1 = *(unsigned short *)(*(s32 *)((s32)a0 + 0x64) + 0xFC); + v1 = *(unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC); *(unsigned short *)((s32)a0 + 0x2) = 1; *(unsigned short *)((s32)a0 + 0x104) = v1; } @@ -4081,24 +4081,24 @@ void func_8017EF64(s32 a0) { s0 = a0; if (func_8017F400(a0) != 1) { - t0 = *(s32 *)(s0 + 0x64); + t0 = ((Unkstruct_800B5CB8 *)s0)->unk64; if (*(u16 *)(t0 + 0x2) == 4 && *(s32 *)(t0 + 0x90) == (s32)&(*(u8 *)D_801A9C08) && *(s32 *)(t0 + 0x94) == 0 && *(u8 *)(t0 + 0xC1) == 0 && (*(u16 *)(t0 + 0x5C) & 1) == 0) { - *(u16 *)(s0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 4; } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(t0 + 0x20) + 0x12); - *(Blk8_80186594 *)(*(s32 *)(s0 + 0x20) + 0x18) = *(Blk8_80186594 *)(*(s32 *)(t0 + 0x20) + 0x18); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(t0 + 0x20) + 0x2C); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(t0 + 0x20) + 0x12); + *(Blk8_80186594 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x18) = *(Blk8_80186594 *)(*(s32 *)(t0 + 0x20) + 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C = *(u16 *)(*(s32 *)(t0 + 0x20) + 0x2C); v0 = (*(u16 *)(t0 + 0x5C) & 0xF7FF) | 0x4000; - v1 = *(u16 *)(s0 + 0x70) & 1; - *(u16 *)(s0 + 0x5C) = v0; + v1 = CAST_SIGN(u16, s0, 0x70) & 1; + ((Unkstruct_800B5CB8 *)s0)->unk5C = v0; if (v1 != 0) { - *(s32 *)(*(s32 *)(s0 + 0x20) + 0x4) = *(s32 *)(*(s32 *)(t0 + 0x20) + 0x4); + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x4) = *(s32 *)(*(s32 *)(t0 + 0x20) + 0x4); } } } @@ -4174,48 +4174,48 @@ void func_8017F17C(s32 a0) { if (func_8017F400(a0) == 1) { return; } - obj = *(s32 *)(a0 + 0x64); - if (*(u16 *)(a0 + 0x34) == 0) { - s32 t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + obj = ((Unkstruct_800B5CB8 *)a0)->unk64; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + s32 t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0x1D) { - *(s16 *)(a0 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; } - p = *(s32 *)(a0 + 0xCC); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = *(u16 *)(p + 6); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = ((Unkstruct_800B5CB8 *)p)->unk6; func_8012F14C(*(s32 *)(obj + 0x20) + 0x34, p, (s32)&sv); - *(u16 *)(a0 + 6) = *(u16 *)&sv.c[0]; - *(u16 *)(a0 + 0xA) = *(u16 *)&sv.c[2]; - *(u16 *)(a0 + 0xE) = *(u16 *)&sv.c[4]; + CAST_ALIAS(u16, a0, 6) = *(u16 *)&sv.c[0]; + CAST_ALIAS(u16, a0, 0xA) = *(u16 *)&sv.c[2]; + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)&sv.c[4]; p += 8; - if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0x48) = 0x18000; - *(s16 *)(a0 + 0x102) = 0; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; + if (CAST_SIGN(s16, p, 6) == 0x7FFF) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; func_8017F538(a0, 0xFFF00000); } else { - *(s32 *)(a0 + 0xCC) = p; + ((Unkstruct_800B5CB8 *)a0)->unkCC = p; } } else { s32 r; s32 c; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0x80; - if (*(s16 *)(a0 + 0x102) < 0x20) { - s32 q = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 + 0x80; + if (((Unkstruct_800B5CB8 *)a0)->unk102 < 0x20) { + s32 q = ((Unkstruct_800B5CB8 *)a0)->unk20; u16 w; - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) + 1; - w = *(u16 *)(q + 0x1C) + 0x100; - *(u16 *)(q + 0x1C) = w; - *(u16 *)(q + 0x1A) = w; - *(u16 *)(q + 0x18) = w; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 + 1; + w = CAST_WIDTH(u16, q, 0x1C) + 0x100; + CAST_WIDTH(u16, q, 0x1C) = w; + ((Unkstruct_800B5CB8 *)q)->unk1A = w; + ((Unkstruct_800B5CB8 *)q)->unk18 = w; } sv = D_801A5458; *(s16 *)&sv.c[2] = - (*(s16 *)&sv.c[2] * *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A)) >> 12; + (*(s16 *)&sv.c[2] * *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) >> 12; r = ((s32 (*)(s32, s32))func_8012CC1C)(a0, (s32)&sv); if ((r & 0x2000) == 0) { c = func_8012BEE8(a0); @@ -4229,7 +4229,7 @@ void func_8017F17C(s32 a0) { } } func_8017F390(a0); - if (*(s16 *)(a0 + 0x100) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { func_8017F5DC(a0); } } @@ -4247,9 +4247,9 @@ s32 func_8017F390(s32 param_1) s32 p; u16 val; - if (func_8012D624(param_1, (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) * 3) >> 9, 0x21) == 1) { - p = *(s32 *)(param_1 + 0x20); - val = *(u16 *)(p + 0x12); + if (func_8012D624(param_1, (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x18) * 3) >> 9, 0x21) == 1) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + val = ((Unkstruct_800B5CB8 *)p)->unk12; D_80126B96 = 0x4002; D_80126B9A = val; return 1; @@ -4263,9 +4263,9 @@ extern void func_8017F440(s32 arg0); /* func_8017F400 -- ov_SC02_026, subseg ov_SC02_026_jr_8017C180 (16 ins). */ s32 func_8017F400(s32 a0) { - s32 *v0 = *(s32 **)(a0 + 0x64); + s32 *v0 = CAST_SIGN(s32 *, a0, 0x64); s16 v1 = *(s16 *)((s32)v0 + 0x36); - s16 v2 = *(s16 *)(a0 + 0xFC); + s16 v2 = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (v1 == v2) { return 0; @@ -4276,7 +4276,7 @@ s32 func_8017F400(s32 a0) { void func_8017F440(s32 arg0) { - func_8002D59C(4, 0x64E, *(u16 *)(arg0 + 0x104)); + func_8002D59C(4, 0x64E, CAST_SIGN(u16, arg0, 0x104)); func_8012C218(arg0); } @@ -4325,7 +4325,7 @@ void func_8017F538(s32 a0, s32 a1) vel[1] = 0; vel[0] = 0; vel[2] = a1; - RotMatrixY(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), &mtx); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &mtx); func_800484EC((s32)&mtx, (s32)&vel[0], a0 + 0x10); } @@ -4579,25 +4579,25 @@ extern void func_8012931C(struct vec *a0); void func_8017F9D4(a0) s32 a0; { - if (*(u16 *)(a0 + 0x2) == 0) { + if (CAST_SIGN(u16, a0, 0x2) == 0) { func_8012931C((struct vec *)a0); - if (*(s32 *)(a0 + 0x1C) < 0x23) { - *(s32 *)(a0 + 0x14) += 0x10000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x10000; } - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } } else { func_8012931C((struct vec *)a0); - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } - if (--*(s16 *)(a0 + 0x28) != 0) { - *(s32 *)(a0 + 0x1C) = 0xA; - *(s32 *)(a0 + 0x14) -= 0x10000; - *(u16 *)(a0 + 0x6) = *(s32 *)(a0 + 0x2C); - *(u16 *)(a0 + 0xA) = *(s32 *)(a0 + 0x30); - *(u16 *)(a0 + 0xE) = *(s32 *)(a0 + 0x34); + if (--((Unkstruct_800B5CB8 *)a0)->unk28 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk14 -= 0x10000; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk30; + ((Unkstruct_800B5CB8 *)a0)->unkE = CAST_WIDTH(s32, a0, 0x34); return; } } @@ -4638,7 +4638,7 @@ void func_8017FAC0(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -4676,18 +4676,18 @@ void func_8017FAC0(s32 a0) { } } - D_801A9E6C[*(u16 *)(a0 + 0x2)](a0); + D_801A9E6C[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -4788,93 +4788,93 @@ void func_8017FEE0(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801AA15C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801AA15E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801AA160[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AA15C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801AA15E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AA160[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A9EC0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A9EC0); func_8012A828(a0, (s32)D_801A9F80); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AA008); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AA008); func_8012A828(a0, (s32)D_801AA0C8); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801AA1AC; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801AA1D0; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A9E84; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801AA1AC; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801AA1D0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A9E84; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A9EC0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A9EC0); func_8012A828(a0, (s32)D_801A9F80); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AA008); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AA008); func_8012A828(a0, (s32)D_801AA0C8); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AA1BC); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AA1BC); func_8012A828(a0, (s32)D_801AA1C8); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A9EC0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A9EC0); func_8012A828(a0, (s32)D_801A9F80); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -4949,15 +4949,15 @@ void func_80180520(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -4966,61 +4966,61 @@ void func_80180520(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -5035,20 +5035,20 @@ void func_801808D0(void *a0) { s32 t; u16 *q; - D_801AA1E0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801AA1E0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -5060,14 +5060,14 @@ void func_801808D0(void *a0) { extern void (*D_801AA28C[])(void); void func_801809BC(void *a0) { - D_801AA28C[*(u16 *)((s32)a0 + 0x2)](); + D_801AA28C[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_801AA340[])(void); void func_801809F8(void *a0) { - D_801AA340[*(u16 *)((s32)a0 + 0x2)](); + D_801AA340[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5092,17 +5092,17 @@ void func_80180A4C(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A9DC0) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A9DA0; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A9DA0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_80186448); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -5128,18 +5128,18 @@ void func_80180B0C(void *a0) { Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern u8 D_80186448[]; if (func_8012C354((s32)a0, (s32)D_801A9E84) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A9DA0; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A9DA0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_80186448); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -5150,13 +5150,13 @@ void func_80180B90(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -5210,16 +5210,16 @@ void func_80180C80(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801AA150); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -5239,18 +5239,18 @@ extern u16 D_801AA160[]; void func_80180D44(void *a0) { void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801AA15C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801AA15E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801AA160[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AA15C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801AA15E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AA160[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -5262,8 +5262,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80180E24(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct *ptr = *(Struct **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct *ptr = CAST_SIGN(Struct *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -5286,18 +5286,18 @@ void func_80180E94(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801AA150); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -5326,18 +5326,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80180F78(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -5367,12 +5367,12 @@ void func_80181030(s32 a0) { extern u8 D_80186448[]; if (func_8012C354(a0, (s32)D_801AA218) != 0) { func_8012A828(a0, (s32)D_80186448); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801AA24C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801AA24E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801AA250[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801AA252[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AA24C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801AA24E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AA250[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801AA252[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -5433,24 +5433,24 @@ void func_801811C4(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801AA298); func_8012A828(param_1, (s32)D_801AA2F8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -5510,11 +5510,11 @@ extern void (*D_801AC2B0[])(void); extern void func_8012C0EC(void *a0); void func_8018144C(void *a0) { - D_801AC2B0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_801AC2B0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -5544,39 +5544,39 @@ void func_801814D8(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_80182550() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_80182550() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (func_8012C354(a0, (s32)(D_801AC1D0 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801AC270; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AC270; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); - *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)dst)->unk18 = ((Unkstruct_800B5CB8 *)dst)->unk1A = CAST_WIDTH(s16, dst, 0x1C) = 1; func_8012B2CC(a0); } } @@ -5585,11 +5585,11 @@ void func_801814D8(s32 a0) { void func_80181644(void *a0) { func_8012B23C(a0); - *(s32 *)((s32)a0 + 0x1C) = 0x40; - *(u16 *)((s32)a0 + 0x2) = 2; - *(u16 *)((s32)a0 + 0x34) = 0; - *(s32 *)((s32)a0 + 0xE4) = 0; - *(s32 *)((s32)a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } @@ -5692,23 +5692,23 @@ void func_80181688(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -5724,39 +5724,39 @@ void func_80181688(s32 a0) { } r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4); } else { @@ -5769,22 +5769,22 @@ void func_80181688(s32 a0) { } if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -5792,10 +5792,10 @@ void func_80181688(s32 a0) { } func_801823E8(a0); - func_80182318(a0, D_801AC2CC[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_80182318(a0, D_801AC2CC[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -5834,13 +5834,13 @@ void func_80181AC4(s32 a0) { s32 v1; if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 6; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(a0 + 0x34) = 0; - *(u16 *)(v1 + 0x1C) = 0x400; - *(u16 *)(v1 + 0x18) = 0x400; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x1A) = 0x3000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + CAST_WIDTH(u16, v1, 0x1C) = 0x400; + ((Unkstruct_800B5CB8 *)v1)->unk18 = 0x400; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk1A = 0x3000; } } @@ -5858,14 +5858,14 @@ void func_80181B18(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -5873,8 +5873,8 @@ void func_80181B18(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -5882,19 +5882,19 @@ void func_80181B18(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -5902,16 +5902,16 @@ void func_80181B18(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -5928,7 +5928,7 @@ void func_80181CC8(s32 a0) { s32 mask; s32 i; - mask = ((*(u16 *)(a0 + 0x70) & 0xF) | -0x8000) << 16; + mask = ((CAST_SIGN(u16, a0, 0x70) & 0xF) | -0x8000) << 16; i = 0; do { s32 r; @@ -5943,16 +5943,16 @@ void func_80181CC8(s32 a0) { } d = r - ((q >> 2) << 2); func_801825A4((void *)(a0 + 0x7C), - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), -0x40000 - (d << 16), mask >> 16); i++; } while (i < 4); - *(s32 *)(a0 + 0xEC) = 0x40000; + CAST_WIDTH(s32, a0, 0xEC) = 0x40000; func_8012B23C((void *)a0); - func_8012B178(a0, *(s32 *)(a0 + 0xEC)); - *(s32 *)(a0 + 0x1C) = 0x10; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, CAST_WIDTH(s32, a0, 0xEC)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -5971,16 +5971,16 @@ void func_80181D94(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -5988,28 +5988,28 @@ void func_80181D94(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -6025,8 +6025,8 @@ void func_80181D94(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -6054,15 +6054,15 @@ void func_8018200C(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -6120,21 +6120,21 @@ void func_8018226C(s32 a0) { s32 flags; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if (flags & 0x800) { if (flags & 0x10) { - *(s16 *)(a0 + 0x2) = 5; - *(s8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; - *(s16 *)(a0 + 0xAA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; func_8012B2CC(a0); return; } @@ -6218,17 +6218,17 @@ void func_801823E8(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -6243,7 +6243,7 @@ s32 func_80182550(void) { u8 *p = D_801202A0; do { - if (*(u16 *)p == 0x17F && (*(u16 *)(p + 0x70) & 0xF) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x17F && (CAST_SIGN(u16, p, 0x70) & 0xF) == 0) { count++; } i++; @@ -6336,7 +6336,7 @@ s32 func_801825A4(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_801AC300[])(void); void func_801827A8(void *a0) { - D_801AC300[*(u16 *)((s32)a0 + 0x2)](); + D_801AC300[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6350,26 +6350,26 @@ void func_801827E4(s32 s0) { v1 = func_80182B90(s0, (s32)D_800D3918, 0x11); if ((v1 & 0xFF) == 0) { if ((v1 & 0x2000) != 0) { - if (*(s32 *)(s0 + 0x2C) != 0) { - *(s32 *)(s0 + 0x1C) = 0x1E; - *(s16 *)(s0 + 0x2) = 4; + if (CAST_WIDTH(s32, s0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 4; return; } goto call; } else { - if (*(s32 *)(s0 + 0x1C) < 0x23) { - *(s32 *)(s0 + 0x14) += 0x10000; - if (*(s32 *)(s0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(s0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)s0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)s0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, s0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk27 = 0x62; } } - *(s32 *)(s0 + 0x1C) -= 1; - if (*(s32 *)(s0 + 0x1C) != 0) { + ((Unkstruct_800B5CB8 *)s0)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)s0)->unk1C != 0) { return; } } } - v1 = *(s32 *)(s0 + 0x2C); + v1 = CAST_WIDTH(s32, s0, 0x2C); if (v1 != 0) { if (v1 != -1) { *(s32 *)(v1 + 0x30) -= 1; @@ -6384,11 +6384,11 @@ extern void func_80182DBC(s32 a0); void func_801828C8(s32 arg0) { func_80182DBC(arg0); - if (*(s32 *)(arg0 + 0x30) == 0) { - *(s16 *)(arg0 + 2) = 6; - *(s32 *)(arg0 + 0x1C) = 0; + if (((Unkstruct_800B5CB8 *)arg0)->unk30 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } else { - *(s32 *)(arg0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C += 1; } } @@ -6410,10 +6410,10 @@ void func_8018291C(s32 a0) { if (func_80182CE4(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -6424,9 +6424,9 @@ void func_8018291C(s32 a0) { func_80182DBC(a0); func_80182B90(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -6434,9 +6434,9 @@ void func_8018291C(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -6469,10 +6469,10 @@ extern void func_80182DBC(s32 a0); void func_80182A9C(s32 arg0) { func_80182DBC(arg0); - if (*(u16 *)(*(s32 *)(arg0 + 0x2c)) == 0) { + if (*(u16 *)(CAST_WIDTH(s32, arg0, 0x2c)) == 0) { func_801292C8((u8 *)arg0); } - *(s32 *)(arg0 + 0x1c) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C += 1; } @@ -6485,18 +6485,18 @@ void func_80182AF4(s32 a0) { SV3L2 sp10; func_80182DBC(a0); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x1F) { - sp10.vx = *(u16 *)(a0 + 6); - sp10.vy = *(u16 *)(a0 + 0xA); - sp10.vz = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x1F) { + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.f6 = 0x17F; sp10.f8 = 0x8000; sp10.fA = 0; sp10.f10 = 0; sp10.fE = 0; sp10.fC = 0x7FFF; - func_8012C51C((void *)&sp10, *(s32 *)(a0 + 0x24)); + func_8012C51C((void *)&sp10, CAST_WIDTH(s32, a0, 0x24)); func_801292C8((u8 *)a0); } } @@ -6516,18 +6516,18 @@ s32 func_80182B90(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -6537,12 +6537,12 @@ s32 func_80182B90(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -6565,7 +6565,7 @@ s32 func_80182CE4(s32 param_1, s32 param_2) s32 sub; s32 ang; - sub = *(s32 *)(param_1 + 0x2C); + sub = CAST_WIDTH(s32, param_1, 0x2C); if (*(u16 *)sub == 0) { return 0; } @@ -6587,11 +6587,11 @@ void func_80182DBC(s32 a0) { s32 w; s32 sub; - t = func_8004787C((*(s32 *)(a0 + 0x1C) << 7) & 0x780); - w = *(s32 *)(a0 + 0x34) - ((*(s32 *)(a0 + 0x34) >> 2) * t >> 12); - sub = *(s32 *)(a0 + 0x20); - *(s16 *)(sub + 0x1A) = w; - *(s16 *)(sub + 0x18) = w; + t = func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 7) & 0x780); + w = CAST_WIDTH(s32, a0, 0x34) - ((CAST_WIDTH(s32, a0, 0x34) >> 2) * t >> 12); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)sub)->unk1A = w; + ((Unkstruct_800B5CB8 *)sub)->unk18 = w; } @@ -6599,7 +6599,7 @@ void func_80182DBC(s32 a0) { extern void (*D_801AC394[])(void); void func_80182E1C(void *a0) { - D_801AC394[*(u16 *)((s32)a0 + 0x2)](); + D_801AC394[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6706,46 +6706,46 @@ void func_80182F00(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801B5A4C); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B5A4C); func_8012A828((s32)a0, (s32)&D_801BD190); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -6777,7 +6777,7 @@ void func_80183084(void *a0) { extern s32 D_801AF890; extern s32 D_801AF8D8; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801AF6B8 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -6785,58 +6785,58 @@ void func_80183084(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: func_8012A828((s32)a0, (s32)D_801BC098); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF7F0; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF7F0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: func_8012A828((s32)a0, (s32)D_801BB960); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF890; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF890; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: func_8012A828((s32)a0, (s32)&D_801BD010); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF8D8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF8D8; break; case 4: func_8012A828((s32)a0, (s32)D_801BC098); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF7F0; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF7F0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8012A828((s32)a0, (s32)D_801BCE90); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { func_8012A828((s32)a0, (s32)D_801BC098); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF7F0; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF7F0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -6958,61 +6958,61 @@ void func_801832A8(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, (s32)D_801BC098); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { func_8012A828(a0, (s32)D_801BBA08); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -7039,8 +7039,8 @@ void func_801832A8(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -7083,34 +7083,34 @@ void func_8018365C(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -7124,17 +7124,17 @@ void func_8018365C(s32 a0) { func_8012A828(a0, (s32)D_801BC318); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { func_8012A828(a0, (s32)D_801BCBA0); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -7237,34 +7237,34 @@ void func_8018389C(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801AF950); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -7316,39 +7316,39 @@ void func_80183B04(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801AF950); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, (s32)D_801BC658); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -7404,10 +7404,10 @@ void func_80183CAC(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -7427,27 +7427,27 @@ void func_80183CAC(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { func_8012A828(a0, (s32)&D_801BD1A8); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801AF688 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AF688 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801AF95C); @@ -7481,36 +7481,36 @@ void func_80183EF8(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -7540,8 +7540,8 @@ void func_80184044(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -7568,22 +7568,22 @@ void func_801840FC(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -7593,13 +7593,13 @@ void func_801840FC(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -7615,16 +7615,16 @@ void func_80184250(void *a0) { u16 temp; s32 a1; - D_801AFA04[*(u16 *)((s32)a0 + 0x2)](a0); + D_801AFA04[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -7639,15 +7639,15 @@ extern void func_8012C218(void *a0); void func_801842FC(void *a0) { u16 *q; - D_801AFB64[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801AFB64[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -7667,17 +7667,17 @@ void func_801843AC(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -7687,14 +7687,14 @@ void func_801843AC(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801BCF28); - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801AF7F0; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801AF688 | 0x40000000 | 0x20000000; - *(s16 *)((s32)a0 + 0x88) = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0x8A) = *(u16 *)((s32)a0 + 0xA); - *(s16 *)((s32)a0 + 0x8C) = *(u16 *)((s32)a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AF7F0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AF688 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } } @@ -7747,42 +7747,42 @@ void func_80184494(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a2; buf[6] = a2; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) != 0) { - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) | 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) | 0x8000; func_80131E00(a0, 6); } else { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801BB4E0) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801BB4E0) { func_8012A828((s32)a0, (s32)&D_801BB2D8); - *(u16 *)((s32)a0 + 0x2) = 0x14; - *(u16 *)((s32)a0 + 0x34) = 1; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0xCC) = (s32)&D_801BC098; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801BC098; } else { - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_8012A828((s32)a0, (s32)&D_801BCBA0); } else { func_8012A828((s32)a0, (s32)&D_801BC098); } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; } } @@ -7792,23 +7792,23 @@ extern void func_8012C098(void *param_1); void func_801845B0(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -7825,19 +7825,19 @@ void func_80184690(s32 a0) { V8_SC02_026_80184690 sp10; V8_SC02_026_80184690 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801AF66C); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -7851,18 +7851,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80184768(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -7898,17 +7898,17 @@ void func_8018480C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -7918,8 +7918,8 @@ void func_8018480C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801BD010); - *(u16 *)((s32)a0 + 0x2) = 6; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xA810; } } @@ -7945,9 +7945,9 @@ void func_801848B0(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -7961,9 +7961,9 @@ void func_801848B0(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -7972,7 +7972,7 @@ extern u8 D_801AF67C[]; void func_80184970(s32 a0) { - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801AF67C); } @@ -8005,11 +8005,11 @@ extern u8 D_801BBB78[]; void func_80184A38(s32 a0) { - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8012A828(a0, (s32)D_801BBB78); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } } @@ -8031,16 +8031,16 @@ void func_80184A94(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)D_801BBB78); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&aD801AF930, (s32)&aD801AF938) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -8060,8 +8060,8 @@ void func_80184B6C(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -8070,12 +8070,12 @@ void func_80184B6C(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { func_8012A828((s32)a0, (s32)D_801BBB78); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -8097,15 +8097,15 @@ void func_80184C00(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)&D_801BC890); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&aD801AF930, (s32)&aD801AF938) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -8133,20 +8133,20 @@ void func_80184CCC(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801AF968); *(s16 *)(a0 + 0x16) = -0x8; func_8012A828(a0, (s32)D_801BB960); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801AF940, (s32)D_801AF948, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -8166,21 +8166,21 @@ extern s32 D_801AF698; void func_80184DA4(s32 a0) { u16 temp; - if (*(s32 *)(a0 + 0x94) == 0xD) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { func_8002D4C8(0x702, 0x107F); } func_8012CBCC(a0); - temp = *(u16 *)(a0 + 0x102) + 1; - *(u16 *)(a0 + 0x102) = temp; + temp = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = temp; if ((s16)temp == 0x1E) { - *(u16 *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, (s32)&aD_801BB960); - *(u16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x58) = ((s32)&D_801AF698 | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)&D_801AF698 | 0x40000000) | 0x20000000; } } @@ -8221,13 +8221,13 @@ void func_80184EA0(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; func_8012A828(entity, (s32)&D_801BC420); } else { func_8012A828(entity, (s32)&D_801BCBA0); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -8242,10 +8242,10 @@ void func_80184F40(s32 a0) { result = func_80153BD8(a0); if (result == 0) { func_8012A828(a0, (s32)&D_801BCBA0); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -8270,11 +8270,11 @@ void func_80184F94(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801BC760); } else { func_8012A828(a0, (s32)&D_801BD010); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -8294,7 +8294,7 @@ void func_80185028(s32 a0) func_8012A828(a0, (s32)&D_801BC890); v0 = 0x6; } - *(s16 *)(a0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -8317,9 +8317,9 @@ extern void func_8012A828(s32 a0, s32 a1); void func_80185098(s32 a0) { - if (((*(u16 *)(a0 + 0x72) & 0x4000) != 0) || (*(s16 *)(a0 + 0x98) == 0)) { - *(s16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); - func_8012A828(a0, *(s32 *)(a0 + 0xCC)); + if (((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) || (((Unkstruct_800B5CB8 *)a0)->unk98 == 0)) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; + func_8012A828(a0, ((Unkstruct_800B5CB8 *)a0)->unkCC); } } @@ -8343,25 +8343,25 @@ void func_801850E4(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801AF9C8); func_8012A828(param_1, (s32)D_801AF9E0); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801AF9F8); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -8417,7 +8417,7 @@ void func_80185254(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -8425,26 +8425,26 @@ void func_80185254(s32 a0) func_8001CA1C(v0, (s32)&D_801AFA10); func_8012A828(a0, (s32)&D_801AFAD0); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801AFB58); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -8458,9 +8458,9 @@ extern void func_8012CBCC(s32 a0); void func_80185398(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -8470,5 +8470,5 @@ void func_80185398(void *a0) { extern void (*D_801CCCB0[])(void); void func_80185404(void *a0) { - D_801CCCB0[*(u16 *)((s32)a0 + 0x2)](); + D_801CCCB0[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c index 26c65f93c2..3d199cdc7a 100644 --- a/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c +++ b/src/ov_SC02_027/ov_SC02_027_jr_8017D898.c @@ -3757,7 +3757,7 @@ void func_8017FED4(void *a0, s32 a1) extern void (*D_8018F1F8[])(void); void func_8017FF34(void *a0) { - D_8018F1F8[*(u16 *)((s32)a0 + 0x2)](); + D_8018F1F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3792,7 +3792,7 @@ void func_8017FFB4(void *a0) extern void (*D_8018F200[])(void); void func_8018001C(void *a0) { - D_8018F200[*(u16 *)((s32)a0 + 0x2)](); + D_8018F200[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3849,36 +3849,36 @@ void func_80180088(s32 param_1) *(unsigned short *)(param_1 + 6) = sp20[0]; *(unsigned short *)(param_1 + 0xA) = sp20[1]; *(unsigned short *)(param_1 + 0xE) = sp20[2]; - *(s32 *)(param_1 + 0x10) = 0; - *(s32 *)(param_1 + 0x14) = 0; - *(s32 *)(param_1 + 0x18) = 0; - *(s32 *)(param_1 + 0x34) = -1; - obj = *(s32 **)(param_1 + 0x20); + CAST_WIDTH(s32, param_1, 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0; + CAST_WIDTH(s32, param_1, 0x18) = 0; + CAST_WIDTH(s32, param_1, 0x34) = -1; + obj = CAST_SIGN(s32 *, param_1, 0x20); d = rand() % 256; - val = *(short *)((char *)*(s32 **)(param_1 + 0x20) + 0x10); - *(short *)((char *)obj + 0x10) = (rand() & 1) ? val + d : val - d; - obj = *(s32 **)(param_1 + 0x20); + val = CAST_NONSTRUCT(short, (char *)*(s32 **)(param_1 + 0x20), 0x10); + ((Unkstruct_800B5CB8 *)obj)->unk10 = (rand() & 1) ? val + d : val - d; + obj = CAST_SIGN(s32 *, param_1, 0x20); d = rand() % 256; - val = *(short *)((char *)*(s32 **)(param_1 + 0x20) + 0x12); - *(short *)((char *)obj + 0x12) = (rand() & 1) ? val + d : val - d; + val = CAST_NONSTRUCT(short, (char *)*(s32 **)(param_1 + 0x20), 0x12); + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 1) ? val + d : val - d; { s32 *obj3; s32 val3; - obj3 = *(s32 **)(param_1 + 0x20); + obj3 = CAST_SIGN(s32 *, param_1, 0x20); d = rand() % 256; - val3 = *(short *)((char *)*(s32 **)(param_1 + 0x20) + 0x14); - *(short *)((char *)obj3 + 0x14) = (rand() & 1) ? val3 + d : val3 - d; + val3 = CAST_NONSTRUCT(short, (char *)*(s32 **)(param_1 + 0x20), 0x14); + CAST_WIDTH(short, (char *)obj3, 0x14) = (rand() & 1) ? val3 + d : val3 - d; } return; } } wk = D_800AE620[0]; - wk.w[5] = *(short *)(param_1 + 6); - wk.w[6] = *(short *)(param_1 + 0xA); - wk.w[7] = *(short *)(param_1 + 0xE); + wk.w[5] = CAST_SIGN(short, param_1, 6); + wk.w[6] = CAST_SIGN(short, param_1, 0xA); + wk.w[7] = CAST_SIGN(short, param_1, 0xE); - RotMatrixY(*(short *)((s32)*(s32 **)(param_1 + 0x20) + 0x14), &wk.w[0]); + RotMatrixY(CAST_NONSTRUCT(short, (s32)*(s32 **)(param_1 + 0x20), 0x14), &wk.w[0]); { s32 *b58 = &D_80126B58; gte_SetRotMatrix(&wk.w[0]); @@ -3889,7 +3889,7 @@ void func_80180088(s32 param_1) if (func_80135888((s32)D_80126B78, D_80126B90, (s32)sp18, (s32)sp20) != 0) { func_8012F568(1, 0x201, - *(short *)((s32)*(s32 **)(param_1 + 0x20) + 0x14), 0x1E, + CAST_NONSTRUCT(short, (s32)*(s32 **)(param_1 + 0x20), 0x14), 0x1E, (s32)sp20, (s32)D_801152A8); if (func_8014A454((s32)b58) == 0 && (D_80126B94 & 0x8000)) { s32 d; @@ -3898,22 +3898,22 @@ void func_80180088(s32 param_1) *(unsigned short *)(param_1 + 0x12) = sp18[0]; *(unsigned short *)(param_1 + 0x16) = sp18[1]; *(unsigned short *)(param_1 + 0x1A) = sp18[2]; - *(s32 *)(param_1 + 0x1C) = 0x3C; + CAST_ALIAS(s32, param_1, 0x1C) = 0x3C; *(unsigned short *)(param_1 + 2) = 3; *(unsigned short *)(param_1 + 0x2A) = *(unsigned short *)((s32)D_80126B78 + 0x12); d = rand() % 256; dn = (rand() & 1) ? d : -d; - *(u16 *)((s32)*(s32 **)(param_1 + 0x20) + 0x10) += dn; - *(u16 *)((s32)*(s32 **)(param_1 + 0x20) + 0x12) += dn; + CAST_NONSTRUCT(u16, (s32)*(s32 **)(param_1 + 0x20), 0x10) += dn; + CAST_NONSTRUCT(u16, (s32)*(s32 **)(param_1 + 0x20), 0x12) += dn; { u16 *p14; s32 v14; - p14 = (u16 *)(s32)*(s32 **)(param_1 + 0x20); + p14 = (u16 *)(s32)CAST_SIGN(s32 *, param_1, 0x20); v14 = p14[10]; out[0] = dn; p14[10] = v14 + dn; } - *(s32 *)(param_1 + 0x34) = -1; + CAST_WIDTH(s32, param_1, 0x34) = -1; } else { func_801292C8((u8 *)param_1); } @@ -3922,8 +3922,8 @@ void func_80180088(s32 param_1) do { RotTransSV(D_8018F210 + 0x10 + cur * 0x10, sp18, out); RotTransSV(D_8018F210 + 0x18 + cur * 0x10, sp20, out); - if (func_80135888(*(s32 *)((s32)b58 + 0x20), - *(s32 *)((s32)b58 + 0x38), + if (func_80135888(((Unkstruct_80126B58 *)b58)->unk20, + ((Unkstruct_80126B58 *)b58)->unk38, (s32)sp18, (s32)sp20) != 0) { func_8012F568(1, 0x4204, 0, 0x1E, (s32)sp20, (s32)D_801152A8); return; @@ -3942,17 +3942,17 @@ void func_80180538(void *a0) { u16 sp10[3]; u16 sp18[3]; - sp10[0] = *(u16 *)((s32)a0 + 0x6); - sp10[1] = *(u16 *)((s32)a0 + 0xA); - sp10[2] = *(u16 *)((s32)a0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; - *(s32 *)((s32)a0 + 0x14) += 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x18000; func_8012931C((struct vec *)a0); - sp18[0] = *(u16 *)((s32)a0 + 0x6); - sp18[1] = *(u16 *)((s32)a0 + 0xA); - sp18[2] = *(u16 *)((s32)a0 + 0xE); + sp18[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { sp18[1] -= 8; @@ -3991,33 +3991,33 @@ void func_801805EC(s32 a0) SVECTOR svec_out; s32 obj; - svec_in.vx = *(u16 *)(a0 + 0x12); + svec_in.vx = ((Unkstruct_800B5CB8 *)a0)->unk12; svec_in.vy = *(u16 *)(a0 + 0x16); - svec_in.vz = *(u16 *)(a0 + 0x1A); + svec_in.vz = ((Unkstruct_800B5CB8 *)a0)->unk1A; func_8012F14C((s32)D_80126B78 + 0x34, (s32)&svec_in, (s32)&svec_out); - *(u16 *)(a0 + 0x6) = svec_out.vx; - *(u16 *)(a0 + 0xA) = svec_out.vy; - *(u16 *)(a0 + 0xE) = svec_out.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = svec_out.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = svec_out.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = svec_out.vz; - obj = *(s32 *)(a0 + 0x20); - *(u16 *)(obj + 0x14) = *(u16 *)(obj + 0x14) + - (*(u16 *)(a0 + 0x2A) - *(u16 *)((u8 *)D_80126B78 + 0x12)); + obj = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(u16, obj, 0x14) = CAST_WIDTH(u16, obj, 0x14) + + (((Unkstruct_800B5CB8 *)a0)->unk2A - *(u16 *)((u8 *)D_80126B78 + 0x12)); __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9) - *(u16 *)(a0 + 0x2A) = *(u16 *)((u8 *)D_80126B78 + 0x12); - if (*(s32 *)(a0 + 0x2C) == 0) { - if (--*(s32 *)(a0 + 0x1C) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2A = *(u16 *)((u8 *)D_80126B78 + 0x12); + if (CAST_WIDTH(s32, a0, 0x2C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } { - s32 t = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0x2C) = t + 1; + s32 t = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + CAST_WIDTH(s32, a0, 0x2C) = t + 1; } } else { - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) ^= 0x80000000; - if (--*(s32 *)(a0 + 0x1C) != 0) { + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) ^= 0x80000000; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } func_801292C8((u8 *)a0); @@ -4121,7 +4121,7 @@ s32 func_80180770(void *a0) extern void (*D_8018F24C[])(void); void func_801808CC(void *a0) { - D_8018F24C[*(u16 *)((s32)a0 + 0x2)](); + D_8018F24C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4380,10 +4380,10 @@ void func_8018102C(void *a0) } if (func_8012C354((s32)a0, (s32)D_8018F264) != 0) { - bits = *(u16 *)((s32)a0 + 0xAE); - *(u8 *)((s32)a0 + 0x75) = 0; - *(u16 *)((s32)a0 + 2) = 1; - *(u16 *)((s32)a0 + 0xAE) = bits | 0x8000; + bits = CAST_SIGN(u16, (s32)a0, 0xAE); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = bits | 0x8000; } } @@ -4460,24 +4460,24 @@ void func_80181200(s32 a0) u16 t88; u16 t8A; - m = -(func_8004787C((*(s32 *)(a0 + 0x1C) << 10) & 0xC00) >> 12); + m = -(func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 10) & 0xC00) >> 12); - *(u16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0xFE) * m; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + *(u16 *)(a0 + 0x100) * m; - *(u16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x102) * m; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + CAST_SIGN(u16, a0, 0xFE) * m; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + CAST_SIGN(u16, a0, 0x100) * m; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE + CAST_SIGN(u16, a0, 0x102) * m; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x2) = 1; - do { vp = *(s32 *)(a0 + 0x78); } while (0); // !FAKE: do-while — a LOOP-note scheduling barrier (sched.c:2058-2074; P36 R7) - t88 = *(u16 *)(a0 + 0x88); - t8C = *(u16 *)(a0 + 0x8C); - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + do { vp = ((Unkstruct_800B5CB8 *)a0)->unk78; } while (0); // !FAKE: do-while — a LOOP-note scheduling barrier (sched.c:2058-2074; P36 R7) + t88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + t8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; w6 = *(u16 *)(vp + 2); - t8A = *(u16 *)(a0 + 0x8A); - *(u16 *)(a0 + 0x6) = t88; - *(u16 *)(a0 + 0xE) = t8C; - *(u16 *)(a0 + 0xA) = t8A; - *(u16 *)(a0 + 0x5C) = w6; + t8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unk6 = t88; + ((Unkstruct_800B5CB8 *)a0)->unkE = t8C; + ((Unkstruct_800B5CB8 *)a0)->unkA = t8A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = w6; } } @@ -4534,17 +4534,17 @@ s32 func_80181328(s32 arg0) s32 j; s32 a3; - if ((*(u16 *)(arg0 + 0x5C) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk5C & 1) == 0) { return 0; } - *(u16 *)(arg0 + 0x5C) = *(u16 *)(arg0 + 0x5C) & 0x7FFE; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = ((Unkstruct_800B5CB8 *)arg0)->unk5C & 0x7FFE; i = 0; - if (*(u16 *)(arg0 + 0x5E) != 0xC) { - *(u16 *)(arg0 + 0x5C) = *(u16 *)(*(s32 *)(arg0 + 0x78) + 2); - *(u16 *)(arg0 + 0x5E) = 0; - req.v[0] = *(u16 *)(arg0 + 0x7C); - req.v[1] = *(u16 *)(arg0 + 0x7E); - req.v[2] = *(u16 *)(arg0 + 0x80); + if (CAST_WIDTH(u16, arg0, 0x5E) != 0xC) { + ((Unkstruct_800B5CB8 *)arg0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 2); + CAST_WIDTH(u16, arg0, 0x5E) = 0; + req.v[0] = CAST_SIGN(u16, arg0, 0x7C); + req.v[1] = CAST_SIGN(u16, arg0, 0x7E); + req.v[2] = CAST_SIGN(u16, arg0, 0x80); req.v[3] = 0x18B; req.m24 = 0x7FFF; req.m20 = 1; @@ -4558,28 +4558,28 @@ s32 func_80181328(s32 arg0) return 0; } else { func_8012E9C0(arg0); - if (*(u16 *)(arg0 + 0x5E) != 0x1D) { - if (*(u8 *)(arg0 + 0xC8) != 0) { + if (CAST_WIDTH(u16, arg0, 0x5E) != 0x1D) { + if (((Unkstruct_800B5CB8 *)arg0)->unkC8 != 0) { func_8002A520((void *)arg0); } - if (*(u8 *)(arg0 + 0xC9) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unkC9 != 0) { func_8002A790((void *)arg0); } } - a3 = (*(s16 *)(arg0 + 0x60) * *(s16 *)(*(s32 *)(arg0 + 0x78) + 0x30)) >> 12; + a3 = (((Unkstruct_800B5CB8 *)arg0)->unk60 * *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x30)) >> 12; if (a3 <= 0) { a3 = 1; } - *(u16 *)(arg0 + 0x2) = 3; - *(u16 *)(arg0 + 0xFC) = 0; - *(s32 *)(arg0 + 0x1C) = 0x1E; - *(u16 *)(arg0 + 0x76) = *(u16 *)(arg0 + 0x76) - a3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)arg0)->unk76 = CAST_SIGN(u16, arg0, 0x76) - a3; func_8012C658(0x1A1, 0, arg0); func_8012C658(0x1A1, 1, arg0); func_8012C658(0x1A1, 2, arg0); - req.v[0] = *(u16 *)(arg0 + 0x7C); - req.v[1] = *(u16 *)(arg0 + 0x7E); - req.v[2] = *(u16 *)(arg0 + 0x80); + req.v[0] = CAST_SIGN(u16, arg0, 0x7C); + req.v[1] = CAST_SIGN(u16, arg0, 0x7E); + req.v[2] = CAST_SIGN(u16, arg0, 0x80); req.v[3] = 0x18B; req.m24 = 0x7FFF; req.m22 = 0; @@ -4636,7 +4636,7 @@ s32 func_8018152C(s32 a0, s16 a1) { extern void (*D_8018F450[])(void); void func_801815AC(void *a0) { - D_8018F450[*(u16 *)((s32)a0 + 0x2)](); + D_8018F450[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4659,27 +4659,27 @@ void func_801815E8(s32 a0) func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; func_8001CA1C(v0, (s32)D_8018F2F8); - *(s16 *)(v0 + 0x18) = (s16)(*(u16 *)(a0 + 0xFC)) % 10 * 0x100 + 0x2000; - *(s16 *)(v0 + 0x1A) = (*(s16 *)(a0 + 0xFC) + 1) * 0x400; + *(s16 *)(v0 + 0x18) = (s16)(CAST_SIGN(u16, a0, 0xFC)) % 10 * 0x100 + 0x2000; + *(s16 *)(v0 + 0x1A) = (((Unkstruct_800B5CB8 *)a0)->unkFC + 1) * 0x400; *(u32 *)(v0 + 4) |= 0x50000000; *(u16 *)(v0 + 0x2C) |= 0x10; - *(s32 *)(a0 + 0x58) = (s32)&D_8018F440 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8018F440 | 0x40000000 | 0x20000000; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u16 *)(a0 + 0x100) = *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x68) + 0xC); - func_8012F214(*(s32 *)(a0 + 0x64), *(s32 *)(a0 + 0xDC), (s32)&vec1); + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x68) + 0xC); + func_8012F214(((Unkstruct_800B5CB8 *)a0)->unk64, ((Unkstruct_800B5CB8 *)a0)->unkDC, (s32)&vec1); - *(u16 *)(a0 + 0x6) = vec1.x; - *(u16 *)(a0 + 0xA) = vec1.y; - *(u16 *)(a0 + 0xE) = vec1.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 = vec1.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = vec1.y; + ((Unkstruct_800B5CB8 *)a0)->unkE = vec1.z; func_8012A828(a0, (s32)D_8018F3B8); - (*(u16 *)(a0 + 0x2))++; + (CAST_SIGN(u16, a0, 0x2))++; } @@ -4699,22 +4699,22 @@ void func_80181740(void *a0) SV_80181740 vec2; s32 obj; - obj = *(s32 *)((s32)a0 + 0x64); - if (*(s16 *)((s32)a0 + 0xFE) != *(s16 *)(obj + 0x36)) + obj = ((Unkstruct_800B5CB8 *)a0)->unk64; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != *(s16 *)(obj + 0x36)) goto reject; - if (*(s16 *)(obj + 0xFC) > *(s16 *)((s32)a0 + 0xFC)) + if (*(s16 *)(obj + 0xFC) > ((Unkstruct_800B5CB8 *)a0)->unkFC) goto ok; reject: func_8012C218(a0); return; ok: - func_8012F214(obj, *(s32 *)((s32)a0 + 0xDC), (s32)&vec1); - *(u16 *)((s32)a0 + 0x6) = vec1.x; - *(u16 *)((s32)a0 + 0xA) = vec1.y; - *(u16 *)((s32)a0 + 0xE) = vec1.z; + func_8012F214(obj, ((Unkstruct_800B5CB8 *)a0)->unkDC, (s32)&vec1); + ((Unkstruct_800B5CB8 *)a0)->unk6 = vec1.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = vec1.y; + CAST_ALIAS(u16, (s32)a0, 0xE) = vec1.z; func_8012F14C((s32)D_80126B78 + 0x34, (s32)D_8018F458, (s32)&vec1); func_8012F14C((s32)D_80126B78 + 0x34, (s32)(D_8018F458 + 8), (s32)&vec2); - if (func_80135888(*(s32 *)((s32)a0 + 0x20), *(s32 *)((s32)a0 + 0x58), (s32)&vec1, (s32)&vec2) != 0) { + if (func_80135888(((Unkstruct_800B5CB8 *)a0)->unk20, ((Unkstruct_800B5CB8 *)a0)->unk58, (s32)&vec1, (s32)&vec2) != 0) { func_8012F568(1, 0x4201, *(s16 *)(*(s32 *)(obj + 0x20) + 0x12), 0x1C, (s32)&vec2, (s32)D_801152A8); } } @@ -4724,7 +4724,7 @@ ok: extern void (*D_8018F470[])(void); void func_80181858(void *a0) { - D_8018F470[*(u16 *)((s32)a0 + 0x2)](); + D_8018F470[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4747,14 +4747,14 @@ void func_80181894(s32 a0) func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0x20) = s2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s2; - func_8001C214(s2, (s32)D_8018F468[*(u16 *)(a0 + 0x70) & 0xF]); + func_8001C214(s2, (s32)D_8018F468[CAST_SIGN(u16, a0, 0x70) & 0xF]); - if (*(s16 *)(a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { s16 v; *(u16 *)(s2 + 0x2C) |= 0x10; - v = *(u16 *)(a0 + 0xFC); + v = CAST_SIGN(u16, a0, 0xFC); *(s16 *)(s2 + 0x1C) = v; *(s16 *)(s2 + 0x1A) = v; *(s16 *)(s2 + 0x18) = v; @@ -4772,7 +4772,7 @@ void func_80181894(s32 a0) *(s16 *)(s2 + 0x10) = sign * (v % 128) - 0x300; - h = *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + h = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); *(u16 *)(s2 + 0x14) = 0; *(u16 *)(s2 + 0x12) = h + sign * (v % 0x300); @@ -4782,11 +4782,11 @@ void func_80181894(s32 a0) func_8012B178(a0, 0xFFF00000 - ((v % 8) << 16)); } - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0xFC) = rand() & 0xF0; - *(s16 *)(a0 + 0xFE) = rand() & 0x1F0; - *(s16 *)(a0 + 0x100) = rand() & 0x30; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unkFC = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = rand() & 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; } @@ -4795,12 +4795,12 @@ extern s32 func_8012BEE8(s32 a0); extern void func_8012C218(void *a0); void func_80181A54(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFC); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0xFE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + CAST_SIGN(u16, param_1, 0x100); if ((((s32 (*)(s32))func_8012CBCC)(param_1) != 0) || (func_8012BEE8(param_1) != 0)) { func_8012C218((void *)param_1); @@ -4812,7 +4812,7 @@ void func_80181A54(s32 param_1) { extern void (*D_8018F49C[])(void); void func_80181AE4(void *a0) { - D_8018F49C[*(u16 *)((s32)a0 + 0x2)](); + D_8018F49C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4838,13 +4838,13 @@ void func_80181B20(s32 a0) func_8012CAE4((void *)a0); return; } - idx = *(u16 *)(a0 + 0x70) & 0xF; - *(s32 *)(a0 + 0x20) = s2; + idx = CAST_SIGN(u16, a0, 0x70) & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s2; func_8001C214(s2, (s32)D_8018F478[idx]); - func_8012F214(*(s32 *)(a0 + 0x64), (s32)&D_8018F484[idx * 8], (s32)&vec1); - *(u16 *)(a0 + 0x6) = vec1.x; - *(u16 *)(a0 + 0xA) = vec1.y; - *(u16 *)(a0 + 0xE) = vec1.z; + func_8012F214(((Unkstruct_800B5CB8 *)a0)->unk64, (s32)&D_8018F484[idx * 8], (s32)&vec1); + ((Unkstruct_800B5CB8 *)a0)->unk6 = vec1.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = vec1.y; + ((Unkstruct_800B5CB8 *)a0)->unkE = vec1.z; if (idx == 0) { s32 r; s32 sign; @@ -4857,7 +4857,7 @@ void func_80181B20(s32 a0) *(s16 *)(s2 + 0x10) = sign * (v % 128) - 0x300; - h = *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + h = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); *(u16 *)(s2 + 0x14) = 0; *(u16 *)(s2 + 0x12) = h + sign * (v % 0x300); @@ -4866,16 +4866,16 @@ void func_80181B20(s32 a0) func_8012B178(a0, 0xFFF00000 - ((v % 8) << 16)); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = rand() & 0xF0; - *(s16 *)(a0 + 0xFE) = rand() & 0x1F0; - *(s16 *)(a0 + 0x100) = rand() & 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = rand() & 0x30; } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; } } @@ -4892,12 +4892,12 @@ void func_80181D14(s32 a0) { u16 sub; - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_8012C218((void *)a0); return; } - sub = *(u16 *)(a0 + 0x34); + sub = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (sub) { case 1: goto L80181DB4; @@ -4916,8 +4916,8 @@ void func_80181D14(s32 a0) if (!(((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_8018F4A8[0]) & 0x2000)) { return; } - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x14) = 0xFFF80000; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF80000; func_8002D4C8(0x9C5, 0); return; @@ -4926,8 +4926,8 @@ L80181DB4: if (!(((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_8018F4A8[0]) & 0x2000)) { return; } - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8002D4C8(0x9C5, 0); return; @@ -4935,8 +4935,8 @@ L80181DFC: if (!func_8012BEE8(a0)) { goto L80181E1C; } - *(s32 *)(a0 + 0x1C) = 0x30; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; L80181E1C: func_8012E8C4(a0); @@ -5031,43 +5031,43 @@ void func_80181F38(s32 a0) { s32 s0; - if ((*(s32 *)(a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4((void *)a0); return; } - if ((func_80029178((s32)D_801AB580[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) { - s0 = *(s32 *)(a0 + 0xDC); + if ((func_80029178((s32)D_801AB580[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { + s0 = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (s0 != 0) { s32 a1 = *(s32 *)(s0 + 0x4); if (a1 != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), a1); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, a1); if (*(s32 *)(s0 + 0xC) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } } } func_8012AD50((void *)a0); } else { - s0 = *(s32 *)(a0 + 0xDC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (s0 != 0) { s32 a1 = *(s32 *)s0; if (a1 != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), a1); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, a1); if (*(s32 *)(s0 + 0xC) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } } } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)&D_801AB570; - *(s32 *)(a0 + 0x58) = (s32)&D_801AB560 | 0x40000000; - *(u16 *)(a0 + 0x5C) = 0x8800; - *(s32 *)(a0 + 0xB4) = 0; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0xAE) = 0x7FFF; - *(u8 *)(a0 + 0x75) = 0; - *(s32 *)(a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801AB570; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AB560 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x7FFF; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; } func_8012AD50((void *)a0); } @@ -5094,14 +5094,14 @@ extern void func_8001C924(void *a0, s32 *a1); extern void func_8018218C(void *a0); void func_8018210C(void *a0) { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s16 *)((s32)a0 + 0x5E) = 0; - *(s16 *)((s32)a0 + 0x5C) = 0; - func_80029124(D_801AB580[*(s16 *)((s32)a0 + 0x70)], 1); - if (*(s32 *)((s32)a0 + 0xDC) != 0) { - s32 t = *(s32 *)(*(s32 *)((s32)a0 + 0xDC) + 4); + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + func_80029124(D_801AB580[((Unkstruct_800B5CB8 *)a0)->unk70], 1); + if (((Unkstruct_800B5CB8 *)a0)->unkDC != 0) { + s32 t = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unkDC + 4); if (t != 0) { - func_8001C924((void *)*(s32 *)((s32)a0 + 0x20), (s32 *)t); + func_8001C924((void *)((Unkstruct_800B5CB8 *)a0)->unk20, (s32 *)t); } } func_8018218C(a0); @@ -5115,12 +5115,12 @@ void func_8018218C(void *a0) { s32 i; s32 old; - old = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20) = D_801AB548; + old = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk20; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk20 = D_801AB548; for (i = 0; i < 5; i++) { func_8012C658(0x150, i, a0); } - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20) = old; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk20 = old; } @@ -5169,59 +5169,59 @@ void func_80182244(void *a0) /* §162: fold the store AND the test into ONE expression so cc1 keeps both * on the call's native $v0 instead of coalescing them into a fresh copy. */ - if ((*(s32 *)((s32)a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } - s1 = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xDC); + s1 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xDC); if (s1 != 0) { t = *(s32 *)(s1 + 0x8); if (t != 0) { - D_801DA750[*(s16 *)((s32)a0 + 0x70)].a = - ((s32 *)t)[*(s16 *)((s32)a0 + 0x70)]; + D_801DA750[((Unkstruct_800B5CB8 *)a0)->unk70].a = + ((s32 *)t)[((Unkstruct_800B5CB8 *)a0)->unk70]; } } - D_801DA750[*(s16 *)((s32)a0 + 0x70)].b = 0; - func_8001C214(*(s32 *)((s32)a0 + 0x20), - (s32)&D_801DA750[*(s16 *)((s32)a0 + 0x70)]); + D_801DA750[((Unkstruct_800B5CB8 *)a0)->unk70].b = 0; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, + (s32)&D_801DA750[((Unkstruct_800B5CB8 *)a0)->unk70]); if (*(s32 *)(s1 + 0xC) != 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x1000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x1000000; } /* source order is DESCENDING here (0xE, 0xA, 0x6) — the emitted stores keep * source order, and the target's are 0xE/0xA/0x6 with 0x6 in the delay slot. */ - *(s16 *)((s32)a0 + 0xE) = 0; - *(s16 *)((s32)a0 + 0xA) = 0; - *(s16 *)((s32)a0 + 0x6) = 0; - func_80132784((s32)a0, *(s32 *)((s32)a0 + 0x64), *(u16 *)((s32)a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + func_80132784((s32)a0, ((Unkstruct_800B5CB8 *)a0)->unk64, CAST_SIGN(u16, (s32)a0, 0x70)); - *(s16 *)((s32)a0 + 0x6) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x48); - *(s16 *)((s32)a0 + 0xA) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4C); - *(s16 *)((s32)a0 + 0xE) = *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk48; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk4C; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk50; - *(Rec8_8017DDC4_80182244 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = - *(Rec8_8017DDC4_80182244 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x10); + *(Rec8_8017DDC4_80182244 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) = + *(Rec8_8017DDC4_80182244 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x10); func_8012B23C(a0); - func_800484EC(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34, - (s32)&D_801AB59C[*(s16 *)((s32)a0 + 0x70)], + func_800484EC(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34, + (s32)&D_801AB59C[((Unkstruct_800B5CB8 *)a0)->unk70], (s32)a0 + 0x10); - *(s16 *)((s32)a0 + 0xFC) = rand() & 0xF0; - *(s16 *)((s32)a0 + 0xFE) = rand() & 0x1F0; - *(s16 *)((s32)a0 + 0x100) = rand() & 0x30; + ((Unkstruct_800B5CB8 *)a0)->unkFC = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = rand() & 0x30; v0 = func_80132EF4((s32)a0, 0x22); if (v0 != 0) { - *(s16 *)(v0 + 0x34) = 0x4001; - *(s32 *)(v0 + 0x10) = *(s32 *)((s32)a0 + 0x10) >> 2; - *(s32 *)(v0 + 0x14) = *(s32 *)((s32)a0 + 0x14) >> 2; - *(s32 *)(v0 + 0x18) = *(s32 *)((s32)a0 + 0x18) >> 2; + ((Unkstruct_800B5CB8 *)v0)->unk34 = 0x4001; + CAST_WIDTH(s32, v0, 0x10) = CAST_WIDTH(s32, (s32)a0, 0x10) >> 2; + ((Unkstruct_800B5CB8 *)v0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 2; + CAST_WIDTH(s32, v0, 0x18) = CAST_WIDTH(s32, (s32)a0, 0x18) >> 2; } - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012AD50(a0); } @@ -5229,7 +5229,7 @@ void func_80182244(void *a0) extern void (*D_801AB5EC[])(void); void func_80182460(void *a0) { - D_801AB5EC[*(u16 *)((s32)a0 + 0x2)](); + D_801AB5EC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5248,32 +5248,32 @@ void func_801824AC(s32 arg0) { s32 s1; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) + *(u16 *)(arg0 + 0xFC); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + *(u16 *)(arg0 + 0xFE); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x14) + *(u16 *)(arg0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 + CAST_SIGN(u16, arg0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + CAST_SIGN(u16, arg0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x14) + CAST_SIGN(u16, arg0, 0x100); s1 = ((s32 (*)(s32))func_8012CBF4)(arg0); - if (*(s16 *)(arg0 + 0xA) >= 0x101) { + if (CAST_SIGN(s16, arg0, 0xA) >= 0x101) { func_8012C218((void *)arg0); } - if (*(u16 *)(arg0 + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 != 0) { if ((s1 & 0x6000) != 0) { func_8012C218((void *)arg0); } } else if ((s1 & 0x6000) != 0) { u16 newcount; - *(s32 *)(arg0 + 0x14) = 0xFFF80000; - newcount = *(u16 *)(arg0 + 0x34) + 1; - *(u16 *)(arg0 + 0xFC) = (s16)*(u16 *)(arg0 + 0xFC) >> 1; - *(u16 *)(arg0 + 0xFE) = (s16)*(u16 *)(arg0 + 0xFE) >> 1; - *(u16 *)(arg0 + 0x34) = newcount; - *(u16 *)(arg0 + 0x100) = (s16)*(u16 *)(arg0 + 0x100) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xFFF80000; + newcount = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = (s16)CAST_SIGN(u16, arg0, 0xFC) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = (s16)CAST_SIGN(u16, arg0, 0xFE) >> 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = newcount; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (s16)CAST_SIGN(u16, arg0, 0x100) >> 1; } } @@ -5291,7 +5291,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); s32 func_801825D8(arg0) void *arg0; { - *(s32 *)((char *)arg0 + 0x10) = 0x18000; + CAST_WIDTH(s32, (char *)arg0, 0x10) = 0x18000; func_8012AD44(arg0, 2); func_8002D4C8(0x675, 0); } @@ -5340,7 +5340,7 @@ void func_801826FC(s32 *a0) { void func_80182724(void *arg0) { - *(s32 *)((char *)arg0 + 0x44) = 0x4000; + ((Unkstruct_800B5CB8 *)arg0)->unk44 = 0x4000; func_8012AD44((s32 *)arg0, 2); func_8002D4C8(0x684, 0); } @@ -5354,7 +5354,7 @@ extern s16 D_801AB624[]; void func_80182758(void *arg0) { func_8013C9C4(&D_8018B99C); - *(s32 *)((s32)arg0 + 0x1C) = *(s16 *)((s32)D_801AB624 + (*(s16 *)((s32)arg0 + 0x100) << 2)); + ((Unkstruct_800B5CB8 *)arg0)->unk1C = *(s16 *)((s32)D_801AB624 + (((Unkstruct_800B5CB8 *)arg0)->unk100 << 2)); func_8012AD44((s32 *)arg0, 3); func_8002D4C8(4, 0x684); func_8002D4C8(0x685, 0); @@ -5422,7 +5422,7 @@ void func_80182868(void *a0) s16 id; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -5430,25 +5430,25 @@ void func_80182868(void *a0) func_8001C214(v0, (s32)&D_801ACD58); - *(u32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x2000200; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0x2000200; - *(u32 *)((s32)a0 + 0x58) = (s32)D_801AB660 | 0x10000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_801AB660 | 0x10000000; - *(u8 *)((s32)a0 + 0x75) = 0; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x80000000; - *(u16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; } else { - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; } - *(s16 *)((s32)a0 + 0x6) = D_801AB670[*(s16 *)((s32)a0 + 0x70)].v; - *(s16 *)((s32)a0 + 0xA) = D_801AB672[*(s16 *)((s32)a0 + 0x70)].v; - *(s16 *)((s32)a0 + 0xE) = D_801AB674[*(s16 *)((s32)a0 + 0x70)].v; + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_801AB670[((Unkstruct_800B5CB8 *)a0)->unk70].v; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_801AB672[((Unkstruct_800B5CB8 *)a0)->unk70].v; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_801AB674[((Unkstruct_800B5CB8 *)a0)->unk70].v; func_80182A44(a0); - if (*(s16 *)((s32)a0 + 0x70) == 3) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = 0x800; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 3) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = 0x800; } if ((func_80029178(0xAE) & 0xFF) == 0) { @@ -5456,16 +5456,16 @@ void func_80182868(void *a0) } if (D_801AB624[0] != 0) { - state = *(s16 *)((s32)a0 + 0x70); + state = ((Unkstruct_800B5CB8 *)a0)->unk70; i = 0; for (;;) { id = D_801AB624[i + 1]; if (id == state) { if (id >= 2) { if (D_801AB676[id].v != 0) { - *(s16 *)((s32)a0 + 0x6) -= 0x200; + CAST_SIGN(s16, (s32)a0, 0x6) -= 0x200; } else { - *(s16 *)((s32)a0 + 0x6) += 0x200; + CAST_SIGN(s16, (s32)a0, 0x6) += 0x200; } } } @@ -5482,7 +5482,7 @@ extern s32 func_80029178(s32 arg0); extern void func_8012AD44(s32 *a0, s16 a1); void func_80182A44(void *arg0) { - if (((func_80029178(0xAE) & 0xFF) != 0) || (*(s16 *)((s32)arg0 + 0x70) == 0)) { + if (((func_80029178(0xAE) & 0xFF) != 0) || (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0)) { func_8012AD44((s32 *)arg0, 3); } else { func_8012AD44((s32 *)arg0, 1); @@ -5498,13 +5498,13 @@ void func_80182AA4(void *a0) { extern void func_8002D4C8(s32 a0, s32 a1); s32 v0; - v0 = D_801AB676[*(s16 *)((s32)a0 + 0x70)].v; + v0 = D_801AB676[((Unkstruct_800B5CB8 *)a0)->unk70].v; if (v0 == 0) { v0 = 0x8000; } else { v0 = -0x8000; } - *(s32 *)((s32)a0 + 0x44) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk44 = v0; func_8012AD44((s32 *)a0, 2); func_8002D4C8(0x686, 0); } @@ -5573,7 +5573,7 @@ void func_80182AFC(s32 arg0) s32 vt; vt = ok + 0; if (vt != 0) { - if (*(s16 *)(base + 0xA) >= *(s16 *)(s0 + 0xA) + D_801AB668[0]) { + if (((Unkstruct_80126B58 *)base)->unkA >= *(s16 *)(s0 + 0xA) + D_801AB668[0]) { func_8012DB84(); } } @@ -5592,9 +5592,9 @@ void func_80182C78(s32 a0) void (*fn)(void); func_8013C9C4(&D_8018B9C0); - if (*(s16 *)((s32)a0 + 0x70) == 0x12 && *(u16 *)&D_80126B58 != 0x1A) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0x12 && ((Unkstruct_80126B58 *)&D_80126B58)->unk0 != 0x1A) { func_80029124(0xAE, 1); - fn = *(void (**)(void))(*(s32 *)((s32)a0 + 0x64) + 0xDC); + fn = *(void (**)(void))(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xDC); if (fn != NULL) { fn(); } @@ -5608,7 +5608,7 @@ void func_80182C78(s32 a0) extern void (*D_801AB708[])(void); void func_80182D10(void *a0) { - D_801AB708[*(u16 *)((s32)a0 + 0x2)](); + D_801AB708[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5635,7 +5635,7 @@ void func_80182D4C(u8 *a0, u8 *a1, s32 a2) s16 lim1, lim2; u16 tmp; - if (*(u16 *)(base + 0x0) == 0x1A) { + if (((Unkstruct_80126B58 *)base)->unk0 == 0x1A) { return; } @@ -5681,7 +5681,7 @@ void func_80182D4C(u8 *a0, u8 *a1, s32 a2) tmp = *(u16 *)(a0 + 0xA) + *(u16 *)(a1 + 0x8); tmp -= 1; - *(u16 *)(base + 0xA) = tmp; + ((Unkstruct_80126B58 *)base)->unkA = tmp; } @@ -5725,7 +5725,7 @@ void func_80182E4C(void *a0) u16 t; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -5739,25 +5739,25 @@ void func_80182E4C(void *a0) } func_8001C214(s1, (s32)&D_801ACA00); - *(s32 *)((s32)a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; - v1 = *(s32 *)((s32)a0 + 0x20); - *(s32 *)(v1 + 0x4) = *(s32 *)(v1 + 0x4) | 0x8000; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, v1, 0x4) = CAST_WIDTH(s32, v1, 0x4) | 0x8000; *(s32 *)(s1 + 0x4) = *(s32 *)(s1 + 0x4) | 0x8000; - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x1800180; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0x1800180; *(s32 *)(s1 + 0x28) = 0x1800180; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801AB5F4 | 0x10000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AB5F4 | 0x10000000; - *(u16 *)((s32)a0 + 0x5C) = 0xC800; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xC800; - *(u8 *)((s32)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; func_80029124(0xAE, 0); - t = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0xFC) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t; func_801825B0(a0); } @@ -5779,7 +5779,7 @@ s32 arg0; { s32 s0 = arg0; func_8012AD80(arg0); - if (*(s16 *)((s32)s0 + 6) - *(s16 *)((s32)s0 + 0xFC) >= 0x161) { + if (CAST_SIGN(s16, (s32)s0, 6) - ((Unkstruct_800B5CB8 *)s0)->unkFC >= 0x161) { func_80182610(s0); } } @@ -5799,28 +5799,28 @@ void func_80182FC8(void *a0) u16 t; s32 i; - if ((*(s32 *)((s32)a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801ACB40); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801ACB40); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x8000; - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x1800180; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0x1800180; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801AB614 | 0x10000000; - t = *(u16 *)((s32)a0 + 0x6); - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 0; - *(s16 *)((s32)a0 + 0xFC) = t; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AB614 | 0x10000000; + t = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t; for (i = 0; i < 0x13; i++) { func_8012C658(0x160, i, (s32)a0); } - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s16 *)((s32)a0 + 0x100) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; func_801826FC((s32 *)a0); } @@ -5844,11 +5844,11 @@ extern void func_80182758(void *arg0); void func_801830EC(s32 param_1) { func_8012AD80(param_1); - if (0x7FFFF < *(s32 *)(param_1 + 0x10)) { - *(s32 *)(param_1 + 0x44) = 0; + if (0x7FFFF < CAST_WIDTH(s32, param_1, 0x10)) { + ((Unkstruct_800B5CB8 *)param_1)->unk44 = 0; } func_8012E138(param_1); - if (*(s16 *)(param_1 + 6) - *(s16 *)(param_1 + 0xFC) >= 0x3E0) { + if (CAST_SIGN(s16, param_1, 6) - ((Unkstruct_800B5CB8 *)param_1)->unkFC >= 0x3E0) { func_80182758(param_1); } } @@ -5867,22 +5867,22 @@ void *arg0; s32 r; volatile s32 pad; - if (*(u16 *)((char *)arg0 + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 != 0) { return; } if (func_8012BEE8((s32)arg0) == 0) { return; } - *(s16 *)((char *)arg0 + 0xFE) = *(u16 *)((char *)D_801AB626 + (*(s16 *)((char *)arg0 + 0x100)) * 4); - cnt = *(u16 *)((char *)arg0 + 0x100); + ((Unkstruct_800B5CB8 *)arg0)->unkFE = *(u16 *)((char *)D_801AB626 + (((Unkstruct_800B5CB8 *)arg0)->unk100) * 4); + cnt = CAST_SIGN(u16, (char *)arg0, 0x100); cnt = cnt + 1; - *(u16 *)((char *)arg0 + 0x100) = cnt; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = cnt; r = D_801AB624[(s16)cnt * 2]; - *(s32 *)((char *)arg0 + 0x1C) = r; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = r; if (r != 0) { return; } - *(u16 *)((char *)arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } @@ -5936,8 +5936,8 @@ extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); extern void func_8012AD44(s32 *a0, s16 a1); void func_801832FC(s32 a0) { - *(s16 *)((s32)a0 + 0xFE) = 1; - func_8012C658(0x156, *(s16 *)((s32)a0 + 0x70), (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8012C658(0x156, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); ((void (*)(void *, s32))func_8012AD44)((void *)a0, 2); } @@ -5946,10 +5946,10 @@ extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); extern void func_8012AD44(s32 *a0, s16 a1); void func_80183344(s32 a0) { - *(s16 *)((s32)a0 + 0x100) = 1; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0x100; - *(s16 *)((s32)a0 + 0xFE) = 1; - func_8012C658(0x156, *(s16 *)((s32)a0 + 0x70), (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = 0x100; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8012C658(0x156, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); func_8012AD44((s32 *)a0, 2); } @@ -6043,35 +6043,35 @@ void func_801834E8(void *a0) /* §162-style: fold the store AND the test into ONE expression so cc1 * keeps the call's return value live in $v0 for the following call. */ - if ((v0 = *(s32 *)((s32)a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((v0 = ((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } func_8001C810(v0, (s32)&D_801AD138); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x8040; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - D_801AB73E[*(s16 *)((s32)a0 + 0x70)][0]; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + D_801AB73E[((Unkstruct_800B5CB8 *)a0)->unk70][0]; - if (*(s16 *)((s32)a0 + 0x70) < 2) { - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801AB748 | 0x40000000; - *(u16 *)((s32)a0 + 0x5C) = 0xC400; - *(u8 *)((s32)a0 + 0x75) = 0; - *(s16 *)((s32)a0 + 0x6) = - D_801AB738[*(s16 *)((s32)a0 + 0x70)][0]; - *(s16 *)((s32)a0 + 0xA) = - D_801AB73A[*(s16 *)((s32)a0 + 0x70)][0]; - *(s16 *)((s32)a0 + 0xE) = - D_801AB73C[*(s16 *)((s32)a0 + 0x70)][0]; + if (((Unkstruct_800B5CB8 *)a0)->unk70 < 2) { + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AB748 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xC400; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = + D_801AB738[((Unkstruct_800B5CB8 *)a0)->unk70][0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = + D_801AB73A[((Unkstruct_800B5CB8 *)a0)->unk70][0]; + ((Unkstruct_800B5CB8 *)a0)->unkE = + D_801AB73C[((Unkstruct_800B5CB8 *)a0)->unk70][0]; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) == 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) == 0) { func_80178B18((s32)a0, (s32)&D_801AB758); - *(s16 *)((s32)a0 + 0xFE) = 1; - *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xFE) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) = 2; func_80183658(a0); } else { - *(u16 *)((s32)a0 + 0xA) = *(u16 *)((s32)a0 + 0xA) + 0x280; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x280; func_801836B0(a0); } } else { @@ -6158,11 +6158,11 @@ extern s32 D_801AB728; void func_8018371C(void *a0) { u16 sub; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xFE) == 2) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) == 2) { goto L801838C0; } - sub = *(u16 *)((s32)a0 + 0x34); + sub = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (sub) { case 1: goto L8018384C; @@ -6174,12 +6174,12 @@ void func_8018371C(void *a0) { return; L8018377C: - if (*(s16 *)((s32)a0 + 0x102) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { goto L801837B0; } if (func_8014C088(0, 0xA) != 0) { - *(s16 *)((s32)a0 + 0x102) = 1; - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) + 1; } goto L801837DC; @@ -6187,16 +6187,16 @@ L801837B0: if (func_8014C088(0, 0xA) != 0) { goto L801837DC; } - *(s16 *)((s32)a0 + 0x102) = 0; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)((s32)a0 + 0x106)) { - *(s16 *)((s32)a0 + 0x104) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC != ((Unkstruct_800B5CB8 *)a0)->unk106) { + ((Unkstruct_800B5CB8 *)a0)->unk104 = 1; } L801837DC: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { return; } - if (*(s16 *)((s32)a0 + 0x104) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 != 0) { goto L8018382C; } func_8002A088(0x64); @@ -6206,7 +6206,7 @@ L801837DC: func_8016AA50((s32)a0, -1); L8018382C: - *(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_80178B18((s32)a0, (s32)&D_801AB760); return; @@ -6221,10 +6221,10 @@ L8018384C: return; } ((void (*)(s32))func_80178D18)((s32)a0); - *(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1; - *(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) = 1; - func_80029124(((u16 *)&D_801AB728)[*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70)], 1); - *(s32 *)((s32)a0 + 0x1C) = 0xA0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) = 1; + func_80029124(((u16 *)&D_801AB728)[*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70)], 1); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA0; return; L801838B0: @@ -6258,11 +6258,11 @@ extern void func_8012E014(s32 arg0); void func_80183938(void *a0) { - D_801AB778[*(u16 *)((s32)a0 + 2)](); - if (*(s32 *)((s32)a0 + 0x64) != 0 && - *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xFE) == 0) { + D_801AB778[CAST_SIGN(u16, (s32)a0, 2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk64 != 0 && + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) == 0) { func_8012C218(a0); - } else if (*(u8 *)((s32)a0 + 0x74) != 0) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { func_8012E014((s32)a0); } } @@ -6273,13 +6273,13 @@ extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); void func_801839C8(s32 a0) { s32 i; - *(u16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; for (i = 0; i < 10; i++) { if (func_8012C658(0x16F, i, a0) != 0) { - (*(u16 *)(a0 + 0xFC))++; + (CAST_SIGN(u16, a0, 0xFC))++; } } - *(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk106 = CAST_SIGN(u16, a0, 0xFC); } @@ -6325,7 +6325,7 @@ void func_80183ADC(s32 a0) s32 temp; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -6333,22 +6333,22 @@ void func_80183ADC(s32 a0) func_8001C214(v0, (s32)&D_801AD2B8); - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0x1000; - temp = *(s32 *)((s32)a0 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = 0x1000; + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(temp + 0x1C) = 0xA00; *(s16 *)(temp + 0x18) = 0xA00; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801AB718 | 0x20000000; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801AB718 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; - if ((func_80029178(((u16 *)&D_801AB728)[*(s16 *)((s32)a0 + 0x70)]) & 0xFF) != 0) { + if ((func_80029178(((u16 *)&D_801AB728)[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { func_80183344(a0); return; } - *(u16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; func_801832D8(a0); } @@ -6364,20 +6364,20 @@ void func_80183BC4(void *a0) extern void func_8002D4C8(s32, s32); s16 val; - if (*(u8 *)((s32)a0 + 0x74) != 0) { - val = *(s16 *)((s32)a0 + 0xFC); + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { + val = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (val >= 3) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0x100; - D_80126B62 = *(u16 *)((s32)a0 + 0xA) + - (*(s16 *)&D_801AB720 * *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A)) / 4096; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = 0x100; + D_80126B62 = ((Unkstruct_800B5CB8 *)a0)->unkA + + (*(s16 *)&D_801AB720 * *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) / 4096; func_801832FC((s32)a0); ((void (*)(s32))func_8001AAA0)(0x3A); func_8002D4C8(0x6CB, 0); } else { - *(u16 *)((s32)a0 + 0xFC) = val + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = val + 1; } } else { - *(u16 *)((s32)a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6392,11 +6392,11 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80183C84(void *a0) { if (func_8012BEE8((s32)a0) != 0) { - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xFE) == 2) { - *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xFE) = 1; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) == 2) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) = 1; func_801839C8((s32)a0); - *(s16 *)((s32)a0 + 0x100) = 0; - *(s16 *)((s32)a0 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; } func_80183680((s32)a0); func_8002D4C8(0x6CA, 0); @@ -6483,7 +6483,7 @@ void func_80183DD4(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -6521,18 +6521,18 @@ void func_80183DD4(s32 a0) { } } - D_801AD38C[*(u16 *)(a0 + 0x2)](a0); + D_801AD38C[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -6635,93 +6635,93 @@ void func_801841F4(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801AD67C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801AD67E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801AD680[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AD67C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801AD67E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AD680[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD3E0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD3E0); func_8012A828(a0, (s32)D_801AD4A0); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD528); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD528); func_8012A828(a0, (s32)D_801AD5E8); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801AD6CC; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801AD6F0; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801AD3A4; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801AD6CC; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801AD6F0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801AD3A4; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD3E0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD3E0); func_8012A828(a0, (s32)D_801AD4A0); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD528); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD528); func_8012A828(a0, (s32)D_801AD5E8); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD6DC); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD6DC); func_8012A828(a0, (s32)D_801AD6E8); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801AD3E0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD3E0); func_8012A828(a0, (s32)D_801AD4A0); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -6764,15 +6764,15 @@ void func_80184834(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -6781,61 +6781,61 @@ void func_80184834(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -6850,20 +6850,20 @@ void func_80184BE4(void *a0) { s32 t; u16 *q; - D_801AD700[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801AD700[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -6876,7 +6876,7 @@ void func_80184BE4(void *a0) { extern void (*D_801AD7AC[])(void); void func_80184CD0(void *a0) { - D_801AD7AC[*(u16 *)((s32)a0 + 0x2)](); + D_801AD7AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6884,7 +6884,7 @@ void func_80184CD0(void *a0) { extern void (*D_801AD860[])(void); void func_80184D0C(void *a0) { - D_801AD860[*(u16 *)((s32)a0 + 0x2)](); + D_801AD860[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6912,17 +6912,17 @@ void func_80184D60(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801AD2E0) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801AD2C0; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AD2C0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018B56C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -6948,18 +6948,18 @@ void func_80184E20(void *a0) { extern u8 D_801AD3A4[]; extern u8 D_801AD2C0[]; if (func_8012C354((s32)a0, (s32)D_801AD3A4) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801AD2C0; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AD2C0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018B56C); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -6973,13 +6973,13 @@ void func_80184EA4(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -7036,16 +7036,16 @@ void func_80184F94(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801AD670); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -7065,18 +7065,18 @@ void func_80185058(void *a0) { extern u16 D_801AD680[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801AD67C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801AD67E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801AD680[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AD67C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801AD67E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AD680[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -7090,8 +7090,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80185138(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80185138 *ptr = *(Struct_80185138 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80185138 *ptr = CAST_SIGN(Struct_80185138 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -7114,18 +7114,18 @@ void func_801851A8(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801AD670); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -7153,18 +7153,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8018528C(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -7191,12 +7191,12 @@ void func_80185344(s32 a0) { extern s16 D_801AD772[]; if (func_8012C354(a0, (s32)D_801AD738) != 0) { func_8012A828(a0, (s32)D_8018B56C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801AD76C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801AD76E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801AD770[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801AD772[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801AD76C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801AD76E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801AD770[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801AD772[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -7261,24 +7261,24 @@ void func_801854D8(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801AD7B8); func_8012A828(param_1, (s32)D_801AD818); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -7371,40 +7371,40 @@ void func_8018582C(void *a0) { extern u8 D_801AF6F0[]; extern u8 D_801AF7E0[]; - if (func_8012C354((s32)a0, (s32)(D_801AF6F0 + ((*(u16 *)((s32)a0 + 0x70)) & 1) * 0x34)) != 0) { + if (func_8012C354((s32)a0, (s32)(D_801AF6F0 + ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) * 0x34)) != 0) { s32 sub; s32 v; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_801AF7E0; - *(s32 *)((s32)a0 + 0xB4) = -0x20EF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AF7E0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20EF; - *(s32 *)((s32)a0 + 0xC4) |= 3; - if (*(s32 *)((s32)a0 + 0xDC) == 0) { - *(s32 *)((s32)a0 + 0xDC) = 0x40000; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; + if (((Unkstruct_800B5CB8 *)a0)->unkDC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0x40000; } - if (*(s16 *)((s32)a0 + 0xFE) == 0) { - *(s16 *)((s32)a0 + 0xFE) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x3C; } - if ((*(u16 *)((s32)a0 + 0x70)) & 1) { - sub = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(sub + 0x2C) |= 0x10; + if ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) { + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)sub)->unk2C |= 0x10; - sub = *(s32 *)((s32)a0 + 0x20); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; v = 0x1666; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x1A) = v; - *(s16 *)(sub + 0x18) = v; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; } else { v = 0x1000; } - do { *(s16 *)((s32)a0 + 0x100) = v; } while (0); + do { ((Unkstruct_800B5CB8 *)a0)->unk100 = v; } while (0); func_8012C588(0x153, (s32)a0); func_80186CE0(a0, 1); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -7413,7 +7413,7 @@ void func_8018582C(void *a0) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801B42B8; void func_80185934(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012A828((int)arg0, (int)&D_801B42B8); } @@ -7423,11 +7423,11 @@ extern s32 func_8012E778(s32 param_1, s32 param_2); extern void func_8002D4C8(s32 a0, s32 a1); void func_80185960(s32 a0) { - if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) != 0) { - *(s16 *)(a0 + 0x2) = 3; + if (func_8012BD3C(a0, 0x400, ((Unkstruct_800B5CB8 *)a0)->unkDC) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { if (func_8012E778(a0, 0x8C00B4) == 1) { func_8002D4C8(0x64A, 0); } @@ -7461,9 +7461,9 @@ void func_801859DC(s32 a0) { s32 ang2; s32 p; - if ((*(s32 *)(a0 + 0xE0) & 1) == 0) { - if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) == 0) { - *(u16 *)(a0 + 2) = 1; + if ((((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) == 0) { + if (func_8012BD3C(a0, 0x400, ((Unkstruct_800B5CB8 *)a0)->unkDC) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { func_8012A828(a0, (s32)&D_801B4380); if (func_8012E778(a0, 0x8C00B4) == 1) { @@ -7472,12 +7472,12 @@ void func_801859DC(s32 a0) { } } - if (*(s32 *)(a0 + 0x94) == 0x19) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x19) { p = (s32)&D_801AF86C; func_8012F214(a0, p, (s32)&buf[0]); func_8012F214(a0, p + 8, (s32)&tmp); { - s32 f = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 f = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; ang1 = f + 0x400; ang2 = f - 0x400; } @@ -7507,20 +7507,20 @@ void func_80185BC0(s32 a0) if (func_8012BEE8(a0)) { if (func_8012BD14(a0) > 0x18FFF) { - *(u16 *)(a0 + 0x2) = 6; - *(s32 *)(a0 + 0x1C) = 0x20; - *(s32 *)((*(s32 *)(a0 + 0x20)) + 4) &= 0x7FFFFFFF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x1C) = 1; - *(u16 *)(v1 + 0x1A) = 1; - *(u16 *)(v1 + 0x18) = 1; - v0 = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + *(s32 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(u16, v1, 0x1C) = 1; + ((Unkstruct_800B5CB8 *)v1)->unk1A = 1; + ((Unkstruct_800B5CB8 *)v1)->unk18 = 1; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v0 + 0x14) = 0; *(u16 *)(v0 + 0x10) = 0; - v0 = *(s32 *)(a0 + 0x68); - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x12) = *(u16 *)(v0 + 0xC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk68; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = *(u16 *)(v0 + 0xC); func_8012B2CC(a0); } } @@ -7609,56 +7609,56 @@ void func_80185D5C(void *a0) { func_8012E9C0((s32)a0); - if (*(u16 *)((u8 *)a0 + 0x5E) != 0x1D) { - if (*(u8 *)((u8 *)a0 + 0xC8)) { + if (CAST_WIDTH(u16, (u8 *)a0, 0x5E) != 0x1D) { + if (((Unkstruct_800B5CB8 *)a0)->unkC8) { func_8002A520(a0); } - if (*(u8 *)((u8 *)a0 + 0xC9)) { + if (((Unkstruct_800B5CB8 *)a0)->unkC9) { func_8002A790(a0); } } { - s32 base = *(s32 *)((u8 *)a0 + 0x78); - speed = (*(s16 *)((u8 *)a0 + 0x60) * *(s16 *)(base + 0x30)) >> 12; + s32 base = ((Unkstruct_800B5CB8 *)a0)->unk78; + speed = (((Unkstruct_800B5CB8 *)a0)->unk60 * *(s16 *)(base + 0x30)) >> 12; } if (speed <= 0) { speed = 1; } - *(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed; + ((Unkstruct_800B5CB8 *)a0)->unk76 = CAST_SIGN(u16, (u8 *)a0, 0x76) - speed; { - *(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE; - if (*(s16 *)((u8 *)a0 + 0x76) <= 0) { - *(u16 *)((u8 *)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C & 0xFFFE; + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_80131E00(a0, 0xE); } else { if (speed > 0x10) { speed = 0x10; } - sv[0] = *(u16 *)((u8 *)a0 + 6) - D_80126B5E; - sv[1] = *(u16 *)((u8 *)a0 + 0xA) - D_80126B62; - sv[2] = *(u16 *)((u8 *)a0 + 0xE) - D_80126B66; + sv[0] = ((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E; + sv[1] = ((Unkstruct_800B5CB8 *)a0)->unkA - D_80126B62; + sv[2] = ((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66; VectorNormalSS(sv, (u8 *)a0 + 0x102); speed += 8; { - s32 p0 = speed * *(s16 *)((u8 *)a0 + 0x102); - s32 p1 = speed * *(s16 *)((u8 *)a0 + 0x104); - s32 p2 = speed * *(s16 *)((u8 *)a0 + 0x106); - *(s32 *)((u8 *)a0 + 0x1C) = 0x10; - *(s16 *)((u8 *)a0 + 0x102) = p0 >> 12; - *(s16 *)((u8 *)a0 + 0x104) = p1 >> 12; - *(s16 *)((u8 *)a0 + 0x106) = p2 >> 12; + s32 p0 = speed * ((Unkstruct_800B5CB8 *)a0)->unk102; + s32 p1 = speed * ((Unkstruct_800B5CB8 *)a0)->unk104; + s32 p2 = speed * ((Unkstruct_800B5CB8 *)a0)->unk106; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = p0 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk104 = p1 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk106 = p2 >> 12; } } } - *(s16 *)((u8 *)a0 + 6) = *(u16 *)((u8 *)a0 + 0x88); - *(s16 *)((u8 *)a0 + 0xA) = *(u16 *)((u8 *)a0 + 0x8A); - *(s16 *)((u8 *)a0 + 0xE) = *(u16 *)((u8 *)a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; func_8012A828((s32)a0, (s32)D_801B4508); } @@ -7668,15 +7668,15 @@ extern void func_8018633C(Str_8018633C *arg0); void func_80185F04(s32 self) { s32 m; - m = -(func_8004787C((*(s32 *)(self + 0x1C) << 10) & 0xC00) >> 12); + m = -(func_8004787C((((Unkstruct_800B5CB8 *)self)->unk1C << 10) & 0xC00) >> 12); - *(u16 *)(self + 0x6) = *(u16 *)(self + 0x6) + *(u16 *)(self + 0x102) * m; - *(u16 *)(self + 0xA) = *(u16 *)(self + 0xA) + *(u16 *)(self + 0x104) * m; - *(u16 *)(self + 0xE) = *(u16 *)(self + 0xE) + *(u16 *)(self + 0x106) * m; + ((Unkstruct_800B5CB8 *)self)->unk6 = ((Unkstruct_800B5CB8 *)self)->unk6 + CAST_SIGN(u16, self, 0x102) * m; + ((Unkstruct_800B5CB8 *)self)->unkA = ((Unkstruct_800B5CB8 *)self)->unkA + CAST_SIGN(u16, self, 0x104) * m; + ((Unkstruct_800B5CB8 *)self)->unkE = ((Unkstruct_800B5CB8 *)self)->unkE + CAST_SIGN(u16, self, 0x106) * m; if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; func_8018633C(self); } } @@ -7688,13 +7688,13 @@ extern void func_800CB0E8(void *a0); extern u8 D_801AF758; void func_80185FB0(s32 a0) { - *(u16 *)(a0 + 0x5C) &= 0xFFFE; - *(s32 *)(a0 + 0x1C) = 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x78; func_80143CD4(a0); func_8002D4C8(0x47B, 0); func_8002D4C8(0x478, 0); func_800CB0E8(a0); - *(s32 *)(a0 + 0xCC) = (s32)&D_801AF758; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801AF758; } @@ -7707,20 +7707,20 @@ void func_80186018(s32 self) { s32 q; s32 e; - p = *(s32 *)(self + 0xCC); - q = *(s32 *)(self + 0x20); + p = ((Unkstruct_800B5CB8 *)self)->unkCC; + q = ((Unkstruct_800B5CB8 *)self)->unk20; *(u16 *)(q + 0x10) = *(u16 *)(p + 0); *(u16 *)(q + 0x14) = *(u16 *)(p + 4); p += 8; if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(self + 0xCC) = (s32)&D_801AF758; + ((Unkstruct_800B5CB8 *)self)->unkCC = (s32)&D_801AF758; } else { - *(s32 *)(self + 0xCC) = p; + ((Unkstruct_800B5CB8 *)self)->unkCC = p; } if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; - e = *(s32 *)(self + 0x20); + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; + e = ((Unkstruct_800B5CB8 *)self)->unk20; *(u16 *)(e + 0x14) = 0; *(u16 *)(e + 0x10) = 0; func_8018633C(self); @@ -7825,7 +7825,7 @@ extern s32 func_801862A8(s32 arg0); extern s32 func_8012BEE8(s32 a0); void func_80186248(void *a0) { - s32 *ent = *(s32 **)((s32)a0 + 0x20); + s32 *ent = CAST_SIGN(s32 *, (s32)a0, 0x20); ent[1] ^= 0x80000000; if (func_8012BEE8((s32)a0)) { func_8002AC00(0xF); @@ -7842,20 +7842,20 @@ s32 func_801862A8(s32 arg0) s32 temp; func_8002A04C(arg0); - if ((*(s16 *)(arg0 + 0x70) & 0xC000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0xC000) != 0) { func_8012C098((void *)arg0); } else { - temp = *(s32 *)(arg0 + 0x20); - *(s16 *)(arg0 + 0x2) = 5; - *(s8 *)(arg0 + 0xC1) = 0; - *(s32 *)(arg0 + 0x1C) = 0x78; - *(s16 *)(arg0 + 0x5E) = 0; - *(s16 *)(arg0 + 0x5C) = 0; - *(s32 *)(temp + 0x4) |= 0x80000000; - *(u16 *)(arg0 + 0xAA) = 0; - *(s16 *)(arg0 + 0x6) = *(u16 *)(arg0 + 0x88); - *(s16 *)(arg0 + 0xA) = *(u16 *)(arg0 + 0x8A); - *(s16 *)(arg0 + 0xE) = *(u16 *)(arg0 + 0x8C); + temp = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x78; + CAST_WIDTH(s16, arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + CAST_WIDTH(s32, temp, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)arg0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } } @@ -7897,7 +7897,7 @@ void func_8018633C(Str_8018633C *arg0) { extern void (*D_801AF89C[])(void); void func_801863B0(void *a0) { - D_801AF89C[*(u16 *)((s32)a0 + 0x2)](); + D_801AF89C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7912,17 +7912,17 @@ void func_801863EC(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); } else { func_8001C214(v0, (s32)&D_801B30B0); - *(s16 *)(a0 + 0xFC) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(Rec8_801863EC *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(Rec8_801863EC *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x18); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x2C); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(Rec8_801863EC *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) = + *(Rec8_801863EC *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -7939,7 +7939,7 @@ extern void func_8012C218(void *a0); extern void (*D_801AFBB8[])(void); void func_801864E0(void *a0) { - D_801AFBB8[*(u16 *)((s32)a0 + 0x2)](); + D_801AFBB8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7957,7 +7957,7 @@ void func_8018651C(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -7966,7 +7966,7 @@ void func_8018651C(void *a0) { func_8012E8A8((u8 *)a0); } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0xFC); *(unsigned short *)((s32)a0 + 0x2) = 1; *(unsigned short *)((s32)a0 + 0x104) = v1; @@ -8082,40 +8082,40 @@ void func_801867AC(s32 a0) { if (func_80186A30(a0) == 1) { return; } - obj = *(s32 *)(a0 + 0x64); - if (*(u16 *)(a0 + 0x34) == 0) { - s32 t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + obj = ((Unkstruct_800B5CB8 *)a0)->unk64; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + s32 t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0x1D) { - *(s16 *)(a0 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; } - p = *(s32 *)(a0 + 0xCC); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = *(u16 *)(p + 6); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = *(u16 *)(p + 6); func_8012F14C(*(s32 *)(obj + 0x20) + 0x34, p, (s32)&sv); - *(u16 *)(a0 + 6) = *(u16 *)&sv.c[0]; - *(u16 *)(a0 + 0xA) = *(u16 *)&sv.c[2]; - *(u16 *)(a0 + 0xE) = *(u16 *)&sv.c[4]; + CAST_ALIAS(u16, a0, 6) = *(u16 *)&sv.c[0]; + CAST_ALIAS(u16, a0, 0xA) = *(u16 *)&sv.c[2]; + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)&sv.c[4]; p += 8; if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0x48) = 0x18000; - *(s16 *)(a0 + 0x102) = 0; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; func_80186B68(a0, 0xFFF00000); } else { - *(s32 *)(a0 + 0xCC) = p; + ((Unkstruct_800B5CB8 *)a0)->unkCC = p; } } else { s32 r; s32 c; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0x80; - if (*(s16 *)(a0 + 0x102) < 0x20) { - s32 q = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 + 0x80; + if (((Unkstruct_800B5CB8 *)a0)->unk102 < 0x20) { + s32 q = ((Unkstruct_800B5CB8 *)a0)->unk20; u16 w; - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 + 1; w = *(u16 *)(q + 0x1C) + 0x100; *(u16 *)(q + 0x1C) = w; *(u16 *)(q + 0x1A) = w; @@ -8123,7 +8123,7 @@ void func_801867AC(s32 a0) { } sv = D_801AFBD0; *(s16 *)&sv.c[2] = - (*(s16 *)&sv.c[2] * *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A)) >> 12; + (*(s16 *)&sv.c[2] * *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) >> 12; r = ((s32 (*)(s32, s32))func_8012CC1C)(a0, (s32)&sv); if ((r & 0x2000) == 0) { c = func_8012BEE8(a0); @@ -8137,7 +8137,7 @@ void func_801867AC(s32 a0) { } } func_801869C0(a0); - if (*(s16 *)(a0 + 0x100) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { func_80186C0C(a0); } } @@ -8153,8 +8153,8 @@ s32 aF801869C0(s32 param_1) { s32 p; u16 val; - if (func_8012D624(param_1, (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) * 3) >> 9, 0x21) == 1) { - p = *(s32 *)(param_1 + 0x20); + if (func_8012D624(param_1, (CAST_SIGN(s16, *(s32 *)(param_1 + 0x20), 0x18) * 3) >> 9, 0x21) == 1) { + p = CAST_NONSTRUCT(s32, param_1, 0x20); val = *(u16 *)(p + 0x12); D_80126B96 = 0x4002; D_80126B9A = val; @@ -8181,7 +8181,7 @@ s32 func_80186A30(void *a0) { void func_80186A70(void *a0) { - func_8002D59C(4, 0x64E, *(u16 *)((u8 *)a0 + 0x104)); + func_8002D59C(4, 0x64E, CAST_SIGN(u16, (u8 *)a0, 0x104)); func_8012C218(a0); } @@ -8227,7 +8227,7 @@ void func_80186B68(s32 a0, s32 a1) vel[1] = 0; vel[0] = 0; vel[2] = a1; - RotMatrixY(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), &mtx); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &mtx); func_800484EC((s32)&mtx, (s32)&vel[0], a0 + 0x10); } @@ -8478,25 +8478,25 @@ s32 func_80186D9C(s16 *a0, s32 a1, s32 a2, s32 a3) { void func_80187004(s32 a0) { - if (*(u16 *)(a0 + 0x2) == 0) { + if (CAST_SIGN(u16, a0, 0x2) == 0) { func_8012931C((struct vec *)a0); - if (*(s32 *)(a0 + 0x1C) < 0x23) { - *(s32 *)(a0 + 0x14) += 0x10000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x10000; } - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } } else { func_8012931C((struct vec *)a0); - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } - if (--*(s16 *)(a0 + 0x28) != 0) { - *(s32 *)(a0 + 0x1C) = 0xA; - *(s32 *)(a0 + 0x14) -= 0x10000; - *(u16 *)(a0 + 0x6) = *(s32 *)(a0 + 0x2C); - *(u16 *)(a0 + 0xA) = *(s32 *)(a0 + 0x30); - *(u16 *)(a0 + 0xE) = *(s32 *)(a0 + 0x34); + if (--((Unkstruct_800B5CB8 *)a0)->unk28 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk14 -= 0x10000; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk30; + ((Unkstruct_800B5CB8 *)a0)->unkE = CAST_WIDTH(s32, a0, 0x34); return; } } @@ -8524,44 +8524,44 @@ void func_801870F0(s32 a0) { s16 idx; if (func_8012C354(a0, (s32)D_801B4578) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x201; - *(s32 *)(a0 + 0xBC) = (s32)D_801B45AC; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x201; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801B45AC; func_8012A828(a0, (s32)D_801B5598); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80143970((void *)a0); func_8012B23C((void *)a0); - *(s16 *)(a0 + 0xFE) = (rand() & 0x1F) + 0x20; - *(s16 *)(a0 + 0x100) = (rand() & 0x1F) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0x1F) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0x1F) + 0x20; - v1 = *(s32 *)(a0 + 0x64); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s16 *)(*(s32 *)(v1 + 0x20) + 0x12) != 0) { - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) - + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - *(u16 *)((u8 *)D_801B4518 + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + *(u16 *)((u8 *)D_801B451A + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) - + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - *(u16 *)((u8 *)D_801B451C + idx * 8); } else { - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + *(u16 *)((u8 *)D_801B4518 + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + *(u16 *)((u8 *)D_801B451A + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE + *(u16 *)((u8 *)D_801B451C + idx * 8); } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); } } @@ -8685,18 +8685,18 @@ void func_80187400(s32 a0) * disambiguate) pins it below them, so the scheduler can only place it * in the lhu's load-delay stall. Written before them it floats up into * the lhu 0x5C shadow instead and costs a nop. */ - *(u16 *)(p + 0x62) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; + *(u16 *)(p + 0x62) = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + 0x800; *(u16 *)(p + 0x5E) = 0x1D; } p = func_8012DDA4(); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: - *(u8 *)(a0 + 0xC2) = 1; - sp18.vx = *(u16 *)(a0 + 0x3A); - sp18.vy = *(u16 *)(a0 + 0x3E); - sp18.vz = *(u16 *)(a0 + 0x42); + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; sp20 = sp18; sp20.vx += sp10.vx; sp20.vy += sp10.vy; @@ -8706,53 +8706,53 @@ void func_80187400(s32 a0) sp20.vx -= sp10.vx; sp20.vy -= sp10.vy; sp20.vz -= sp10.vz; - *(u16 *)(a0 + 0x3A) = sp20.vx; - *(u16 *)(a0 + 0x3E) = sp20.vy; - *(u16 *)(a0 + 0x42) = sp20.vz; + ((Unkstruct_800B5CB8 *)a0)->unk3A = sp20.vx; + ((Unkstruct_800B5CB8 *)a0)->unk3E = sp20.vy; + ((Unkstruct_800B5CB8 *)a0)->unk42 = sp20.vz; /* fallthrough */ case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += *(u16 *)(a0 + 0xFE); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += CAST_SIGN(u16, a0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0x100); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_8012C218((void *)a0); return; } D_801DA780 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&sp10); if (D_801DA780 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } break; case 2: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += *(u16 *)(a0 + 0xFE); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += CAST_SIGN(u16, a0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0x100); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_8012C218((void *)a0); return; } D_801DA780 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&sp10); if (D_801DA780 & 0x2000) { func_80143B6C(a0, 1); - *(u8 *)(a0 + 0xC2) = 3; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) &= 0xFFF; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) < 0x800) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0x400; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 &= 0xFFF; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < 0x800) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0x400; } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0xC00; } } break; case 3: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; D_801DA780 = ((s32 (*)(s32))func_8012CBF4)(a0); /* MEM_IN_STRUCT_P lever (sched.c:837 true_dependence escape): a struct-member * ref at a VARYING address never conflicts with a non-struct ref at a FIXED @@ -8761,8 +8761,8 @@ void func_80187400(s32 a0) * the escape does not fire, and the load stalls one nop below the store. */ ((Cnt *)(a0 + 0x1C))->f0 += 1; if (((Cnt *)(a0 + 0x1C))->f0 >= 0x11) { - *(u16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } break; } @@ -8773,7 +8773,7 @@ void func_80187400(s32 a0) extern void (*D_801B45BC[])(void); void func_801877E4(void *a0) { - D_801B45BC[*(u16 *)((s32)a0 + 0x2)](); + D_801B45BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8797,27 +8797,27 @@ void func_80187820(s32 a0) { s16 ang; - *(u16 *)(a0 + 0x5C) &= 0xFFFE; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xFFFE; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; - *(u16 *)(a0 + 0xFE) = (rand() & 0x7F) + 0x80; - *(u16 *)(a0 + 0x100) = (rand() & 0x7F) + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0x7F) + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0x7F) + 0x80; - ang = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + (rand() & 0x3FF) + 0x600; + ang = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + (rand() & 0x3FF) + 0x600; - *(s32 *)(a0 + 0x10) = func_8004787C(ang) << 8; - *(s32 *)(a0 + 0x18) = -(func_80047948(ang) << 8); + CAST_WIDTH(s32, a0, 0x10) = func_8004787C(ang) << 8; + CAST_WIDTH(s32, a0, 0x18) = -(func_80047948(ang) << 8); *(s16 *)(a0 + 0x16) = (rand() & 0xF) - 0x20; - *(u8 *)(a0 + 0xC2) = 0; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; func_8012A828(a0, (s32)D_8018B56C); - if (*(u8 *)(a0 + 0xC3) == 0) { - *(u8 *)(a0 + 0xC3) = 1; - (*(u16 *)(*(s32 *)(a0 + 0x64) + 0xFC))--; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 1; + (*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC))--; } } @@ -8827,10 +8827,10 @@ extern void func_8012C218(void *a0); void func_8018791C(a0) void *a0; { - if (--*(s32 *)((s32)a0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { func_8012C218((void *)a0); } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 4) ^= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) ^= 0x80000000; } } @@ -8891,46 +8891,46 @@ void func_80187970(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801BB988); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801BB988); func_8012A828((s32)a0, (s32)&D_801C30CC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -8962,7 +8962,7 @@ void func_80187AF4(void *a0) { extern s32 D_801B57CC; extern s32 D_801B5814; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801B55F4 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -8970,58 +8970,58 @@ void func_80187AF4(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: func_8012A828((s32)a0, (s32)D_801C1FD4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B572C; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B572C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: func_8012A828((s32)a0, (s32)D_801C189C); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B57CC; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B57CC; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: func_8012A828((s32)a0, (s32)&D_801C2F4C); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B5814; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B5814; break; case 4: func_8012A828((s32)a0, (s32)D_801C1FD4); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B572C; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B572C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8012A828((s32)a0, (s32)D_801C2DCC); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { func_8012A828((s32)a0, (s32)D_801C1FD4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B572C; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B572C; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -9143,61 +9143,61 @@ void func_80187D18(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, (s32)D_801C1FD4); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { func_8012A828(a0, (s32)D_801C1944); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* the target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call: the second call names the * object through a second declaration of the same symbol (its SYMBOL_REF string is a different * pointer, so cse does not unify the two address pseudos into one callee-saved register) */ @@ -9224,8 +9224,8 @@ void func_80187D18(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -9268,34 +9268,34 @@ void func_801880CC(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -9309,17 +9309,17 @@ void func_801880CC(s32 a0) { func_8012A828(a0, (s32)D_801C2254); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { func_8012A828(a0, (s32)D_801C2ADC); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -9422,34 +9422,34 @@ void func_8018830C(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801B588C); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -9502,39 +9502,39 @@ void func_80188574(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801B588C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, (s32)D_801C2594); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -9589,10 +9589,10 @@ void func_8018871C(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -9616,27 +9616,27 @@ void func_8018871C(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { func_8012A828(a0, (s32)&D_801C30E4); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801B55C4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801B55C4 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801B5898); @@ -9670,36 +9670,36 @@ void func_80188968(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -9731,8 +9731,8 @@ void func_80188AB4(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -9762,22 +9762,22 @@ void func_80188B6C(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -9787,13 +9787,13 @@ void func_80188B6C(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -9811,16 +9811,16 @@ void func_80188CC0(void *a0) { u16 temp; s32 a1; - D_801B5940[*(u16 *)((s32)a0 + 0x2)](a0); + D_801B5940[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -9838,15 +9838,15 @@ void func_80188D6C(void *a0) { extern u16 D_80126B96; u16 *q; - D_801B5AA0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801B5AA0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -9868,17 +9868,17 @@ void func_80188E1C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -9888,14 +9888,14 @@ void func_80188E1C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801C2E64); - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801B572C; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801B55C4 | 0x40000000 | 0x20000000; - *(s16 *)((s32)a0 + 0x88) = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0x8A) = *(u16 *)((s32)a0 + 0xA); - *(s16 *)((s32)a0 + 0x8C) = *(u16 *)((s32)a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801B572C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801B55C4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } } @@ -9951,42 +9951,42 @@ void func_80188F04(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a2; buf[6] = a2; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) != 0) { - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) | 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) | 0x8000; func_80131E00(a0, 6); } else { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801C141C) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801C141C) { func_8012A828((s32)a0, (s32)&D_801C1214); - *(u16 *)((s32)a0 + 0x2) = 0x14; - *(u16 *)((s32)a0 + 0x34) = 1; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0xCC) = (s32)&D_801C1FD4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801C1FD4; } else { - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_8012A828((s32)a0, (s32)&D_801C2ADC); } else { func_8012A828((s32)a0, (s32)&D_801C1FD4); } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; } } @@ -10002,23 +10002,23 @@ extern void func_8012C098(void *param_1); void func_80189020(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -10037,19 +10037,19 @@ void func_80189100(s32 a0) { V8_80189100 sp10; V8_80189100 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801B55A8); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -10065,18 +10065,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_801891D8(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -10115,17 +10115,17 @@ void func_8018927C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -10135,8 +10135,8 @@ void func_8018927C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801C2F4C); - *(u16 *)((s32)a0 + 0x2) = 6; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xA810; } } @@ -10164,9 +10164,9 @@ void func_80189320(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -10180,9 +10180,9 @@ void func_80189320(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -10194,7 +10194,7 @@ void func_801893E0(s32 a0) { extern u8 D_801B55B8[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801B55B8); } @@ -10233,11 +10233,11 @@ void func_801894A8(s32 a0) { extern u8 D_801C1AB4[]; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8012A828(a0, (s32)D_801C1AB4); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } } @@ -10262,16 +10262,16 @@ void func_80189504(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)D_801C1AB4); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_801B586C, (s32)&D_801B5874) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -10293,8 +10293,8 @@ void func_801895DC(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -10303,12 +10303,12 @@ void func_801895DC(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { func_8012A828((s32)a0, (s32)D_801C1AB4); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -10333,15 +10333,15 @@ void func_80189670(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)&D_801C27CC); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_801B586C, (s32)&D_801B5874) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -10372,20 +10372,20 @@ void func_8018973C(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801B58A4); *(s16 *)(a0 + 0x16) = -0x8; func_8012A828(a0, (s32)D_801C189C); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801B587C, (s32)D_801B5884, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -10408,21 +10408,21 @@ void func_80189814(s32 a0) { extern s32 D_801B55D4; u16 temp; - if (*(s32 *)(a0 + 0x94) == 0xD) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { func_8002D4C8(0x702, 0x107F); } func_8012CBCC(a0); - temp = *(u16 *)(a0 + 0x102) + 1; - *(u16 *)(a0 + 0x102) = temp; + temp = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = temp; if ((s16)temp == 0x1E) { - *(u16 *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, (s32)&D_801C189C); - *(u16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x58) = ((s32)&D_801B55D4 | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)&D_801B55D4 | 0x40000000) | 0x20000000; } } @@ -10466,13 +10466,13 @@ void func_80189910(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; func_8012A828(entity, (s32)&D_801C235C); } else { func_8012A828(entity, (s32)&D_801C2ADC); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -10490,10 +10490,10 @@ void func_801899B0(s32 a0) { result = func_80153BD8(a0); if (result == 0) { func_8012A828(a0, (s32)&D_801C2ADC); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -10519,11 +10519,11 @@ void func_80189A04(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801C269C); } else { func_8012A828(a0, (s32)&D_801C2F4C); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -10546,7 +10546,7 @@ void func_80189A98(s32 a0) func_8012A828(a0, (s32)&D_801C27CC); v0 = 0x6; } - *(s16 *)(a0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -10571,9 +10571,9 @@ extern void func_8012A828(s32 a0, s32 a1); void func_80189B08(s32 a0) { - if (((*(u16 *)(a0 + 0x72) & 0x4000) != 0) || (*(s16 *)(a0 + 0x98) == 0)) { - *(s16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); - func_8012A828(a0, *(s32 *)(a0 + 0xCC)); + if (((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) || (((Unkstruct_800B5CB8 *)a0)->unk98 == 0)) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; + func_8012A828(a0, ((Unkstruct_800B5CB8 *)a0)->unkCC); } } @@ -10599,25 +10599,25 @@ void func_80189B54(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801B5904); func_8012A828(param_1, (s32)D_801B591C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801B5934); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -10674,7 +10674,7 @@ void func_80189CC4(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -10682,26 +10682,26 @@ void func_80189CC4(s32 a0) func_8001CA1C(v0, (s32)&D_801B594C); func_8012A828(a0, (s32)&D_801B5A0C); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801B5A94); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -10718,9 +10718,9 @@ extern void func_8012C218(void *a0); void func_80189E08(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -10730,7 +10730,7 @@ void func_80189E08(void *a0) { extern void (*D_801D2B0C[])(void); void func_80189E74(void *a0) { - D_801D2B0C[*(u16 *)((s32)a0 + 0x2)](); + D_801D2B0C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10757,7 +10757,7 @@ void func_80189EB0(void *a0) i--; } while (i >= 0); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; func_8012AD50((void *)a0); } @@ -10778,14 +10778,14 @@ void func_80189F28(s32 a0) if (func_8012BEE8(a0) != 0) { r = rand(); - w = *(u16 *)((s32)a0 + 0xFC); + w = CAST_SIGN(u16, (s32)a0, 0xFC); p = &D_801D2B1C; t = ((s16)w / 2 - (r & (w - 1))) * 2; - *p = *(u16 *)((s32)a0 + 6) + t; - D_801D2B1E = *(u16 *)((s32)a0 + 0xA); - D_801D2B20 = *(u16 *)((s32)a0 + 0xE) + t; + *p = ((Unkstruct_800B5CB8 *)a0)->unk6 + t; + D_801D2B1E = ((Unkstruct_800B5CB8 *)a0)->unkA; + D_801D2B20 = CAST_ALIAS(u16, (s32)a0, 0xE) + t; func_80189FD8(a0, p); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; } } @@ -10809,7 +10809,7 @@ void func_80189FD8(int param_1, int param_2) if (D_801DA8C8[i] == 0) { D_801DA8C8[i] = 1; *(s32 *)(param_2 + 0x10) = i | 0x80000000; - *(u16 *)(param_2 + 8) = *(u16 *)(param_1 + 0x70); + *(u16 *)(param_2 + 8) = CAST_SIGN(u16, param_1, 0x70); func_8012C51C(param_2, param_1); return; } @@ -10832,23 +10832,23 @@ void func_8018A090(void *a0) s32 iVar2; u32 *puVar3; - *(s16 *)((s32)a0 + 0xFC) = 0x7000; - *(s16 *)((s32)a0 + 0x100) = 0; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s16 *)((s32)a0 + 0x104) = 0; - *(s16 *)((s32)a0 + 0x106) = 0; - puVar3 = (u32 *)((u8 *)&D_801DA788 + (*(s16 *)((s32)a0 + 0xDC) * 0x40)); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x7000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; + puVar3 = (u32 *)((u8 *)&D_801DA788 + (CAST_WIDTH(s16, (s32)a0, 0xDC) * 0x40)); iVar2 = func_8012C194(); - *(s32 *)((s32)a0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001CD50(iVar2, (s32)puVar3); - *(s16 *)(iVar2 + 0x10) = 0x400; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x60000000; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x400; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x60000000; func_800233CC(puVar3, 0x40); puVar3[0] = 0x808080; puVar3[1] = 0x808080; func_8018A41C((s32)a0); - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } @@ -10901,7 +10901,7 @@ void func_8018A150(void *a0) s32 p; s32 v; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; if (p != 0) { v = *(u16 *)(p + 0x1A) - 0x100; *(s16 *)(p + 0x1A) = v; @@ -10911,23 +10911,23 @@ void func_8018A150(void *a0) *(s16 *)(p + 0x18) = 0; } } - if (*(s16 *)((s32)a0 + 0xFE) >= 0x6000) { - *(s16 *)((s32)a0 + 0xFE) = 0x6000; + if (((Unkstruct_800B5CB8 *)a0)->unkFE >= 0x6000) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x6000; } else { s32 dv, sv; - dv = *(u16 *)((s32)a0 + 0x106) + 0x400; - *(s16 *)((s32)a0 + 0x106) = dv; - *(s16 *)((s32)a0 + 0xFE) = (*(u16 *)((s32)a0 + 0xFE) + dv); + dv = CAST_SIGN(u16, (s32)a0, 0x106) + 0x400; + ((Unkstruct_800B5CB8 *)a0)->unk106 = dv; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (CAST_SIGN(u16, (s32)a0, 0xFE) + dv); } { - s32 d = *(u16 *)((s32)a0 + 0x104) - 0x80; + s32 d = CAST_SIGN(u16, (s32)a0, 0x104) - 0x80; s16 s; - *(s16 *)((s32)a0 + 0x104) = d; - s = *(u16 *)((s32)a0 + 0xFC) + d; - *(s16 *)((s32)a0 + 0xFC) = s; + ((Unkstruct_800B5CB8 *)a0)->unk104 = d; + s = CAST_SIGN(u16, (s32)a0, 0xFC) + d; + ((Unkstruct_800B5CB8 *)a0)->unkFC = s; if (s < 0) { - D_801DA8C8[*(s16 *)((s32)a0 + 0xDC)] = 0; + D_801DA8C8[CAST_WIDTH(s16, (s32)a0, 0xDC)] = 0; func_8012C218(a0); } else { func_8018A21C(a0); @@ -10997,7 +10997,7 @@ s32 a0; s32 t; s32 id; - switch (*(s16 *)(a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: func_8002D4C8(0x6D5, 0); return; @@ -11043,5 +11043,5 @@ s32 func_8018A4A4(s32 a0) extern void (*D_801D6A1C[])(void); void func_8018A528(void *a0) { - D_801D6A1C[*(u16 *)((s32)a0 + 0x2)](); + D_801D6A1C[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c b/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c index 2ddad1e53e..60e3a58e2b 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c @@ -2815,93 +2815,93 @@ void func_80184BD8(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A751C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A751E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A7520[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A751C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A751E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A7520[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A7280); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A7280); func_8012A828(a0, (s32)D_801A7340); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A73C8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A73C8); func_8012A828(a0, (s32)D_801A7488); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A756C; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A7590; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A7244; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A756C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A7590; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A7244; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A7280); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A7280); func_8012A828(a0, (s32)D_801A7340); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A73C8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A73C8); func_8012A828(a0, (s32)D_801A7488); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A757C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A757C); func_8012A828(a0, (s32)D_801A7588); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A7280); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A7280); func_8012A828(a0, (s32)D_801A7340); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -2944,15 +2944,15 @@ void func_80185218(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -2961,61 +2961,61 @@ void func_80185218(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3030,20 +3030,20 @@ void func_801855C8(void *a0) { s32 t; u16 *q; - D_801A75A0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A75A0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3056,7 +3056,7 @@ void func_801855C8(void *a0) { extern void (*D_801A764C[])(void); void func_801856B4(void *a0) { - D_801A764C[*(u16 *)((s32)a0 + 0x2)](); + D_801A764C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3064,7 +3064,7 @@ void func_801856B4(void *a0) { extern void (*D_801A7700[])(void); void func_801856F0(void *a0) { - D_801A7700[*(u16 *)((s32)a0 + 0x2)](); + D_801A7700[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3092,17 +3092,17 @@ void func_80185744(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A7180) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A7160; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A7160; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018B770); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3128,18 +3128,18 @@ void func_80185804(void *a0) { extern u8 D_801A7244[]; extern u8 D_801A7160[]; if (func_8012C354((s32)a0, (s32)D_801A7244) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A7160; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A7160; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018B770); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3153,13 +3153,13 @@ void func_80185888(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3216,16 +3216,16 @@ void func_80185978(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A7510); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3245,18 +3245,18 @@ void func_80185A3C(void *a0) { extern u16 D_801A7520[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A751C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A751E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A7520[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A751C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A751E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A7520[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3270,8 +3270,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80185B1C(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80185B1C *ptr = *(Struct_80185B1C **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80185B1C *ptr = CAST_SIGN(Struct_80185B1C *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3294,18 +3294,18 @@ void func_80185B8C(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A7510); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3333,18 +3333,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80185C70(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3371,12 +3371,12 @@ void func_80185D28(s32 a0) { extern s16 D_801A7612[]; if (func_8012C354(a0, (s32)D_801A75D8) != 0) { func_8012A828(a0, (s32)D_8018B770); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A760C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A760E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A7610[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A7612[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A760C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A760E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A7610[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A7612[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -3441,24 +3441,24 @@ void func_80185EBC(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A7658); func_8012A828(param_1, (s32)D_801A76B8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -3547,40 +3547,40 @@ void func_80186210(void *a0) { extern u8 D_801A9590[]; extern u8 D_801A9680[]; - if (func_8012C354((s32)a0, (s32)(D_801A9590 + ((*(u16 *)((s32)a0 + 0x70)) & 1) * 0x34)) != 0) { + if (func_8012C354((s32)a0, (s32)(D_801A9590 + ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) * 0x34)) != 0) { s32 sub; s32 v; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_801A9680; - *(s32 *)((s32)a0 + 0xB4) = -0x20EF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A9680; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20EF; - *(s32 *)((s32)a0 + 0xC4) |= 3; - if (*(s32 *)((s32)a0 + 0xDC) == 0) { - *(s32 *)((s32)a0 + 0xDC) = 0x40000; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; + if (((Unkstruct_800B5CB8 *)a0)->unkDC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0x40000; } - if (*(s16 *)((s32)a0 + 0xFE) == 0) { - *(s16 *)((s32)a0 + 0xFE) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x3C; } - if ((*(u16 *)((s32)a0 + 0x70)) & 1) { - sub = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(sub + 0x2C) |= 0x10; + if ((CAST_SIGN(u16, (s32)a0, 0x70)) & 1) { + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)sub)->unk2C |= 0x10; - sub = *(s32 *)((s32)a0 + 0x20); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; v = 0x1666; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x1A) = v; - *(s16 *)(sub + 0x18) = v; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; } else { v = 0x1000; } - do { *(s16 *)((s32)a0 + 0x100) = v; } while (0); + do { ((Unkstruct_800B5CB8 *)a0)->unk100 = v; } while (0); func_8012C588(0x153, (s32)a0); func_801876C4(a0, 1); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -3589,7 +3589,7 @@ void func_80186210(void *a0) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801AE158; void func_80186318(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012A828((int)arg0, (int)&D_801AE158); } @@ -3599,11 +3599,11 @@ extern s32 func_8012E778(s32 param_1, s32 param_2); extern void func_8002D4C8(s32 a0, s32 a1); void func_80186344(s32 a0) { - if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) != 0) { - *(s16 *)(a0 + 0x2) = 3; + if (func_8012BD3C(a0, 0x400, ((Unkstruct_800B5CB8 *)a0)->unkDC) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { if (func_8012E778(a0, 0x8C00B4) == 1) { func_8002D4C8(0x64A, 0); } @@ -3633,9 +3633,9 @@ void func_801863C0(s32 a0) { s32 ang2; s32 negbase; - if ((*(s32 *)(a0 + 0xE0) & 1) == 0) { - if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) == 0) { - *(s16 *)(a0 + 2) = 1; + if ((((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) == 0) { + if (func_8012BD3C(a0, 0x400, ((Unkstruct_800B5CB8 *)a0)->unkDC) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { func_8012A828(a0, (s32)D_801AE220); if (func_8012E778(a0, 0x8C00B4) == 1) { @@ -3644,14 +3644,14 @@ void func_801863C0(s32 a0) { } } - if (*(s32 *)(a0 + 0x94) == 0x19) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x19) { s32 i; func_8012F214(a0, (s32)&D_801A970C, (s32)sp10); func_8012F214(a0, (s32)&D_801A970C + 8, (s32)sp18); i = 0; { s32 fieldval; - fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; ang1 = fieldval + 0x400; negbase = -0x80000; ang2 = fieldval - 0x400; @@ -3688,20 +3688,20 @@ void func_801865A4(s32 a0) if (func_8012BEE8(a0)) { if (func_8012BD14(a0) > 0x18FFF) { - *(u16 *)(a0 + 0x2) = 6; - *(s32 *)(a0 + 0x1C) = 0x20; - *(s32 *)((*(s32 *)(a0 + 0x20)) + 4) &= 0x7FFFFFFF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x1C) = 1; - *(u16 *)(v1 + 0x1A) = 1; - *(u16 *)(v1 + 0x18) = 1; - v0 = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + *(s32 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(u16, v1, 0x1C) = 1; + ((Unkstruct_800B5CB8 *)v1)->unk1A = 1; + ((Unkstruct_800B5CB8 *)v1)->unk18 = 1; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v0 + 0x14) = 0; *(u16 *)(v0 + 0x10) = 0; - v0 = *(s32 *)(a0 + 0x68); - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x12) = *(u16 *)(v0 + 0xC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk68; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = *(u16 *)(v0 + 0xC); func_8012B2CC(a0); } } @@ -3787,56 +3787,56 @@ void func_80186740(void *a0) { func_8012E9C0((s32)a0); - if (*(u16 *)((u8 *)a0 + 0x5E) != 0x1D) { - if (*(u8 *)((u8 *)a0 + 0xC8)) { + if (CAST_WIDTH(u16, (u8 *)a0, 0x5E) != 0x1D) { + if (((Unkstruct_800B5CB8 *)a0)->unkC8) { func_8002A520(a0); } - if (*(u8 *)((u8 *)a0 + 0xC9)) { + if (((Unkstruct_800B5CB8 *)a0)->unkC9) { func_8002A790(a0); } } { - s32 base = *(s32 *)((u8 *)a0 + 0x78); - speed = (*(s16 *)((u8 *)a0 + 0x60) * *(s16 *)(base + 0x30)) >> 12; + s32 base = ((Unkstruct_800B5CB8 *)a0)->unk78; + speed = (((Unkstruct_800B5CB8 *)a0)->unk60 * *(s16 *)(base + 0x30)) >> 12; } if (speed <= 0) { speed = 1; } - *(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed; + ((Unkstruct_800B5CB8 *)a0)->unk76 = CAST_SIGN(u16, (u8 *)a0, 0x76) - speed; { - *(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE; - if (*(s16 *)((u8 *)a0 + 0x76) <= 0) { - *(u16 *)((u8 *)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C & 0xFFFE; + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_80131E00(a0, 0xE); } else { if (speed > 0x10) { speed = 0x10; } - sv[0] = *(u16 *)((u8 *)a0 + 6) - D_80126B5E; - sv[1] = *(u16 *)((u8 *)a0 + 0xA) - D_80126B62; - sv[2] = *(u16 *)((u8 *)a0 + 0xE) - D_80126B66; + sv[0] = ((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E; + sv[1] = ((Unkstruct_800B5CB8 *)a0)->unkA - D_80126B62; + sv[2] = ((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66; VectorNormalSS(sv, (u8 *)a0 + 0x102); speed += 8; { - s32 p0 = speed * *(s16 *)((u8 *)a0 + 0x102); - s32 p1 = speed * *(s16 *)((u8 *)a0 + 0x104); - s32 p2 = speed * *(s16 *)((u8 *)a0 + 0x106); - *(s32 *)((u8 *)a0 + 0x1C) = 0x10; - *(s16 *)((u8 *)a0 + 0x102) = p0 >> 12; - *(s16 *)((u8 *)a0 + 0x104) = p1 >> 12; - *(s16 *)((u8 *)a0 + 0x106) = p2 >> 12; + s32 p0 = speed * ((Unkstruct_800B5CB8 *)a0)->unk102; + s32 p1 = speed * ((Unkstruct_800B5CB8 *)a0)->unk104; + s32 p2 = speed * ((Unkstruct_800B5CB8 *)a0)->unk106; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = p0 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk104 = p1 >> 12; + ((Unkstruct_800B5CB8 *)a0)->unk106 = p2 >> 12; } } } - *(s16 *)((u8 *)a0 + 6) = *(u16 *)((u8 *)a0 + 0x88); - *(s16 *)((u8 *)a0 + 0xA) = *(u16 *)((u8 *)a0 + 0x8A); - *(s16 *)((u8 *)a0 + 0xE) = *(u16 *)((u8 *)a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; func_8012A828((s32)a0, (s32)D_801AE3A8); } @@ -3848,13 +3848,13 @@ extern void func_80186D20(s32 arg0); void func_801868E8(s32 self) { s32 var; - var = -(func_8004787C((*(s32 *)(self + 0x1C) << 10) & 0xC00) >> 12); - *(u16 *)(self + 0x6) += *(u16 *)(self + 0x102) * var; - *(u16 *)(self + 0xA) += *(u16 *)(self + 0x104) * var; - *(u16 *)(self + 0xE) += *(u16 *)(self + 0x106) * var; + var = -(func_8004787C((((Unkstruct_800B5CB8 *)self)->unk1C << 10) & 0xC00) >> 12); + ((Unkstruct_800B5CB8 *)self)->unk6 += CAST_SIGN(u16, self, 0x102) * var; + ((Unkstruct_800B5CB8 *)self)->unkA += CAST_SIGN(u16, self, 0x104) * var; + ((Unkstruct_800B5CB8 *)self)->unkE += CAST_SIGN(u16, self, 0x106) * var; if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; func_80186D20(self); } } @@ -3869,14 +3869,14 @@ void func_80186994(s32 param_1) { s32 v0; - v0 = *(u16 *)(param_1 + 0x5C); - *(s32 *)(param_1 + 0x1C) = 0x78; - *(u16 *)(param_1 + 0x5C) = v0 & 0xFFFE; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk5C; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = v0 & 0xFFFE; func_80143CD4(param_1); func_8002D4C8(0x47B, 0); func_8002D4C8(0x478, 0); func_800CB0E8(param_1); - *(s32 *)(param_1 + 0xCC) = (s32)&D_801A95F8; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = (s32)&D_801A95F8; } @@ -3889,20 +3889,20 @@ void func_801869FC(s32 self) { s32 q; s32 e; - p = *(s32 *)(self + 0xCC); - q = *(s32 *)(self + 0x20); + p = ((Unkstruct_800B5CB8 *)self)->unkCC; + q = ((Unkstruct_800B5CB8 *)self)->unk20; *(u16 *)(q + 0x10) = *(u16 *)(p + 0); *(u16 *)(q + 0x14) = *(u16 *)(p + 4); p += 8; if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(self + 0xCC) = (s32)&D_801A95F8; + ((Unkstruct_800B5CB8 *)self)->unkCC = (s32)&D_801A95F8; } else { - *(s32 *)(self + 0xCC) = p; + ((Unkstruct_800B5CB8 *)self)->unkCC = p; } if (func_8012BEE8(self) != 0) { - *(u8 *)(self + 0xC1) = 0; - *(u16 *)(self + 0x5E) = 0; - e = *(s32 *)(self + 0x20); + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + CAST_WIDTH(u16, self, 0x5E) = 0; + e = ((Unkstruct_800B5CB8 *)self)->unk20; *(u16 *)(e + 0x14) = 0; *(u16 *)(e + 0x10) = 0; func_80186D20(self); @@ -3996,7 +3996,7 @@ extern void func_8002AC00(s32 arg0); extern void func_80130D48(s32 a0); void func_80186C2C(void *a0) { - s32 *ent = *(s32 **)((s32)a0 + 0x20); + s32 *ent = CAST_SIGN(s32 *, (s32)a0, 0x20); ent[1] ^= 0x80000000; if (func_8012BEE8((s32)a0)) { func_8002AC00(0xF); @@ -4014,20 +4014,20 @@ s32 func_80186C8C(s32 arg0) s32 temp; func_8002A04C(arg0); - if ((*(s16 *)(arg0 + 0x70) & 0xC000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0xC000) != 0) { func_8012C098((void *)arg0); } else { - temp = *(s32 *)(arg0 + 0x20); - *(s16 *)(arg0 + 0x2) = 5; - *(s8 *)(arg0 + 0xC1) = 0; - *(s32 *)(arg0 + 0x1C) = 0x78; - *(s16 *)(arg0 + 0x5E) = 0; - *(s16 *)(arg0 + 0x5C) = 0; - *(s32 *)(temp + 0x4) |= 0x80000000; - *(u16 *)(arg0 + 0xAA) = 0; - *(s16 *)(arg0 + 0x6) = *(u16 *)(arg0 + 0x88); - *(s16 *)(arg0 + 0xA) = *(u16 *)(arg0 + 0x8A); - *(s16 *)(arg0 + 0xE) = *(u16 *)(arg0 + 0x8C); + temp = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x78; + CAST_WIDTH(s16, arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + CAST_WIDTH(s32, temp, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)arg0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } } @@ -4067,7 +4067,7 @@ void func_80186D20(s32 arg0) { extern void (*D_801A973C[])(void); void func_80186D94(void *a0) { - D_801A973C[*(u16 *)((s32)a0 + 0x2)](); + D_801A973C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4080,18 +4080,18 @@ void func_80186DD0(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); return; } func_8001C214(v0, (s32)D_801ACF50); - *(u16 *)(param_1 + 0xFC) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); - *(Blk8 *)(*(s32 *)(param_1 + 0x20) + 0x18) = - *(Blk8 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x18); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x2C); - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); + *(Blk8 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x18) = + *(Blk8 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x2C); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -4108,7 +4108,7 @@ extern void func_8012C218(void *a0); extern void (*D_801A9A58[])(void); void func_80186EC4(void *a0) { - D_801A9A58[*(u16 *)((s32)a0 + 0x2)](); + D_801A9A58[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4127,7 +4127,7 @@ void func_80186F00(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -4136,7 +4136,7 @@ void func_80186F00(void *a0) { func_8012E8A8((u8 *)a0); } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0xFC); *(unsigned short *)((s32)a0 + 0x2) = 1; *(unsigned short *)((s32)a0 + 0x104) = v1; @@ -4244,40 +4244,40 @@ void func_80187190(s32 a0) { if (func_80187414(a0) == 1) { return; } - obj = *(s32 *)(a0 + 0x64); - if (*(u16 *)(a0 + 0x34) == 0) { - s32 t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + obj = ((Unkstruct_800B5CB8 *)a0)->unk64; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + s32 t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0x1D) { - *(s16 *)(a0 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; } - p = *(s32 *)(a0 + 0xCC); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = *(u16 *)(p + 6); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = *(u16 *)(p + 6); func_8012F14C(*(s32 *)(obj + 0x20) + 0x34, p, (s32)&sv); - *(u16 *)(a0 + 6) = *(u16 *)&sv.c[0]; - *(u16 *)(a0 + 0xA) = *(u16 *)&sv.c[2]; - *(u16 *)(a0 + 0xE) = *(u16 *)&sv.c[4]; + CAST_ALIAS(u16, a0, 6) = *(u16 *)&sv.c[0]; + CAST_ALIAS(u16, a0, 0xA) = *(u16 *)&sv.c[2]; + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)&sv.c[4]; p += 8; if (*(s16 *)(p + 6) == 0x7FFF) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0x48) = 0x18000; - *(s16 *)(a0 + 0x102) = 0; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; func_8018754C(a0, 0xFFF00000); } else { - *(s32 *)(a0 + 0xCC) = p; + ((Unkstruct_800B5CB8 *)a0)->unkCC = p; } } else { s32 r; s32 c; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + 0x80; - if (*(s16 *)(a0 + 0x102) < 0x20) { - s32 q = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 + 0x80; + if (((Unkstruct_800B5CB8 *)a0)->unk102 < 0x20) { + s32 q = ((Unkstruct_800B5CB8 *)a0)->unk20; u16 w; - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 + 1; w = *(u16 *)(q + 0x1C) + 0x100; *(u16 *)(q + 0x1C) = w; *(u16 *)(q + 0x1A) = w; @@ -4285,7 +4285,7 @@ void func_80187190(s32 a0) { } sv = D_801A9A70; *(s16 *)&sv.c[2] = - (*(s16 *)&sv.c[2] * *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A)) >> 12; + (*(s16 *)&sv.c[2] * *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) >> 12; r = ((s32 (*)(s32, s32))func_8012CC1C)(a0, (s32)&sv); if ((r & 0x2000) == 0) { c = func_8012BEE8(a0); @@ -4299,7 +4299,7 @@ void func_80187190(s32 a0) { } } func_801873A4(a0); - if (*(s16 *)(a0 + 0x100) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { func_801875F0(a0); } } @@ -4315,9 +4315,9 @@ s32 func_801873A4(s32 param_1) s32 p; u16 val; - if (func_8012D624(param_1, (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) * 3) >> 9, 0x21) == 1) { - p = *(s32 *)(param_1 + 0x20); - val = *(u16 *)(p + 0x12); + if (func_8012D624(param_1, (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x18) * 3) >> 9, 0x21) == 1) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + val = ((Unkstruct_800B5CB8 *)p)->unk12; D_80126B96 = 0x4002; D_80126B9A = val; return 1; @@ -4353,7 +4353,7 @@ extern void func_8012C218(void *a0); void func_80187454(void *arg0) { - func_8002D59C(4, 0x64E, *(u16 *)((char *)arg0 + 0x104)); + func_8002D59C(4, 0x64E, CAST_SIGN(u16, (char *)arg0, 0x104)); func_8012C218(arg0); } @@ -4403,7 +4403,7 @@ void func_8018754C(s32 a0, s32 a1) vel[1] = 0; vel[0] = 0; vel[2] = a1; - RotMatrixY(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), &mtx); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &mtx); func_800484EC((s32)&mtx, (s32)&vel[0], a0 + 0x10); } @@ -4654,26 +4654,26 @@ extern void func_8012931C(struct vec *a0); extern void func_801292C8(u8 *a0); void func_801879E8(struct vec *arg0) { - if (*(u16 *)((s32)arg0 + 2) == 0) { + if (CAST_SIGN(u16, (s32)arg0, 2) == 0) { func_8012931C(arg0); - if (*(s32 *)((s32)arg0 + 0x1C) < 0x23) { - *(s32 *)((s32)arg0 + 0x14) += 0x10000; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)arg0)->unk14 += 0x10000; } - if (--*(s32 *)((s32)arg0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8((u8 *)arg0); } } else { func_8012931C(arg0); - if (--*(s32 *)((s32)arg0 + 0x1C) == 0) { - s16 t = *(u16 *)((s32)arg0 + 0x28); + if (--((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { + s16 t = CAST_SIGN(u16, (s32)arg0, 0x28); t--; - *(u16 *)((s32)arg0 + 0x28) = t; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = t; if (t != 0) { - *(s32 *)((s32)arg0 + 0x1C) = 10; - *(s32 *)((s32)arg0 + 0x14) += (s32)0xFFFF0000; - *(u16 *)((s32)arg0 + 6) = *(s32 *)((s32)arg0 + 0x2C); - *(u16 *)((s32)arg0 + 0xA) = *(s32 *)((s32)arg0 + 0x30); - *(u16 *)((s32)arg0 + 0xE) = *(s32 *)((s32)arg0 + 0x34); + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 10; + ((Unkstruct_800B5CB8 *)arg0)->unk14 += (s32)0xFFFF0000; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = CAST_WIDTH(s32, (s32)arg0, 0x2C); + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk30; + ((Unkstruct_800B5CB8 *)arg0)->unkE = CAST_WIDTH(s32, (s32)arg0, 0x34); } else { func_801292C8((u8 *)arg0); } @@ -4702,44 +4702,44 @@ void func_80187AD4(s32 a0) { s16 idx; if (func_8012C354(a0, (s32)D_801AE418) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x201; - *(s32 *)(a0 + 0xBC) = (s32)D_801AE44C; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x201; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AE44C; func_8012A828(a0, (s32)D_801AF438); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80143970((void *)a0); func_8012B23C((void *)a0); - *(s16 *)(a0 + 0xFE) = (rand() & 0x1F) + 0x20; - *(s16 *)(a0 + 0x100) = (rand() & 0x1F) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0x1F) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0x1F) + 0x20; - v1 = *(s32 *)(a0 + 0x64); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s16 *)(*(s32 *)(v1 + 0x20) + 0x12) != 0) { - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) - + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - *(u16 *)((u8 *)D_801AE3B8 + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + *(u16 *)((u8 *)D_801AE3BA + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) - + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - *(u16 *)((u8 *)D_801AE3BC + idx * 8); } else { - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + *(u16 *)((u8 *)D_801AE3B8 + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + *(u16 *)((u8 *)D_801AE3BA + idx * 8); - idx = *(s16 *)(a0 + 0x70); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + + idx = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE + *(u16 *)((u8 *)D_801AE3BC + idx * 8); } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); } } @@ -4863,18 +4863,18 @@ void func_80187DE4(s32 a0) * disambiguate) pins it below them, so the scheduler can only place it * in the lhu's load-delay stall. Written before them it floats up into * the lhu 0x5C shadow instead and costs a nop. */ - *(u16 *)(p + 0x62) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; + *(u16 *)(p + 0x62) = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + 0x800; *(u16 *)(p + 0x5E) = 0x1D; } p = func_8012DDA4(); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: - *(u8 *)(a0 + 0xC2) = 1; - sp18.vx = *(u16 *)(a0 + 0x3A); - sp18.vy = *(u16 *)(a0 + 0x3E); - sp18.vz = *(u16 *)(a0 + 0x42); + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; sp20 = sp18; sp20.vx += sp10.vx; sp20.vy += sp10.vy; @@ -4884,53 +4884,53 @@ void func_80187DE4(s32 a0) sp20.vx -= sp10.vx; sp20.vy -= sp10.vy; sp20.vz -= sp10.vz; - *(u16 *)(a0 + 0x3A) = sp20.vx; - *(u16 *)(a0 + 0x3E) = sp20.vy; - *(u16 *)(a0 + 0x42) = sp20.vz; + ((Unkstruct_800B5CB8 *)a0)->unk3A = sp20.vx; + ((Unkstruct_800B5CB8 *)a0)->unk3E = sp20.vy; + ((Unkstruct_800B5CB8 *)a0)->unk42 = sp20.vz; /* fallthrough */ case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += *(u16 *)(a0 + 0xFE); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += CAST_SIGN(u16, a0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0x100); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_8012C218((void *)a0); return; } D_801D3380 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&sp10); if (D_801D3380 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } break; case 2: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += *(u16 *)(a0 + 0xFE); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += CAST_SIGN(u16, a0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0x100); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_8012C218((void *)a0); return; } D_801D3380 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&sp10); if (D_801D3380 & 0x2000) { func_80143B6C(a0, 1); - *(u8 *)(a0 + 0xC2) = 3; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) &= 0xFFF; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) < 0x800) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0x400; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 &= 0xFFF; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < 0x800) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0x400; } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0xC00; } } break; case 3: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; D_801D3380 = ((s32 (*)(s32))func_8012CBF4)(a0); /* MEM_IN_STRUCT_P lever (sched.c:837 true_dependence escape): a struct-member * ref at a VARYING address never conflicts with a non-struct ref at a FIXED @@ -4939,8 +4939,8 @@ void func_80187DE4(s32 a0) * the escape does not fire, and the load stalls one nop below the store. */ ((Cnt_80187DE4 *)(a0 + 0x1C))->f0 += 1; if (((Cnt_80187DE4 *)(a0 + 0x1C))->f0 >= 0x11) { - *(u16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } break; } @@ -4951,7 +4951,7 @@ void func_80187DE4(s32 a0) extern void (*D_801AE45C[])(void); void func_801881C8(void *a0) { - D_801AE45C[*(u16 *)((s32)a0 + 0x2)](); + D_801AE45C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4964,27 +4964,27 @@ void func_80188204(s32 a0) { s16 ang; - *(u16 *)(a0 + 0x5C) &= 0xFFFE; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xFFFE; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; - *(u16 *)(a0 + 0xFE) = (rand() & 0x7F) + 0x80; - *(u16 *)(a0 + 0x100) = (rand() & 0x7F) + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0x7F) + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0x7F) + 0x80; - ang = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + (rand() & 0x3FF) + 0x600; + ang = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + (rand() & 0x3FF) + 0x600; - *(s32 *)(a0 + 0x10) = func_8004787C(ang) << 8; - *(s32 *)(a0 + 0x18) = -(func_80047948(ang) << 8); + CAST_WIDTH(s32, a0, 0x10) = func_8004787C(ang) << 8; + CAST_WIDTH(s32, a0, 0x18) = -(func_80047948(ang) << 8); *(s16 *)(a0 + 0x16) = (rand() & 0xF) - 0x20; - *(u8 *)(a0 + 0xC2) = 0; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; func_8012A828(a0, (s32)D_8018B770); - if (*(u8 *)(a0 + 0xC3) == 0) { - *(u8 *)(a0 + 0xC3) = 1; - (*(u16 *)(*(s32 *)(a0 + 0x64) + 0xFC))--; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 1; + (*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC))--; } } @@ -4992,10 +4992,10 @@ void func_80188204(s32 a0) extern void func_8012C218(void *a0); void func_80188300(void *a0) { - if (--*(s32 *)((s32)a0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { func_8012C218((void *)a0); } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 4) ^= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) ^= 0x80000000; } } @@ -5056,46 +5056,46 @@ void func_80188354(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801B5828); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B5828); func_8012A828((s32)a0, (s32)&D_801BCF6C); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c index c3557c7f08..a8b8a4e134 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c @@ -2618,34 +2618,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801B7A74); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801B7A68+0xC == &D_801B7A74; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2656,9 +2656,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2667,11 +2667,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801B7A74); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801B7A68 + 0xC)) < 0x101) { @@ -3364,7 +3364,7 @@ void func_8017BF88(s32 a0) { extern void (*D_80188668[])(void); void func_8017C0E4(void *a0) { - D_80188668[*(u16 *)((s32)a0 + 0x2)](); + D_80188668[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3586,22 +3586,22 @@ void func_8017C2B0(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_80188698) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801AC368); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AC368); func_8012A828(a0, (void *)&D_801886D4[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801B75A8; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801B75A8; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3610,7 +3610,7 @@ void func_8017C2B0(s32 a0) { } p = &D_801B75D8; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801B75DA = 0x80; @@ -3625,11 +3625,11 @@ void func_8017C2B0(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801B75D6 = 0xFF; @@ -3646,7 +3646,7 @@ void func_8017C2B0(s32 a0) { i = 5; tbl2 = D_801B7658; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3655,14 +3655,14 @@ void func_8017C2B0(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -3895,7 +3895,7 @@ void func_8017C9FC(s32 a0) { extern void (*D_80188780[])(void); void func_8017CB7C(void *a0) { - D_80188780[*(u16 *)((s32)a0 + 0x2)](); + D_80188780[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3940,9 +3940,9 @@ void func_8017CD78(s32 a0) { s32 *s0_ptr; u16 sp[8]; - s0_ptr = *(s32 **)(a0 + 0xDC); + s0_ptr = CAST_SIGN(s32 *, a0, 0xDC); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { return; } @@ -3950,18 +3950,18 @@ void func_8017CD78(s32 a0) { func_8001C214(v0, s0_ptr[1]); func_8012A828(a0, (void *)s0_ptr[2]); - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0 + 0x58) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = 0; - sp[0] = *(u16 *)(a0 + 0x6); - sp[1] = *(u16 *)(a0 + 0xA); - sp[2] = *(u16 *)(a0 + 0xE); + sp[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; func_800D20C0(&sp[0], &sp[4], 0); func_800D23D0(&sp[4]); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = sp[5] + 0x800; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = sp[5] + 0x800; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -4031,7 +4031,7 @@ void func_8017CF98(void *a0) { extern void (*D_801887D8[])(void); void func_8017CFD4(void *a0) { - D_801887D8[*(u16 *)((s32)a0 + 0x2)](); + D_801887D8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4200,7 +4200,7 @@ void func_8017D2F4(int param_1) extern void (*D_801887EC[])(void); void func_8017D600(void *a0) { - D_801887EC[*(u16 *)((s32)a0 + 0x2)](); + D_801887EC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4259,7 +4259,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D23) extern void (*D_80188800[])(void); void func_8017D8A0(void *a0) { - D_80188800[*(u16 *)((s32)a0 + 0x2)](); + D_80188800[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4353,7 +4353,7 @@ void func_8017DC54(s32 a0) { if (func_8014C088(a0, 0x16) == 0) { - *(s32 *)(a0 + 0x44) &= ~0x20000; + CAST_SIGN(s32, a0, 0x44) &= ~0x20000; func_8014B5C4((s32 *)a0, func_8014CB58() & 0xFF, 0x80); func_80171990((u8 *)a0); } @@ -4436,19 +4436,19 @@ void func_8017DD70(s32 a0) { iVar1 = *(s32 *)(a0 + 0x4C); iVar2 = ((s32 (*)(void))func_8014659C)(); - *(s32 *)(a0 + 0x20) = iVar2; + ((Unkstruct_80126B58 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001C214(iVar2, (s32)&D_801B40E4); - *(u16 *)(iVar2 + 0x10) = 0x800; - *(u16 *)(a0 + 0x60) = 0; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x800; + ((Unkstruct_80126B58 *)a0)->unk60 = 0; func_80149374(iVar1, a0 + 4); func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); D_801888FC = 0x80; D_801888FA = 0x80; D_801888F8 = 0x80; func_80146CA0((void *)a0); - if (*(s32 *)(a0 + 0x50) == 0) { - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + if (((Unkstruct_80126B58 *)a0)->unk50 == 0) { + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0x10; } } } @@ -4464,32 +4464,32 @@ void func_8017DE3C(s32 a0) { s16 sVar1; iVar1 = *(s32 *)(a0 + 0x4c); - iVar2 = *(s32 *)(a0 + 0x20); + iVar2 = ((Unkstruct_80126B58 *)a0)->unk20; func_8016325C(a0, 0, 0x20000, 0); func_80162FC0((s32 *)a0); - if ((*(s16 *)(a0 + 0x60) == 0) && (0 < *(s32 *)(a0 + 0x28))) { + if ((CAST_SIGN(s16, a0, 0x60) == 0) && (0 < ((Unkstruct_80126B58 *)a0)->unk28)) { u16 uVar1; - *(u16 *)(iVar2 + 0x10) = 0; - uVar1 = *(u16 *)(a0 + 0x60); - *(u16 *)(a0 + 0x60) = uVar1 + 1; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0; + uVar1 = ((Unkstruct_80126B58 *)a0)->unk60; + ((Unkstruct_80126B58 *)a0)->unk60 = uVar1 + 1; } - sVar1 = *(s16 *)(iVar1 + 0xA); - if (sVar1 < *(s16 *)(a0 + 0xA)) { + sVar1 = ((Unkstruct_80126B58 *)iVar1)->unkA; + if (sVar1 < ((Unkstruct_80126B58 *)a0)->unkA) { u16 uVar1; s32 uVar2; - *(s16 *)(a0 + 0xA) = sVar1; + ((Unkstruct_80126B58 *)a0)->unkA = sVar1; func_8013C9C4(D_80188910); - *(u16 *)(a0 + 0x60) = *(u16 *)(iVar2 + 0x18); + ((Unkstruct_80126B58 *)a0)->unk60 = ((Unkstruct_800B5CB8 *)iVar2)->unk18; func_8001C810(iVar2, (s32)&D_801B473C); - *(s32 **)(iVar2 + 0x80) = &D_801888C8; - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0xA0; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000; - uVar1 = *(u16 *)(a0 + 0x60); - *(u16 *)(iVar2 + 0x1c) = uVar1; - *(u16 *)(iVar2 + 0x1a) = uVar1; - *(u16 *)(iVar2 + 0x18) = uVar1; - if (*(s32 *)(a0 + 0x50) == 0) { - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + CAST_WIDTH(s32 *, iVar2, 0x80) = &D_801888C8; + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0xA0; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x50000000; + uVar1 = ((Unkstruct_80126B58 *)a0)->unk60; + CAST_WIDTH(u16, iVar2, 0x1c) = uVar1; + ((Unkstruct_800B5CB8 *)iVar2)->unk1A = uVar1; + ((Unkstruct_800B5CB8 *)iVar2)->unk18 = uVar1; + if (((Unkstruct_80126B58 *)a0)->unk50 == 0) { + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0x10; func_801466B4(0x1B, a0, 0, 0, 1); func_801466B4(0x1B, a0, 1, 0, 1); func_801466B4(0x1B, a0, 2, 0, 1); @@ -4500,12 +4500,12 @@ void func_8017DE3C(s32 a0) { } func_80147324(uVar2); func_80146CA0((void *)a0); - } else if (*(s16 *)(a0 + 0x60) != 0) { + } else if (CAST_SIGN(s16, a0, 0x60) != 0) { s16 sVar2; - sVar2 = *(u16 *)(iVar2 + 0x1c) + 0x100; - *(s16 *)(iVar2 + 0x1c) = sVar2; - *(s16 *)(iVar2 + 0x1a) = sVar2; - *(s16 *)(iVar2 + 0x18) = sVar2; + sVar2 = CAST_WIDTH(u16, iVar2, 0x1c) + 0x100; + CAST_WIDTH(s16, iVar2, 0x1c) = sVar2; + ((Unkstruct_800B5CB8 *)iVar2)->unk1A = sVar2; + ((Unkstruct_800B5CB8 *)iVar2)->unk18 = sVar2; } } @@ -4624,11 +4624,11 @@ void func_8017E1D4(s32 p) { s32 pad[3]; (void)&pad; - o = *(s32 *)(p + 0x20); + o = ((Unkstruct_80126B58 *)p)->unk20; t1 = *(u16 *)(o + 0x1C) + 0x800; *(s16 *)(o + 0x1C) = t1; *(s16 *)(o + 0x18) = t1; - lim1 = **(s16 **)(p + 0x58); + lim1 = *CAST_SIGN(s16 *, p, 0x58); lv1 = lim1; if (lim1 < t1) { *(s16 *)(o + 0x1C) = lv1; @@ -4637,11 +4637,11 @@ void func_8017E1D4(s32 p) { } t2 = *(u16 *)(o + 0x1A) + 0x800; *(s16 *)(o + 0x1A) = t2; - lim2 = *(s16 *)(*(s32 *)(p + 0x58) + 2); + lim2 = *(s16 *)(((Unkstruct_80126B58 *)p)->unk58 + 2); lv2 = lim2; if (lim2 < t2) { *(s16 *)(o + 0x1A) = lv2; - func_80146E90((s32 *)p, *(s16 *)(*(s32 *)(p + 0x58) + 4)); + func_80146E90((s32 *)p, *(s16 *)(((Unkstruct_80126B58 *)p)->unk58 + 4)); func_80146CA0((void *)p); } } @@ -4657,7 +4657,7 @@ void func_8017E298(s32 arg0) { u16 t2; tbl = *(s32 *)(arg0 + 0x4C); - obj = *(s32 *)(arg0 + 0x20); + obj = ((Unkstruct_80126B58 *)arg0)->unk20; if (func_80146E98(arg0) != 0) { t1 = *(u16 *)(obj + 0x1C) + 0x400; *(s16 *)(obj + 0x1C) = t1; @@ -4672,7 +4672,7 @@ void func_8017E298(s32 arg0) { *(s16 *)(obj + 0x1A) = 0x7000; } } - if (*(u16 *)tbl != 0x16) { + if (((Unkstruct_80126B58 *)tbl)->unk0 != 0x16) { ((void (*)(s32))func_80162CCC)(arg0); } } @@ -4718,40 +4718,40 @@ void func_8017E39C(void *a0) { u8 *p = D_80078E78; s32 t; - if ((u8)func_80029178(D_80188C14[*(s16 *)((s32)a0 + 0x70)]) != 0 || - (*(s16 *)((s32)a0 + 0x70) == 4 && (u32)func_80029504() < 0xC8)) { + if ((u8)func_80029178(D_80188C14[((Unkstruct_800B5CB8 *)a0)->unk70]) != 0 || + (((Unkstruct_800B5CB8 *)a0)->unk70 == 4 && (u32)func_80029504() < 0xC8)) { func_8012CAE4(a0); return; } t = *(u16 *)(p + 0x1A); if (t < 0x12C || t > 0x527) { - if (*(s32 *)((s32)a0 + 0x20) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 != 0) { return; } if (func_8012C354((s32)a0, (s32)D_80188AE8) == 0) { return; } - *(u16 *)((s32)a0 + 0x5C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk5C |= 0x10; func_8012A828((s32)a0, D_80188950); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(s32 *)&D_801B7828 = *(s16 *)((s32)a0 + 0x88) << 16; - D_801B782C = *(s16 *)((s32)a0 + 0x8A) << 16; - D_801B7830 = *(s16 *)((s32)a0 + 0x8C) << 16; - *(s32 *)((s32)a0 + 0xCC) = func_80143970((s32)a0); - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0x10; - *(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + *(s32 *)&D_801B7828 = CAST_SIGN(s16, (s32)a0, 0x88) << 16; + D_801B782C = CAST_SIGN(s16, (s32)a0, 0x8A) << 16; + D_801B7830 = CAST_SIGN(s16, (s32)a0, 0x8C) << 16; + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_80143970((s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) + 1; } else { - if (*(s32 *)((s32)a0 + 0x20) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 != 0) { return; } if (func_8012C354((s32)a0, (s32)D_80188B1C) == 0) { return; } - *(s16 *)((s32)a0 + 0xAE) = -4; - *(s32 *)((s32)a0 + 0xCC) = func_80143970((s32)a0); - *(u16 *)((s32)a0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -4; + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_80143970((s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; } } @@ -4782,10 +4782,10 @@ void func_8017E538(s32 a0) { s32 v0; s32 v1; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v1 = -1; v0 = v0 - 1; - *(s32 *)(a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == v1) { s32 t; @@ -4795,26 +4795,26 @@ void func_8017E538(s32 a0) { func_8012A828(a0, (void *)&D_801889D8); - t = *(u16 *)(a0 + 0x10A) + 1; - *(u16 *)(a0 + 0x10A) = t; + t = CAST_SIGN(u16, a0, 0x10A) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = t; if ((t & 3) != 0) { - if (*(s16 *)(a0 + 0x104) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 == 0) { s32 r = rand(); s32 x; s32 y; - x = *(s16 *)(a0 + 0x88) - 0x200; + x = CAST_SIGN(s16, a0, 0x88) - 0x200; x += (r & 0x7F) << 3; D_801B7834 = x << 16; - y = *(s16 *)(a0 + 0x8C) - 0x200; + y = CAST_SIGN(s16, a0, 0x8C) - 0x200; y += (u32)(r & 0x7F00) >> 5; D_801B783C = y << 16; } else { func_8017ED60((s16 *)a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + 0xC00; } } else { for (i = 0; i < 2; i++) { @@ -4823,32 +4823,32 @@ void func_8017E538(s32 a0) { } i = 8; - if (*(s16 *)(a0 + 0x108) >= 0xD) { + if (CAST_SIGN(s16, a0, 0x108) >= 0xD) { i = 2; } ret = func_8012BB3C(a0 + 4, (s32)&D_801B7834, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), i); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + ret; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), i); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + ret; - ang = -3 - *(u16 *)(a0 + 0x104); + ang = -3 - CAST_SIGN(u16, a0, 0x104); func_8017ECEC(a0, ang, 0x50); - if (*(s16 *)(a0 + 0x104) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 != 0) { func_80146A6C(2, (void *)a0, 0, 0, 0, 2, 0); } - *(s16 *)(a0 + 0x108) = 0; - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; } else { - s16 d = *(s16 *)(a0 + 0x102); + s16 d = ((Unkstruct_800B5CB8 *)a0)->unk102; if (d != 0) { s32 r2 = func_8012B8E4(a0, d); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; } } } @@ -4899,30 +4899,30 @@ void func_8017E73C(s32 a0) { if ((flags & 0x6000) != 0x2000) { func_8012ADE4((u8 *)a0); func_8017EE3C(a0); - if (*(s32 *)(a0 + 0x1C) >= 9) { - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) - 8; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 9) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C - 8; } } m = flags & 0x8000; if (m != 0 || (flags & 0x6000) != 0x2000) { - if (*(s16 *)(a0 + 0x106) == 0) { - *(s16 *)(a0 + 0x106) = 0x111; + if (((Unkstruct_800B5CB8 *)a0)->unk106 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0x111; } - if (*(s32 *)(a0 + 0x1C) >= 5) { - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) - 4; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 5) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C - 4; } - *(u16 *)(a0 + 0x108) = *(u16 *)(a0 + 0x108) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = ((Unkstruct_800B5CB8 *)a0)->unk108 + 1; } else { - *(s16 *)(a0 + 0x106) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; } - v = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v; + v = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v; if (v != 0) { if ((v & 3) == 0) { if (func_8012BC60((void *)(a0 + 4), (void *)&D_801B7834) < 0x900) { - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } } /* The func_8017ECEC call is written in BOTH arms on purpose: gcc-2.7.2's sched1 @@ -4934,26 +4934,26 @@ void func_8017E73C(s32 a0) { allocno (2 deaths) and loses $a1. Both must be s32 -- writing the expression inline lets convert_to_integer narrow it to UNSIGNED HImode (the u16 operand), which emits `ori $a1,$zero,0xfffd` instead of `addiu $a1,$zero,-0x3` + sll/sra. */ - if (*(s16 *)(a0 + 0x106) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk106 == 0) { s32 r = func_8012BB3C(a0 + 4, (s32)&D_801B7834, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), 8); - s32 p = *(s32 *)(a0 + 0x20); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 8); + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; s32 ang0; - *(s16 *)(p + 0x12) = *(u16 *)(p + 0x12) + r; - ang0 = -3 - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)p)->unk12 = ((Unkstruct_800B5CB8 *)p)->unk12 + r; + ang0 = -3 - CAST_SIGN(u16, a0, 0x104); func_8017ECEC(a0, ang0, 0); } else { - s32 q = *(s32 *)(a0 + 0x20); + s32 q = ((Unkstruct_800B5CB8 *)a0)->unk20; s32 ang1; - *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + *(s16 *)(a0 + 0x106); - ang1 = -3 - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)q)->unk12 = ((Unkstruct_800B5CB8 *)q)->unk12 + ((Unkstruct_800B5CB8 *)a0)->unk106; + ang1 = -3 - CAST_SIGN(u16, a0, 0x104); func_8017ECEC(a0, ang1, 0); } - if (*(s16 *)(a0 + 0x104) != 0) { - if ((u32)*(s32 *)(a0 + 0x94) < 0xB) { - *(s32 *)(a0 + 0x94) = *(s32 *)(a0 + 0x94) + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk104 != 0) { + if ((u32)((Unkstruct_800B5CB8 *)a0)->unk94 < 0xB) { + ((Unkstruct_800B5CB8 *)a0)->unk94 = ((Unkstruct_800B5CB8 *)a0)->unk94 + 1; } - if ((*(s32 *)(a0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 7) == 0) { ret = 1; } } @@ -4962,24 +4962,24 @@ void func_8017E73C(s32 a0) { func_8012B200((u8 *)a0); func_8012A828(a0, D_80188950); - *(s32 *)(a0 + 0x1C) = 0x14 - (*(s16 *)(a0 + 0x104) << 1); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14 - (((Unkstruct_800B5CB8 *)a0)->unk104 << 1); if (((s32 (*)(s32))func_8012BD14)(a0) <= 0x23FFF) { - *(s16 *)(a0 + 0x102) = 0xA - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0xA - CAST_SIGN(u16, a0, 0x104); } else { - *(s16 *)(a0 + 0x102) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; } - t = *(s16 *)(a0 + 0x104); + t = ((Unkstruct_800B5CB8 *)a0)->unk104; if (t != 0) { t = t - 4; - *(s16 *)(a0 + 0x104) = t; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; if (t < 0) { - *(s16 *)(a0 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; } } - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - if (*(s16 *)(a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { if (func_8016F1AC() != 0) { /* §17/idiom-7: 0x801891F4 is INTERIOR to D_801891D8 and has no symbol, but the target does NOT build it with its own %hi/%lo -- it derives it from the @@ -4988,23 +4988,23 @@ void func_8017E73C(s32 a0) { second lui/addiu pair and splits the store into lui+sw($at). */ s32 *tbl = &D_80188BB8; - *(s16 *)(a0 + 0x10A) = 0; - *tbl = *(u16 *)(a0 + 0x88) | (*(s16 *)(a0 + 0x8C) << 16); + ((Unkstruct_800B5CB8 *)a0)->unk10A = 0; + *tbl = ((Unkstruct_800B5CB8 *)a0)->unk88 | (CAST_SIGN(s16, a0, 0x8C) << 16); func_80178B70(a0, (s32)tbl - 0x1C); - *(s16 *)(a0 + 0x98) = 0; - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; func_8012B200((u8 *)a0); - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } return; } - if (*(u16 *)(a0 + 0x5E) != 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(a0 + 0x62); + if (CAST_WIDTH(u16, a0, 0x5E) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)a0)->unk62; func_8017ECEC(a0, -0xF, 0); func_8017ED60((s16 *)a0); - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x104) = 0xA; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA; ret = 1; } else { s32 d = ((s32 (*)(s32))func_8012BD14)(a0); @@ -5022,11 +5022,11 @@ void func_8017E73C(s32 a0) { } if (spd != 0) { func_8017ED60((s16 *)a0); - if (*(s16 *)(a0 + 0x104) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B864(a0) - 0x800; + if (((Unkstruct_800B5CB8 *)a0)->unk104 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B864(a0) - 0x800; ret = 1; } - *(s16 *)(a0 + 0x104) = spd; + ((Unkstruct_800B5CB8 *)a0)->unk104 = spd; func_8017ECEC(a0, -7 - spd, 0); } } @@ -5061,52 +5061,52 @@ void func_8017EB30(s32 a0) { func_80178970(); - if (*(s16 *)(a0 + 0x108) < 0x10) { - if (*(s16 *)(a0 + 0xFE) != 0) { + if (CAST_SIGN(s16, a0, 0x108) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { v1 = ((s32 (*)(s32))func_8012CBA4)(a0); } else { v1 = ((s32 (*)(s32))func_8012CBF4)(a0); } if ((v1 & 0x8000) != 0) { - *(u16 *)(a0 + 0x108) = *(u16 *)(a0 + 0x108) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = ((Unkstruct_800B5CB8 *)a0)->unk108 + 1; } if ((v1 & 0x2000) != 0) { - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } else { - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } else { func_8012AD80(a0); } - if ((*(s32 *)(a0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 7) == 0) { func_80146A6C(2, (void *)a0, 0, 0, 0, 2, 0); } - if ((*(s32 *)(a0 + 0x1C) & 0xF) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0xF) == 0) { func_8002D4C8(0x828, 0); } - v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != -1) { if (func_8012E778(a0, 0x8000A8) != 0) { return; } } - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; func_8012B200((u8 *)a0); func_8012A828(a0, D_80188950); - *(s16 *)(a0 + 0x104) = 0; - *(s16 *)(a0 + 0x102) = 0xA; - p = *(s32 *)(a0 + 0x20); - *(s32 *)(p + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0xA; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, p, 4) |= 0x80000000; - func_801439C0(*(s32 *)(a0 + 0xCC)); + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); - *(s32 *)(a0 + 0x1C) = 0x14; - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } @@ -5114,7 +5114,7 @@ void func_8017EB30(s32 a0) { extern void (*D_80188C24[])(void); void func_8017ECB0(void *a0) { - D_80188C24[*(u16 *)((s32)a0 + 0x2)](); + D_80188C24[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5162,12 +5162,12 @@ extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); void func_8017ECEC(s32 a0, s16 a1, s16 a2) { u32 xz; - func_8012B0B4(&xz, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), a1 << 4); + func_8012B0B4(&xz, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), a1 << 4); - *(s32 *)(a0 + 0x10) = (s16)xz << 12; - *(s32 *)(a0 + 0x18) = ((s32)xz >> 16) << 12; + CAST_WIDTH(s32, a0, 0x10) = (s16)xz << 12; + CAST_WIDTH(s32, a0, 0x18) = ((s32)xz >> 16) << 12; if (a2 != 0) { - *(s32 *)(a0 + 0x1C) = a2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = a2; } } @@ -5199,11 +5199,11 @@ void func_8017ED60(s16 *a0) { /* The struct reads are plain INDIRECT_REFs, not ARRAY_REFs: an `a0[0x46]` here sets MEM_IN_STRUCT_P, which lets gcc-2.7.2's true_dependence() drop the dependence against the constant-address store and hoist the second `lh` above `sw D_801B7834`. */ - x = *(s16 *)((s32)a0 + 0x88) + *(s16 *)((u8 *)D_80188B70 + off) - 0x100; + x = CAST_SIGN(s16, (s32)a0, 0x88) + *(s16 *)((u8 *)D_80188B70 + off) - 0x100; x += (r & 0x7F) << 2; D_801B7834 = x << 16; - y = *(s16 *)((s32)a0 + 0x8C) + *(s16 *)((u8 *)D_80188B72 + off) - 0x100; + y = CAST_SIGN(s16, (s32)a0, 0x8C) + *(s16 *)((u8 *)D_80188B72 + off) - 0x100; y += (unsigned)(r & 0x7F00) >> 6; D_801B783C = y << 16; } @@ -5304,17 +5304,17 @@ void func_8017F050(s32 a0) { func_80178970(); - v = *(u16 *)(a0 + 0x5E); + v = CAST_WIDTH(u16, a0, 0x5E); if ((v == 0x9) | (v == 0x11)) { p = func_8012C658(0x30, 2, a0); if (p == 0) { return; } - *(u16 *)(p + 0xA) -= 0x20; + ((Unkstruct_800B5CB8 *)p)->unkA -= 0x20; *(u16 *)(p + 0x16) -= 0x10; func_8002D4C8(0x829, 0); - *(s16 *)(a0 + 0x5E) = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; func_8012A828(a0, D_80188A40); sp10[0] = 0; @@ -5322,10 +5322,10 @@ void func_8017F050(s32 a0) { sp10[2] = 0x70000; func_8012B14C(a0, (s32)sp10); - *(s32 *)(a0 + 0x48) = 0x10000; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0x108) = 0; - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x10000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -5347,10 +5347,10 @@ void func_8017F124(s32 a0) { func_80178970(); - v0 = *(s32*)((s32)a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v1 = -1; v0 = v0 - 1; - *(s32*)((s32)a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != v1) { v0 = func_8012CBCC(a0); @@ -5362,10 +5362,10 @@ void func_8017F124(s32 a0) { func_80146A6C(2, (void*)a0, 0, 0, 0, 0, 0); func_8012A828(a0, (void*)&D_801889D8); - v1 = *(s32*)((s32)a0 + 0x20); - v0 = *(u16*)((s32)v1 + 0x12); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v0 = ((Unkstruct_800B5CB8 *)v1)->unk12; v0 = v0 + 0xB00; - *(u16*)((s32)v1 + 0x12) = v0; + ((Unkstruct_800B5CB8 *)v1)->unk12 = v0; stack[0] = 0; stack[1] = 0; @@ -5374,9 +5374,9 @@ void func_8017F124(s32 a0) { func_8012B2CC(a0); func_8012B14C(a0, (s32)stack); - *(u16*)((s32)a0 + 0xFE) = 1; - *(s32*)((s32)a0 + 0x1C) = 0x40; - *(u16*)((s32)a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } @@ -5415,17 +5415,17 @@ void func_8017F24C(s32 a0) u8 *v1 = D_80078E78; s32 v0; - if (*(s16 *)((u8 *)s0 + 0x100) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk100 != 0) { goto L_8017D524; } - if (*(u16 *)((u8 *)s0 + 0x5E) == 0) { + if (CAST_WIDTH(u16, (u8 *)s0, 0x5E) == 0) { goto L_8017D524; } func_80178B18(s0, (s32)&D_80188BF4); - *(s16 *)((u8 *)s0 + 0x100) = 1; - *(s16 *)((u8 *)s0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; return; L_8017D524: @@ -5440,28 +5440,28 @@ L_8017D524: goto L_8017D57C; } - if (func_8012C658(0x1F8, *(s16 *)((u8 *)s0 + 0x70), s0) == 0) { + if (func_8012C658(0x1F8, ((Unkstruct_800B5CB8 *)s0)->unk70, s0) == 0) { return; } - func_801439C0(*(s32 *)((u8 *)s0 + 0xCC)); + func_801439C0(((Unkstruct_800B5CB8 *)s0)->unkCC); ((void (*)(s32))func_8012C218)(s0); L_8017D57C: - if (*(u16 *)((u8 *)s0 + 0x5E) == 0) { + if (CAST_WIDTH(u16, (u8 *)s0, 0x5E) == 0) { return; } - v0 = *(s32 *)((u8 *)s0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; v0 = v0 + 1; - *(s32 *)((u8 *)s0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = v0; if (v0 < 0x10) { return; } - *(u16 *)((u8 *)s0 + 0x5E) = 0; - *(s32 *)((u8 *)s0 + 0x1C) = 0; + CAST_WIDTH(u16, (u8 *)s0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; } @@ -5516,7 +5516,7 @@ void func_8017F480(s32 a0) { if (func_8014C088(a0, 0x16) == 0) { - *(s32 *)(a0 + 0x44) &= ~0x20000; + CAST_SIGN(s32, a0, 0x44) &= ~0x20000; func_8014B5C4((s32 *)a0, func_8014CB58() & 0xFF, 0x80); func_80171990((u8 *)a0); } @@ -6391,15 +6391,15 @@ void func_801816C0(s32 a0) { s32 ent; u16 *p96; - counter = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = counter; + counter = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = counter; if ((counter & 0x20) == 0) { - diff1 = D_80126B5E - *(u16 *)(a0 + 6); + diff1 = D_80126B5E - ((Unkstruct_800B5CB8 *)a0)->unk6; if (diff1 < 0) { diff1 = -diff1; } if (diff1 < 0x201) { - diff2 = D_80126B66 - *(u16 *)(a0 + 0xE); + diff2 = D_80126B66 - ((Unkstruct_800B5CB8 *)a0)->unkE; if (diff2 < 0) { diff2 = -diff2; } @@ -6407,7 +6407,7 @@ void func_801816C0(s32 a0) { if ((counter & 0x1F) == 0) { func_8002D4C8(0x5A8, ((0x7F - ((diff1 * diff1 + diff2 * diff2) * 0x50) / 0xA4000) | 0x1000) & 0xFFFF); } - if ((*(u32 *)(a0 + 0x1C) & 1) != 0) { + if ((CAST_SIGN(u32, a0, 0x1C) & 1) != 0) { ent = func_80132EF4(a0, 0x22); if (ent != 0) { func_80129374(ent, a0); @@ -6415,7 +6415,7 @@ void func_801816C0(s32 a0) { *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x3000; } } - if ((*(s32 *)(a0 + 0x1C) & 0x1F) > 7) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x1F) > 7) { ent = func_801818A4((void *)a0, &D_80188DD8); if (ent != 0) { p96 = &D_80126B96; @@ -6432,7 +6432,7 @@ void func_801816C0(s32 a0) { extern void (*D_80188DE8[])(void); void func_80181868(void *a0) { - D_80188DE8[*(u16 *)((s32)a0 + 0x2)](); + D_80188DE8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6488,14 +6488,14 @@ void func_80181938(s32 a0) { return; } v1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v1; if (v1 == 0) { func_8012CAE4((void *)a0); return; } func_8001C2C4(v1); - *(s32 *)(a0 + 0x1C) = *(u8 *)(a0 + 0x70); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(a0 + 0x70) & 0xF00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = CAST_WIDTH(u8, a0, 0x70); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = CAST_SIGN(u16, a0, 0x70) & 0xF00; func_8012B2CC(a0); sp10[1] = 0; sp10[0] = 0; @@ -6509,7 +6509,7 @@ void func_80181938(s32 a0) { extern void (*D_80188E00[])(void); void func_801819E8(void *a0) { - D_80188E00[*(u16 *)((s32)a0 + 0x2)](); + D_80188E00[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6574,7 +6574,7 @@ s32 func_80181AE0(void *arg0, s32 arg1) { extern void (*D_80188E08[])(void); void func_80181B78(void *a0) { - D_80188E08[*(u16 *)((s32)a0 + 0x2)](); + D_80188E08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6729,7 +6729,7 @@ s32 func_80181EF0(void) { extern void (*D_80188E50[])(void); void func_80181F20(void *a0) { - D_80188E50[*(u16 *)((s32)a0 + 0x2)](); + D_80188E50[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6769,22 +6769,22 @@ void func_80181FA4(void *a0) { s1 = func_80029504(); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - *(s32 *)((s32)a0 + 0x58) = (s32)D_80188E40; - t = *(u16 *)((s32)a0 + 0x2); - *(s16 *)((s32)a0 + 0x5C) = 0x80; - *(u16 *)((s32)a0 + 0x2) = t + 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_80188E40; + t = CAST_SIGN(u16, (s32)a0, 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = t + 1; if (s1 >= 0x384) { - *(s32 *)((s32)a0 + 0xDC) = func_80181F5C(a0, D_80188E30); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181F5C(a0, D_80188E30); } else if (s1 >= 0x258) { - *(s32 *)((s32)a0 + 0xDC) = func_80181F5C(a0, D_80188E20); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181F5C(a0, D_80188E20); } else if (s1 >= 0xC8) { - *(s32 *)((s32)a0 + 0xDC) = func_80181F5C(a0, D_80188E10); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181F5C(a0, D_80188E10); } } @@ -6821,14 +6821,14 @@ void func_801820E0(void *a0) { func_8012CAE4(a0); } else { v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); } else { func_8001C214(v0, 0); func_80182994(a0); func_8012C51C(&D_80188ED8, (s32)a0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } } @@ -6859,22 +6859,22 @@ void func_801821F4(void *a0) extern u8 D_80188E78[]; s32 pad[2]; - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8() != 0) { - *(s32 *)((s32)a0 + 0x1C) = 0x3C; - *(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - if (*(s32 *)((s32)a0 + 0x1C) == (*(s32 *)((s32)a0 + 0x1C) / 15) * 15) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == (((Unkstruct_800B5CB8 *)a0)->unk1C / 15) * 15) { func_80182674(a0, D_80188E70, 0xA, 0); func_8002D4C8(0x63C, 0); } - if (*(s32 *)((s32)a0 + 0x1C) == (*(s32 *)((s32)a0 + 0x1C) / 3) * 3) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == (((Unkstruct_800B5CB8 *)a0)->unk1C / 3) * 3) { func_80182848(a0, D_80188E78, 5, 1, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)((s32)a0 + 0x2) = 3; - *(s32 *)((s32)a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; func_8012B21C(a0); func_8002D4C8(0x63D, 0); func_8002D4C8(4, 0xAC7); @@ -6913,13 +6913,13 @@ void func_80182328(void *a0) func_8012AD80((s32)a0); - sp18[0] = *(u16 *)((s8 *)a0 + 0x3A); - sp18[1] = *(u16 *)((s8 *)a0 + 0x3E); - sp18[2] = *(u16 *)((s8 *)a0 + 0x42); + sp18[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp18[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp18[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; - sp20[0] = *(u16 *)((s8 *)a0 + 0x6); - sp20[1] = *(u16 *)((s8 *)a0 + 0xA); - sp20[2] = *(u16 *)((s8 *)a0 + 0xE); + sp20[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp20[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp20[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; sp28[0] = sp20[0] + D_80188E60; sp28[1] = sp20[1] + D_80188E62; @@ -6927,7 +6927,7 @@ void func_80182328(void *a0) func_80182674((s32)a0, sp28, 5, 0); - if ((*(s32 *)((s8 *)a0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 7) == 0) { func_80182848(a0, D_80188E68, 5, 0, 0); func_80182848(a0, D_80188E68, 5, 0, 1); } @@ -6940,16 +6940,16 @@ void func_80182328(void *a0) sp20[1] = sp20[1] + D_80188E5A; sp20[2] = sp20[2] + D_80188E5C; - *(s32 *)((s8 *)a0 + 0x1C) = *(s32 *)((s8 *)a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; v0 = func_80133784(1, sp18, (s32)sp20); if ((v0 & 0x2000) != 0) { - *(u16 *)((s8 *)a0 + 0x2) = 4; - *(s32 *)((s8 *)a0 + 0x1C) = 0x3C; - *(u16 *)((s8 *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8013C98C(); func_8013C9C4(&D_80188F48); - *(s32 *)((s8 *)a0 + 0xE0) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 3; func_8002D4C8(0x63E, 0); } @@ -6963,26 +6963,26 @@ void func_801824E4(void *a0) { s32 i; s32 *p; - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - if (*(s32 *)((s32)a0 + 0xE0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 != 0) { i = 0; p = D_80188E80; for (; i < 11; i++) { func_80182AB4(p, 0x7FFF, rand() & 1); p = (s32 *)((s8 *)p + 8); } - (*(s32 *)((s32)a0 + 0xE0))--; + (((Unkstruct_800B5CB8 *)a0)->unkE0)--; } if (func_8012BEE8(a0) != 0) { - *(s32 *)((s32)a0 + 0x1C) = 0x1E; - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 1: func_801829A8(a0); if (func_8012BEE8(a0) != 0) { - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_801829A0(a0); } break; @@ -7113,7 +7113,7 @@ void func_801829A8(void *a0) { extern void (*D_80188FE0[])(void); void func_801829BC(void *a0) { - D_80188FE0[*(u16 *)((s32)a0 + 0x2)](); + D_80188FE0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7131,7 +7131,7 @@ void func_801829F8(void *a0) { unsigned short a1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -7139,9 +7139,9 @@ void func_801829F8(void *a0) { func_8001C214(v0, 0); *(unsigned short *)((s32)a0 + 0x5C) = 0xCC00; v1 = (s32)&D_80188FD0 | 0x40000000 | 0x20000000; - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; a1 = *(unsigned short *)(ptr + 0x36); - *(s32 *)((s32)a0 + 0x58) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = v1; *(unsigned short *)((s32)a0 + 0x2) = 1; *(unsigned short *)((s32)a0 + 0xFC) = a1; } @@ -7173,16 +7173,16 @@ s32 func_80182AB4(s32 a0, s16 a1, s32 a2) { ret = 0; return ret; } - p = *(u32 *)(s0 + 0x20); - *(u32 *)(p + 0x20) = (u32)&D_800D387C; - *(u8 *)(p + 0x27) = 0x9C; - *(u16 *)(p + 0x1A) = a1; - *(u32 *)(p + 4) = *(u32 *)(p + 4) | 0x50000000; - *(u16 *)(p + 0x18) = a1; - *(u32 *)(p + 4) = *(u32 *)(p + 4) | 0x80000000; + p = CAST_SIGN(u32, s0, 0x20); + ((Unkstruct_800B5CB8 *)p)->unk20 = (u32)&D_800D387C; + ((Unkstruct_800B5CB8 *)p)->unk27 = 0x9C; + ((Unkstruct_800B5CB8 *)p)->unk1A = a1; + CAST_WIDTH(u32, p, 4) = CAST_WIDTH(u32, p, 4) | 0x50000000; + ((Unkstruct_800B5CB8 *)p)->unk18 = a1; + CAST_WIDTH(u32, p, 4) = CAST_WIDTH(u32, p, 4) | 0x80000000; func_80128EA8((s32)p, t, (s32)&D_800D3888); ret = s0; - *(u32 *)(ret + 0x1C) = a2; + ((Unkstruct_800B5CB8 *)ret)->unk1C = a2; return ret; } @@ -7191,7 +7191,7 @@ s32 func_80182AB4(s32 a0, s16 a1, s32 a2) { extern void (*D_80188FE8[])(void); void func_80182B64(void *a0) { - D_80188FE8[*(u16 *)((s32)a0 + 0x2)](); + D_80188FE8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7210,7 +7210,7 @@ extern void func_801292C8(u8 *a0); void func_80182BE0(void *a0) { - if (func_80128ED8(*(s32 *)((s32)a0 + 0x20), (s32 *)((s32)a0 + 0x24)) == 1) { + if (func_80128ED8(((Unkstruct_800B5CB8 *)a0)->unk20, (s32 *)((s32)a0 + 0x24)) == 1) { func_801292C8((u8 *)a0); } } @@ -7220,7 +7220,7 @@ void func_80182BE0(void *a0) extern void (*D_80189048[])(void); void func_80182C24(void *a0) { - D_80189048[*(u16 *)((s32)a0 + 0x2)](); + D_80189048[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7230,19 +7230,19 @@ void func_80182C60(s32 param_1) { s32 v0; v0 = func_801830EC(param_1, (s32)D_80188FF0, 0x300, 0x1C0, 0x80); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { goto fail; } v0 = func_801830EC(param_1, (s32)D_80188FFC, 0x310, 0x1C0, 0x81); - *(s32 *)(param_1 + 0xD0) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = v0; if (v0 == 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); fail: func_8012CAE4((void *)param_1); return; } - *(s16 *)(param_1 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -7272,63 +7272,63 @@ void func_80182CF4(s32 a0) { s32 t; if ((func_80029178(0x9C) & 0xFF) != 0) { - *(u16 *)(a0 + 2) = 2; - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0x80; - *(u8 *)(*(s32 *)(a0 + 0xD0) + 0x27) = 0x81; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xD0))->unk27 = 0x81; return; } - if (((s32 (*)(s32))func_8012BD14)(a0) < 0x401 || (u32)(*(u16 *)(a0 + 0x34) - 1) < 2) { - switch (*(u16 *)(a0 + 0x34)) { + if (((s32 (*)(s32))func_8012BD14)(a0) < 0x401 || (u32)(((Unkstruct_800B5CB8 *)a0)->unk34 - 1) < 2) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if ((func_80029178(0x8A) & 0xFF) == 0) { func_801746DC(); func_80178B18(a0, &D_80189028); - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } else { func_801746DC(); func_80178B18(a0, &D_80189038); - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 1: if (func_801789AC(a0) == 1) { ((void (*)(s32))func_80178D18)(a0); - *(u16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } break; case 2: if (func_801789AC(a0) == 1) { ((void (*)(s32))func_80178D18)(a0); - *(u16 *)(a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; } break; case 3: - if ((*(u16 *)(a0 + 0xFE) & 1) == 0 && func_8014CB58() == 2) { + if ((CAST_SIGN(u16, a0, 0xFE) & 1) == 0 && func_8014CB58() == 2) { func_8014B598(2, &D_801888B0); t = func_8014CB2C(); if (func_8016F1AC() == 0) { - if (*(u16 *)(a0 + 0xFE) & 8) { - *(s32 *)(a0 + 0x1C) += 1; + if (CAST_SIGN(u16, a0, 0xFE) & 8) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } else { - if ((*(u16 *)(a0 + 0xFE) & 8) == 0) { - *(u16 *)(a0 + 0xFE) |= 8; - *(s32 *)(a0 + 0x1C) = 0; + if ((CAST_SIGN(u16, a0, 0xFE) & 8) == 0) { + CAST_SIGN(u16, a0, 0xFE) |= 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; func_80175454(); } - if (*(u16 *)(a0 + 0xFE) & 8) { - *(s32 *)(a0 + 0x1C) += 1; + if (CAST_SIGN(u16, a0, 0xFE) & 8) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } - if ((*(u16 *)(a0 + 0xFE) & 4) == 0 && *(s32 *)(a0 + 0x1C) == 0x5A) { - *(u16 *)(a0 + 0xFE) |= 4; + if ((CAST_SIGN(u16, a0, 0xFE) & 4) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk1C == 0x5A) { + CAST_SIGN(u16, a0, 0xFE) |= 4; func_800D0CA0(0); } if ((t & 0x8000007F) == 0x80000002) { - v = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(u16 *)(a0 + 0xFE) |= 1; - *(u16 *)(a0 + 0x34) = v; + v = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + CAST_SIGN(u16, a0, 0xFE) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = v; } } break; @@ -7343,20 +7343,20 @@ void func_80182CF4(s32 a0) { func_80183044(a0); func_80183098(a0); } else { - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0x80; func_80183098(a0); } } else { if ((func_80029178(0x8A) & 0xFF) == 0) { return; } - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0x80; func_80183098(a0); } - if (*(u16 *)(a0 + 0xFE) & 1 && func_8012BEE8(a0) != 0) { + if (CAST_SIGN(u16, a0, 0xFE) & 1 && func_8012BEE8(a0) != 0) { func_8016F0AC(); - *(u16 *)(func_8012E544(0x13B) + 0xFC) = 1; - *(u16 *)(a0 + 0xFE) &= ~1; + CAST_NONSTRUCT(u16, func_8012E544(0x13B), 0xFC) = 1; + CAST_SIGN(u16, a0, 0xFE) &= ~1; func_8002959C(); } } @@ -7376,7 +7376,7 @@ void func_80183044(s32 param_1) { extern u16 D_800B99DA; extern u8 D_80189008[]; extern u8 D_801ABA28[]; - *(u8 *)(*(s32 *)(param_1 + 0xCC) + 0x27) = 0x83; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk27 = 0x83; func_800183E0((s32)&D_801ABA28[D_80189008[D_800B99DA & 0x1F] * 16]); } @@ -7389,7 +7389,7 @@ void func_80183098(s32 param_1) { extern u16 D_800B99DA; extern u8 D_80189008[]; extern u8 D_801ABB28[]; - *(u8 *)(*(s32 *)(param_1 + 0xD0) + 0x27) = 0x82; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unk27 = 0x82; func_800183E0((s32)&D_801ABB28[D_80189008[D_800B99DA & 0x1F] * 16]); } @@ -7407,13 +7407,13 @@ s32 func_801830EC(s32 a0, s32 a1, s16 a2, s16 a3, s32 a4) { return 0; } func_8001CB6C((u8 *)obj, a1, a2, a3); - *(u16 *)(obj + 0x10) = 0xC00; - *(u8 *)(obj + 0x27) = a4; - *(u16 *)(obj + 0x1A) = 0x2D00; - *(u16 *)(obj + 0x18) = 0x2D00; - *(u16 *)(obj + 8) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(obj + 0xC) = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)obj)->unk10 = 0xC00; + ((Unkstruct_800B5CB8 *)obj)->unk27 = a4; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)obj)->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; return obj; } @@ -7516,23 +7516,23 @@ void func_80183394(s32 param_1) { s32 p; v0 = func_80183AC8(param_1, (s32)D_80189054, 0x300, 0x100, 0xA1); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { goto fail; } v0 = func_80183AC8(param_1, (s32)D_80189054, 0x310, 0x100, 0xA2); - *(s32 *)(param_1 + 0xD0) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = v0; if (v0 == 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); fail: func_8012CAE4((void *)param_1); return; } - p = *(s32 *)(param_1 + 0x68); - *(u16 *)(*(s32 *)(param_1 + 0xCC) + 0x12) = *(u16 *)(p + 0xC); - p = *(s32 *)(param_1 + 0x68); - *(u16 *)(*(s32 *)(param_1 + 0xD0) + 0x12) = *(u16 *)(p + 0xC); - *(s16 *)(param_1 + 0x2) = 1; + p = ((Unkstruct_800B5CB8 *)param_1)->unk68; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk12 = *(u16 *)(p + 0xC); + p = ((Unkstruct_800B5CB8 *)param_1)->unk68; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unk12 = *(u16 *)(p + 0xC); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -7572,60 +7572,60 @@ void func_80183458(s32 a0) { u16 v; s32 t; - if (((s32 (*)(s32))func_8012BD14)(a0) < 0x401 || (u32)(*(u16 *)(a0 + 0x34) - 1) < 2) { - switch (*(u16 *)(a0 + 0x34)) { + if (((s32 (*)(s32))func_8012BD14)(a0) < 0x401 || (u32)(((Unkstruct_800B5CB8 *)a0)->unk34 - 1) < 2) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if ((func_80029178(0x8D) & 0xFF) == 0) { func_80178B18(a0, &D_8018939C); - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } else { func_80178B18(a0, &D_801893AC); - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 1: if (func_801789AC(a0) == 1) { ((void (*)(s32))func_80178D18)(a0); - *(u16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } break; case 2: if (func_801789AC(a0) == 1) { ((void (*)(s32))func_80178D18)(a0); - *(u16 *)(a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; } break; case 3: if (func_8014CB58() == 5) { func_8014B598(5, &D_801888B0); if (func_8016F1AC() == 0) { - if (*(u16 *)(a0 + 0x100) & 4) { - *(s32 *)(a0 + 0x1C) += 1; + if (CAST_SIGN(u16, a0, 0x100) & 4) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } else { - if ((*(u16 *)(a0 + 0x100) & 4) == 0) { - *(u16 *)(a0 + 0x100) |= 4; - *(s32 *)(a0 + 0x1C) = 0; + if ((CAST_SIGN(u16, a0, 0x100) & 4) == 0) { + CAST_SIGN(u16, a0, 0x100) |= 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; func_80175454(); if (func_80181EF0() == 0) { func_8017F4E8(); } } - if (*(u16 *)(a0 + 0x100) & 4) { - *(s32 *)(a0 + 0x1C) += 1; + if (CAST_SIGN(u16, a0, 0x100) & 4) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } - if ((*(u16 *)(a0 + 0x100) & 2) == 0 && *(s32 *)(a0 + 0x1C) == 0x5A) { - *(u16 *)(a0 + 0x100) |= 2; + if ((CAST_SIGN(u16, a0, 0x100) & 2) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk1C == 0x5A) { + CAST_SIGN(u16, a0, 0x100) |= 2; func_800D0CA0(0); } - if ((*(u16 *)(a0 + 0x100) & 1) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 1) == 0) { t = func_8014CB2C(); if ((t & 0x8000007F) == 0x80000005) { - v = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = 0x20; - *(u16 *)(a0 + 0x100) |= 1; - *(u16 *)(a0 + 0x34) = v; + v = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + CAST_SIGN(u16, a0, 0x100) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = v; } } } @@ -7640,17 +7640,17 @@ void func_80183458(s32 a0) { func_80183A20(a0); func_80183A74(a0); } else { - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0xA1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0xA1; func_80183A74(a0); } } else { if ((func_80029178(0x8D) & 0xFF) == 0) { return; } - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0xA1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0xA1; func_80183A74(a0); } - if (*(u16 *)(a0 + 0x100) & 1 && func_8012BEE8(a0) != 0) { + if (CAST_SIGN(u16, a0, 0x100) & 1 && func_8012BEE8(a0) != 0) { func_8016F0AC(); if (func_80181EF0() != 0) { D_801B7990 = (s16) M2C_FIELD(D_801151D4, s32 *, 0x48); @@ -7659,9 +7659,9 @@ void func_80183458(s32 a0) { D_801B7998 = (s16) M2C_FIELD(D_801151D4, s32 *, 0x3C); D_801B799A = (s16) M2C_FIELD(D_801151D4, s32 *, 0x40); D_801B799C = (s16) M2C_FIELD(D_801151D4, s32 *, 0x44); - *(u16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1C) = 0x10; + CAST_ALIAS(u16, a0, 2) = 3; + CAST_ALIAS(u16, a0, 0x34) = 0; + CAST_ALIAS(s32, a0, 0x1C) = 0x10; func_80178B18(a0, &D_801893BC); if ((func_80029178(0x11D) & 0xFF) == 0) { func_8002959C(); @@ -7672,12 +7672,12 @@ void func_80183458(s32 a0) { quantity, which loses $v0 to the `3` constant (andi $v0,$v1 instead of the target's in-place andi $v0,$v0). The direct read-modify-write keeps one long quantity in $v0 and puts the 3 in $v1. */ - *(u16 *)(a0 + 0x34) = 3; - *(u16 *)(a0 + 0x100) = (*(u16 *)(a0 + 0x100) & 0xFFF8) | 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (CAST_SIGN(u16, a0, 0x100) & 0xFFF8) | 0x10; ((void (*)(void))func_80175414)(); } - *(u8 *)(*(s32 *)(a0 + 0xCC) + 0x27) = 0xA1; - *(u8 *)(*(s32 *)(a0 + 0xD0) + 0x27) = 0xA2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xCC))->unk27 = 0xA1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0xD0))->unk27 = 0xA2; } } @@ -7718,32 +7718,32 @@ void func_80183810(s32 a0) { s32 ent; s32 v; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8002D4C8(0xC2E, 0); } break; case 1: - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0xB) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0xB) { /* cross_jump merges [addiu +1; j; sh 0x34] with case 2's tail (§162) */ - *(s32 *)(a0 + 0x1C) = 0x20; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; break; } ent = func_80132EF4(a0, 0x6B); if (ent == 0) { break; } - *(u16 *)(ent + 0xA) -= *(s32 *)(a0 + 0x1C) << 6; - *(u16 *)(ent + 0x34) = D_80189370[*(s32 *)(a0 + 0x1C)]; - *(u16 *)(ent + 0x36) = 0xA - *(s32 *)(a0 + 0x1C); + *(u16 *)(ent + 0xA) -= ((Unkstruct_800B5CB8 *)a0)->unk1C << 6; + *(u16 *)(ent + 0x34) = D_80189370[((Unkstruct_800B5CB8 *)a0)->unk1C]; + *(u16 *)(ent + 0x36) = 0xA - ((Unkstruct_800B5CB8 *)a0)->unk1C; break; case 2: if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 3: @@ -7774,7 +7774,7 @@ void func_80183810(s32 a0) { } fail: func_800D1724((s32)D_80188CCC); - *(u16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; } tail: @@ -7792,7 +7792,7 @@ void func_80183A20(s32 param_1) { extern u16 D_800B99DA; extern u8 D_80189354[]; extern u8 D_801B4A44[]; - *(u8 *)(*(s32 *)(param_1 + 0xCC) + 0x27) = 0xA3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk27 = 0xA3; func_800183E0((s32)&D_801B4A44[D_80189354[D_800B99DA & 0x1F] * 16]); } @@ -7805,7 +7805,7 @@ void func_80183A74(s32 param_1) { extern u16 D_800B99DA; extern u8 D_80189354[]; extern u8 D_801B4944[]; - *(u8 *)(*(s32 *)(param_1 + 0xD0) + 0x27) = 0xA4; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unk27 = 0xA4; func_800183E0((s32)&D_801B4944[D_80189354[D_800B99DA & 0x1F] * 16]); } @@ -7823,13 +7823,13 @@ s32 func_80183AC8(s32 a0, s32 a1, s16 a2, s16 a3, s32 a4) { return 0; } func_8001CB6C((u8 *)obj, a1, a2, a3); - *(u16 *)(obj + 0x10) = 0xC00; - *(u8 *)(obj + 0x27) = a4; - *(u16 *)(obj + 0x1A) = 0x2D00; - *(u16 *)(obj + 0x18) = 0x2D00; - *(u16 *)(obj + 8) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(obj + 0xC) = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)obj)->unk10 = 0xC00; + ((Unkstruct_800B5CB8 *)obj)->unk27 = a4; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)obj)->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; return obj; } @@ -7925,7 +7925,7 @@ void func_80183BB0(s32 a0) { extern void (*D_80189420[])(void); void func_80183D84(void *a0) { - D_80189420[*(u16 *)((s32)a0 + 0x2)](); + D_80189420[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7941,11 +7941,11 @@ void func_80183DC0(void *a0) { * left ANONYMOUS so banking cannot collide * with engine_types.h's typedef (§183.1/law 8) */ s32 v; - void *tgt = *(void **)((s32)a0 + 0x2C); + void *tgt = CAST_WIDTH(void *, (s32)a0, 0x2C); - d.vx = *(s16 *)((s32)a0 + 0x6) - *(s16 *)((s32)tgt + 0x6); + d.vx = CAST_SIGN(s16, (s32)a0, 0x6) - *(s16 *)((s32)tgt + 0x6); d.vy = 0; - d.vz = *(s16 *)((s32)a0 + 0xE) - *(s16 *)((s32)tgt + 0xE); + d.vz = CAST_SIGN(s16, (s32)a0, 0xE) - *(s16 *)((s32)tgt + 0xE); /* The target INLINES the GTE square (lwc2 IR1..IR3 / sqr 0 / swc2 MAC1..MAC3) * off ONE base register instead of calling Square0 — same idiom already used * in src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c:2737. */ @@ -7962,39 +7962,39 @@ void func_80183DC0(void *a0) { gte_stlvnl(p); } - if (*(s16 *)((s32)a0 + 0x36) == 0) { + if (CAST_SIGN(s16, (s32)a0, 0x36) == 0) { /* the pointer is re-loaded per statement: each `sh` kills the CSE * of `*(s32 *)(a0+0x20)` (§193-E), which is why the target has three * `lw $a0,0x20($s0)`. */ - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) += *(u16 *)((s32)a0 + 0x30); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) += *(u16 *)((s32)a0 + 0x32); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += *(u16 *)((s32)a0 + 0x34); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 += CAST_WIDTH(u16, (s32)a0, 0x30); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 += *(u16 *)((s32)a0 + 0x32); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += ((Unkstruct_800B5CB8 *)a0)->unk34; if (d.vx + d.vz > 0x9000) { - *(s32 *)((s32)a0 + 0x14) = 0x18000; - *(s32 *)((s32)a0 + 0x18) = 0; - *(s32 *)((s32)a0 + 0x10) = 0; - *(u16 *)((s32)a0 + 0x36) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; + CAST_WIDTH(s32, (s32)a0, 0x18) = 0; + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk36 += 1; } } else { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) += 0x80; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 += 0x80; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += 0x80; if (d.vx + d.vz < 0x4001) { /* its OWN pseudo: sharing `v` with the abs() block below gives the * merged pseudo a whole-function live range, and global_alloc then * seats it in $a0 instead of $v0 (§186c). */ s32 t = rand(); - *(s16 *)((s32)a0 + 0x36) = 0; - *(s32 *)((s32)a0 + 0x14) = -0x100000 - ((t % 9) << 16); + ((Unkstruct_800B5CB8 *)a0)->unk36 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = -0x100000 - ((t % 9) << 16); } } func_8012931C((struct vec *)a0); - in3[0] = *(u16 *)((s32)a0 + 0x6); - in3[1] = *(u16 *)((s32)a0 + 0xA); - in3[2] = *(u16 *)((s32)a0 + 0xE); + in3[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + in3[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + in3[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; ((void (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); /* CALL unless (|out2[0]| < 0xB5 && |out2[1]| < 0x8D && obj->y < 0x10). @@ -8010,7 +8010,7 @@ void func_80183DC0(void *a0) { v = -v; } if (v < 0x8D) { - if (*(s16 *)((s32)a0 + 0xA) < 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) < 0x10) { return; } } @@ -8023,7 +8023,7 @@ void func_80183DC0(void *a0) { extern void (*D_80189438[])(void); void func_80183FEC(void *a0) { - D_80189438[*(u16 *)((s32)a0 + 0x2)](); + D_80189438[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8095,7 +8095,7 @@ void func_8018418C(int param_1) extern void (*D_8018949C[])(void); void func_80184238(void *a0) { - D_8018949C[*(u16 *)((s32)a0 + 0x2)](); + D_8018949C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8132,8 +8132,8 @@ void func_80184274(s32 a0) { extern u8 D_80184F9C[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_80189450)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32*, s32))func_8012A828)((s32 *)s0, (s32)D_80184F9C); func_801788B8(s0, (s32)func_80184358); } @@ -8184,7 +8184,7 @@ s32 func_80184358(void *param_1) extern void (*D_801AB130[])(void); void func_801843B4(void *a0) { - D_801AB130[*(u16 *)((s32)a0 + 0x2)](); + D_801AB130[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8217,7 +8217,7 @@ void func_801843F0(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801AAE88[idx]; @@ -8225,21 +8225,21 @@ void func_801843F0(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_80184A9C); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_80184F9C); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -8448,7 +8448,7 @@ s32 func_80184844(void) { extern void (*D_801AB158[])(void); void func_801848A8(void *a0) { - D_801AB158[*(u16 *)((s32)a0 + 0x2)](); + D_801AB158[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8470,7 +8470,7 @@ void func_801848E4(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -8498,23 +8498,23 @@ void func_8018496C(void *a0) { extern u8 D_801AB710[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801AB608); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801AB710); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -8536,14 +8536,14 @@ void func_80184A2C(void *a0) { extern u8 D_801AB818[]; extern u8 D_801AB5F8[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801AB818); } else { func_8012A828((s32)a0, D_801AB5F8); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } diff --git a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c index 7cf67a212c..81fadba3b8 100644 --- a/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c +++ b/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.c @@ -2949,7 +2949,7 @@ s32 func_8017D398(void) { extern void (*D_80194854[])(void); void func_8017D3B8(void *a0) { - D_80194854[*(u16 *)((s32)a0 + 0x2)](); + D_80194854[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2966,30 +2966,30 @@ void func_8017D3F4(s32 a0) { extern u16 D_801949A4[]; extern u16 D_801949A6[]; - s32 v0 = *(u16 *)(a0 + 0x70) & 0xF; + s32 v0 = CAST_SIGN(u16, a0, 0x70) & 0xF; u16 flag; if (func_8012C438(a0, (s32)(D_8019489C + v0 * 52)) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801847FC); - *(u8 *)(a0 + 0x75) = 0; - *(u32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; - *(u16 *)(a0 + 0xFE) = D_801949A0[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x100) = D_801949A2[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x102) = D_801949A4[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x104) = D_801949A6[*(s16 *)(a0 + 0xFC) * 4]; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_801949A0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk100 = D_801949A2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk102 = D_801949A4[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk104 = D_801949A6[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); - flag = *(u16 *)(a0 + 0x70) & 0xF0; + flag = CAST_SIGN(u16, a0, 0x70) & 0xF0; switch (flag) { case 0: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; case 0x10: - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; case 0x20: - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; } func_8012C588(0x1C4, a0); @@ -3057,16 +3057,16 @@ void func_8017D610(s32 a0) { s2 = a0; - sum = *(u16 *)(s2 + 0xFE) + *(u16 *)(s2 + 0xFC); - *(u16 *)(s2 + 0xFE) = sum & 0xFFF; + sum = CAST_SIGN(u16, s2, 0xFE) + CAST_SIGN(u16, s2, 0xFC); + ((Unkstruct_800B5CB8 *)s2)->unkFE = sum & 0xFFF; if ((sum & 0x7FF) < 0x61) { func_8002D4C8(0x6A5, 0); } - v0 = func_80047948(*(s16 *)(s2 + 0xFE)); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x14) = v0 >> 3; + v0 = func_80047948(((Unkstruct_800B5CB8 *)s2)->unkFE); + *(s16 *)(((Unkstruct_800B5CB8 *)s2)->unk20 + 0x14) = v0 >> 3; - if (*(s16 *)(s2 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)s2)->unk70 != 0) { func_8012B414(s2); } @@ -3210,7 +3210,7 @@ void func_8017D914(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -3248,18 +3248,18 @@ void func_8017D914(s32 a0) { } } - D_8019699C[*(u16 *)(a0 + 0x2)](a0); + D_8019699C[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -3362,93 +3362,93 @@ void func_8017DD34(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_80196C8C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_80196C8E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_80196C90[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_80196C8C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_80196C8E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80196C90[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801969F0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801969F0); func_8012A828(a0, (s32)D_80196AB0); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80196B38); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80196B38); func_8012A828(a0, (s32)D_80196BF8); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_80196CDC; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_80196D00; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801969B4; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_80196CDC; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_80196D00; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801969B4; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801969F0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801969F0); func_8012A828(a0, (s32)D_80196AB0); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80196B38); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80196B38); func_8012A828(a0, (s32)D_80196BF8); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80196CEC); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80196CEC); func_8012A828(a0, (s32)D_80196CF8); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801969F0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801969F0); func_8012A828(a0, (s32)D_80196AB0); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -3491,15 +3491,15 @@ void func_8017E374(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -3508,61 +3508,61 @@ void func_8017E374(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3577,20 +3577,20 @@ void func_8017E724(void *a0) { s32 t; u16 *q; - D_80196D10[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_80196D10[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3603,7 +3603,7 @@ void func_8017E724(void *a0) { extern void (*D_80196DBC[])(void); void func_8017E810(void *a0) { - D_80196DBC[*(u16 *)((s32)a0 + 0x2)](); + D_80196DBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3611,7 +3611,7 @@ void func_8017E810(void *a0) { extern void (*D_80196E70[])(void); void func_8017E84C(void *a0) { - D_80196E70[*(u16 *)((s32)a0 + 0x2)](); + D_80196E70[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3639,17 +3639,17 @@ void func_8017E8A0(s32 a0) { s32 t; if (((s32 (*)(s32, s32))func_8012C354)(a0, (s32)D_801968F0) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801968D0; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801968D0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801847FC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3700,13 +3700,13 @@ void func_8017E9E4(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3763,16 +3763,16 @@ void func_8017EAD4(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_80196C80); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3792,18 +3792,18 @@ void func_8017EB98(void *a0) { extern u16 D_80196C90[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_80196C8C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_80196C8E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_80196C90[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_80196C8C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_80196C8E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80196C90[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3817,8 +3817,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_8017EC78(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_8017EC78 *ptr = *(Struct_8017EC78 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_8017EC78 *ptr = CAST_SIGN(Struct_8017EC78 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3841,18 +3841,18 @@ void func_8017ECE8(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_80196C80); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3880,18 +3880,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8017EDCC(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3918,12 +3918,12 @@ void func_8017EE84(s32 a0) { extern s16 D_80196D82[]; if (((s32 (*)(s32, s32))func_8012C354)(a0, (s32)D_80196D48) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801847FC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_80196D7C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_80196D7E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_80196D80[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_80196D82[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_80196D7C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_80196D7E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80196D80[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_80196D82[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -4063,11 +4063,11 @@ extern void (*D_80198DE0[])(void); extern void func_8012C0EC(void *a0); void func_8017F2A0(void *a0) { - D_80198DE0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_80198DE0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -4099,38 +4099,38 @@ void func_8017F32C(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_801803A4() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_801803A4() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (((s32 (*)(s32, s32))func_8012C354)(a0, (s32)(D_80198D00 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_80198DA0; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80198DA0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; func_8012B2CC(a0); } @@ -4143,11 +4143,11 @@ void func_8017F498(a0) void *a0; { func_8012B23C(a0); - *(s32 *)((s32)a0 + 0x1C) = 0x40; - *(u16 *)((s32)a0 + 0x2) = 2; - *(u16 *)((s32)a0 + 0x34) = 0; - *(s32 *)((s32)a0 + 0xE4) = 0; - *(s32 *)((s32)a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } @@ -4250,23 +4250,23 @@ void func_8017F4DC(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -4278,39 +4278,39 @@ void func_8017F4DC(s32 a0) { func_8012B178(a0, t); r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4) - 0x4000; } else { @@ -4319,22 +4319,22 @@ void func_8017F4DC(s32 a0) { func_8012B178(a0, t); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -4342,10 +4342,10 @@ void func_8017F4DC(s32 a0) { } func_8018023C(a0); - func_8018016C(a0, D_80198DFC[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_8018016C(a0, D_80198DFC[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -4385,12 +4385,12 @@ extern s32 func_8012BEE8(s32 a0); void func_8017F918(void *a0) { s32 v1; if (func_8012BEE8((s32)a0)) { - *(u16 *)((char *)a0 + 0x2) = 6; - *(u16 *)((char *)a0 + 0x34) = 0; - v1 = *(s32 *)((char *)a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1C) = 0x400; *(u16 *)(v1 + 0x18) = 0x400; - *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x1A) = 0x3000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk1A = 0x3000; } } @@ -4407,14 +4407,14 @@ void func_8017F96C(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -4422,8 +4422,8 @@ void func_8017F96C(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -4431,19 +4431,19 @@ void func_8017F96C(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -4451,16 +4451,16 @@ void func_8017F96C(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -4512,16 +4512,16 @@ void func_8017FBE8(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -4529,28 +4529,28 @@ void func_8017FBE8(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -4566,8 +4566,8 @@ void func_8017FBE8(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -4596,15 +4596,15 @@ void func_8017FE60(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -4663,21 +4663,21 @@ void func_801800C0(s32 a0) { s32 flags; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if (flags & 0x800) { if (flags & 0x10) { - *(s16 *)(a0 + 0x2) = 5; - *(s8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; - *(s16 *)(a0 + 0xAA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; func_8012B2CC(a0); return; } @@ -4761,17 +4761,17 @@ void func_8018023C(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -4788,7 +4788,7 @@ s32 func_801803A4(void) { u8 *p = D_801202A0; do { - if (*(u16 *)p == 0x17F && (*(u16 *)(p + 0x70) & 0xF) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x17F && (CAST_SIGN(u16, p, 0x70) & 0xF) == 0) { count++; } i++; @@ -4882,7 +4882,7 @@ s32 func_801803F8(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_80198E30[])(void); void func_801805FC(void *a0) { - D_80198E30[*(u16 *)((s32)a0 + 0x2)](); + D_80198E30[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4899,27 +4899,27 @@ void func_80180638(s32 a0) { if ((ret & 0xFF) == 0) { if ((ret & 0x2000) != 0) { - if (*(s32 *)(a0 + 0x2C) == 0) { + if (CAST_WIDTH(s32, a0, 0x2C) == 0) { func_801292C8((u8 *)a0); return; } - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } else { - if (*(s32 *)(a0 + 0x1C) < 0x23) { - *(s32 *)(a0 + 0x14) += 0x10000; - if (*(s32 *)(a0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(a0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, a0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk27 = 0x62; } } - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } } } - partner = *(s32 *)(a0 + 0x2C); + partner = CAST_WIDTH(s32, a0, 0x2C); if (partner != 0) { if (partner != -1) { *(s32 *)(partner + 0x30) -= 1; @@ -4960,10 +4960,10 @@ void func_80180770(s32 a0) { if (func_80180B38(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -4974,9 +4974,9 @@ void func_80180770(s32 a0) { func_80180C10(a0); func_801809E4(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -4984,9 +4984,9 @@ void func_80180770(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -5041,18 +5041,18 @@ void func_80180948(s32 a0) { SV3L2 sp10; func_80180C10(a0); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x1F) { - sp10.vx = *(u16 *)(a0 + 6); - sp10.vy = *(u16 *)(a0 + 0xA); - sp10.vz = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x1F) { + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.f6 = 0x17F; sp10.f8 = 0x8000; sp10.fA = 0; sp10.f10 = 0; sp10.fE = 0; sp10.fC = 0x7FFF; - func_8012C51C((void *)&sp10, *(s32 *)(a0 + 0x24)); + func_8012C51C((void *)&sp10, CAST_WIDTH(s32, a0, 0x24)); func_801292C8((u8 *)a0); } } @@ -5071,18 +5071,18 @@ s32 func_801809E4(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5092,12 +5092,12 @@ s32 func_801809E4(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -5117,7 +5117,7 @@ s32 func_80180B38(s32 a0, s32 a1) s32 ang; s32 trailing[4]; - partner = *(s32 *)(a0 + 0x2C); + partner = CAST_WIDTH(s32, a0, 0x2C); if (*(u16 *)partner == 0) { return 0; } @@ -5154,7 +5154,7 @@ void func_80180C10(s32 param) extern void (*D_80198EC4[])(void); void func_80180C70(void *a0) { - D_80198EC4[*(u16 *)((s32)a0 + 0x2)](); + D_80198EC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5262,46 +5262,46 @@ void func_80180D54(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801A257C); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A257C); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801A9CC0); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -5333,7 +5333,7 @@ void func_80180ED8(void *a0) { extern s32 D_8019C3C0; extern s32 D_8019C408; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (((s32 (*)(s32, s32))func_8012C354)((s32)a0, (s32)(D_8019C1E8 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -5341,58 +5341,58 @@ void func_80180ED8(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A8BC8); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019C320; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019C320; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A8490); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019C3C0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019C3C0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801A9B40); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019C408; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019C408; break; case 4: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A8BC8); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019C320; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019C320; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A99C0); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A8BC8); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019C320; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019C320; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -5514,61 +5514,61 @@ void func_801810FC(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A8BC8); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A8538); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -5595,8 +5595,8 @@ void func_801810FC(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5639,34 +5639,34 @@ void func_801814B0(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -5680,17 +5680,17 @@ void func_801814B0(s32 a0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A8E48); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A96D0); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5793,34 +5793,34 @@ void func_801816F0(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_8019C480); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -5873,39 +5873,39 @@ void func_80181958(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_8019C480); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A9188); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -5961,10 +5961,10 @@ void func_80181B00(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -5984,27 +5984,27 @@ void func_80181B00(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A9CD8); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_8019C1B8 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8019C1B8 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_8019C48C); @@ -6038,36 +6038,36 @@ void func_80181D4C(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -6099,8 +6099,8 @@ void func_80181E98(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -6130,22 +6130,22 @@ void func_80181F50(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -6155,13 +6155,13 @@ void func_80181F50(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -6179,16 +6179,16 @@ void func_801820A4(void *a0) { u16 temp; s32 a1; - D_8019C534[*(u16 *)((s32)a0 + 0x2)](a0); + D_8019C534[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -6206,15 +6206,15 @@ void func_80182150(void *a0) { extern u16 D_80126B96; u16 *q; - D_8019C694[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019C694[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -6370,23 +6370,23 @@ extern void func_8012C098(void *param_1); void func_80182404(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -6405,19 +6405,19 @@ void func_801824E4(s32 a0) { V8_801824E4 sp10; V8_801824E4 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_8019C19C); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -6433,18 +6433,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_801825BC(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -6531,9 +6531,9 @@ void func_80182704(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -6547,9 +6547,9 @@ void func_80182704(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -6561,7 +6561,7 @@ void func_801827C4(s32 a0) { extern u8 D_8019C1AC[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_8019C1AC); } @@ -6629,16 +6629,16 @@ void func_801828E8(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A86A8); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_8019C460, (s32)&D_8019C468) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -6660,8 +6660,8 @@ void func_801829C0(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -6670,12 +6670,12 @@ void func_801829C0(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801A86A8); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6700,15 +6700,15 @@ void func_80182A54(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A93C0); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_8019C460, (s32)&D_8019C468) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -6739,20 +6739,20 @@ void func_80182B20(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_8019C498); *(s16 *)(a0 + 0x16) = -0x8; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801A8490); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_8019C470, (s32)D_8019C478, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -6833,13 +6833,13 @@ void func_80182CF4(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801A8F50); } else { ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801A96D0); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -6886,11 +6886,11 @@ void func_80182DE8(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A9290); } else { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A9B40); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -6966,25 +6966,25 @@ void func_80182F38(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_8019C4F8); ((void (*)(s32, s32))func_8012A828)(param_1, (s32)D_8019C510); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_8019C528); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -7041,7 +7041,7 @@ void func_801830A8(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -7049,26 +7049,26 @@ void func_801830A8(s32 a0) func_8001CA1C(v0, (s32)&D_8019C540); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_8019C600); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_8019C688); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -7085,9 +7085,9 @@ extern void func_8012C218(void *a0); void func_801831EC(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -7124,20 +7124,20 @@ void func_801832D4(void *arg0) { s32 t; if (func_8012C354(arg0, &D_801B9710)) { - *(u8 *)((char *)arg0 + 0xC0) = 1; - *(s32 *)((char *)arg0 + 0xB4) = -1; - *(s32 **)((char *)arg0 + 0xBC) = &D_801B9754; - *(u32 *)((char *)arg0 + 0xC4) |= 1; - *(s32 *)((char *)arg0 + 0xE4) = -((rand() % 8 + 0xC) << 16); + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -1; + CAST_SIGN(s32 *, (char *)arg0, 0xBC) = &D_801B9754; + CAST_SIGN(u32, (char *)arg0, 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)arg0)->unkE4 = -((rand() % 8 + 0xC) << 16); func_8012A828(arg0, &D_801BBC6C); func_80143994(arg0, 0x1000); - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; if (t != 0) { t = 3; } else { t = 1; } - *(s16 *)((char *)arg0 + 0x2) = t; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = t; } } @@ -7152,16 +7152,16 @@ void func_80183394(void *a0) { s16 t; r = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); t = r; func_8012B200(a0); - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 1800) + 0xE10; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 1800) + 0xE10; } else { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 60) + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 60) + 0x78; } - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -7182,27 +7182,27 @@ void func_801834BC(s32 a0) { func_80183E68(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); - if ((*(u16 *)(a0 + 0x70) & 2) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 2) == 0) { if (func_8012BEE8(a0)) { - if (*(s32 *)(a0 + 0xE0) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 == 0) { if (((s32 (*)(s32))func_80183F14)(a0)) { - if (*(u16 *)(a0 + 0x70) & 1) { - *(s32 *)(a0 + 0x1C) = rand() % 0x708 + 0xE10; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x708 + 0xE10; } else { - *(s32 *)(a0 + 0x1C) = rand() % 0x3C + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x3C + 0x78; } } else { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } } @@ -7223,26 +7223,26 @@ void func_8018362C(s32 a0) { s32 val; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)auStack_18, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); tmp = *(s32 *)auStack_18; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + tmp; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (tmp >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + tmp; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (tmp >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } @@ -7265,48 +7265,48 @@ void func_801837C0(s32 a0) { s32 t; s32 r; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x102); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x106); - q = *(u16 *)(a0 + 0x104); + *(s16 *)((s32)sp10 + 0x2) = CAST_SIGN(u16, a0, 0x102); + *(s16 *)((s32)sp10 + 0xA) = CAST_SIGN(u16, a0, 0x106); + q = CAST_SIGN(u16, a0, 0x104); *(s16 *)((s32)sp10 + 0x6) = q; - if ((*(u16 *)(a0 + 0x70) & 0x20) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0x20) == 0) { *(s16 *)((s32)sp10 + 0x6) = q + D_80126B62; } else { - *(s16 *)((s32)sp10 + 0x6) = q + *(u16 *)(a0 + 0x8A); + *(s16 *)((s32)sp10 + 0x6) = q + ((Unkstruct_800B5CB8 *)a0)->unk8A; } func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = *(s32 *)sp28; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); if (func_8012BEE8(a0)) { s32 base; s32 off; s32 val; - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)sp28, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); t = *(s32 *)sp28; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + t; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (t >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + t; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (t >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } } } @@ -7341,13 +7341,13 @@ void func_80183A14(s32 a0) { func_80183E68(sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((void *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFFE0000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFFE0000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -7369,30 +7369,30 @@ void func_80183B20(s32 a0) { s32 t; s32 u; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0)) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - } else if (*(s16 *)(a0 + 0x100) < *(s16 *)(a0 + 0xA)) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + } else if (((Unkstruct_800B5CB8 *)a0)->unk100 < CAST_SIGN(s16, a0, 0xA)) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 1: t = func_8012B8E4(a0, 6); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + t; if (func_8012BEE8(a0)) { if (rand() & 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); } } @@ -7400,18 +7400,18 @@ void func_80183B20(s32 a0) { case 2: func_80183E68(sp10, a0, (s32)D_801B974C); u = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFF80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFF80000); func_8012CBF4(a0); if (func_80183E3C(a0) == 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } break; default: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; } } @@ -7430,17 +7430,17 @@ void func_80183CBC(void *arg0) { if (!func_8012E778((s32)arg0, 0xA000C8)) { { s32 t; - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; - *(s16 *)((char *)arg0 + 0x2) = (t == 0) ? 1 : 3; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = (t == 0) ? 1 : 3; } - *(s16 *)((char *)arg0 + 0x5C) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); - *(s16 *)((char *)arg0 + 0x76) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78)); - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk76 = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0x10; func_8012E88C((s32)arg0); func_8012A828(arg0, &D_801BBC6C); } @@ -7453,19 +7453,19 @@ extern void func_8012E8A8(u8 *a0); void func_80183D78(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - s32 v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + s32 v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -7475,8 +7475,8 @@ void func_80183D78(void *arg0) { extern void func_8012A828(s32 *a0, s32 a1); extern s32 D_801BBC6C; void func_80183E04(void *arg0) { - *(s16 *)((char *)arg0 + 0x2) = 1; - *(s16 *)((char *)arg0 + 0x5c) = *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); func_8012A828(arg0, &D_801BBC6C); } @@ -7524,16 +7524,16 @@ void func_80183E68(s32 *a0, s32 a1, s32 a2) { q = &D_80126CBA; if (*q == 0) { p = (u16 *)(q - 3); - *(s32 *)(a1 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a1)->unkE0 = 0; } else { p = (u16 *)(a1 + 0x88); - *(s32 *)(a1 + 0xE0) = 1; + ((Unkstruct_800B5CB8 *)a1)->unkE0 = 1; } - *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; - t = p[1] + *(u16 *)(a2 + 2); + *(s16 *)((s32)sp10 + 0x2) = p[0] + ((Unkstruct_800B5CB8 *)a2)->unk0; + t = p[1] + CAST_SIGN(u16, a2, 2); *(s16 *)((s32)sp10 + 0x6) = t; - *(s16 *)(a1 + 0x100) = t; - *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); + ((Unkstruct_800B5CB8 *)a1)->unk100 = t; + *(s16 *)((s32)sp10 + 0xA) = p[2] + CAST_SIGN(u16, a2, 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); rv = sp20; *a0 = rv; @@ -7580,5 +7580,5 @@ void func_80183F2C(void *a0) { extern void (*D_801BBE9C[])(void); void func_80183F98(void *a0) { - D_801BBE9C[*(u16 *)((s32)a0 + 0x2)](); + D_801BBE9C[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c index 55c132aae9..beba4c1869 100644 --- a/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c +++ b/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c @@ -3566,34 +3566,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801C9A4C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801C9A40+0xC == &D_801C9A4C; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -3604,9 +3604,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -3615,11 +3615,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801C9A4C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (((s32 (*)(s32, u16 *))func_8012BE98)(pv, (u16 *)((s32)&D_801C9A40 + 0xC)) < 0x101) { @@ -4464,22 +4464,22 @@ void func_8017BFEC(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_80187620) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801C38D0); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801C38D0); func_8012A828(a0, (void *)&D_8018765C[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801C96E8; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801C96E8; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -4488,7 +4488,7 @@ void func_8017BFEC(s32 a0) { } p = &D_801C9718; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801C971A = 0x80; @@ -4503,11 +4503,11 @@ void func_8017BFEC(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801C9716 = 0xFF; @@ -4524,7 +4524,7 @@ void func_8017BFEC(s32 a0) { i = 5; tbl2 = D_801C9798; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -4533,14 +4533,14 @@ void func_8017BFEC(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -4781,7 +4781,7 @@ void func_8017C738(s32 a0) { void func_8017C8B8(void *a0) { extern void (*D_80187708[])(void); - D_80187708[*(u16 *)((s32)a0 + 0x2)](); + D_80187708[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4840,7 +4840,7 @@ void func_8017C8B8(void *a0) { void func_8017CD10(void *a0) { extern void (*D_80187760[])(void); - D_80187760[*(u16 *)((s32)a0 + 0x2)](); + D_80187760[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4994,7 +4994,7 @@ void func_8017D030(int param_1) void func_8017D33C(void *a0) { extern void (*D_80187774[])(void); - D_80187774[*(u16 *)((s32)a0 + 0x2)](); + D_80187774[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5047,7 +5047,7 @@ void func_8017D588(void *a0) void func_8017D5DC(void *a0) { extern void (*D_80187788[])(void); - D_80187788[*(u16 *)((s32)a0 + 0x2)](); + D_80187788[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5921,7 +5921,7 @@ void func_8017F1B8(void *a0, s32 a1) void func_8017F218(void *a0) { extern void (*D_801878DC[])(void); - D_801878DC[*(u16 *)((s32)a0 + 0x2)](); + D_801878DC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6027,11 +6027,11 @@ void func_8017F3F8(void *a0) { extern void (*D_80187988[])(void *); if (func_8012C0EC((s32)a0) == 0) { - D_80187988[*(u16 *)((s32)a0 + 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 4) &= 0x7FFFFFFF; + D_80187988[CAST_SIGN(u16, (s32)a0, 0x2)](a0); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; func_8017F2B4((s32)a0); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 4) |= 0x80000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; } } } @@ -6050,30 +6050,30 @@ void func_8017F490(s32 a0) { t = func_8012C354(a0, (s32)D_801878A8); s0 = a0; if (t != 0) { - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x104, 0xF0); + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x104, 0xF0); func_8012A828(s0, D_80183F38); - *(s16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012B030((u8 *)s0); t1 = func_8012C588(0x1B2, s0); - *(s32 *)(s0 + 0xCC) = t1; + ((Unkstruct_800B5CB8 *)s0)->unkCC = t1; if (t1 != 0) { *(s16 *)(t1 + 0x16) = -9; - *(s16 *)(t1 + 0x1A) = 0x20; - *(s16 *)(t1 + 0xE) = *(u16 *)(t1 + 0xE) - 0x264; - *(s16 *)(t1 + 0xA) = *(u16 *)(t1 + 0xA) + 0x82; + ((Unkstruct_800B5CB8 *)t1)->unk1A = 0x20; + ((Unkstruct_800B5CB8 *)t1)->unkE = ((Unkstruct_800B5CB8 *)t1)->unkE - 0x264; + ((Unkstruct_800B5CB8 *)t1)->unkA = ((Unkstruct_800B5CB8 *)t1)->unkA + 0x82; } t2 = func_8012C588(0x1B2, s0); - *(s32 *)(s0 + 0xD0) = t2; + ((Unkstruct_800B5CB8 *)s0)->unkD0 = t2; if (t2 != 0) { *(s16 *)(t2 + 0x16) = -9; - *(s16 *)(t2 + 0x1A) = -0x20; - *(s16 *)(t2 + 0xE) = *(u16 *)(t2 + 0xE) + 0x264; - *(s16 *)(t2 + 0xA) = *(u16 *)(t2 + 0xA) + 0x82; + CAST_ALIAS(s16, t2, 0x1A) = -0x20; + ((Unkstruct_800B5CB8 *)t2)->unkE = ((Unkstruct_800B5CB8 *)t2)->unkE + 0x264; + ((Unkstruct_800B5CB8 *)t2)->unkA = ((Unkstruct_800B5CB8 *)t2)->unkA + 0x82; } - *(u8 *)(s0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk75 = 0; } } @@ -6123,12 +6123,12 @@ void func_8017F578(s32 a0) t1 = 0x12C; t0 = 1; for (; a3 < 0x60; a3++, a2 += 0x10C) { - if (*(u16 *)a2 == t1) { - va = *(s16 *)(a2 + 0xA); + if (((Unkstruct_800B5CB8 *)a2)->unk0 == t1) { + va = CAST_SIGN(s16, a2, 0xA); if ((u32)(va - *(s16 *)(a0 + 0xA) + 0x30) < 0x51) { - va = *(s16 *)(a2 + 0x6); + va = CAST_SIGN(s16, a2, 0x6); if ((u32)(va - *(s16 *)(a0 + 0x6) + 0x70) < 0xE1) { - va = *(s16 *)(a2 + 0xE); + va = CAST_SIGN(s16, a2, 0xE); if ((u32)(va - *(s16 *)(a0 + 0xE) + 0x70) < 0xE1) { goto found; } @@ -6174,10 +6174,10 @@ void func_8017F684(s32 param_1) t = func_8012C354(param_1, (s32)D_801878F4); s0 = param_1; if (t != 0) { - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x104, 0xF0); + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x104, 0xF0); func_8012A828(s0, D_80187934); - *(s16 *)(s0 + 0x2) = 1; - *(u8 *)(s0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk75 = 0; func_8012B2CC(s0); } } @@ -6202,9 +6202,9 @@ extern void (*D_80187954[])(void); void func_8017F734(s32 param_1) { if (func_8012C354(param_1, (s32)D_80187954) != 0) { func_8012A828(param_1, (void *)D_80183F38); - *(s16 *)(param_1 + 0x2) = 1; - *(u8 *)(param_1 + 0x75) = 0; - *(s32 *)(param_1 + 0xDC) = *(s32 *)(param_1 + 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = CAST_WIDTH(s32, param_1, 8); func_8012B2CC(param_1); } } @@ -6304,46 +6304,46 @@ void func_8017F844(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801A9DAC); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A9DAC); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801B14F0); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -6375,7 +6375,7 @@ void func_8017F9C8(void *a0) { extern s32 D_801A3BF0; extern s32 D_801A3C38; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801A3A18 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -6383,58 +6383,58 @@ void func_8017F9C8(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; ((void (*)(void *))func_80143970)((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B03F8); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(void *))func_8012B23C)((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A3B50; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A3B50; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AFCC0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A3BF0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A3BF0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801B1370); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A3C38; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A3C38; break; case 4: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B03F8); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; ((void (*)(void *))func_8012B23C)((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A3B50; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A3B50; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B11F0); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B03F8); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } ((void (*)(void *))func_8012B23C)((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A3B50; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A3B50; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -6556,61 +6556,61 @@ void func_8017FBEC(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B03F8); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AFD68); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -6637,8 +6637,8 @@ void func_8017FBEC(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6681,34 +6681,34 @@ void func_8017FFA0(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -6722,17 +6722,17 @@ void func_8017FFA0(s32 a0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B0678); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B0F00); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6835,34 +6835,34 @@ void func_801801E0(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801A3CB0); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -6915,39 +6915,39 @@ void func_80180448(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801A3CB0); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B09B8); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -7003,10 +7003,10 @@ void func_801805F0(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -7026,27 +7026,27 @@ void func_801805F0(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B1508); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801A39E8 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A39E8 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801A3CBC); @@ -7080,36 +7080,36 @@ void func_8018083C(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -7141,8 +7141,8 @@ void func_80180988(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -7172,22 +7172,22 @@ void func_80180A40(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -7197,13 +7197,13 @@ void func_80180A40(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -7222,16 +7222,16 @@ void func_80180B94(void *a0) { u16 temp; s32 a1; - D_801A3D64[*(u16 *)((s32)a0 + 0x2)](a0); + D_801A3D64[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (((s32 (*)(void *, s32, s32))func_8012D624)(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; ((void (*)(void *))func_8012B370)(a0); } } @@ -7249,15 +7249,15 @@ void func_80180C40(void *a0) { extern u16 D_80126B96; u16 *q; - D_801A3EC4[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A3EC4[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (((s32 (*)(void *, s32, s32))func_8012D624)(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -7417,7 +7417,7 @@ void func_80180EF4(s32 param_1) return; } - if (*(short *)(param_1 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 4) { result = func_8012C658(0x12C, 4, param_1); if (result != 0) { *(unsigned short *)(result + 0x6) = *(unsigned short *)(param_1 + 0x88); @@ -7434,7 +7434,7 @@ void func_80180EF4(s32 param_1) func_80153BF0(param_1); } - if (*(s32 *)(param_1 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { func_8002A04C(param_1); } @@ -7454,19 +7454,19 @@ void func_80180FD4(s32 a0) { V8_80180FD4 sp10; V8_80180FD4 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801A39CC); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -7584,9 +7584,9 @@ void func_801811F4(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -7600,9 +7600,9 @@ void func_801811F4(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -7614,7 +7614,7 @@ void func_801812B4(s32 a0) { extern u8 D_801A39DC[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801A39DC); } @@ -7684,16 +7684,16 @@ void func_801813D8(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AFED8); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_801A3C90, (s32)&D_801A3C98) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -7716,8 +7716,8 @@ void func_801814B0(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -7726,12 +7726,12 @@ void func_801814B0(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AFED8); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -7756,15 +7756,15 @@ void func_80181544(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B0BF0); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_801A3C90, (s32)&D_801A3C98) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -7795,20 +7795,20 @@ void func_80181610(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801A3CC8); *(s16 *)(a0 + 0x16) = -0x8; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AFCC0); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801A3CA0, (s32)D_801A3CA8, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -7889,13 +7889,13 @@ void func_801817E4(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801B0780); } else { ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801B0F00); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -7943,11 +7943,11 @@ void func_801818D8(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B0AC0); } else { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B1370); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -8026,25 +8026,25 @@ void func_80181A28(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A3D28); ((void (*)(s32, s32))func_8012A828)(param_1, (s32)D_801A3D40); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); ((void (*)(void *))func_8012B23C)((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801A3D58); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -8102,7 +8102,7 @@ void func_80181B98(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -8110,26 +8110,26 @@ void func_80181B98(s32 a0) func_8001CA1C(v0, (s32)&D_801A3D70); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A3E30); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); ((void (*)(void *))func_8012B23C)((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801A3EB8); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -8149,9 +8149,9 @@ extern void func_8012C218(void *a0); void func_80181CDC(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -8190,7 +8190,7 @@ void func_80181D48(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -8228,18 +8228,18 @@ void func_80181D48(s32 a0) { } } - D_801C0FFC[*(u16 *)(a0 + 0x2)](a0); + D_801C0FFC[CAST_SIGN(u16, a0, 0x2)](a0); ret = ((s32 (*)(s32))func_8012BD14)(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -8342,93 +8342,93 @@ void func_80182168(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } ((void (*)(void *))func_8012B23C)((void *)a0); - *(u16 *)(a0 + 0x12) = D_801C12EC[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801C12EE[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801C12F0[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801C12EC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801C12EE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801C12F0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C1050); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C1050); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1110); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C1198); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C1198); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1258); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801C133C; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801C1360; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801C1014; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801C133C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801C1360; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801C1014; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C1050); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C1050); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1110); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C1198); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C1198); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1258); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C134C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C134C); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1358); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801C1050); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801C1050); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801C1110); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -8471,15 +8471,15 @@ void func_801827A8(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -8488,61 +8488,61 @@ void func_801827A8(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -8557,20 +8557,20 @@ void func_80182B58(void *a0) { s32 t; u16 *q; - D_801C1370[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801C1370[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (((s32 (*)(void *, s32, s32))func_8012D624)(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -8584,7 +8584,7 @@ void func_80182B58(void *a0) { void func_80182C44(void *a0) { extern void (*D_801C141C[])(void); - D_801C141C[*(u16 *)((s32)a0 + 0x2)](); + D_801C141C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8593,7 +8593,7 @@ void func_80182C44(void *a0) { void func_80182C80(void *a0) { extern void (*D_801C14D0[])(void); - D_801C14D0[*(u16 *)((s32)a0 + 0x2)](); + D_801C14D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8626,17 +8626,17 @@ void func_80182CD4(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801C0F50) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801C0F30; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801C0F30; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80183F38); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -8673,18 +8673,18 @@ void func_80182D94(void *a0) { Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern u8 D_80183F38[]; if (func_8012C354((s32)a0, (s32)D_801C1014) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801C0F30; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801C0F30; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_80183F38); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -8698,13 +8698,13 @@ void func_80182E18(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -8762,16 +8762,16 @@ void func_80182F08(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801C12E0); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -8840,18 +8840,18 @@ void func_8018311C(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801C12E0); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -8879,18 +8879,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80183200(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -8920,12 +8920,12 @@ void func_801832B8(s32 a0) { extern u8 D_80183F38[]; if (func_8012C354(a0, (s32)D_801C13A8) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80183F38); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801C13DC[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801C13DE[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801C13E0[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801C13E2[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801C13DC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801C13DE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801C13E0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801C13E2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -9067,7 +9067,7 @@ void func_801835FC(s32 a0) { void func_801836D4(void *a0) { extern void (*D_801C6CAC[])(void); - D_801C6CAC[*(u16 *)((s32)a0 + 0x2)](); + D_801C6CAC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9110,10 +9110,10 @@ void func_80183710(void *a0) extern Blk16_8018A8B8 D_801C6C7C; - s32 v1 = *(s16 *)((s32)a0 + 0xFC); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unkFC; LBlk16 *s0; - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; switch (v1) { case 0: diff --git a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c index 40b2f131fb..2259e92771 100644 --- a/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c +++ b/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c @@ -2732,19 +2732,19 @@ void func_8017CE3C(s32 a0) { s32 v1; s32 a3; - v1 = *(s32 *)(s0 + 0x20); - v0 = (*(u16 *)(s0 + 0xF4) + 0x800) & 0xFFF; + v1 = ((Unkstruct_80126B58 *)s0)->unk20; + v0 = (CAST_SIGN(u16, s0, 0xF4) + 0x800) & 0xFFF; *(s16 *)(v1 + 0x12) = v0; - *(s16 *)(s0 + 0x244) = v0; + ((Unkstruct_80126B58 *)s0)->unk244 = v0; func_80154274((s32 *)s0, (s32)&D_80188800); - *(s32 *)(s0 + 0x234) = 0; + ((Unkstruct_80126B58 *)s0)->unk234 = 0; func_80154A74(s0, 0x1C); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; a3 = *(s32 *)((s32)&D_801887B8 + v0); func_80146DE8((s32 *)s0, 0, 0, a3); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; func_801477E8((s32 *)s0, (s32)*(void **)((s32)&D_801887BC + v0)); func_80149020((s32 *)s0); @@ -2784,24 +2784,24 @@ void func_8017CEF4(s32 a0) { s16 s1; s32 ret; - s0 = *(s32 *)(a0 + 0x20); + s0 = ((Unkstruct_80126B58 *)a0)->unk20; func_80149020((s32 *)a0); s1 = *(s16 *)(s0 + 0x12); - *(s16 *)(s0 + 0x12) = *(u16 *)(a0 + 0x244); + *(s16 *)(s0 + 0x12) = ((Unkstruct_80126B58 *)a0)->unk244; func_80147A84(a0); func_801473EC((s32 *)a0); - func_80148038(a0, D_801887C0[*(s16 *)(a0 + 0xF2)].next); + func_80148038(a0, D_801887C0[((Unkstruct_80126B58 *)a0)->unkF2].next); func_80147460(a0); *(s16 *)(s0 + 0x12) = s1; - if (*(s32 *)(a0 + 0x234) == 0) { - if (*(s32 *)(a0 + 0x34) >= 0) { - if ((*(u16 *)(a0 + 0xB8) & 0x8000) != 0) { - *(u16 *)(a0 + 0xB8) = *(u16 *)(a0 + 0xBA); - *(s32 *)(a0 + 0x234) = *(s32 *)(a0 + 0x234) + 1; + if (((Unkstruct_80126B58 *)a0)->unk234 == 0) { + if (((Unkstruct_80126B58 *)a0)->unk34 >= 0) { + if ((((Unkstruct_80126B58 *)a0)->unkB8 & 0x8000) != 0) { + ((Unkstruct_80126B58 *)a0)->unkB8 = ((Unkstruct_80126B58 *)a0)->unkBA; + ((Unkstruct_80126B58 *)a0)->unk234 = ((Unkstruct_80126B58 *)a0)->unk234 + 1; } } } @@ -2892,7 +2892,7 @@ void func_8017D158(s32 a0) func_80147324(0x451); func_801511E0(s0); func_80154274((s32 *)s0, (s32)&D_80188864); - *(u8 *)(s0 + 0xDE) = 0x5A; + ((Unkstruct_80126B58 *)s0)->unkDE = 0x5A; func_80147324(0x7EB); a2 = 0; @@ -2914,8 +2914,8 @@ void func_8017D1E0(s32 param_1) u8 cnt; func_80149020((s32 *)param_1); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017D244(param_1); func_80159B3C((void *)param_1); @@ -2935,8 +2935,8 @@ void func_8017D244(s32 a0) { s32 s0 = a0; ((void (*)(s32))func_80019064)((s32)&(*(s32 *)D_80062C04)); - func_8014BC44(s0, *(s16 *)(s0 + 0xF2)); - *(u8 *)(s0 + 0xA8) = 0x20; + func_8014BC44(s0, ((Unkstruct_80126B58 *)s0)->unkF2); + ((Unkstruct_80126B58 *)s0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(s0); } @@ -2945,7 +2945,7 @@ void func_8017D244(s32 a0) extern void (*D_801888B8[])(void); void func_8017D294(void *a0) { - D_801888B8[*(u16 *)((s32)a0 + 0x2)](); + D_801888B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2964,7 +2964,7 @@ void func_8017D2D0(s32 a0) { s32 pad[12]; a1 = func_800D21C4(a0, (s32)&D_8018888C, 0x2B); - *(s32 *)(a0 + 0x20) = a1; + ((Unkstruct_80126B58 *)a0)->unk20 = a1; if (a1 != 0) { *(s16 *)(a1 + 0x28) = 0x224; @@ -2979,12 +2979,12 @@ void func_8017D2D0(s32 a0) { func_8017D728((s32 *)a0); func_8017D744((s32 *)a0); - *(s32 *)(a0 + 0x2C) = 0; - *(s32 *)(a0 + 0x30) = 0; + ((Unkstruct_80126B58 *)a0)->unk2C = 0; + ((Unkstruct_80126B58 *)a0)->unk30 = 0; func_80146E90((s32 *)a0, 0x5A); - *(u16 *)(a0 + 0x02) += 1; + ((Unkstruct_80126B58 *)a0)->unk2 += 1; } else { ((void (*)(s32))func_80146C3C)(a0); } @@ -3011,25 +3011,25 @@ void func_8017D38C(s32 param_1) { s32 iVar3; void *puVar2; - iVar3 = *(s32 *)(param_1 + 0x20); + iVar3 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8017D744((s32 *)param_1); - if (*(s32 *)(param_1 + 0x30) == 0) { - puVar2 = D_801888C8[*(s32 *)(param_1 + 0x2c)]; - if (D_801888C8[*(s32 *)(param_1 + 0x2c)] == 0) { - *(s32 *)(param_1 + 0x30) = 0x20; - *(s32 *)(param_1 + 0x2c) = 0; + if (((Unkstruct_80126B58 *)param_1)->unk30 == 0) { + puVar2 = D_801888C8[((Unkstruct_80126B58 *)param_1)->unk2C]; + if (D_801888C8[((Unkstruct_80126B58 *)param_1)->unk2C] == 0) { + ((Unkstruct_80126B58 *)param_1)->unk30 = 0x20; + ((Unkstruct_80126B58 *)param_1)->unk2C = 0; puVar2 = D_801888C8[0]; } func_800183E0((s32)puVar2); - *(s32 *)(param_1 + 0x2c) = *(s32 *)(param_1 + 0x2c) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2C = ((Unkstruct_80126B58 *)param_1)->unk2C + 1; } else { - s32 iVar0 = *(s32 *)(param_1 + 0x30) - 1; - *(s32 *)(param_1 + 0x30) = iVar0; - if ((iVar0 == 0) && (*(s32 *)(param_1 + 0x1c) != 0)) { + s32 iVar0 = ((Unkstruct_80126B58 *)param_1)->unk30 - 1; + ((Unkstruct_80126B58 *)param_1)->unk30 = iVar0; + if ((iVar0 == 0) && (((Unkstruct_80126B58 *)param_1)->unk1C != 0)) { func_80147324(0x7EC); } } - if (*(s32 *)(param_1 + 0x1c) == 1) { + if (((Unkstruct_80126B58 *)param_1)->unk1C == 1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 0, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 1, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 2, 0); @@ -3050,7 +3050,7 @@ void func_8017D38C(s32 param_1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 5, 1); func_8017DD50(D_801888B0); func_80147324(0x7F4); - *(u32 *)(iVar3 + 4) = *(u32 *)(iVar3 + 4) | 0x80000000; + CAST_WIDTH(u32, iVar3, 4) = CAST_WIDTH(u32, iVar3, 4) | 0x80000000; } iVar1 = func_80146E98(param_1); if ((iVar1 != 0) && (iVar1 = func_8017DD60((void *)D_801888B0), iVar1 != 0)) { @@ -3061,9 +3061,9 @@ void func_8017D38C(s32 param_1) { void func_8017D728(s32 *a0) { - *(s32 *)((s32)a0 + 0x10) = *(s32 *)((s32)a0 + 0x4); - *(s32 *)((s32)a0 + 0x14) = *(s32 *)((s32)a0 + 0x8); - *(s32 *)((s32)a0 + 0x18) = *(s32 *)((s32)a0 + 0xC); + ((Unkstruct_80126B58 *)a0)->unk10 = CAST_WIDTH(s32, (s32)a0, 0x4); + ((Unkstruct_80126B58 *)a0)->unk14 = CAST_WIDTH(s32, (s32)a0, 0x8); + ((Unkstruct_80126B58 *)a0)->unk18 = CAST_WIDTH(s32, (s32)a0, 0xC); } @@ -3091,7 +3091,7 @@ void func_8017D744(s32 *a0) extern void (*D_801888F0[])(void); void func_8017D784(void *a0) { - D_801888F0[*(u16 *)((s32)a0 + 0x2)](); + D_801888F0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3150,9 +3150,9 @@ void func_8017D7C0(s32 param_1) { s32 i; u16 sc; - obj = *(s32 *)(param_1 + 0x34); + obj = ((Unkstruct_80126B58 *)param_1)->unk34; p = ((s32 (*)(void))func_801465C0)(); - *(s32 *)(param_1 + 0x20) = p; + ((Unkstruct_80126B58 *)param_1)->unk20 = p; if (p != 0) { func_8001CF00(p); @@ -3160,13 +3160,13 @@ void func_8017D7C0(s32 param_1) { func_80015978(obj + 4, (s32 *)buf); func_80015954((s32)buf, param_1 + 4); - sc = D_8018893C[*(s32 *)(param_1 + 0x30)]; + sc = D_8018893C[((Unkstruct_80126B58 *)param_1)->unk30]; *(u16 *)(p + 0x18) = *(u16 *)(p + 0x1a) = *(u16 *)(p + 0x1c) = sc; vel = D_8018892C; - rot = D_801888FC[*(s32 *)(param_1 + 0x2c)]; + rot = D_801888FC[((Unkstruct_80126B58 *)param_1)->unk2C]; - if (*(s32 *)(param_1 + 0x30) != 0) { + if (((Unkstruct_80126B58 *)param_1)->unk30 != 0) { /* LEVER: the compound `+=` is load-bearing. Spelled out as * `rot.vx = rot.vx - 0x200 + ((rand() & 0x3f) << 4);` gcc-2.7.2 folds * the -0x200 onto the JITTER term (addiu $v0 after the sll) instead of @@ -3184,15 +3184,15 @@ void func_8017D7C0(s32 param_1) { func_80049CAC((s32)&rot, (s32)&m); func_800484EC((s32)&m, (s32)&vel, (s32)&vel); - *(s32 *)(param_1 + 0x10) = vel.vx; - *(s32 *)(param_1 + 0x14) = vel.vy; - *(s32 *)(param_1 + 0x18) = vel.vz; + ((Unkstruct_80126B58 *)param_1)->unk10 = vel.vx; + ((Unkstruct_80126B58 *)param_1)->unk14 = vel.vy; + ((Unkstruct_80126B58 *)param_1)->unk18 = vel.vz; q = (s16 *)(param_1 + 0x38); i = 0; *(s32 *)(param_1 + 0x4c) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x50) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x54) = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk50 = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk54 = ((rand() & 0x1f) - 0x10) * 11; do { i++; @@ -3202,7 +3202,7 @@ void func_8017D7C0(s32 param_1) { } while (i < 3); func_80146E90((s32 *)param_1, 2); - *(s16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } else { ((void (*)(s32))func_80146C3C)(param_1); } @@ -3273,11 +3273,11 @@ void func_8017DA94(s32 param_1) { func_8017DB58(param_1); func_8017DCDC(param_1); if (func_80146E98(param_1) != 0) { - *(s32 *)(param_1 + 0x10) >>= 2; - *(s32 *)(param_1 + 0x14) >>= 2; - *(s32 *)(param_1 + 0x18) >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk10 >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk14 >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk18 >>= 2; func_80146E90((s32 *)param_1, 0x40); - *(s16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } } @@ -3391,18 +3391,18 @@ void func_8017DB80(s32 a0, s32 a1) void func_8017DCDC(s32 a0) { s32 p; - *(s32 *)(a0 + 0x4) += *(s32 *)(a0 + 0x10); - *(s32 *)(a0 + 0x8) += *(s32 *)(a0 + 0x14); - *(s32 *)(a0 + 0xC) += *(s32 *)(a0 + 0x18); - p = *(s32 *)(a0 + 0x20); - *(u16 *)(p + 0x10) += *(s32 *)(a0 + 0x4C); - *(u16 *)(p + 0x12) += *(s32 *)(a0 + 0x50); - *(u16 *)(p + 0x14) += *(s32 *)(a0 + 0x54); + CAST_WIDTH(s32, a0, 0x4) += ((Unkstruct_80126B58 *)a0)->unk10; + CAST_WIDTH(s32, a0, 0x8) += ((Unkstruct_80126B58 *)a0)->unk14; + CAST_WIDTH(s32, a0, 0xC) += ((Unkstruct_80126B58 *)a0)->unk18; + p = ((Unkstruct_80126B58 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk10 += *(s32 *)(a0 + 0x4C); + ((Unkstruct_800B5CB8 *)p)->unk12 += ((Unkstruct_80126B58 *)a0)->unk50; + CAST_WIDTH(u16, p, 0x14) += ((Unkstruct_80126B58 *)a0)->unk54; } void func_8017DD50(s32 *a0) { - *(s32 *)((s32)a0 + 0x0) = 0x80404080; + CAST_WIDTH(s32, (s32)a0, 0x0) = 0x80404080; } @@ -3439,7 +3439,7 @@ joinpt: cmp = result + 0; - *(u8 *)((s32)a0 + 2) = result; + CAST_WIDTH(u8, (s32)a0, 2) = result; if (cmp < (s32)*(u8 *)a0) { *(u8 *)a0 = result; } @@ -3807,7 +3807,7 @@ s32 func_8017E5DC(void) { extern void (*D_80188C90[])(void); void func_8017E5E4(void *a0) { - D_80188C90[*(u16 *)((s32)a0 + 0x2)](); + D_80188C90[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3933,7 +3933,7 @@ void func_8017E7A4(void *a0) { default: p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == *(s16 *)(r + 6)) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == *(s16 *)(r + 6)) { ((void (*)(void *, void *, void *))func_8012F214)(p, r, out); func_801290DC(0x56, (u8 *)out); } @@ -3948,7 +3948,7 @@ void func_8017E7A4(void *a0) { extern void (*D_80188CCC[])(void); void func_8017E890(void *a0) { - D_80188CCC[*(u16 *)((s32)a0 + 0x2)](); + D_80188CCC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3992,22 +3992,22 @@ void func_8017E8CC(int param_1) void func_8017E9B0(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -4048,7 +4048,7 @@ void func_8017EA1C(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -4123,8 +4123,8 @@ void func_8017EBB0(s32 p) func_801511E0(p); func_80154274((s32 *)p, (s32)&D_8019AB90); func_80149020((s32 *)p); - *(u8 *)(p + 0xDE) = 0x1E; - *(u8 *)(p + 0xDF) = 0; + ((Unkstruct_80126B58 *)p)->unkDE = 0x1E; + ((Unkstruct_80126B58 *)p)->unkDF = 0; func_8017EDC4(); func_80172630((u8 *)p); func_80146CA0((void *)p); @@ -4234,8 +4234,8 @@ void func_8017EC1C(s32 param_1) i++; } while (i < 3); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017ED70(param_1); func_80159B3C((void *)param_1); @@ -4291,8 +4291,8 @@ void func_8017ED70(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -4344,7 +4344,7 @@ done: extern void (*D_8019ABBC[])(void); void func_8017EE2C(void *a0) { - D_8019ABBC[*(u16 *)((s32)a0 + 0x2)](); + D_8019ABBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4515,7 +4515,7 @@ s32 func_8017F070(s32 *a0, s32 a1) { extern void (*D_8019ABF4[])(void); void func_8017F0D8(void *a0) { - D_8019ABF4[*(u16 *)((s32)a0 + 0x2)](); + D_8019ABF4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4524,9 +4524,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_8017F114(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -4811,20 +4811,20 @@ void func_8017F9A4(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = -(func_8004787C(*(s16 *)(a0 + 0xFC)) << 7); + sp10[2] = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 7); - v0 = (*(u16 *)(a0 + 0xFC) + 0x80) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0x80) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801A3608); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B8E4(a0, 8); - p = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (u16)(*p + ret); - p2 = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p2 = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); v0 = *p2 & 0xFFF; *p2 = v0; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); @@ -4833,13 +4833,13 @@ void func_8017F9A4(s32 a0) { if (func_8017F81C(a0, 0x48) != 0) { func_8012A828(a0, D_801A3560); - *(s16 *)(a0 + 0xFC) = 1; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, D_801A3710); } } @@ -4863,14 +4863,14 @@ extern u8 D_801A3BC0[]; extern void func_8012A828(s32 a0, void *a1); void func_8017FB38(s32 a0) { - if (*(s32 *)(a0 + 0x90) == (s32)&D_801A3AA0) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801A3AA0) { func_8012A828(a0, D_801A3BC0); } else { - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; } @@ -4894,10 +4894,10 @@ extern void func_80165988(void); void func_8017FC04(void *arg0) { void *s0 = arg0; - if ((*(u8 *)((u8 *)s0 + 0x5E) == 0x33) && (*(s16 *)((u8 *)s0 + 0x70) == 3)) { + if ((((Unkstruct_800B5CB8 *)s0)->unk5E == 0x33) && (((Unkstruct_800B5CB8 *)s0)->unk70 == 3)) { func_80165988(); } - if (*(s32 *)((u8 *)s0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk78 != 0) { func_8002A04C((s32)s0); } func_8012C218(s0); @@ -4915,17 +4915,17 @@ void func_8017FC70(s32 a0) { extern void func_8012B23C(s32 a0); if (func_8012C354(a0, (s32)D_8019ACB8) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_80143970(a0); func_8012A828(a0, D_801A3560); - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; func_8012B23C(a0); - if (*(s16 *)(a0 + 0x70) == 3) { - *(s32 *)(a0 + 0xBC) = (s32)D_8019AD2C; - *(u16 *)(a0 + 0x76) = 0x280; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 3) { + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019AD2C; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x280; } else { - *(s32 *)(a0 + 0xBC) = (s32)D_8019ACEC; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019ACEC; } } } @@ -4948,7 +4948,7 @@ void func_8017FD14(s32 a0) unsigned short *p; s16 t; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801A3560); } @@ -4957,20 +4957,20 @@ void func_8017FD14(s32 a0) } v0 = func_8012B8E4(a0, 8); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p + v0); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p & 0xFFF); - t = *(s16 *)(a0 + 0xFC); + t = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (t != 0) { - *(s16 *)(a0 + 0xFC) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t - 1; return; } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, D_801A3710); } else { if (func_8017F690(a0, 0x48) != 0) { @@ -4979,7 +4979,7 @@ void func_8017FD14(s32 a0) if (0x40000 < func_8012BCCC(a0)) { return; } - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, D_801A3608); } } @@ -5001,16 +5001,16 @@ void func_8017FE34(s32 a0) { s32 p; s16 v1b; - v1 = *(s32 *)(a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; if ((u32)(v1 - 0xF) < 6) { if (v1 == 0xF) { func_8002D4C8(0x7E4, 0); } if (func_8012DEB8(a0, (s32)&D_8019AD74, (s32)&D_8019AD7C) == 1) { (*(u16 *)&D_80126B96) = 0x4012; - p = *(s32 *)(a0 + 0x20); + p = CAST_ALIAS(s32, a0, 0x20); D_80126B9A = *(u16 *)(p + 0x12); - v1b = *(s16 *)(a0 + 0x70); + v1b = CAST_ALIAS(s16, a0, 0x70); if (v1b == 2) { goto case_eq2; } @@ -5033,10 +5033,10 @@ void func_8017FE34(s32 a0) { } } after_switch: - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, (void *)&D_801A3560); - *(s16 *)(a0 + 0xFC) = 0x1E; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } } @@ -5049,17 +5049,17 @@ extern void func_8012C098(void *param_1); extern void func_8012E8A8(u8 *a0); void func_8017FF48(void *a0) { - *(s16 *)((s32)a0 + 0x76) = 0; - if (*(s16 *)((s32)a0 + 0x100) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_8002A04C((s32)a0); } - if (*(s16 *)((s32)a0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { ((void (*)(void *))func_8012C098)(a0); } else { - *(s16 *)((s32)a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E8A8((u8 *)a0); - *(s16 *)((s32)a0 + 0x5C) = 0; - *(u8 *)((s32)a0 + 0xC1) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; } } @@ -5075,7 +5075,7 @@ void func_8017FFB8(s32 arg0) LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern void D_801AB8A8; - if ((M2C_FIELD(arg0, u8 *, 0xC3) & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801AB8A8)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC3 & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801AB8A8)) { func_8012A828(arg0, &D_801AB8A8); } } @@ -5116,9 +5116,9 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801ABD30; void func_8018008C(s32 a0) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, &D_801ABD30); - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; } @@ -5131,12 +5131,12 @@ void func_801800CC(s32 a0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern void D_801AB8A8; - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, &D_801AB8A8); - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0xDC) = 0; - *(s32 *)(a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, a0, 0x5E) = 0; + CAST_WIDTH(s16, a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } @@ -5157,15 +5157,15 @@ s32 func_8018011C(s32 param_1, s32 param_2, s32 param_3) { func_801801CC(param_1); return 1; } - sVar1 = *(s16 *)(param_1 + 0xdc) + 1; - *(s16 *)(param_1 + 0xdc) = sVar1; + sVar1 = CAST_WIDTH(s16, param_1, 0xdc) + 1; + CAST_WIDTH(s16, param_1, 0xdc) = sVar1; if (sVar1 < 0x79) { return 0; } if (param_3 >= iVar2) { return 0; } - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, &D_801ABC88); return 1; } @@ -5179,11 +5179,11 @@ extern void func_80142414(s32 a0, s16 a1); extern u8 D_801ABA48; void func_801801CC(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012A828(param_1, &D_801ABA48); - *(s32 *)(param_1 + 0x1c) = 0x1e; - if (*(s16 *)(param_1 + 0xfc) == 0) { - *(s16 *)(param_1 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; ((void (*)(s32, s32))func_80142414)(param_1, -0x96); } } @@ -5209,13 +5209,13 @@ extern void func_8012A828(s32 a0, void *a1); void func_8018023C(void *a0) { extern void D_801AB8A8; - if (*(s32 *)((char *)a0 + 0x1C) == 9) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 9) { extern u8 D_801A3DAC[]; extern u8 D_801A3DBC[]; func_8012D5E4((s32)a0, (s32)D_801A3DAC, (s32)(D_801A3DAC + 8), 0x10); - if (*(s16 *)((char *)a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { u16 out[4]; struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } s; s32 buf[8]; @@ -5230,11 +5230,11 @@ void func_8018023C(void *a0) { s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) + 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 + 0x100; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) - 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 - 0x100; func_8012C51C(&s, (s32)a0); } @@ -5243,9 +5243,9 @@ void func_8018023C(void *a0) { s16 out2[2]; s32 v; - in3[0] = *(u16 *)((char *)a0 + 0x6); - in3[1] = *(u16 *)((char *)a0 + 0xA); - in3[2] = *(u16 *)((char *)a0 + 0xE); + in3[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + in3[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + in3[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; ((u32 (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); @@ -5266,12 +5266,12 @@ void func_8018023C(void *a0) { } if (func_8012BEE8((s32)a0) != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828((s32)a0, &D_801AB8A8); - *(u16 *)((char *)a0 + 0x5C) = 0xAA10; - *(s16 *)((char *)a0 + 0x5E) = 0; - *(s16 *)((char *)a0 + 0xDC) = 0; - *(s32 *)((char *)a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, (char *)a0, 0x5E) = 0; + CAST_WIDTH(s16, (char *)a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } } @@ -5314,25 +5314,25 @@ void func_80180438(void *a0) { extern u8 D_801A3D8C[]; void *s0 = a0; - D_801A3DC4[*(u16 *)((u8 *)s0 + 0x2)](); + D_801A3DC4[CAST_SIGN(u16, (u8 *)s0, 0x2)](); if (func_8012C044((s32)s0)) { - *(s16 *)((u8 *)s0 + 0x100) = 1; - *(s16 *)((u8 *)s0 + 0x76) = 0; - if (*(s16 *)((u8 *)s0 + 0x100) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk76 = 0; + if (((Unkstruct_800B5CB8 *)s0)->unk100 == 0) { func_8002A04C((s32)s0); } - if (*(s16 *)((u8 *)s0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE == 0) { ((void (*)(void *))func_8012C098)(s0); } else { - *(s16 *)((u8 *)s0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 6; func_8012E8A8((u8 *)s0); - *(s16 *)((u8 *)s0 + 0x5C) = 0; - *(u8 *)((u8 *)s0 + 0xC1) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; } } - if (*(s16 *)((u8 *)s0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE != 0) { u16 *src = D_801A3D6C; s32 shift = D_800B99DA & 0xF; u16 *dst = &D_801B9548[shift]; @@ -5354,7 +5354,7 @@ void func_80180438(void *a0) { extern void (*D_801A3DE8[])(void); void func_80180584(void *a0) { - D_801A3DE8[*(u16 *)((s32)a0 + 0x2)](); + D_801A3DE8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5379,28 +5379,28 @@ void func_80180648(s32 param_1) u16 uVar1; v0 = func_8012C1B8(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4(param_1); } else { func_8001C214(v0, 0); - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(v0 + 0x1a) = 0x1800; *(u16 *)(v0 + 0x18) = 0x1800; s0 = func_8012C194(); if (s0 == 0) { func_8012CAE4(param_1); } else { - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CB6C(s0, (s32)&D_801A3DF0, 0x2E0, 0x100); - *(u8 *)(s0 + 0x27) = 0x37; - *(u16 *)(s0 + 0x10) = 0x400; - *(u32 *)(s0 + 4) |= 0x50000000; - uVar1 = *(u16 *)(param_1 + 0xFC); - *(u16 *)(s0 + 0x1A) = 0x1800; - *(u16 *)(s0 + 0x18) = 0x1800; - *(u16 *)(s0 + 0x14) = uVar1; - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x37; + ((Unkstruct_800B5CB8 *)s0)->unk10 = 0x400; + CAST_WIDTH(u32, s0, 4) |= 0x50000000; + uVar1 = CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x1800; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x1800; + CAST_WIDTH(u16, s0, 0x14) = uVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_80143994(param_1, 0x1000); } } @@ -5413,11 +5413,11 @@ extern void func_8012B200(u8 *a0); extern void func_8012B178(s32 a0, s32 a1); void func_80180720(u8 *a0) { - u8 *p = *(u8 **)(a0 + 0x20); - u16 v = *(u16 *)(a0 + 0xFC); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x50; - *(s16 *)(p + 0x12) = v; + u8 *p = CAST_SIGN(u8 *, a0, 0x20); + u16 v = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)p)->unk12 = v; func_8012B2CC((s32)a0); func_8012B200(a0); func_8012B178((s32)a0, 0xFFF00000); @@ -5435,12 +5435,12 @@ void func_80180778(s32 a0) s32 v1; s32 v0; - v1 = *(s32 *)(a0 + 0xCC); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(u16 *)(v1 + 0x14) = *(u16 *)(v1 + 0x14) + 0x80; if (((s32 (*)(s32))func_8012CBF4)(a0) == 0) { if (func_8012D5E4(a0, (s32)D_801A3E08, (s32)(D_801A3E08 + 8), 0x10) == 0) { - v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != 0) { return; } @@ -5456,7 +5456,7 @@ extern void func_80016714(void *a0, s32 a1); extern void func_8012C218(void *a0); void func_80180804(s32 param_1) { s32 iVar1; - iVar1 = *(s32 *)(param_1 + 0xcc); + iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; ((void (*)(s32 *, s32))func_80016714)((s32 *)iVar1, 0x38); ((void (*)(s32))func_8012C218)(param_1); } @@ -5470,7 +5470,7 @@ void func_8018083C(s32 a0) { s32 result; s32 threshold; - if (*(s16 *)(a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { result = func_8012BCCC(a0); threshold = 0x90000; } else { @@ -5504,7 +5504,7 @@ void func_801808E0(s32 param_1) if (((s32 (*)(void))func_8012BEE8)() == 1) { d = param_1; - if (*(s16 *)(param_1 + 0x70) & 0x8000) { a1 = 0x40000; a2 = 0xC0000; } + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { a1 = 0x40000; a2 = 0xC0000; } else { a1 = 0x9000; a2 = 0x20000; } func_8018011C(d, a1, a2 | 0x4000); } @@ -5525,7 +5525,7 @@ void func_80180944(int param_1) unsigned short *p; v = func_8012B8E4(param_1, 4); - p = (unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); if (func_8012BEE8(param_1) != 0) { ((void (*)(s32))func_80180228)(param_1); @@ -5555,23 +5555,23 @@ void func_801809A4(s32 s0) { return; } - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s32 *)(s0 + 0xBC) = (s32)&D_801A3D0C; - *(s32 *)(s0 + 0xC4) = 1; - *(s16 *)(s0 + 0xAE) = 8; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_801A3D0C; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = 8; - v0 = func_8012C658(0x23F, *(s16 *)(s0 + 0x70), s0); - *(s32 *)(s0 + 0x6C) = v0; + v0 = func_8012C658(0x23F, ((Unkstruct_800B5CB8 *)s0)->unk70, s0); + ((Unkstruct_800B5CB8 *)s0)->unk6C = v0; if (v0 == 0) { func_8012CAE4((void *)s0); return; } if (func_8012E504(s0, 0x23D) == 0) { - *(s16 *)(s0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 1; } - *(s16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, &D_801ABC88); } @@ -5679,41 +5679,41 @@ void func_80180C40(s32 a0) { if (func_8014CB7C() != 0) { if (func_8012BE54(a0) < 0x1000) { lim = 0x40; - if (*(s16 *)(a0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { lim = 0x80; } - d = *(u16 *)(a0 + 0xA) - D_80126B62; + d = ((Unkstruct_800B5CB8 *)a0)->unkA - D_80126B62; if ((d >= 0) && (d <= lim)) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B8A4(a0); - *(u16 *)(a0 + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(a0 + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(a0 + 0x100) = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B8A4(a0); + ((Unkstruct_800B5CB8 *)a0)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0xFF) - 0x80; func_8012B2CC(a0); func_8012B1B4(a0, &D_801ABF64); *(s16 *)(a0 + 0x16) = -0x18; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; - if (*(s16 *)(a0 + 0x70) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { func_8012A828(a0, &D_801ABF7C); - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; func_8002D4C8(0xB41, 0); } else { - func_8001C214(*(s32 *)(a0 + 0x20), &D_801AC734); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, &D_801AC734); i = 0; do { e = func_8012C658(0x244, 3, a0); if (e != 0) { s32 r = rand(); - s32 b = *(u16 *)(*(s32 *)(*(s32 *)(e + 0x64) + 0x20) + 0x12) - 0x200; - *(u16 *)(*(s32 *)(e + 0x20) + 0x12) = b + (r & 0x3FF); - *(u16 *)(e + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(e + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(e + 0x100) = (rand() & 0xFF) - 0x80; + s32 b = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)e)->unk64 + 0x20) + 0x12) - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(e + 0x20))->unk12 = b + (r & 0x3FF); + ((Unkstruct_800B5CB8 *)e)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)e)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)e)->unk100 = (rand() & 0xFF) - 0x80; func_8012B2CC(e); func_8012B1B4(e, &D_801ABF64); *(s16 *)(e + 0x16) = -0x18; - *(s32 *)(e + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)e)->unk1C = 0x3C; func_8002D4C8(0xB42, 0); } i++; @@ -5722,18 +5722,18 @@ void func_80180C40(s32 a0) { } } } else { - if (*(s16 *)(a0 + 0x70) != 0) { - if (*(u8 *)(a0 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { if (func_8012D624(a0, 0x100, 0xA) != 0) { D_80126B96 = 0x4007; } } } else { - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x18, 0xA) != 0) { D_80126B96 = 0x4007; } - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -5747,36 +5747,36 @@ void func_80180ED4(void *arg0) s16 cnt; s32 new; - D_801AC0C4[*(u16 *)((s32)arg0 + 2)]((void *)arg0); + D_801AC0C4[CAST_SIGN(u16, (s32)arg0, 2)]((void *)arg0); - if (*(s16 *)((s32)arg0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk102 == 0) { return; } - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x18) - 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0x20))->unk18 - 0x80; - if (*(s16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x18) < 0x100) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) < 0x100) { func_8012C218(arg0); return; } - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x1A) - 0x80; - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)((s32)arg0 + 0x20) + 0x1C) - 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0x20))->unk1A - 0x80; + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) - 0x80; - cnt = *(u16 *)((s32)arg0 + 0x102) - 1; - *(u16 *)((s32)arg0 + 0x102) = cnt; + cnt = CAST_SIGN(u16, (s32)arg0, 0x102) - 1; + ((Unkstruct_800B5CB8 *)arg0)->unk102 = cnt; if (cnt == 0) { - *(u16 *)((s32)arg0 + 0x102) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk102 = 3; new = func_80143C74((s32)arg0, 0); if (new != 0) { *(s16 *)(new + 0x16) = -8; - *(u16 *)(new + 0xA) = *(u16 *)(new + 0xA) - 0x20; - *(u16 *)(new + 0x12) = (rand() & 7) - 4; - *(u16 *)(new + 0x1A) = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)new)->unkA = ((Unkstruct_800B5CB8 *)new)->unkA - 0x20; + ((Unkstruct_800B5CB8 *)new)->unk12 = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)new)->unk1A = (rand() & 7) - 4; } } } @@ -5813,34 +5813,34 @@ void func_8018102C(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0; - *(s32 *)(a0 + 0xC4) = 3; - *(s32 *)(a0 + 0xBC) = (s32)D_801ABF44; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801ABF44; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; func_8012B23C(a0); - v1 = *(s16 *)(a0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (v1) { case 0: - *(s16 *)(a0 + 0xAE) = -5; - *(u8 *)(a0 + 0x75) = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -5; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0xC; break; case 1: - *(s16 *)(a0 + 0xAE) = -1; - *(u8 *)(a0 + 0x75) = 8; - ((void (*)(s32, s32))func_8001C214)(*(s32 *)(a0 + 0x20), (s32)D_801AC6B4); - *(u16 *)(a0 + 0x5C) = *(u16 *)(a0 + 0x5C) | 0xC00; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + ((void (*)(s32, s32))func_8001C214)(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AC6B4); + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C | 0xC00; break; case 2: - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x80000000; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x2) = 3; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; case 3: - *(u16 *)(a0 + 0x5C) = 0; - ((void (*)(s32, s32))func_8001C214)(*(s32 *)(a0 + 0x20), (s32)&D_801AC734); - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((void (*)(s32, s32))func_8001C214)(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AC734); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; } } @@ -5857,25 +5857,25 @@ void func_80181164(s32 a0) s0 = a0; v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - *(u16 *)(s0 + 0xFC) = -*(u16 *)(s0 + 0xFC); - *(u16 *)(s0 + 0xFE) = -*(u16 *)(s0 + 0xFE); - *(u16 *)(s0 + 0x100) = -*(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)s0)->unkFC = -CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unkFE = -CAST_SIGN(u16, s0, 0xFE); + ((Unkstruct_800B5CB8 *)s0)->unk100 = -CAST_SIGN(u16, s0, 0x100); if (v0 & 0x8000) { - *(s32 *)(s0 + 0x10) = -*(s32 *)(s0 + 0x10); - *(s32 *)(s0 + 0x18) = -*(s32 *)(s0 + 0x18); + CAST_WIDTH(s32, s0, 0x10) = -CAST_WIDTH(s32, s0, 0x10); + CAST_WIDTH(s32, s0, 0x18) = -CAST_WIDTH(s32, s0, 0x18); } if (v0 & 0x6000) { - *(s32 *)(s0 + 0x14) = -8; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -8; } } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) += CAST_SIGN(u16, s0, 0x100); - if (--*(s32 *)(s0 + 0x1C) < 0x10) { - *(u32 *)(*(s32 *)(s0 + 0x20) + 4) ^= 0x80000000; - if (*(s32 *)(s0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)s0)->unk1C < 0x10) { + *(u32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)s0)->unk1C == 0) { func_8012C218((void *)s0); } } @@ -5909,7 +5909,7 @@ void func_80181284(s32 arg0) extern void (*D_801ACA6C[])(void); void func_80181324(void *a0) { - D_801ACA6C[*(u16 *)((s32)a0 + 0x2)](); + D_801ACA6C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5942,7 +5942,7 @@ void func_80181360(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801AC7C4[idx]; @@ -5950,21 +5950,21 @@ void func_80181360(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_80181A0C); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_801850F8); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -6174,7 +6174,7 @@ s32 func_801817B4(void) { extern void (*D_801ACA94[])(void); void func_80181818(void *a0) { - D_801ACA94[*(u16 *)((s32)a0 + 0x2)](); + D_801ACA94[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6196,7 +6196,7 @@ void func_80181854(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -6224,23 +6224,23 @@ void func_801818DC(void *a0) { extern u8 D_801AD04C[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801ACF44); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801AD04C); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -6262,14 +6262,14 @@ void func_8018199C(void *a0) { extern u8 D_801AD154[]; extern u8 D_801ACF34[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801AD154); } else { func_8012A828((s32)a0, D_801ACF34); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6322,25 +6322,25 @@ void func_80181B04(s32 param_1) { s32 v0; s32 rem; - D_801AD318[*(u16 *)(param_1 + 2)](); - if (*(u16 *)(param_1) != 0) { + D_801AD318[CAST_SIGN(u16, param_1, 2)](); + if (((Unkstruct_800B5CB8 *)param_1)->unk0 != 0) { func_80182B38(param_1); func_80182CCC(param_1); func_80183014(param_1); - v1 = *(s32 *)(param_1 + 0xEC) + 1; - v0 = *(s32 *)(param_1 + 0xF0); + v1 = CAST_WIDTH(s32, param_1, 0xEC) + 1; + v0 = CAST_WIDTH(s32, param_1, 0xF0); rem = v1 % v0; - *(s32 *)(param_1 + 0xEC) = v1; + CAST_WIDTH(s32, param_1, 0xEC) = v1; if (rem == 0 || (rand() & 0xFFF) == 0) { func_8018317C(param_1); - *(s32 *)(param_1 + 0xF0) = rand() % 32 + 0x10; + CAST_WIDTH(s32, param_1, 0xF0) = rand() % 32 + 0x10; } - if (*(s16 *)(param_1 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, param_1, 0xA) >= 0x10) { func_80182B08(param_1); } else { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8012C0EC(param_1); } } @@ -6354,16 +6354,16 @@ void func_80181C40(s32 a0) { extern u8 D_801B5BC4[]; s32 r; if (func_8012C354(a0, (s32)D_801AD174) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801AD290; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AD290; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_8012A828(a0, D_801B5BC4); func_80143994(a0, 0x2000); - *(s16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0xEC) = rand(); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + CAST_WIDTH(s32, a0, 0xEC) = rand(); r = rand(); - *(s32 *)(a0 + 0xF0) = (r % 32) + 0x10; - *(s32 *)(a0 + 0xF4) = 2; + CAST_WIDTH(s32, a0, 0xF0) = (r % 32) + 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkF4 = 2; func_8012B2CC(a0); } } @@ -6380,7 +6380,7 @@ void func_80181CF0(void *a0) extern u8 D_801B5BC4[]; func_8012A828((s32)a0, D_801B5BC4); - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C((s32)a0); func_80182F20((s32)a0); } @@ -6392,15 +6392,15 @@ void func_80181D38(s32 a0) { extern s32 func_80182F20(s32 a0); extern s32 D_80126B68; extern s32 D_80126B70; - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } func_8012CBA4(a0); if (func_8012BCCC(a0) > 0x24000) { - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_80182F20(a0) != 1) { if (D_80126B68 != 0 || D_80126B70 != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } } @@ -6411,9 +6411,9 @@ extern void func_8012A828(s32 a0, void *a1); void func_80181DD4(void *arg0) { func_8012A828((s32)arg0, &D_801B5C6C); - *(s16 *)((char *)arg0 + 0x2) = 4; - *(s32 *)((char *)arg0 + 0x1C) = 0x5A; - *(s32 *)((char *)arg0 + 0xE8) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 = 0; } @@ -6435,56 +6435,56 @@ void func_80181E18(s32 a0) { s32 c; if (func_8012BCCC(a0) <= 0x24000) { - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; return; } - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0)) { s32 r; s32 base; s32 v; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; r = rand() % 0x400; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if (rand() & 1) { v = base + r; } else { v = base - r; } - *(s32 *)(a0 + 0xE4) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = v; } } else { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE4), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE4, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; } } func_8012B178(a0, 0xFFFC0000); c = ((s32 (*)(s32))func_8012CBA4)(a0); - if ((c & 0x8000) && *(s32 *)(a0 + 0xE8) == 0) { + if ((c & 0x8000) && ((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { s32 t1; - sp10[0] = *(s32 *)(a0 + 0x10) >> 8; - sp10[2] = *(s32 *)(a0 + 0x18) >> 8; + sp10[0] = CAST_WIDTH(s32, a0, 0x10) >> 8; + sp10[2] = CAST_WIDTH(s32, a0, 0x18) >> 8; t1 = func_8012B70C((s16 *)D_800D3918, &D_801152B0); - *(s32 *)(a0 + 0xE4) = + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (t1 * 2 - func_8012B70C(sp10, (s16 *)D_800D3918)) & 0xFFF; - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0xE8) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x10; } else if ((c & 0x2000) == 0) { func_8012ADE4((u8 *)a0); } - if (*(s32 *)(a0 + 0xE8) != 0) { - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkE8 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 - 1; } } @@ -6497,9 +6497,9 @@ extern void func_8012B200(u8 *a0); void func_80181FFC(void *arg0) { func_8012A828((s32)arg0, &D_801B5D14); - *(s16 *)((char *)arg0 + 0x2) = 6; - *(s16 *)((char *)arg0 + 0x34) = 0; - *(s32 *)((char *)arg0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkD0 = 0; func_8012B200((u8 *)arg0); } @@ -6578,43 +6578,43 @@ void func_80182044(s32 a0) { s32 *base = &D_80126B58; s32 temp; - if (*(u16 *)(a0 + 0x34) == 0 && D_80126B84 < -0x94000 && - *(s16 *)(a0 + 0x98) != 0 && *(u8 **)(a0 + 0x90) != D_801B61D4) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0 && D_80126B84 < -0x94000 && + ((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && CAST_SIGN(u8 *, a0, 0x90) != D_801B61D4) { func_8012A828(a0, D_801B5D9C); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } func_80182D80(a0); if (((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) { if (base[4] == 0 && base[6] == 0) { if (func_80182F20(a0) == 0) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - } else if (*(u8 **)(a0 + 0x90) == D_801B61D4) { - temp = *(s32 *)(a0 + 0xD0); + } else if (CAST_SIGN(u8 *, a0, 0x90) == D_801B61D4) { + temp = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (temp != 0) { func_8012A828(a0, (void *)temp); - *(s32 *)(a0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = 0; } - } else if (*(s16 *)(a0 + 0x98) == 0) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32))func_8012A8E8)(a0); } } else if (D_8011F730 == 2) { - *(s32 *)(a0 + 0xD0) = *(s32 *)(a0 + 0x90); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = ((Unkstruct_800B5CB8 *)a0)->unk90; func_8012A828(a0, D_801B61D4); } else if (D_8011F730 == 1) { - if (*(s32 *)(a0 + 0xD0) == 0) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkD0 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - } else if (*(s16 *)(a0 + 0x98) != 0 && base[13] == 0) { - sp10.x = *(u16 *)(a0 + 0x6); - sp10.y = *(u16 *)(a0 + 0xA); - sp10.z = *(u16 *)(a0 + 0xE); + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && base[13] == 0) { + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18 = sp10; sp18.y += 0x10; func_80133784(1, &sp10, (s32)&sp18); - *(u16 *)(a0 + 0x6) = sp18.x; - *(u16 *)(a0 + 0xA) = sp18.y; - *(u16 *)(a0 + 0xE) = sp18.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.y; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.z; } } @@ -6628,8 +6628,8 @@ extern u8 D_801B5FAC[]; void func_8018227C(s32 a0) { func_8012B200((u8 *)a0); func_8012A828(a0, &D_801B5FAC); - *(s16 *)((char *)a0 + 0x2) = 0x8; - *(s16 *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -6658,21 +6658,21 @@ void func_801822C0(s32 a0) { s32 arg0, arg1; func_80182D80(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: g = D_8011F730; if (g == 2) { - *(u16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; func_8012A828(a0, D_801B61D4); return; } else if (g == 3) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_8012A828(a0, &D_801B5E24); return; } else if (g == 4) { - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_8012A828(a0, &D_801B5E8C); return; } @@ -6696,13 +6696,13 @@ void func_801822C0(s32 a0) { } func_8012C658(arg0, arg1, a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, &D_801B6074); } tail_short: if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x2000) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -6716,7 +6716,7 @@ extern s32 D_801B6394; void func_80182444(s32 a0) { func_8012B23C(a0); func_8012A828(a0, &D_801B6394); - *(s16 *)((char *)a0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; } @@ -6746,10 +6746,10 @@ void func_801824BC(s32 a0) { func_8012B200((u8 *)a0); v0 = 0xD000; - *(s32 *)(s0 + 0x48) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk48 = v0; func_8012B14C(s0, (s32)&D_801AD1A8); func_8012A828(s0, &D_801B628C); - *(s16 *)(s0 + 0x2) = 0xC; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xC; } @@ -6803,16 +6803,16 @@ void func_801825B4(s32 p) extern u8 D_801B5BC4[]; func_80182BAC(p, (s32)D_801AD1B8, 7, func_80029DB4()); - if (*(s32 *)(p + 0x94) < 9) { + if (((Unkstruct_800B5CB8 *)p)->unk94 < 9) { func_8012C658(0x1EB, 0, p); } if (D_8011F730 == 3) { - *(s16 *)(p + 2) = 0xD; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xD; return; } - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801B5BC4); - *(s16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; func_8012B23C(p); func_80182F20(p); } @@ -6848,14 +6848,14 @@ void func_801826A4(void *a0) { s32 val; func_80182BAC((s32)a0, (s32)D_801AD1D8, 6, func_80029E30()); - val = *(s32 *)((s32)a0 + 0x94); + val = ((Unkstruct_800B5CB8 *)a0)->unk94; if ((u32)(val - 4) < 10) { func_8012C658(0x1EB, 1, (s32)a0); } - if (*(u16 *)((s32)a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { if (D_8011F730 != 4) { func_8012A828((s32)a0, D_801B5BC4); - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C((s32)a0); func_80182F20((s32)a0); } @@ -6981,11 +6981,11 @@ void func_80182784(s32 a0) { u16 sv[4]; s32 temp; - if (*(s32 *)(a0 + 0x94) == 6) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 6) { sv[1] = 0; sv[0] = 0; sv[2] = 0x20; - ApplyMatrixSV((void *)(*(s32 *)(a0 + 0x20) + 0x34), sv, sv); + ApplyMatrixSV((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34), sv, sv); func_8012EC04(a0, 7, buf); ((void (*)(s32 *, u8 *, u16 *))func_8012F14C)(buf, D_800D3918, out); s.f0 = out[0] + sv[0]; @@ -6995,31 +6995,31 @@ void func_80182784(s32 a0) { s.f8 = 0; s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; s.f10 = 0; temp = func_8012C51C(&s, a0); - *(s32 *)(a0 + 0xCC) = temp; + ((Unkstruct_800B5CB8 *)a0)->unkCC = temp; if (temp != 0) { - func_8001C924(*(s32 *)(a0 + 0x20), D_801AF8D0); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801AF8D0); func_8012A828(a0, D_801AD280); - *(s32 *)(a0 + 0xE0) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 |= 1; } } - if (*(s32 *)(a0 + 0xE0) & 1) { - if (*(s32 *)(a0 + 0xE0) & 2) { - if (func_80013350(a0 + 4, (void *)(*(s32 *)(a0 + 0xCC) + 4)) < 0x1801) { - func_8012C218(*(void **)(a0 + 0xCC)); - func_8001C924(*(s32 *)(a0 + 0x20), D_801AF898); + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 2) { + if (func_80013350(a0 + 4, (void *)(((Unkstruct_800B5CB8 *)a0)->unkCC + 4)) < 0x1801) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801AF898); func_8012A828(a0, &D_801B5F44); - *(s32 *)(a0 + 0x94) = 7; - *(s32 *)(a0 + 0xCC) = 0; - *(s32 *)(a0 + 0xE0) &= ~3; + ((Unkstruct_800B5CB8 *)a0)->unk94 = 7; + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 &= ~3; } } } - if (*(s32 *)(a0 + 0x90) == (s32)&D_801B5F44 && (*(u16 *)(a0 + 0x72) & 0x4000)) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801B5F44 && (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000)) { func_8012A828(a0, D_801B5BC4); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80182F20(a0); } @@ -7028,7 +7028,7 @@ void func_80182784(s32 a0) { void func_80182974(s32 a0) { extern short D_801B64FC; - *(s16 *)(a0 + 2) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; func_8012A828(a0, &D_801B64FC); func_8012B23C(a0); } @@ -7042,9 +7042,9 @@ extern void func_8012CBCC(s32 a0); void func_801829B4(s32 a0) { func_8012CBCC(a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, ((u8 *)&D_801B5BC4)); - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80182F20(a0); } @@ -7058,7 +7058,7 @@ extern M2C_UNK D_801B5BC4; void func_80182A18(void *arg0) { func_80182A54((s32)arg0); ((void (*)(s32 *, s32 *))func_8012A828)((s32)arg0, &D_801B5BC4); - *(s16 *)((char *)arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; } @@ -7068,13 +7068,13 @@ extern void func_80182B38(s32 a0); extern u8 D_801AF898[]; void func_80182A54(s32 a0) { - if (*(s32 *)(a0 + 0xE0) & 1) { - func_8001C924(*(s32 *)(a0 + 0x20), D_801AF898); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218((void *)*(s32 *)(a0 + 0xCC)); - *(s32 *)(a0 + 0xCC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) { + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801AF898); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218((void *)((Unkstruct_800B5CB8 *)a0)->unkCC); + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; } - *(s32 *)(a0 + 0xE0) &= ~3; + ((Unkstruct_800B5CB8 *)a0)->unkE0 &= ~3; } func_80182B38(a0); } @@ -7109,12 +7109,12 @@ extern u8 D_801AD1B8[]; extern u8 D_801AD1D8[]; void func_80182B38(s32 a0) { - s32 t = *(s32 *)(a0 + 0xF4); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkF4; if (t != 0) { - *(s32 *)(a0 + 0xF4) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unkF4 = t - 1; return; } - if ((*(u32 *)(a0 + 0xE0) & 1) == 0) { + if ((CAST_SIGN(u32, a0, 0xE0) & 1) == 0) { func_80183D78(a0, (void *)D_801AD1B8, 7); } func_80183FE0(a0, (s32)D_801AD1D8, 6); @@ -7144,8 +7144,8 @@ s32 func_80182BAC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { func_8012F14C((s32)buf1, arg1, (s32)&vecA); func_8012F14C((s32)buf1, arg1 + 8, (s32)&vecB); func_8012F14C((s32)buf1, arg1 + 0x10, (s32)&vecC); - *(SVec_801861D0_80182BAC *)(arg0 + 0xFC) = vecC; - *(SVec_801861D0_80182BAC *)(arg0 + 0x104) = vecB; + CAST_WIDTH(SVec_801861D0_80182BAC, arg0, 0xFC) = vecC; + CAST_WIDTH(SVec_801861D0_80182BAC, arg0, 0x104) = vecB; if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&vecA, (s32)&vecB) != 0) { func_8012F568(1, 1, 0, arg3, (s32)&vecB, (s32)D_801152A8); return 1; @@ -7170,8 +7170,8 @@ s32 func_80182CCC(s32 arg0) { ((void (*)(s32, s32, s32))func_8012F14C)((s32)D_80126B78 + 0x34, (s32)D_801AD36C, (s32)buf1); ((void (*)(s32, s32, s32))func_8012F14C)((s32)D_80126B78 + 0x34, (s32)(D_801AD36C + 8), (s32)buf2); - if (func_80135888(*(s32 *)(arg0 + 0x20), *(s32 *)(arg0 + 0x58), (s32)buf1, (s32)buf2) != 0) { - func_8012F568(1, 0x18, *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), 0x18, (s32)buf2, (s32)D_801152A8); + if (func_80135888(((Unkstruct_800B5CB8 *)arg0)->unk20, ((Unkstruct_800B5CB8 *)arg0)->unk58, (s32)buf1, (s32)buf2) != 0) { + func_8012F568(1, 0x18, *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), 0x18, (s32)buf2, (s32)D_801152A8); return 1; } return 0; @@ -7255,9 +7255,9 @@ void func_80182D80(s32 a0) { if (D_80126B68 != 0 || D_80126B70 != 0) { s32 t1; - v1.vx = *(u16 *)(a0 + 0x6) - D_80126B5E; + v1.vx = ((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E; v1.vy = 0; - v1.vz = *(u16 *)(a0 + 0xE) - D_80126B66; + v1.vz = ((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66; VectorNormalSS(&v1, &v1); v2.vy = 0; @@ -7267,7 +7267,7 @@ void func_80182D80(s32 a0) { t1 = func_8012B70C((s16 *)D_800D3918, (s16 *)&v1); s1 = (t1 * 2 - func_8012B70C((s16 *)&v2, (s16 *)D_800D3918)) & 0xFFF; } else { - s1 = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); } if (func_80149CD4((s32)base) != 0) { @@ -7282,7 +7282,7 @@ void func_80182D80(s32 a0) { func_80049CAC((s32)&v1, (s32)&m); func_800484EC((s32)&m, (s32)&ref, a0 + 0x10); } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = s1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = s1; v1.vz = 0; v1.vx = 0; @@ -7293,9 +7293,9 @@ void func_80182D80(s32 a0) { } if (func_801726B8(base)) { - *(s32 *)(a0 + 0x14) = 0x100000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } else { - *(s32 *)(a0 + 0x14) = base[13]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = base[13]; } } @@ -7324,22 +7324,22 @@ s32 a0; case 1: func_8012B200((u8 *)a0); func_8012A828(a0, &D_801B5FAC); - *(u16 *)(a0 + 0x2) = 8; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; break; case 2: - *(u16 *)(a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; break; case 3: func_8012A828(a0, &D_801B5E24); - *(u16 *)(a0 + 0x2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; break; case 4: func_8012A828(a0, &D_801B5E8C); - *(u16 *)(a0 + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; break; case 5: - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, &D_801B5F44); break; default: @@ -7372,24 +7372,24 @@ void func_80183014(s32 a0) { self4 = (s16 *)(a0 + 4); sc = (unsigned int *)sp20; do { - switch (*(u16 *)p) { + switch (((Unkstruct_800B5CB8 *)p)->unk0) { case 0x1DC: if ((u8 *)a0 != p) { if (func_8012BC60((void *)self4, (void *)(p + 4)) < 0x900) { ang = func_8012B6D4(self4, (s16 *)(p + 4)); func_8012B0B4(sc, ang, 0x31); - v18[0] = *(u16 *)(p + 6); - v18[1] = *(u16 *)(p + 0xA); - v18[2] = *(u16 *)(p + 0xE); + v18[0] = ((Unkstruct_800B5CB8 *)p)->unk6; + v18[1] = ((Unkstruct_800B5CB8 *)p)->unkA; + v18[2] = ((Unkstruct_800B5CB8 *)p)->unkE; v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if ((func_8012CEB0(v10, v18, 0) & 0x2000) != 0) { - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - *(u16 *)(a0 + 0xE) = v18[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; return; } func_8012ADE4((u8 *)a0); @@ -7546,7 +7546,7 @@ s32 func_801832F8(s32 a0, u16 a1) { extern void (*D_801AD37C[])(void); void func_801834B4(void *a0) { - D_801AD37C[*(u16 *)((s32)a0 + 0x2)](); + D_801AD37C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7858,22 +7858,22 @@ void func_80183B50(s32 *s0) u16 uVar2; iVar2 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)s0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)s0)->unk20 = iVar2; if (iVar2 == 0) { func_8012CAE4(s0); } else { func_8001C214(iVar2, &D_801AF904); - v1 = *(s32 **)((u8 *)s0 + 0x20); - uVar1 = *(u16 *)((u8 *)s0 + 0xFC); + v1 = CAST_SIGN(s32 *, (u8 *)s0, 0x20); + uVar1 = CAST_SIGN(u16, (u8 *)s0, 0xFC); *(u16 *)((u8 *)v1 + 0x12) = uVar1; func_8012B2CC(s0); - uVar2 = *(u16 *)((u8 *)s0 + 0x2); - *(s32 *)((u8 *)s0 + 0xE8) = 0xFFE00000; + uVar2 = CAST_SIGN(u16, (u8 *)s0, 0x2); + ((Unkstruct_800B5CB8 *)s0)->unkE8 = 0xFFE00000; uVar2 = uVar2 + 1; - *(u16 *)((u8 *)s0 + 0x2) = uVar2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = uVar2; } } @@ -7902,44 +7902,44 @@ void func_80183BC8(s32 a0) s16 sp10[4]; s32 v0; - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - if (func_8012BDBC(*(s32 *)(a0 + 0x64), 0x200) == 0) { + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + if (func_8012BDBC(((Unkstruct_800B5CB8 *)a0)->unk64, 0x200) == 0) { goto skip_update; } - v0 = func_8012B6D4((s16 *)(*(s32 *)(a0 + 0x64) + 4), (s16 *)&D_80126B5C); + v0 = func_8012B6D4((s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 4), (s16 *)&D_80126B5C); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 1); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 1); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(u16 *)(a0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; v0 = func_8012B70C((s16 *)(a0 + 0x88), sp10); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } skip_update: - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) + 0x18000; - if (*(u16 *)(a0 + 0x34) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 + 0x18000; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - *(s32 *)(a0 + 0xE8) = 0; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) |= 2; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 obj2 = *(s32 *)(a0 + 0x64); + s32 obj2 = ((Unkstruct_800B5CB8 *)a0)->unk64; s32 flags2 = *(s32 *)(obj2 + 0xE0); - if ((flags2 & 2) == 0 && *(s32 *)(a0 + 0x1C) == 0x15) { + if ((flags2 & 2) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk1C == 0x15) { *(s32 *)(obj2 + 0xE0) = flags2 | 2; } } @@ -7948,7 +7948,7 @@ skip_update: } func_8012D5E4(a0, (s32)D_801AD1B8, (s32)D_801AD1B8 + 8, 0xA); - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; } @@ -8347,7 +8347,7 @@ void func_801843D8(void *a0) extern void (*D_801AD3D4[])(void); void func_801845B4(void *a0) { - D_801AD3D4[*(u16 *)((s32)a0 + 0x2)](); + D_801AD3D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8385,7 +8385,7 @@ void func_8018466C(s32 a0) { extern void (*D_801B65F0[])(void); void func_801846AC(void *a0) { - D_801B65F0[*(u16 *)((s32)a0 + 0x2)](); + D_801B65F0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8411,24 +8411,24 @@ void func_801846E8(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801B65A4, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801B65B0); func_80184C60(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -8457,20 +8457,20 @@ void func_801847E4(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -8489,19 +8489,19 @@ void func_801847E4(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_80184C60(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -8530,16 +8530,16 @@ void func_80184A74(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_80184C60(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -8579,7 +8579,7 @@ s32 func_80184C08(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -8598,13 +8598,13 @@ void func_80184C60(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -8620,7 +8620,7 @@ extern void func_8012C218(void *a0); void func_80184CDC(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c index 9d03d4acef..abde01ea74 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.c @@ -2602,34 +2602,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801EF3B4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801EF3A8+0xC == &D_801EF3B4; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2640,9 +2640,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2651,11 +2651,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801EF3B4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801EF3A8 + 0xC)) < 0x101) { @@ -3277,7 +3277,7 @@ void func_8017BE60(void *a0) { extern void (*D_80190F8C[])(void); void func_8017BE9C(void *a0) { - D_80190F8C[*(u16 *)((s32)a0 + 0x2)](); + D_80190F8C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3285,7 +3285,7 @@ void func_8017BE9C(void *a0) { extern void (*D_80190F94[])(void); void func_8017BED8(void *a0) { - D_80190F94[*(u16 *)((s32)a0 + 0x2)](); + D_80190F94[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3293,7 +3293,7 @@ void func_8017BED8(void *a0) { extern void (*D_80190F9C[])(void); void func_8017BF14(void *a0) { - D_80190F9C[*(u16 *)((s32)a0 + 0x2)](); + D_80190F9C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3454,7 +3454,7 @@ void func_8017C1EC(s32 a0) func_8001C810(s0, (s32)D_80190F74); func_8012A828(a0, (s32)D_8018D838); - *(s32 *)(a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; *(s16 *)(s0 + 0x1A) = 0x3C00; *(s16 *)(s0 + 0x18) = 0x3C00; *(s16 *)(s0 + 0x10) = -0x20; @@ -3464,8 +3464,8 @@ void func_8017C1EC(s32 a0) ((void (*)(s32))func_8012B260)(a0); - *(s32 *)(a0 + 0x58) = (s32)D_80190F7C; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_80190F7C; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -3535,7 +3535,7 @@ void func_8017C2B0(s32 a0) extern void (*D_80190FBC[])(void); void func_8017C338(void *a0) { - D_80190FBC[*(u16 *)((s32)a0 + 0x2)](); + D_80190FBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3611,7 +3611,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D23) extern void (*D_80190FC4[])(void); void func_8017C5CC(void *a0) { - D_80190FC4[*(u16 *)((s32)a0 + 0x2)](); + D_80190FC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3740,7 +3740,7 @@ extern s16 D_801BE498; extern s16 D_8019102C; void func_8017D734(s32 param_1) { - if (*(s16 *)(param_1 + 0x100) > 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk100 > 0) { if (func_8012CBCC(param_1) & 0x6000) { *(s16 *)(param_1 + 0x16) = -4; } @@ -3750,33 +3750,33 @@ void func_8017D734(s32 param_1) { func_8017D5F0(param_1, r); } } - if (*(s16 *)(param_1 + 0xA) < *(s16 *)(param_1 + 0x8A) - 0x30) { - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + 0x40; + if (CAST_SIGN(s16, param_1, 0xA) < CAST_SIGN(s16, param_1, 0x8A) - 0x30) { + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + 0x40; } } - if (--*(s32 *)(param_1 + 0x1C) == 0) { - s32 phase = (u16)(*(u16 *)(param_1 + 0x100) + 1) & 3; - *(u16 *)(param_1 + 0x100) = phase; + if (--((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + s32 phase = (u16)(CAST_SIGN(u16, param_1, 0x100) + 1) & 3; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = phase; if (phase == 0) { - *(s32 *)(param_1 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x14; func_8012A828(param_1, (s32)&D_801BE3F0); } else if (phase >= 0) { if (phase < 4) { u16 *s1 = (u16 *)&D_80191010; s32 t; - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; func_8012A828(param_1, (s32)&D_801BE498); t = func_8012BE98(param_1, s1); if (t < 0x4000) { s32 r2 = rand(); - s32 v1 = *(s32 *)(param_1 + 0x20); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(v1 + 0x12) = *(u16 *)(v1 + 0x12) + (r2 & 0x1FF); } else { s32 v0 = func_8012B744((void *)(param_1 + 4), s1); - s32 v1 = *(s32 *)(param_1 + 0x20); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(v1 + 0x12) = (u16)v0; } func_8012B2CC(param_1); @@ -3873,32 +3873,32 @@ extern void *D_80191044[]; void func_8017DA48(s32 a0) { /* +0xFC = requested sub-state, +0xFE = acked sub-state */ - if (*(s16 *)(a0 + 0xFC) != *(s16 *)(a0 + 0xFE)) { - *(s16 *)(a0 + 0xFE) = *(s16 *)(a0 + 0xFC); - switch (*(s16 *)(a0 + 0xFC)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != ((Unkstruct_800B5CB8 *)a0)->unkFE) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = ((Unkstruct_800B5CB8 *)a0)->unkFC; + switch (((Unkstruct_800B5CB8 *)a0)->unkFC) { case 0: - *(s32 *)(a0 + 0x1C) = 1; /* timer */ - *(s16 *)(a0 + 0x2) = 1; /* state */ + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; /* timer */ + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; /* state */ break; case 1: func_8012A828(a0, (s32)&D_801BE2F0); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; case 2: func_8012A828(a0, (s32)&D_801BE5E0); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0xC00; func_8012B2CC(a0); func_8012B1B4(a0, (s32)&D_80191038); - *(s16 *)(a0 + 0x2) = 4; - *(s32 *)(a0 + 0x1C) = 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x78; break; case 3: func_8012A828(a0, (s32)&D_801BE2F0); - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; break; } } - ((void (*)(s32))D_80191044[*(u16 *)(a0 + 0x2)])(a0); + ((void (*)(s32))D_80191044[CAST_SIGN(u16, a0, 0x2)])(a0); } @@ -3914,19 +3914,19 @@ void func_8017DB6C(s32 arg0) { if (func_8012C354(arg0, (s32)&D_80190FDC) == 0) { return; } - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(u8 *)(s0 + 0xC1) = 0; - *(s32 *)(s0 + 0xC4) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; if (((u32)func_80029504() < 0x14) || ((u32)func_80029504() >= 0x46) || (((func_80029178(0xE5) & 0xFF) != 0) && (func_80029504() != 0x3C))) { func_8012C218((void *)s0); } else { func_80143970(s0); - *(s16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012B23C(s0); func_8012A828(s0, (s32)&D_801BE2F0); - *(s32 *)(s0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 1; } } @@ -4013,8 +4013,8 @@ void func_8017DCE4(s32 a0) *(s32 *)(pv + 0xC) += *(s32 *)(pv + 0x18); } - tmp.vx = *(u16 *)(s1 + 6) + 0x20; - tmp.vz = *(u16 *)(s1 + 0xE) + 0x20; + tmp.vx = ((Unkstruct_800B5CB8 *)s1)->unk6 + 0x20; + tmp.vz = ((Unkstruct_800B5CB8 *)s1)->unkE + 0x20; v0 = func_8012B744((void *)(pv + 4), &tmp); { @@ -4029,7 +4029,7 @@ void func_8017DCE4(s32 a0) extern void (*D_8019106C[])(void); void func_8017DDEC(void *a0) { - D_8019106C[*(u16 *)((s32)a0 + 0x2)](); + D_8019106C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4059,7 +4059,7 @@ void func_8017DE28(s32 arg0) { extern void (*D_801910A4[])(void); void func_8017DEAC(void *a0) { - D_801910A4[*(u16 *)((s32)a0 + 0x2)](); + D_801910A4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4746,7 +4746,7 @@ void func_8017EB98(s32 param_1) extern void func_80187778(s32 *a0, s32 a1); extern short D_801913D4; void func_8017ED8C(void *a0) { - *(short *)((char *)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_80187778(a0, &D_801913D4); } @@ -4827,7 +4827,7 @@ void func_8017EDB8(void *a0) { extern void (*D_801914A8[])(void); void func_8017EEA8(void *a0) { - D_801914A8[*(u16 *)((s32)a0 + 0x2)](); + D_801914A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5259,7 +5259,7 @@ void func_8017F750(void *a0, s32 a1) { extern void (*D_801918FC[])(void); void func_8017F7C8(void *a0) { - D_801918FC[*(u16 *)((s32)a0 + 0x2)](); + D_801918FC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5281,9 +5281,9 @@ void func_8017F804(s32 param_1) { return; } for (i = 0; i < 4; i++) { - if (D_8019190C[*(s16 *)(param_1 + 0x100)][i] == *(s32 *)(param_1 + 0x1c)) { + if (D_8019190C[((Unkstruct_800B5CB8 *)param_1)->unk100][i] == ((Unkstruct_800B5CB8 *)param_1)->unk1C) { func_8012C658(0x140, - *(u8 *)(param_1 + 0xfc) | ((*(s16 *)(param_1 + 0xfe) << 8) & 0xff00), + CAST_WIDTH(u8, param_1, 0xfc) | ((((Unkstruct_800B5CB8 *)param_1)->unkFE << 8) & 0xff00), param_1); break; } @@ -5291,17 +5291,17 @@ void func_8017F804(s32 param_1) { if (func_8012BEE8(param_1) == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0x50; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x50; uVar1 = rand(); - v1 = *(u16 *)(param_1 + 0xfe) + (uVar1 & 0xf) - 7; + v1 = CAST_SIGN(u16, param_1, 0xfe) + (uVar1 & 0xf) - 7; v1 &= 0xff; - *(u16 *)(param_1 + 0xfe) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = v1; uVar1 = rand(); - v1 = *(u16 *)(param_1 + 0xfc) + (uVar1 & 0xf) - 7; + v1 = CAST_SIGN(u16, param_1, 0xfc) + (uVar1 & 0xf) - 7; v1 &= 0xff; - *(u16 *)(param_1 + 0xfc) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = v1; uVar1 = rand(); - *(s16 *)(param_1 + 0x100) = uVar1 % 7; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = uVar1 % 7; } @@ -5309,7 +5309,7 @@ void func_8017F804(s32 param_1) { extern void (*D_80191928[])(void); void func_8017F920(void *a0) { - D_80191928[*(u16 *)((s32)a0 + 0x2)](); + D_80191928[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5317,7 +5317,7 @@ void func_8017F920(void *a0) { extern void (*D_80191930[])(void); void func_8017F95C(void *a0) { - D_80191930[*(u16 *)((s32)a0 + 0x2)](); + D_80191930[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5325,7 +5325,7 @@ void func_8017F95C(void *a0) { extern void (*D_80191940[])(void); void func_8017F998(void *a0) { - D_80191940[*(u16 *)((s32)a0 + 0x2)](); + D_80191940[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5333,7 +5333,7 @@ void func_8017F998(void *a0) { extern void (*D_80191950[])(void); void func_8017F9D4(void *a0) { - D_80191950[*(u16 *)((s32)a0 + 0x2)](); + D_80191950[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5348,53 +5348,53 @@ void func_8017FA18(s32 param_1) { s32 step1; s32 step3; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0x40; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; speed = rand(); speed &= 0x3fff; speed += 0x7800; if ((rand() & 1) == 0) { speed = -speed; } - *(s32 *)(param_1 + 0xe0) = speed; - *(s32 *)(param_1 + 0xe4) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = speed; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0; break; case 1: - step1 = *(s32 *)(param_1 + 0xe4) + *(s32 *)(param_1 + 0xe0); - *(s32 *)(param_1 + 0xdc) = *(s32 *)(param_1 + 0xdc) + step1; - *(s32 *)(param_1 + 0xe4) = step1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0xde); + step1 = ((Unkstruct_800B5CB8 *)param_1)->unkE4 + ((Unkstruct_800B5CB8 *)param_1)->unkE0; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = ((Unkstruct_800B5CB8 *)param_1)->unkDC + step1; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = step1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(param_1 + 0xde); if (func_8012BEE8(param_1) == 0) { return; } - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1c) = (rand() & 0x3f) + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (rand() & 0x3f) + 0x40; break; case 2: - *(s32 *)(param_1 + 0xdc) = *(s32 *)(param_1 + 0xdc) + *(s32 *)(param_1 + 0xe4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0xde); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = ((Unkstruct_800B5CB8 *)param_1)->unkDC + ((Unkstruct_800B5CB8 *)param_1)->unkE4; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(param_1 + 0xde); if (func_8012BEE8(param_1) == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0x40; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0xe0) = -*(s32 *)(param_1 + 0xe0); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = -((Unkstruct_800B5CB8 *)param_1)->unkE0; break; case 3: - step3 = *(s32 *)(param_1 + 0xe4) + *(s32 *)(param_1 + 0xe0); - *(s32 *)(param_1 + 0xdc) = *(s32 *)(param_1 + 0xdc) + step3; - *(s32 *)(param_1 + 0xe4) = step3; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0xde); + step3 = ((Unkstruct_800B5CB8 *)param_1)->unkE4 + ((Unkstruct_800B5CB8 *)param_1)->unkE0; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = ((Unkstruct_800B5CB8 *)param_1)->unkDC + step3; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = step3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(param_1 + 0xde); if (func_8012BEE8(param_1) == 0) { return; } - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0x1c) = (rand() & 0xff) + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (rand() & 0xff) + 0x40; break; } } @@ -5404,7 +5404,7 @@ void func_8017FA18(s32 param_1) { extern void (*D_80191960[])(void); void func_8017FBC4(void *a0) { - D_80191960[*(u16 *)((s32)a0 + 0x2)](); + D_80191960[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5675,7 +5675,7 @@ extern void func_8017F13C(void); s32 v0; u16 val; v0 = ((s32 (*)(void *))func_8012C1B8)(a0); - *(s32 *)((char *)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -5687,10 +5687,10 @@ extern void func_8017F13C(void); func_8012C588(0x14C, 0); func_8012C588(0x335, 0); func_8012C588(0x3D9, 0); - val = *(u16 *)((char *)a0 + 0x72); - *(u16 *)((char *)a0 + 0x2) = 1; + val = ((Unkstruct_800B5CB8 *)a0)->unk72; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; val |= 0x1000; - *(u16 *)((char *)a0 + 0x72) = val; + ((Unkstruct_800B5CB8 *)a0)->unk72 = val; func_8017F13C(); } @@ -5699,10 +5699,10 @@ extern u8 D_80191904[]; extern void func_8012E8E0(s32 a0, s32 a1); void func_801801E0(s32 a0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E8E0(a0, (s32)&D_80191904); - *(s16 *)(a0 + 0xFE) = 0; - *(s16 *)(a0 + 0xFC) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x80; } @@ -5744,36 +5744,36 @@ void func_80180224(u8 *arg0) func_8012CAE4(param_1); return; } - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CC3C(s0, 0, 0, 0); - *(s32 *)(s0 + 0x20) = (s32)D_800D387C; - *(u8 *)(s0 + 0x27) = 0x9C; - *(u16 *)(s0 + 0x1A) = 0x3000; - *(u16 *)(s0 + 0x18) = 0x3000; - *(u32 *)(s0 + 4) = *(u32 *)(s0 + 4) | 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk20 = (s32)D_800D387C; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x9C; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x3000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x3000; + CAST_WIDTH(u32, s0, 4) = CAST_WIDTH(u32, s0, 4) | 0x50000000; func_80128EA8(s0, (s32)(param_1 + 0xD0), (s32)D_800D3888); } { - s32 obj = *(s32 *)(param_1 + 0xCC); - *(u16 *)(obj + 8) = *(u16 *)(param_1 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(param_1 + 0xA); - *(u16 *)(obj + 0xC) = *(u16 *)(param_1 + 0xE); + s32 obj = ((Unkstruct_800B5CB8 *)param_1)->unkCC; + *(u16 *)(obj + 8) = ((Unkstruct_800B5CB8 *)param_1)->unk6; + *(u16 *)(obj + 0xA) = ((Unkstruct_800B5CB8 *)param_1)->unkA; + *(u16 *)(obj + 0xC) = ((Unkstruct_800B5CB8 *)param_1)->unkE; } - raw = *(s16 *)(param_1 + 0x70); - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(u16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x10) = 0; - *(s32 *)(param_1 + 0x14) = 0xFFF80000; - *(s32 *)(param_1 + 0x18) = 0; + raw = ((Unkstruct_800B5CB8 *)param_1)->unk70; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + CAST_WIDTH(s32, param_1, 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFF80000; + CAST_WIDTH(s32, param_1, 0x18) = 0; func_8012B0B4((unsigned int *)buf, (raw & 0xFF00) >> 4, (raw & 0xFF) << 6); { s32 full; s32 low; full = *(s32 *)buf; low = *(s16 *)buf; - *(s32 *)(param_1 + 0x48) = 0; - *(s32 *)(param_1 + 0x44) = low; - *(s32 *)(param_1 + 0x4C) = full >> 16; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk44 = low; + ((Unkstruct_800B5CB8 *)param_1)->unk4C = full >> 16; } } @@ -5788,13 +5788,13 @@ void func_80180340(s32 param_1) { s32 temp_s1; s32 temp_v1; - temp_s1 = *(s32 *)(param_1 + 0xCC); + temp_s1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; func_8012AD80(param_1); - temp_v1 = *(s32 *)(param_1 + 0xCC); - *(u16 *)(temp_v1 + 8) = *(u16 *)(param_1 + 6); - *(u16 *)(temp_v1 + 0xA) = *(u16 *)(param_1 + 0xA); - *(u16 *)(temp_v1 + 0xC) = *(u16 *)(param_1 + 0xE); - if ((*(u32 *)(param_1 + 0x1C) & 7) == 0) { + temp_v1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; + *(u16 *)(temp_v1 + 8) = ((Unkstruct_800B5CB8 *)param_1)->unk6; + *(u16 *)(temp_v1 + 0xA) = ((Unkstruct_800B5CB8 *)param_1)->unkA; + *(u16 *)(temp_v1 + 0xC) = ((Unkstruct_800B5CB8 *)param_1)->unkE; + if ((CAST_SIGN(u32, param_1, 0x1C) & 7) == 0) { func_80128ED8(temp_s1, (s32 *)(param_1 + 0xD0)); } if (func_8012BEE8(param_1) != 0) { @@ -5823,15 +5823,15 @@ extern void func_8012B414(int a0); void func_80180410(s32 a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C214(v0, (s32)D_801BECE0); - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x7FFF, 0x7FFF); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x7FFF, 0x7FFF); func_8012E8E0(a0, (s32)D_80191938); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } @@ -5858,16 +5858,16 @@ void func_801804D0(s32 a0) { func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0x20) = v0 = ((s32 (*)(void))func_8012C1B8)(); + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = ((s32 (*)(void))func_8012C1B8)(); if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C810(v0, (s32)D_801BE978); - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x7FFF, 0x7FFF); + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x7FFF, 0x7FFF); func_8012E8E0(a0, (s32)D_80191948); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; return; } @@ -5887,17 +5887,17 @@ s32 a0; s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); } else { func_8001C214(v0, (s32)D_801BEE78); func_8012E8E0(a0, (s32)D_80191958); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xDC) = 0; - *(s32 *)(a0 + 0xE0) = 0; - *(s32 *)(a0 + 0xE4) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; } } @@ -5911,7 +5911,7 @@ void func_801805EC(void *a0) { extern void (*D_80191978[])(void); void func_801805F8(void *a0) { - D_80191978[*(u16 *)((s32)a0 + 0x2)](); + D_80191978[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5991,7 +5991,7 @@ void func_80180770(void *a0) { extern void (*D_8019198C[])(void); void func_8018077C(void *a0) { - D_8019198C[*(u16 *)((s32)a0 + 0x2)](); + D_8019198C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6064,7 +6064,7 @@ void func_801808F0(void *a0) { extern void (*D_801919A0[])(void); void func_801808FC(void *a0) { - D_801919A0[*(u16 *)((s32)a0 + 0x2)](); + D_801919A0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6144,7 +6144,7 @@ extern void func_8012A828(s32, s32); extern void (*D_80191B0C[])(void); void func_80180A88(void *a0) { - D_80191B0C[*(u16 *)((s32)a0 + 0x2)](); + D_80191B0C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6193,7 +6193,7 @@ void func_80180B5C(void *arg0) extern short D_801919AC; extern short D_801C3B38; extern short D_801B92EC; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_801919AC); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C3B38); @@ -6213,7 +6213,7 @@ void func_80180BCC(void *arg0) { extern short D_801B92FC; s32 s0; s0 = (s32)arg0; - *(short *)((char *)arg0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)s0, (s32)&D_801C3B38); func_80187750((s32)s0); @@ -6226,7 +6226,7 @@ void func_80180BCC(void *arg0) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801C3B38; void func_80180C3C(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; func_8012A828((int)arg0, (int)&D_801C3B38); } @@ -6259,7 +6259,7 @@ void func_80180C68(s32 *param_1) extern short D_801C3B38; extern short D_801B92EC; void func_80180CD4(s32 a0) { - *(u16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&(*(s32 *)&D_801C3B38)); func_80187750(a0); @@ -6358,7 +6358,7 @@ void func_80180ECC(void *a0) { u16 state; s32 r; - state = *(u16 *)((char *)a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 1: r = func_801789AC((s32)a0); @@ -6368,7 +6368,7 @@ void func_80180ECC(void *a0) { } else { func_80178CBC((s32 *)a0, (s32)&D_80191AEC); } - *(u16 *)((char *)a0 + 0x34) = *(u16 *)((char *)a0 + 0x34) + 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 0x1; } break; case 0: @@ -6417,8 +6417,8 @@ void func_80180FF8(void *arg0) { func_80180B1C((s32)arg0); } - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)func_80181078); + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)func_80181078); } @@ -6464,7 +6464,7 @@ void func_801810EC(void *a0) { extern void (*D_80191B30[])(void); void func_801810F8(void *a0) { - D_80191B30[*(u16 *)((s32)a0 + 0x2)](); + D_80191B30[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6542,7 +6542,7 @@ extern void func_80187778(s32*, s32); extern void func_80187778(s32 *a0, s32 a1); extern short D_80191B3C; void func_80181298(short *param_1) { - *(short *)((char *)param_1 + 0x2) = 0x3; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x3; func_80187778(param_1, &D_80191B3C); } @@ -6551,7 +6551,7 @@ extern void func_80187778(s32 *a0, s32 a1); extern void (*D_80191C08[])(void); void func_801812C4(void *a0) { - D_80191C08[*(u16 *)((s32)a0 + 0x2)](); + D_80191C08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6647,7 +6647,7 @@ extern void func_80187778(s32 *a0, s32 a1); void func_801814C4(s32 *arg0) { s32 *s0 = arg0; s32 v0, v1; - *(s32 *)((u8 *)(*(s32 **)((u8 *)s0 + 0xCC)) + 0xB0) = 2; + CAST_NONSTRUCT(s32, (u8 *)(*(s32 **)((u8 *)s0 + 0xCC)), 0xB0) = 2; v0 = func_8018766C(6, 0x12); if (v0 != 0) { v1 = 1; @@ -6656,7 +6656,7 @@ extern void func_80187778(s32 *a0, s32 a1); v1 = (v0 != 0) ? 2 : 0; } if (v1 != 2) { - *(s16 *)((u8 *)s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_80187778(s0, (s32)&D_80191B3C); } } @@ -6717,13 +6717,13 @@ void func_801815A0(void *arg0) { goto tail; } - *(short *)((char *)s0 + 2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; func_80187778((s32 *)s0, (s32)&D_80191B3C); tail: - ptr = *(void **)((char *)s0 + 0x68); + ptr = CAST_SIGN(void *, (char *)s0, 0x68); *(short *)((char *)ptr + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)func_8018166C); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)func_8018166C); } @@ -6808,7 +6808,7 @@ common: extern void (*D_80191C20[])(void); void func_801817C4(void *a0) { - D_80191C20[*(u16 *)((s32)a0 + 0x2)](); + D_80191C20[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6846,7 +6846,7 @@ void func_80181864(s32 a0) { extern void func_80187778(s32 *a0, s32 a1); extern short D_80191C28; void func_801818E0(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x2; func_80187778((s32 *)a0, (s32)&D_80191C28); } @@ -6855,7 +6855,7 @@ extern void func_80187778(s32 *a0, s32 a1); extern void (*D_80191C90[])(void); void func_8018190C(void *a0) { - D_80191C90[*(u16 *)((s32)a0 + 0x2)](); + D_80191C90[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6869,7 +6869,7 @@ s32 func_80181948(s32 a0) { if (e == 0) { cond = 0; } else { - cond = (*(u16 *)(e + 2) == 3); + cond = (CAST_SIGN(u16, e, 2) == 3); } return cond; } @@ -6911,7 +6911,7 @@ void func_80181A18(s32 *a0) *(s32 *)(a0[0x33] + 0xB0) = 2; if (func_80181948((s32)a0) == 0) { - *(s16 *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80187778(a0, (s32)&D_80191C28); } } @@ -6930,20 +6930,20 @@ void func_80181A68(void *arg0) extern s16 D_80191C28; extern s16 D_801E4340; - switch (*(u16 *)((char *)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: if (func_80128C98(4) != 0) { - *(u16 *)((char *)arg0 + 0x34) = *(u16 *)((char *)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; func_8001C97C(&D_801F1370); - *(s32 *)(*(s32 *)((char *)arg0 + 0x20) + 0x24) = (s32)&D_801F1370; + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x24) = (s32)&D_801F1370; func_80178CBC(arg0, (s32)&D_80191C58); } break; case 1: if (((int (*)(s32))func_80178970)(arg0) != 0) { ((void (*)(s32))func_80178D18)(arg0); - *(s32 *)(*(s32 *)((char *)arg0 + 0x20) + 0x24) = (s32)&D_801E4340; - *(s16 *)((char *)arg0 + 2) = 2; + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x24) = (s32)&D_801E4340; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_80187778(arg0, (s32)&D_80191C28); } break; @@ -6966,16 +6966,16 @@ void func_80181B40(void *arg0) { } if (((int (*)(void))func_80181948)() != 0) { - *(s16 *)((char *)arg0 + 2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; } else { - *(s16 *)((char *)arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; } func_80187778((s32 *)arg0, (s32)&D_80191C28); - v1 = *(void **)((char *)arg0 + 0x68); + v1 = CAST_SIGN(void *, (char *)arg0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)func_80181BC0); + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)func_80181BC0); } @@ -7023,8 +7023,8 @@ void func_80181C38(void *arg0) extern short D_801C37E8; extern short D_801B9348; - *(short *)((char *)arg0 + 0x2) = 2; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_80191CA4); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C37E8); @@ -7045,7 +7045,7 @@ void func_80181CAC(void *a0) { extern short D_80191CAC; extern short D_801C3890; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191CAC); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801C3890); @@ -7063,14 +7063,14 @@ void func_80181CAC(void *a0) { extern s32 D_801C37E8; extern u8 D_801B9354[]; void *v1; - *(short *)((char *)arg0 + 0x2) = 0x4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x4; func_8012E8E0((s32)arg0, (s32)&D_80191CAC); - v1 = *(void **)((char *)arg0 + 0x20); + v1 = CAST_SIGN(void *, (char *)arg0, 0x20); *(short *)((char *)v1 + 0x12) = *(short *)((char *)v1 + 0x12) + 0x800; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&(*(short *)&D_801C37E8)); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&(*(short *)D_801B9354), 0x1, 0x40); } @@ -7078,7 +7078,7 @@ void func_80181CAC(void *a0) { extern void func_80187778(s32 *a0, s32 a1); extern short D_80191CA4; void func_80181D8C(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; func_80187778((s32 *)a0, (s32)&D_80191CA4); } @@ -7118,23 +7118,23 @@ void func_80181DB8(void *arg0) { func_80187778((s32 *)s0, (s32)&D_80191CA4); - ptr = *(void **)((u8 *)s0 + 0x68); + ptr = CAST_SIGN(void *, (u8 *)s0, 0x68); *(s16 *)((u8 *)ptr + 0xC) = 0x7FFF; - *(s32 *)((u8 *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)func_80181FE0); - *(s32 *)((u8 *)s0 + 0xD8) = func_801788B8((s32)s0, (s32)func_80182058); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)func_80181FE0); + ((Unkstruct_800B5CB8 *)s0)->unkD8 = func_801788B8((s32)s0, (s32)func_80182058); v0 = ((s32 (*)(void))func_801877C0)(); if (v0 == 3) { if (func_8018766C(0xA, 0x16) == 0) { - *(s16 *)((u8 *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } else { - *(s16 *)((u8 *)s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } } else { if (func_8018766C(0xA, 0x10) != 0) { - *(s16 *)((u8 *)s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E8E0((s32)s0, (s32)&D_80191CAC); func_8012E88C((s32)s0); func_8012A828((s32)s0, (s32)&D_801C3890); @@ -7142,9 +7142,9 @@ void func_80181DB8(void *arg0) { return; } else { if (func_8018766C(0x10, 0x16) != 0) { - *(s16 *)((u8 *)s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } else { - *(s16 *)((u8 *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } } } @@ -7157,7 +7157,7 @@ void func_80181DB8(void *arg0) { extern void (*D_80191D3C[])(void); void func_80181ED4(void *a0) { - D_80191D3C[*(u16 *)((s32)a0 + 0x2)](); + D_80191D3C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7172,7 +7172,7 @@ extern void func_80178CBC(s32*, s32); void func_80181F10(void *a0) { s32 v0; - *(short *)((char *)a0 + 0x2) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; func_8012E8E0((s32)a0, (s32)&D_80191CAC); func_8012E88C((s32)a0); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801C3890); @@ -7309,7 +7309,7 @@ void func_80182148(void *a0) { s32 v0; - *(s32 *)(*(s32 *)((u8 *)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0xCC))->unkB0 = 2; v0 = ((s32 (*)(void))func_801877C0)(); if (v0 == 3) { v0 = func_8018766C(0xA, 0x16); @@ -7335,7 +7335,7 @@ void func_801821C0(void *a0) { extern u8 D_801B9354[]; - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_801886A0(6) == 0) { return; } @@ -7343,11 +7343,11 @@ void func_801821C0(void *a0) return; } ((void (*)(void *, void *, s32, s32))func_80187994)(a0, D_801B9354, 0, 0x40); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; } - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_80187A64((s32)a0) != 0) { func_80181CAC(a0); } @@ -7385,7 +7385,7 @@ void func_80182294(void *a0) { extern short D_801C3890; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191CAC); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801C3890); @@ -7404,11 +7404,11 @@ extern void func_80181D8C(short*); void func_80182304(void *arg0) { extern short D_801B9348; - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80187A64)() != 0) { func_80187994((s32)arg0, (s32)&((u8 *)&D_801B9348)[0], 1, 0x40); - *(s16 *)((char *)arg0 + 0x34) = 1; - *(s32 *)((char *)arg0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x20; } } else if (func_801886A0(6) != 0) { if (func_80187A64((s32)arg0) != 0) { @@ -7473,8 +7473,8 @@ void func_8018247C(void *a0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = D_801EEAF0; - *(short *)((char *)a0 + 0x34) = D_801EEAF2; + CAST_ALIAS(short, (char *)a0, 0x2) = D_801EEAF0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = D_801EEAF2; func_8012A828((s32)a0, (s32)&D_801C37E8); } } @@ -7491,11 +7491,11 @@ extern void func_80187994(s32 a0, s32 a1, s32 a2, s32 a3); void func_801824DC(void *arg0) { s32 s0; s0 = (s32)arg0; - *(s16*)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32*)s0, (s32)&D_801C36E8); func_80187750((s32)s0); - *(s16*)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)s0, (s32)D_801B9360, 0, 0x80); func_80182898(); } @@ -7512,7 +7512,7 @@ extern void func_80187750(s32); void func_80182548(void *a0) { extern s32 D_80191D74; extern short D_801CAA80; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191D74); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); @@ -7533,11 +7533,11 @@ void *arg0; { extern s16 D_801C36E8; extern u8 D_801B936C[]; - *(short *)((char *)arg0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E88C((s32)arg0); ((void (*)(s32*, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&D_801B936C, 1, 0x80); } @@ -7545,7 +7545,7 @@ void *arg0; extern void func_80187778(s32 *a0, s32 a1); extern short D_80191D6C; void func_8018260C(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7; func_80187778((s32 *)a0, (s32)&D_80191D6C); } @@ -7560,12 +7560,12 @@ void func_80182638(arg0) void *arg0; { extern s16 D_801C36E8; - *(short *)((char *)arg0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; func_8012E88C((s32)arg0); ((void (*)(s32*, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); func_801828B0(); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } @@ -7584,11 +7584,11 @@ extern void func_80187750(s32); void func_801826B8(void *arg0) { extern s16 D_801C36E8; - *(short *)((char *)arg0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0xA; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } @@ -7603,12 +7603,12 @@ extern void func_80187994(s32, s32, s32, s32); void func_80182704(void *a0) { - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_801886A0(0xD) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80187994((s32)a0, (s32)D_801B93F4, 1, 0x80); return; case 1: @@ -7616,21 +7616,21 @@ void func_80182704(void *a0) if (((s32 (*)(s32))func_80187A64)((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_80187994((s32)a0, (s32)D_801B93A4, 1, 0x80); return; case 2: if (((s32 (*)(s32))func_80187A64)((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 3; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; return; case 3: if (func_801886A0(3) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_80187994((s32)a0, (s32)D_801B9360, 1, 0x80); return; case 4: @@ -7638,7 +7638,7 @@ void func_80182704(void *a0) if (((s32 (*)(s32))func_80187A64)((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80187778((s32 *)a0, (s32)&D_80191D6C); return; } @@ -7649,7 +7649,7 @@ void func_80182704(void *a0) extern void (*D_80191E0C[])(void); void func_80182824(void *a0) { - D_80191E0C[*(u16 *)((s32)a0 + 0x2)](); + D_80191E0C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7692,7 +7692,7 @@ void func_801828C8(void *arg0) { extern s32 D_80191D74; extern s32 D_801C3790; extern s32 D_80191DA4; - *(short *)((char *)arg0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; func_8012E8E0((s32)arg0, (s32)&D_80191D74); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C3790); @@ -7738,10 +7738,10 @@ extern void func_80187994(s32, s32, s32, s32); void func_801829A8(void *a0) { s32 v0; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if ((v0 = func_801886A0(3)) != 0 && (v0 = ((s32 (*)(void *))func_80187A64)(a0)) != 0) { ((void (*)(void *, void *, s32, s32))func_80187994)(a0, D_801B936C, 0, 0x80); - *(u16 *)((u8 *)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } } else { if ((v0 = ((s32 (*)(void *))func_80187A64)(a0)) != 0) { @@ -7790,7 +7790,7 @@ void *a0; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191D74); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); @@ -7809,10 +7809,10 @@ extern void func_8018260C(short*); void func_80182AEC(void *arg0) { extern u8 D_801B9360[]; - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80187A64)() != 0) { func_80187994((s32)arg0, (s32)&D_801B9360[0], 1, 0x80); - *(s16 *)((char *)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; } } else if (func_801886A0(3) != 0) { if (func_80187A64((s32)arg0) != 0) { @@ -7848,12 +7848,12 @@ extern void func_8018268C(void *arg0); void func_80182BB8(void *arg0) { - switch (*(u16 *)((s32)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: if (func_801886A0(3) == 0) { return; } - *(u16 *)((s32)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; func_80187994((s32)arg0, (s32)D_801B9360, 0, 0x80); return; case 1: @@ -7861,20 +7861,20 @@ void func_80182BB8(void *arg0) if (func_80187A64((s32)arg0) == 0) { return; } - *(u16 *)((s32)arg0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 2; func_80187994((s32)arg0, (s32)D_801B93A4, 0, 0x80); return; case 2: if (func_80187A64((s32)arg0) == 0) { return; } - *(u16 *)((s32)arg0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 3; return; case 3: if (func_801886A0(0xD) == 0) { return; } - *(u16 *)((s32)arg0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 4; func_80187994((s32)arg0, (s32)D_801B93F4, 0, 0x80); return; case 4: @@ -7931,7 +7931,7 @@ void func_80182D04(void *a0) { func_80182860(); v0 = func_8018766C(9, 0xF); if (v0 != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191D74); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); @@ -7939,17 +7939,17 @@ void func_80182D04(void *a0) { func_80182898(); } else { if (func_8018766C(0xF, 0x11) != 0) { - *(s16 *)((char *)a0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; } else if (func_8018766C(0x11, 0x12) != 0) { - *(s16 *)((char *)a0 + 0x2) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; } else { - *(s16 *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_80187778((s32 *)a0, (s32)&D_80191D6C); } - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_80182DFC); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_80182DFC); } } @@ -8001,12 +8001,12 @@ void func_80182E70(void *arg0) { extern short D_80191E38; extern short D_801C37E8; extern short D_801B9400; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_80191E38); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C37E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&D_801B9400, 0, 0x40); } @@ -8023,7 +8023,7 @@ void func_80182EE4(void *a0) { extern short D_80191E40; extern short D_801C3890; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191E40); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801C3890); @@ -8078,14 +8078,14 @@ s32 func_80182F3C(s32 a0) { if (e == 0) { cond = 0; } else { - cond = (*(u16 *)(e + 2) == 3); + cond = (CAST_SIGN(u16, e, 2) == 3); } } else { e = func_8012E544(0xA2); if (e == 0) { cond = 0; } else { - cond = (*(u16 *)(e + 2) == 3); + cond = (CAST_SIGN(u16, e, 2) == 3); } } @@ -8174,14 +8174,14 @@ s32 func_80182F3C(s32 a0) { extern s32 D_801C37E8; extern u8 D_801B940C[]; void *v1; - *(short *)((char *)arg0 + 0x2) = 0x4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x4; func_8012E8E0((s32)arg0, (s32)&D_80191E40); - v1 = *(void **)((char *)arg0 + 0x20); + v1 = CAST_SIGN(void *, (char *)arg0, 0x20); *(short *)((char *)v1 + 0x12) = *(short *)((char *)v1 + 0x12) + 0x800; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&(*(short *)&D_801C37E8)); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&(*(short *)D_801B940C), 0x1, 0x40); } @@ -8189,7 +8189,7 @@ s32 func_80182F3C(s32 a0) { extern void func_80187778(s32 *a0, s32 a1); extern short D_80191E38; void func_801831F0(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; func_80187778((s32 *)a0, (s32)&D_80191E38); } @@ -8218,34 +8218,34 @@ void func_8018321C(void *a0) { if (func_8018727C(a0, &D_80191E48) != 0) { if (((s32 (*)(void))func_801877C0)() == 3) { if (func_8018766C(0xA, 0x15) == 0) { - *(s16 *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } else { - *(s16 *)((char *)s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } ((void (*)(s32 *, s32))func_80187778)((s32 *)s0, (s32)&D_80191E38); } else { if (func_8018766C(0xA, 0x10) != 0) { - *(s16 *)((char *)s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E8E0((s32)s0, (s32)&D_80191E40); func_8012E88C((s32)s0); ((void (*)(s32, s32))func_8012A828)((s32)s0, (s32)&D_801C3890); func_80187750((s32)s0); } else { if (func_8018766C(0x10, 0x15) != 0) { - *(s16 *)((char *)s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } else { - *(s16 *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } ((void (*)(s32 *, s32))func_80187778)((s32 *)s0, (s32)&D_80191E38); } } - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; v0 = func_801788B8((s32)s0, (s32)&func_80183448); - *(s32 *)((char *)s0 + 0xD4) = v0; + ((Unkstruct_800B5CB8 *)s0)->unkD4 = v0; func_8012E8E0(v0, (s32)&D_80191E38); - *(s32 *)((char *)s0 + 0xD8) = func_801788B8((s32)s0, (s32)&func_801834C0); + ((Unkstruct_800B5CB8 *)s0)->unkD8 = func_801788B8((s32)s0, (s32)&func_801834C0); } } @@ -8254,7 +8254,7 @@ void func_8018321C(void *a0) { extern void (*D_801922F0[])(void); void func_8018333C(void *a0) { - D_801922F0[*(u16 *)((s32)a0 + 0x2)](); + D_801922F0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8269,7 +8269,7 @@ extern void func_80178CBC(s32*, s32); void func_80183378(void *a0) { s32 v0; - *(short *)((char *)a0 + 0x2) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; func_8012E8E0((s32)a0, (s32)&D_80191E40); func_8012E88C((s32)a0); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801C3890); @@ -8281,7 +8281,7 @@ void func_80183378(void *a0) { extern void func_80178CBC(s32 *a0, s32 a1); extern short D_80191E70; void func_801833DC(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7; func_80178CBC((s32 *)a0, (s32)&D_80191E70); } @@ -8404,7 +8404,7 @@ void func_801835B0(void *a0) { s32 v0; - *(s32 *)(*(s32 *)((char *)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0xCC))->unkB0 = 2; if (((s32 (*)(void))func_801877C0)() == 3) { if (func_8018766C(0xA, 0x15) != 0) { func_801831F0((short *)a0); @@ -8427,7 +8427,7 @@ void func_80183628(void *a0) { extern u8 D_801B940C[]; - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_801886A0(3) == 0) { return; } @@ -8435,11 +8435,11 @@ void func_80183628(void *a0) return; } ((void (*)(void *, void *, s32, s32))func_80187994)(a0, D_801B940C, 0, 0x40); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; } - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_80187A64((s32)a0) != 0) { func_80182EE4(a0); } @@ -8474,7 +8474,7 @@ void func_80183708(void *a0) { extern short D_801C3890; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191E40); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801C3890); @@ -8492,10 +8492,10 @@ extern void func_801831F0(short*); void func_80183778(void *arg0) { extern u8 D_801B9400[]; - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80187A64)() != 0) { func_80187994((s32)arg0, (s32)&D_801B9400[0], 1, 0x40); - *(s16 *)((char *)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; } } else if (func_801886A0(3) != 0) { if (func_80187A64((s32)arg0) != 0) { @@ -8575,12 +8575,12 @@ void func_80183948(void *arg0) { extern short D_80192320; extern short D_801C36E8; extern short D_801B9434; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_80192320); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&D_801B9434, 0, 0x60); } @@ -8597,7 +8597,7 @@ void func_801839BC(void *a0) { extern short D_80192328; extern short D_801CAA80; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80192328); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); @@ -8614,12 +8614,12 @@ void func_801839BC(void *a0) { extern short D_80192328; extern short D_801C36E8; extern short D_801B9440; - *(short *)((char *)arg0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E8E0((s32)arg0, (s32)&D_80192328); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&D_801B9440, 1, 0x60); } @@ -8628,7 +8628,7 @@ void func_801839BC(void *a0) { extern void (*D_80192418[])(void); void func_80183A88(void *a0) { - D_80192418[*(u16 *)((s32)a0 + 0x2)](); + D_80192418[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8664,7 +8664,7 @@ void func_80183B14(void *arg0) { extern s32 D_80192328; extern s32 D_801C3790; extern s32 D_80192398; - *(short *)((char *)arg0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; func_8012E8E0((s32)arg0, (s32)&D_80192328); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C3790); @@ -8722,12 +8722,12 @@ extern void func_80187994(s32, s32, s32, s32); void func_80183C30(s32 a0) { s32 v0, v1; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if ((v0 = func_801886A0(2)) != 0 && (v0 = func_80187A64(a0)) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80187994(a0, (s32)&D_801B9440, 0, 0x60); - v1 = *(s32 *)(a0 + 0xCC); - *(s32 *)(v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; } } else { if ((v0 = func_80187A64(a0)) != 0) { @@ -8768,7 +8768,7 @@ void func_80183D08(void *a0) { extern short D_801CAA80; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80192328); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); @@ -8785,15 +8785,15 @@ extern void func_80187778(s32*, s32); extern void func_80187994(s32, s32, s32, s32); void func_80183D78(s32 a0) { - if (*(u16*)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_80187A64(a0) != 0) { - *(s16*)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80187994(a0, (s32)&D_801B9434, 1, 0x60); } } else { if (func_801886A0(0x2) != 0) { if (func_80187A64(a0) != 0) { - *(s16*)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80187778((s32*)a0, (s32)&D_80192320); } } @@ -8825,18 +8825,18 @@ void func_80183E14(void *a0) { func_80183AFC(); v0 = func_8018766C(7, 0xE); if (v0 != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80192328); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CAA80); func_80187750((s32)a0); } else { - *(s16 *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80187778((s32 *)a0, (s32)&D_80192320); } - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_80183EE4); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_80183EE4); } } @@ -8881,7 +8881,7 @@ void func_80183F58(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern s32 D_80192434; - *(s16 *)((char *)arg0 + 0x2) = 0x2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x2; func_80187778(arg0, &D_80192434); } @@ -8896,7 +8896,7 @@ extern void func_80187750(s32); extern void func_80187994(s32, s32, s32, s32); void func_80183F84(s32 a0) { - *(short *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8E0(a0, (s32)&D_80192434); func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801C37E8); @@ -8913,7 +8913,7 @@ extern void func_80187750(s32); extern void func_80187994(s32, s32, s32, s32); void func_80183FF4(s32 a0) { - *(u16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801C37E8); func_80187750(a0); @@ -8933,11 +8933,11 @@ void *arg0; { extern short D_801C37E8; extern u8 D_801B9464[]; - *(short *)((char *)arg0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 7; func_8012E88C((s32)arg0); ((void (*)(s32*, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C37E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80187994((s32)arg0, (s32)&D_801B9464, 1, 0x40); } @@ -8946,7 +8946,7 @@ void *arg0; extern void func_80187778(s32*, s32); extern short D_80192434; void func_801840B8(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; ((void (*)(s32, s32))func_80187778)((int)arg0, (int)&D_80192434); } @@ -8979,20 +8979,20 @@ void func_801840E4(void *a0) { if (((s32 (*)(void))func_801877C0)() == 3) { v0 = func_8018766C(7, 0x14); if (v0 != 0) { - *(s16 *)((char *)s0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; } else { - *(s16 *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } func_80187778(s0, &D_80192434); } else { v0 = func_8018766C(7, 0xA); if (v0 != 0) { - *(s16 *)((char *)s0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; func_80187778(s0, &D_80192434); } else { v0 = func_8018766C(0xA, 0xC); if (v0 != 0) { - *(s16 *)((char *)s0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 6; func_8012E88C((s32)s0); ((void (*)(s32, s32))func_8012A828)((s32)s0, (s32)&D_801C37E8); func_80187750((s32)s0); @@ -9000,19 +9000,19 @@ void func_801840E4(void *a0) { } else { v0 = func_8018766C(0xC, 0x14); if (v0 != 0) { - *(s16 *)((char *)s0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; } else { - *(s16 *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } func_80187778(s0, &D_80192434); } } } - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80184350); - *(s32 *)((char *)s0 + 0xD8) = func_801788B8((s32)s0, (s32)&func_801843DC); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80184350); + ((Unkstruct_800B5CB8 *)s0)->unkD8 = func_801788B8((s32)s0, (s32)&func_801843DC); } } @@ -9021,7 +9021,7 @@ void func_801840E4(void *a0) { extern void (*D_80192510[])(void); void func_80184210(void *a0) { - D_80192510[*(u16 *)((s32)a0 + 0x2)](); + D_80192510[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9139,8 +9139,8 @@ extern void func_80183F58(void *arg0); void func_8018444C(void *arg0) { s32 v1; - v1 = *(s32 *)((char *)arg0 + 0xCC); - *(s32 *)((char *)v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; if (func_8018766C(7, 0x14) != 0) { func_80183F58(arg0); } @@ -9154,10 +9154,10 @@ extern void func_80183F84(s32); extern s16 D_80192434; void func_80184498(void *arg0) { - *(s32 *)(*(s32 *)((s32)arg0 + 0xcc) + 0xb0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0xcc))->unkB0 = 2; if (func_801877C0((s32)arg0) == 3) { if (func_8018766C(7, 0x14) == 0) { - *(u16 *)((char *)arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_80187778((s32 *)arg0, (s32)&D_80192434); } } else if (func_8018766C(7, 0xA) == 0) { @@ -9201,7 +9201,7 @@ extern s32 func_80187A64(s32 a0); extern void func_80184054(void * arg0); void func_801845B8(void *a0) { - *(s32 *)(*(s32 *)((char *)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0xCC))->unkB0 = 2; if (((s32 (*)(s32))func_80187A64)((s32)a0)) { func_80184054(a0); } @@ -9268,7 +9268,7 @@ void *arg0; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C37E8); } @@ -9279,7 +9279,7 @@ void *arg0; extern void (*D_80192544[])(void); void func_80184748(void *a0) { - D_80192544[*(u16 *)((s32)a0 + 0x2)](); + D_80192544[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9314,7 +9314,7 @@ void func_801847D0(void *arg0) { extern short D_8019254C; extern short D_801C3990; extern short D_801B94FC; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_8019254C); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C3990); @@ -9331,7 +9331,7 @@ extern void func_80187750(s32); extern void func_80187994(s32, s32, s32, s32); void func_80184840(s32 a0) { - *(u16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&(*(short *)&D_801C3990)); func_80187750(a0); @@ -9346,7 +9346,7 @@ void func_80184840(s32 a0) { extern s32 D_801C3990; extern short D_801B94FC; void func_801848A0(s32 a0) { - *(u16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801C3990); func_80187750(a0); @@ -9358,7 +9358,7 @@ void func_80184840(s32 a0) { extern void (*D_80192624[])(void); void func_80184900(void *a0) { - D_80192624[*(u16 *)((s32)a0 + 0x2)](); + D_80192624[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9508,7 +9508,7 @@ extern void func_80187778(s32*, s32); void func_80184BB0(s32 a0) { if (func_80187A64(a0) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32 *, s32 *))func_80187778)((s32*)a0, &D_8019254C); } } @@ -9564,19 +9564,19 @@ void func_80184BF4(void *arg0) { check: if (ok != 0) { - *(short *)((char *)s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E88C((s32)s0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)s0, (s32)&D_801C3990); func_80187750((s32)s0); func_80187994((s32)s0, (s32)&D_801B9510, 0, 0x40); } else { - *(short *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_80187778((s32 *)s0, (s32)&D_8019254C); } - v1p = *(void **)((char *)s0 + 0x68); + v1p = CAST_SIGN(void *, (char *)s0, 0x68); *(short *)((char *)v1p + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80184CF0); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80184CF0); } @@ -9616,7 +9616,7 @@ s32 func_80184CF0(void *a0) extern void func_80187778(s32 *a0, s32 a1); extern short D_80192640; void func_80184D64(short *param_1) { - *(short *)((char *)param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_80187778((s32 *)param_1, (s32)&D_80192640); } @@ -9634,10 +9634,10 @@ void *arg0; extern void func_8012A828(s32, s32); extern void func_80187750(s32); - *(short *)((char *)arg0 + 0x2) = 0x2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x2; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801C36E8); func_80187750((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } diff --git a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c index ec4290bdc7..17776e3596 100644 --- a/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c +++ b/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c @@ -2610,34 +2610,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801F781C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801F7810+0xC == &D_801F781C; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2648,9 +2648,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2659,11 +2659,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801F781C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (((s32 (*)(s32, u16 *))func_8012BE98)(pv, (u16 *)((s32)&D_801F7810 + 0xC)) < 0x101) { @@ -3293,7 +3293,7 @@ void func_8017BE60(void *a0) { extern void (*D_8018FFE4[])(void); void func_8017BEBC(void *a0) { - D_8018FFE4[*(u16 *)((s32)a0 + 0x2)](); + D_8018FFE4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3367,7 +3367,7 @@ void func_8017BEF8(s32 param_1) { extern void (*D_8018FFEC[])(void); void func_8017C150(void *a0) { - D_8018FFEC[*(u16 *)((s32)a0 + 0x2)](); + D_8018FFEC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3598,22 +3598,22 @@ void func_8017C3C4(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_8019001C) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801E91B4); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801E91B4); func_8012A828(a0, (void *)&D_80190058[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801F7380; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801F7380; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3622,7 +3622,7 @@ void func_8017C3C4(s32 a0) { } p = &D_801F73B0; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801F73B2 = 0x80; @@ -3637,11 +3637,11 @@ void func_8017C3C4(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801F73AE = 0xFF; @@ -3658,7 +3658,7 @@ void func_8017C3C4(s32 a0) { i = 5; tbl2 = D_801F7430; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3667,14 +3667,14 @@ void func_8017C3C4(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -3907,7 +3907,7 @@ void func_8017CB10(s32 a0) { extern void (*D_80190104[])(void); void func_8017CC90(void *a0) { - D_80190104[*(u16 *)((s32)a0 + 0x2)](); + D_80190104[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3952,9 +3952,9 @@ void func_8017CE8C(s32 a0) { s32 *s0_ptr; u16 sp[8]; - s0_ptr = *(s32 **)(a0 + 0xDC); + s0_ptr = CAST_SIGN(s32 *, a0, 0xDC); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { return; } @@ -3962,18 +3962,18 @@ void func_8017CE8C(s32 a0) { func_8001C214(v0, s0_ptr[1]); func_8012A828(a0, (void *)s0_ptr[2]); - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0 + 0x58) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = 0; - sp[0] = *(u16 *)(a0 + 0x6); - sp[1] = *(u16 *)(a0 + 0xA); - sp[2] = *(u16 *)(a0 + 0xE); + sp[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; func_800D20C0(&sp[0], &sp[4], 0); func_800D23D0(&sp[4]); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = sp[5] + 0x800; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = sp[5] + 0x800; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -4043,7 +4043,7 @@ void func_8017D0AC(void *a0) { extern void (*D_8019015C[])(void); void func_8017D0E8(void *a0) { - D_8019015C[*(u16 *)((s32)a0 + 0x2)](); + D_8019015C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4210,7 +4210,7 @@ void func_8017D408(int param_1) extern void (*D_80190170[])(void); void func_8017D714(void *a0) { - D_80190170[*(u16 *)((s32)a0 + 0x2)](); + D_80190170[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4269,7 +4269,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D23) extern void (*D_80190184[])(void); void func_8017D9B4(void *a0) { - D_80190184[*(u16 *)((s32)a0 + 0x2)](); + D_80190184[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4345,40 +4345,40 @@ void func_8017DC70(void *a0) { u8 *p = D_80078E78; s32 t; - if ((u8)func_80029178(D_80190450[*(s16 *)((s32)a0 + 0x70)]) != 0 || - (*(s16 *)((s32)a0 + 0x70) == 4 && (u32)func_80029504() < 0xC8)) { + if ((u8)func_80029178(D_80190450[((Unkstruct_800B5CB8 *)a0)->unk70]) != 0 || + (((Unkstruct_800B5CB8 *)a0)->unk70 == 4 && (u32)func_80029504() < 0xC8)) { func_8012CAE4(a0); return; } t = *(u16 *)(p + 0x1A); if (t < 0x12C || t > 0x527) { - if (*(s32 *)((s32)a0 + 0x20) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 != 0) { return; } if (func_8012C354((s32)a0, (s32)D_80190324) == 0) { return; } - *(u16 *)((s32)a0 + 0x5C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk5C |= 0x10; func_8012A828((s32)a0, D_8019018C); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(s32 *)&D_801F7600 = *(s16 *)((s32)a0 + 0x88) << 16; - D_801F7604 = *(s16 *)((s32)a0 + 0x8A) << 16; - D_801F7608 = *(s16 *)((s32)a0 + 0x8C) << 16; - *(s32 *)((s32)a0 + 0xCC) = func_80143970((s32)a0); - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0x10; - *(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + *(s32 *)&D_801F7600 = CAST_SIGN(s16, (s32)a0, 0x88) << 16; + D_801F7604 = CAST_SIGN(s16, (s32)a0, 0x8A) << 16; + D_801F7608 = CAST_SIGN(s16, (s32)a0, 0x8C) << 16; + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_80143970((s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) + 1; } else { - if (*(s32 *)((s32)a0 + 0x20) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 != 0) { return; } if (func_8012C354((s32)a0, (s32)D_80190358) == 0) { return; } - *(s16 *)((s32)a0 + 0xAE) = -4; - *(s32 *)((s32)a0 + 0xCC) = func_80143970((s32)a0); - *(u16 *)((s32)a0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -4; + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_80143970((s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; } } @@ -4409,10 +4409,10 @@ void func_8017DE0C(s32 a0) { s32 v0; s32 v1; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v1 = -1; v0 = v0 - 1; - *(s32 *)(a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == v1) { s32 t; @@ -4422,26 +4422,26 @@ void func_8017DE0C(s32 a0) { func_8012A828(a0, (void *)&D_80190214); - t = *(u16 *)(a0 + 0x10A) + 1; - *(u16 *)(a0 + 0x10A) = t; + t = CAST_SIGN(u16, a0, 0x10A) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = t; if ((t & 3) != 0) { - if (*(s16 *)(a0 + 0x104) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 == 0) { s32 r = rand(); s32 x; s32 y; - x = *(s16 *)(a0 + 0x88) - 0x200; + x = CAST_SIGN(s16, a0, 0x88) - 0x200; x += (r & 0x7F) << 3; D_801F760C = x << 16; - y = *(s16 *)(a0 + 0x8C) - 0x200; + y = CAST_SIGN(s16, a0, 0x8C) - 0x200; y += (u32)(r & 0x7F00) >> 5; D_801F7614 = y << 16; } else { func_8017E634((s16 *)a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + 0xC00; } } else { for (i = 0; i < 2; i++) { @@ -4450,32 +4450,32 @@ void func_8017DE0C(s32 a0) { } i = 8; - if (*(s16 *)(a0 + 0x108) >= 0xD) { + if (CAST_SIGN(s16, a0, 0x108) >= 0xD) { i = 2; } ret = func_8012BB3C(a0 + 4, (s32)&D_801F760C, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), i); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + ret; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), i); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + ret; - ang = -3 - *(u16 *)(a0 + 0x104); + ang = -3 - CAST_SIGN(u16, a0, 0x104); func_8017E5C0(a0, ang, 0x50); - if (*(s16 *)(a0 + 0x104) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 != 0) { func_80146A6C(2, (void *)a0, 0, 0, 0, 2, 0); } - *(s16 *)(a0 + 0x108) = 0; - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; } else { - s16 d = *(s16 *)(a0 + 0x102); + s16 d = ((Unkstruct_800B5CB8 *)a0)->unk102; if (d != 0) { s32 r2 = func_8012B8E4(a0, d); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; } } } @@ -4526,30 +4526,30 @@ void func_8017E010(s32 a0) { if ((flags & 0x6000) != 0x2000) { func_8012ADE4((u8 *)a0); func_8017E710(a0); - if (*(s32 *)(a0 + 0x1C) >= 9) { - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) - 8; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 9) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C - 8; } } m = flags & 0x8000; if (m != 0 || (flags & 0x6000) != 0x2000) { - if (*(s16 *)(a0 + 0x106) == 0) { - *(s16 *)(a0 + 0x106) = 0x111; + if (((Unkstruct_800B5CB8 *)a0)->unk106 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0x111; } - if (*(s32 *)(a0 + 0x1C) >= 5) { - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) - 4; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 5) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C - 4; } - *(u16 *)(a0 + 0x108) = *(u16 *)(a0 + 0x108) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = ((Unkstruct_800B5CB8 *)a0)->unk108 + 1; } else { - *(s16 *)(a0 + 0x106) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; } - v = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v; + v = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v; if (v != 0) { if ((v & 3) == 0) { if (func_8012BC60((void *)(a0 + 4), (void *)&D_801F760C) < 0x900) { - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } } /* The func_8017E5C0 call is written in BOTH arms on purpose: gcc-2.7.2's sched1 @@ -4561,26 +4561,26 @@ void func_8017E010(s32 a0) { allocno (2 deaths) and loses $a1. Both must be s32 -- writing the expression inline lets convert_to_integer narrow it to UNSIGNED HImode (the u16 operand), which emits `ori $a1,$zero,0xfffd` instead of `addiu $a1,$zero,-0x3` + sll/sra. */ - if (*(s16 *)(a0 + 0x106) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk106 == 0) { s32 r = func_8012BB3C(a0 + 4, (s32)&D_801F760C, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), 8); - s32 p = *(s32 *)(a0 + 0x20); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 8); + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; s32 ang0; - *(s16 *)(p + 0x12) = *(u16 *)(p + 0x12) + r; - ang0 = -3 - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)p)->unk12 = ((Unkstruct_800B5CB8 *)p)->unk12 + r; + ang0 = -3 - CAST_SIGN(u16, a0, 0x104); func_8017E5C0(a0, ang0, 0); } else { - s32 q = *(s32 *)(a0 + 0x20); + s32 q = ((Unkstruct_800B5CB8 *)a0)->unk20; s32 ang1; - *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + *(s16 *)(a0 + 0x106); - ang1 = -3 - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)q)->unk12 = ((Unkstruct_800B5CB8 *)q)->unk12 + ((Unkstruct_800B5CB8 *)a0)->unk106; + ang1 = -3 - CAST_SIGN(u16, a0, 0x104); func_8017E5C0(a0, ang1, 0); } - if (*(s16 *)(a0 + 0x104) != 0) { - if ((u32)*(s32 *)(a0 + 0x94) < 0xB) { - *(s32 *)(a0 + 0x94) = *(s32 *)(a0 + 0x94) + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk104 != 0) { + if ((u32)((Unkstruct_800B5CB8 *)a0)->unk94 < 0xB) { + ((Unkstruct_800B5CB8 *)a0)->unk94 = ((Unkstruct_800B5CB8 *)a0)->unk94 + 1; } - if ((*(s32 *)(a0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 7) == 0) { ret = 1; } } @@ -4589,24 +4589,24 @@ void func_8017E010(s32 a0) { func_8012B200((u8 *)a0); func_8012A828(a0, D_8019018C); - *(s32 *)(a0 + 0x1C) = 0x14 - (*(s16 *)(a0 + 0x104) << 1); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14 - (((Unkstruct_800B5CB8 *)a0)->unk104 << 1); if (((s32 (*)(s32))func_8012BD14)(a0) <= 0x23FFF) { - *(s16 *)(a0 + 0x102) = 0xA - *(u16 *)(a0 + 0x104); + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0xA - CAST_SIGN(u16, a0, 0x104); } else { - *(s16 *)(a0 + 0x102) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; } - t = *(s16 *)(a0 + 0x104); + t = ((Unkstruct_800B5CB8 *)a0)->unk104; if (t != 0) { t = t - 4; - *(s16 *)(a0 + 0x104) = t; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; if (t < 0) { - *(s16 *)(a0 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; } } - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - if (*(s16 *)(a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { if (func_8016F1AC() != 0) { /* §17/idiom-7: 0x801891F4 is INTERIOR to D_801891D8 and has no symbol, but the target does NOT build it with its own %hi/%lo -- it derives it from the @@ -4615,23 +4615,23 @@ void func_8017E010(s32 a0) { second lui/addiu pair and splits the store into lui+sw($at). */ s32 *tbl = &D_801903F4; - *(s16 *)(a0 + 0x10A) = 0; - *tbl = *(u16 *)(a0 + 0x88) | (*(s16 *)(a0 + 0x8C) << 16); + ((Unkstruct_800B5CB8 *)a0)->unk10A = 0; + *tbl = ((Unkstruct_800B5CB8 *)a0)->unk88 | (CAST_SIGN(s16, a0, 0x8C) << 16); func_80178B70(a0, (s32)tbl - 0x1C); - *(s16 *)(a0 + 0x98) = 0; - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; func_8012B200((u8 *)a0); - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } return; } - if (*(u16 *)(a0 + 0x5E) != 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(a0 + 0x62); + if (CAST_WIDTH(u16, a0, 0x5E) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)a0)->unk62; func_8017E5C0(a0, -0xF, 0); func_8017E634((s16 *)a0); - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x104) = 0xA; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA; ret = 1; } else { s32 d = ((s32 (*)(s32))func_8012BD14)(a0); @@ -4649,11 +4649,11 @@ void func_8017E010(s32 a0) { } if (spd != 0) { func_8017E634((s16 *)a0); - if (*(s16 *)(a0 + 0x104) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B864(a0) - 0x800; + if (((Unkstruct_800B5CB8 *)a0)->unk104 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B864(a0) - 0x800; ret = 1; } - *(s16 *)(a0 + 0x104) = spd; + ((Unkstruct_800B5CB8 *)a0)->unk104 = spd; func_8017E5C0(a0, -7 - spd, 0); } } @@ -4688,59 +4688,59 @@ void func_8017E404(s32 a0) { func_80178970(); - if (*(s16 *)(a0 + 0x108) < 0x10) { - if (*(s16 *)(a0 + 0xFE) != 0) { + if (CAST_SIGN(s16, a0, 0x108) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { v1 = ((s32 (*)(s32))func_8012CBA4)(a0); } else { v1 = ((s32 (*)(s32))func_8012CBF4)(a0); } if ((v1 & 0x8000) != 0) { - *(u16 *)(a0 + 0x108) = *(u16 *)(a0 + 0x108) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = ((Unkstruct_800B5CB8 *)a0)->unk108 + 1; } if ((v1 & 0x2000) != 0) { - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } else { - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } else { func_8012AD80(a0); } - if ((*(s32 *)(a0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 7) == 0) { func_80146A6C(2, (void *)a0, 0, 0, 0, 2, 0); } - if ((*(s32 *)(a0 + 0x1C) & 0xF) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0xF) == 0) { func_8002D4C8(0x828, 0); } - v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != -1) { if (func_8012E778(a0, 0x8000A8) != 0) { return; } } - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; func_8012B200((u8 *)a0); func_8012A828(a0, D_8019018C); - *(s16 *)(a0 + 0x104) = 0; - *(s16 *)(a0 + 0x102) = 0xA; - p = *(s32 *)(a0 + 0x20); - *(s32 *)(p + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0xA; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, p, 4) |= 0x80000000; - func_801439C0(*(s32 *)(a0 + 0xCC)); + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); - *(s32 *)(a0 + 0x1C) = 0x14; - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } extern void (*D_80190460[])(void); void func_8017E584(void *a0) { - D_80190460[*(u16 *)((s32)a0 + 0x2)](); + D_80190460[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4788,12 +4788,12 @@ extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3); void func_8017E5C0(s32 a0, s16 a1, s16 a2) { u32 xz; - func_8012B0B4(&xz, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), a1 << 4); + func_8012B0B4(&xz, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), a1 << 4); - *(s32 *)(a0 + 0x10) = (s16)xz << 12; - *(s32 *)(a0 + 0x18) = ((s32)xz >> 16) << 12; + CAST_WIDTH(s32, a0, 0x10) = (s16)xz << 12; + CAST_WIDTH(s32, a0, 0x18) = ((s32)xz >> 16) << 12; if (a2 != 0) { - *(s32 *)(a0 + 0x1C) = a2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = a2; } } @@ -4825,11 +4825,11 @@ void func_8017E634(s16 *a0) { /* The struct reads are plain INDIRECT_REFs, not ARRAY_REFs: an `a0[0x46]` here sets MEM_IN_STRUCT_P, which lets gcc-2.7.2's true_dependence() drop the dependence against the constant-address store and hoist the second `lh` above `sw D_801F760C`. */ - x = *(s16 *)((s32)a0 + 0x88) + *(s16 *)((u8 *)D_801903AC + off) - 0x100; + x = CAST_SIGN(s16, (s32)a0, 0x88) + *(s16 *)((u8 *)D_801903AC + off) - 0x100; x += (r & 0x7F) << 2; D_801F760C = x << 16; - y = *(s16 *)((s32)a0 + 0x8C) + *(s16 *)((u8 *)D_801903AE + off) - 0x100; + y = CAST_SIGN(s16, (s32)a0, 0x8C) + *(s16 *)((u8 *)D_801903AE + off) - 0x100; y += (unsigned)(r & 0x7F00) >> 6; D_801F7614 = y << 16; } @@ -4930,17 +4930,17 @@ void func_8017E924(s32 a0) { func_80178970(); - v = *(u16 *)(a0 + 0x5E); + v = CAST_WIDTH(u16, a0, 0x5E); if ((v == 0x9) | (v == 0x11)) { p = func_8012C658(0x30, 2, a0); if (p == 0) { return; } - *(u16 *)(p + 0xA) -= 0x20; + ((Unkstruct_800B5CB8 *)p)->unkA -= 0x20; *(u16 *)(p + 0x16) -= 0x10; func_8002D4C8(0x829, 0); - *(s16 *)(a0 + 0x5E) = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; func_8012A828(a0, D_8019027C); sp10[0] = 0; @@ -4948,10 +4948,10 @@ void func_8017E924(s32 a0) { sp10[2] = 0x70000; func_8012B14C(a0, (s32)sp10); - *(s32 *)(a0 + 0x48) = 0x10000; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0x108) = 0; - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x10000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -4973,10 +4973,10 @@ void func_8017E9F8(s32 a0) { func_80178970(); - v0 = *(s32*)((s32)a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v1 = -1; v0 = v0 - 1; - *(s32*)((s32)a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != v1) { v0 = func_8012CBCC(a0); @@ -4988,10 +4988,10 @@ void func_8017E9F8(s32 a0) { func_80146A6C(2, (void*)a0, 0, 0, 0, 0, 0); func_8012A828(a0, (void*)&D_80190214); - v1 = *(s32*)((s32)a0 + 0x20); - v0 = *(u16*)((s32)v1 + 0x12); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v0 = ((Unkstruct_800B5CB8 *)v1)->unk12; v0 = v0 + 0xB00; - *(u16*)((s32)v1 + 0x12) = v0; + ((Unkstruct_800B5CB8 *)v1)->unk12 = v0; stack[0] = 0; stack[1] = 0; @@ -5000,9 +5000,9 @@ void func_8017E9F8(s32 a0) { func_8012B2CC(a0); func_8012B14C(a0, (s32)stack); - *(u16*)((s32)a0 + 0xFE) = 1; - *(s32*)((s32)a0 + 0x1C) = 0x40; - *(u16*)((s32)a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } @@ -5041,17 +5041,17 @@ void func_8017EB20(s32 a0) u8 *v1 = D_80078E78; s32 v0; - if (*(s16 *)((u8 *)s0 + 0x100) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk100 != 0) { goto L_8017D524; } - if (*(u16 *)((u8 *)s0 + 0x5E) == 0) { + if (CAST_WIDTH(u16, (u8 *)s0, 0x5E) == 0) { goto L_8017D524; } func_80178B18(s0, (s32)&D_80190430); - *(s16 *)((u8 *)s0 + 0x100) = 1; - *(s16 *)((u8 *)s0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; return; L_8017D524: @@ -5066,28 +5066,28 @@ L_8017D524: goto L_8017D57C; } - if (func_8012C658(0x1F8, *(s16 *)((u8 *)s0 + 0x70), s0) == 0) { + if (func_8012C658(0x1F8, ((Unkstruct_800B5CB8 *)s0)->unk70, s0) == 0) { return; } - func_801439C0(*(s32 *)((u8 *)s0 + 0xCC)); + func_801439C0(((Unkstruct_800B5CB8 *)s0)->unkCC); ((void (*)(s32))func_8012C218)(s0); L_8017D57C: - if (*(u16 *)((u8 *)s0 + 0x5E) == 0) { + if (CAST_WIDTH(u16, (u8 *)s0, 0x5E) == 0) { return; } - v0 = *(s32 *)((u8 *)s0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; v0 = v0 + 1; - *(s32 *)((u8 *)s0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = v0; if (v0 < 0x10) { return; } - *(u16 *)((u8 *)s0 + 0x5E) = 0; - *(s32 *)((u8 *)s0 + 0x1C) = 0; + CAST_WIDTH(u16, (u8 *)s0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; } @@ -5143,7 +5143,7 @@ void func_8017ED50(s32 a0) { if (func_8014C088(a0, 0x16) == 0) { - *(s32 *)(a0 + 0x44) &= ~0x20000; + CAST_SIGN(s32, a0, 0x44) &= ~0x20000; func_8014B5C4((s32 *)a0, func_8014CB58() & 0xFF, 0x80); func_80171990((u8 *)a0); } @@ -5225,19 +5225,19 @@ void func_8017EE6C(s32 a0) { iVar1 = *(s32 *)(a0 + 0x4C); iVar2 = ((s32 (*)(void))func_8014659C)(); - *(s32 *)(a0 + 0x20) = iVar2; + ((Unkstruct_80126B58 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001C214(iVar2, (s32)&D_801F1068); - *(u16 *)(iVar2 + 0x10) = 0x800; - *(u16 *)(a0 + 0x60) = 0; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x800; + ((Unkstruct_80126B58 *)a0)->unk60 = 0; func_80149374(iVar1, a0 + 4); func_80146DE8((s32 *)a0, 0, 0xFFC00000, 0); D_80190578 = 0x80; D_80190576 = 0x80; D_80190574 = 0x80; func_80146CA0((void *)a0); - if (*(s32 *)(a0 + 0x50) == 0) { - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + if (((Unkstruct_80126B58 *)a0)->unk50 == 0) { + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0x10; } } } @@ -5261,32 +5261,32 @@ void func_8017EF38(s32 a0) { s16 sVar1; iVar1 = *(s32 *)(a0 + 0x4c); - iVar2 = *(s32 *)(a0 + 0x20); + iVar2 = ((Unkstruct_80126B58 *)a0)->unk20; func_8016325C(a0, 0, 0x20000, 0); func_80162FC0((s32 *)a0); - if ((*(s16 *)(a0 + 0x60) == 0) && (0 < *(s32 *)(a0 + 0x28))) { + if ((CAST_SIGN(s16, a0, 0x60) == 0) && (0 < ((Unkstruct_80126B58 *)a0)->unk28)) { u16 uVar1; - *(u16 *)(iVar2 + 0x10) = 0; - uVar1 = *(u16 *)(a0 + 0x60); - *(u16 *)(a0 + 0x60) = uVar1 + 1; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0; + uVar1 = ((Unkstruct_80126B58 *)a0)->unk60; + ((Unkstruct_80126B58 *)a0)->unk60 = uVar1 + 1; } - sVar1 = *(s16 *)(iVar1 + 0xA); - if (sVar1 < *(s16 *)(a0 + 0xA)) { + sVar1 = ((Unkstruct_80126B58 *)iVar1)->unkA; + if (sVar1 < ((Unkstruct_80126B58 *)a0)->unkA) { u16 uVar1; s32 uVar2; - *(s16 *)(a0 + 0xA) = sVar1; + ((Unkstruct_80126B58 *)a0)->unkA = sVar1; func_8013C9C4(D_8019058C); - *(u16 *)(a0 + 0x60) = *(u16 *)(iVar2 + 0x18); + ((Unkstruct_80126B58 *)a0)->unk60 = ((Unkstruct_800B5CB8 *)iVar2)->unk18; func_8001C810(iVar2, (s32)&D_801F16C0); - *(s32 **)(iVar2 + 0x80) = &D_80190544; - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0xA0; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000; - uVar1 = *(u16 *)(a0 + 0x60); - *(u16 *)(iVar2 + 0x1c) = uVar1; - *(u16 *)(iVar2 + 0x1a) = uVar1; - *(u16 *)(iVar2 + 0x18) = uVar1; - if (*(s32 *)(a0 + 0x50) == 0) { - *(u16 *)(iVar2 + 0x2c) = *(u16 *)(iVar2 + 0x2c) | 0x10; + CAST_WIDTH(s32 *, iVar2, 0x80) = &D_80190544; + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0xA0; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x50000000; + uVar1 = ((Unkstruct_80126B58 *)a0)->unk60; + CAST_WIDTH(u16, iVar2, 0x1c) = uVar1; + ((Unkstruct_800B5CB8 *)iVar2)->unk1A = uVar1; + ((Unkstruct_800B5CB8 *)iVar2)->unk18 = uVar1; + if (((Unkstruct_80126B58 *)a0)->unk50 == 0) { + ((Unkstruct_800B5CB8 *)iVar2)->unk2C = ((Unkstruct_800B5CB8 *)iVar2)->unk2C | 0x10; func_801466B4(0x1B, a0, 0, 0, 1); func_801466B4(0x1B, a0, 1, 0, 1); func_801466B4(0x1B, a0, 2, 0, 1); @@ -5297,12 +5297,12 @@ void func_8017EF38(s32 a0) { } func_80147324(uVar2); func_80146CA0((void *)a0); - } else if (*(s16 *)(a0 + 0x60) != 0) { + } else if (CAST_SIGN(s16, a0, 0x60) != 0) { s16 sVar2; - sVar2 = *(u16 *)(iVar2 + 0x1c) + 0x100; - *(s16 *)(iVar2 + 0x1c) = sVar2; - *(s16 *)(iVar2 + 0x1a) = sVar2; - *(s16 *)(iVar2 + 0x18) = sVar2; + sVar2 = CAST_WIDTH(u16, iVar2, 0x1c) + 0x100; + CAST_WIDTH(s16, iVar2, 0x1c) = sVar2; + ((Unkstruct_800B5CB8 *)iVar2)->unk1A = sVar2; + ((Unkstruct_800B5CB8 *)iVar2)->unk18 = sVar2; } } @@ -5421,11 +5421,11 @@ void func_8017F2D0(s32 p) { s32 pad[3]; (void)&pad; - o = *(s32 *)(p + 0x20); + o = ((Unkstruct_80126B58 *)p)->unk20; t1 = *(u16 *)(o + 0x1C) + 0x800; *(s16 *)(o + 0x1C) = t1; *(s16 *)(o + 0x18) = t1; - lim1 = **(s16 **)(p + 0x58); + lim1 = *CAST_SIGN(s16 *, p, 0x58); lv1 = lim1; if (lim1 < t1) { do { *(s16 *)(o + 0x1C) = lv1; } while (0); @@ -5434,11 +5434,11 @@ void func_8017F2D0(s32 p) { } t2 = *(u16 *)(o + 0x1A) + 0x800; *(s16 *)(o + 0x1A) = t2; - lim2 = *(s16 *)(*(s32 *)(p + 0x58) + 2); + lim2 = *(s16 *)(((Unkstruct_80126B58 *)p)->unk58 + 2); lv2 = lim2; if (lim2 < t2) { *(s16 *)(o + 0x1A) = lv2; - func_80146E90((s32 *)p, *(s16 *)(*(s32 *)(p + 0x58) + 4)); + func_80146E90((s32 *)p, *(s16 *)(((Unkstruct_80126B58 *)p)->unk58 + 4)); func_80146CA0((void *)p); } } @@ -5453,7 +5453,7 @@ void func_8017F394(void *a0) { u16 *s0; s2 = *(u16 **)(s1 + 0x4C); - s0 = *(u16 **)(s1 + 0x20); + s0 = CAST_SIGN(u16 *, s1, 0x20); if (func_80146E98((s32)a0)) { { @@ -5466,15 +5466,15 @@ void func_8017F394(void *a0) { } } { - s16 u = *(u16 *)(s0 + 0xD) + 0x100; - *(u16 *)(s0 + 0xD) = u; + s16 u = CAST_MISALIGNED(u16, s0, 0xD) + 0x100; + CAST_MISALIGNED(u16, s0, 0xD) = u; if (u >= 0x7001) { - *(u16 *)(s0 + 0xD) = 0x7000; + CAST_MISALIGNED(u16, s0, 0xD) = 0x7000; } } } - if (*(u16 *)s2 != 0x16) { + if (((Unkstruct_80126B58 *)s2)->unk0 != 0x16) { ((void (*)(s32))func_80162CCC)((s32)s1); } } @@ -6398,7 +6398,7 @@ s32 func_80181228(s32 param_1) extern void (*D_80190824[])(void); void func_80181418(void *a0) { - D_80190824[*(u16 *)((s32)a0 + 0x2)](); + D_80190824[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6413,14 +6413,14 @@ extern u8 D_801BAE98[]; void func_80181454(s32 p) { s32 v; - *(s32 *)(p + 0x20) = v = ((s32 (*)(void))func_8012C1B8)(); + ((Unkstruct_800B5CB8 *)p)->unk20 = v = ((s32 (*)(void))func_8012C1B8)(); if (v == 0) { func_8012CAE4((void *)p); } else { func_8001C214(v, (s32)D_801BD274); func_8012A828(p, D_801BAE98); - *(u16 *)(p + 2) = 1; - *(s32 *)(*(s32 *)(p + 0x20) + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)p)->unk2 = 1; + *(s32 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 4) |= 0x80000000; func_8012B23C(p); } } @@ -6433,17 +6433,17 @@ extern u8 D_801BAEF0[]; void func_801814DC(s32 a0) { if ((func_800291B4(0xCC) & 0xFF) == 1) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; if (((s32 (*)(s32))func_8012BD14)(a0) <= 0x10000) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, D_801BAEF0); } } if ((func_800291B4(0xCC) & 0xFF) == 0xF) { - *(s16 *)(a0 + 0xE) -= 0x100; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; - *(s16 *)(a0 + 0x2) = 3; + CAST_SIGN(s16, a0, 0xE) -= 0x100; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, D_801BAEF0); } } @@ -6460,14 +6460,14 @@ void func_801815A8(s32 arg0) { short v; func_8012B14C(arg0, (s32)D_80190818); - a0 = *(s32 *)((s8 *)arg0 + 0x20); + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; v = *(short *)((s8 *)a0 + 0x12); if (v < 0x800) { *(short *)((s8 *)a0 + 0x12) = v + 0x100; } - *(s32 *)((s8 *)arg0 + 0xC) += *(s32 *)((s8 *)arg0 + 0x18); - *(s32 *)((s8 *)arg0 + 0x4) += *(s32 *)((s8 *)arg0 + 0x10); - if (*(short *)((s8 *)arg0 + 0xE) < 0x104B) { + CAST_WIDTH(s32, (s8 *)arg0, 0xC) += CAST_WIDTH(s32, (s8 *)arg0, 0x18); + CAST_WIDTH(s32, (s8 *)arg0, 0x4) += CAST_WIDTH(s32, (s8 *)arg0, 0x10); + if (CAST_SIGN(short, (s8 *)arg0, 0xE) < 0x104B) { return; } func_800291A0(0xCC, 2); @@ -6481,8 +6481,8 @@ extern void func_8012C218(void *a0); void func_8018163C(s32 arg0) { short v; - v = *(short *)((s8 *)arg0 + 0xE) - 0x10; - *(short *)((s8 *)arg0 + 0xE) = v; + v = CAST_SIGN(short, (s8 *)arg0, 0xE) - 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unkE = v; if (v < 0x345) { func_800291A0(0xCC, 0x10); func_8012C218((void *)arg0); @@ -6510,23 +6510,23 @@ void func_80181694(s32 arg0) { s32 dist; u16 *p96; - var_s3 = D_80126B5E - *(u16 *)(arg0 + 6); + var_s3 = D_80126B5E - ((Unkstruct_800B5CB8 *)arg0)->unk6; if (var_s3 < 0) { var_s3 = -var_s3; } - var_s2 = D_80126B66 - *(u16 *)(arg0 + 0xE); + var_s2 = D_80126B66 - ((Unkstruct_800B5CB8 *)arg0)->unkE; if (var_s2 < 0) { var_s2 = -var_s2; } if ((var_s3 < 0x201) && (var_s2 < 0x201)) { - temp_v1 = *(s32 *)(arg0 + 0x1C); - *(s32 *)(arg0 + 0x1C) = temp_v1 + 1; + temp_v1 = ((Unkstruct_800B5CB8 *)arg0)->unk1C; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = temp_v1 + 1; if (temp_v1 & 1) { q = func_80132EF4(arg0, 0x22); if (q != 0) { func_80129374(q, arg0); - *(s16 *)(*(s32 *)(q + 0x20) + 0x18) = 0x7000; - *(s16 *)(*(s32 *)(q + 0x20) + 0x1A) = 0x5000; + ((Unkstruct_800B5CB8 *)*(s32 *)(q + 0x20))->unk18 = 0x7000; + ((Unkstruct_800B5CB8 *)*(s32 *)(q + 0x20))->unk1A = 0x5000; } } if (func_801818D8(arg0, &D_80190834) != 0) { @@ -6534,12 +6534,12 @@ void func_80181694(s32 arg0) { D_80126B98 = 0xC; *p96 |= 0x4000; } - if ((*(s32 *)(arg0 + 0x1C) & 3) == 0) { - if (*(s16 *)(arg0 + 0x70) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 3) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 != 0) { dist = (var_s3 * var_s3) + (var_s2 * var_s2); if (dist <= 0x30000) { func_8002D4C8(0x5A5, (0x1000 | (((0x30000 - dist) * 127) / 0x30000)) & 0xFFFF); - *(s16 *)(arg0 + 0xFC) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = 1; return; } } else { @@ -6556,9 +6556,9 @@ void func_80181694(s32 arg0) { extern void func_8002D4C8(s32 a0, s32 a1); void func_8018185C(s32 a0) { - if (*(s16 *)(a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8002D4C8(4, 0x5A5); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6567,7 +6567,7 @@ void func_8018185C(s32 a0) { extern void (*D_80190844[])(void); void func_8018189C(void *a0) { - D_80190844[*(u16 *)((s32)a0 + 0x2)](); + D_80190844[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6663,7 +6663,7 @@ void func_80181A14(void *a0) extern void (*D_801908B4[])(void); void func_80181ACC(void *a0) { - D_801908B4[*(u16 *)((s32)a0 + 0x2)](); + D_801908B4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6711,36 +6711,36 @@ void func_80181B50(void *a0) { s1 = func_80029504(); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - *(s32 *)((s32)a0 + 0x58) = (s32)D_801908A4; - *(s16 *)((s32)a0 + 0x5C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_801908A4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x80; - v0 = *(u16 *)((s32)a0 + 0x2) + 1; - v1 = *(s16 *)((s32)a0 + 0x70); - *(u16 *)((s32)a0 + 0x2) = v0; + v0 = CAST_SIGN(u16, (s32)a0, 0x2) + 1; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; switch (v1) { case 0: default: if (s1 >= 0x384) { - *(s32 *)((s32)a0 + 0xDC) = func_80181B08(a0, D_8019087C); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181B08(a0, D_8019087C); } else if (s1 >= 0x258) { - *(s32 *)((s32)a0 + 0xDC) = func_80181B08(a0, D_80190864); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181B08(a0, D_80190864); } else if (s1 >= 0xC8) { - *(s32 *)((s32)a0 + 0xDC) = func_80181B08(a0, D_8019084C); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181B08(a0, D_8019084C); } break; case 1: if (s1 < 0x2EE) { return; } - *(s32 *)((s32)a0 + 0xDC) = func_80181B08(a0, D_80190894); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_80181B08(a0, D_80190894); break; } } @@ -6772,7 +6772,7 @@ void func_80181C9C(void *arg0) s32 i; if (D_80078EB1 == 7) { - *(u16 *)((s32)arg0 + 0x72) |= 0x1000; + ((Unkstruct_800B5CB8 *)arg0)->unk72 |= 0x1000; for (i = 0; i < 4; i++) { Ent_801F7618 *p = &D_801F7618[i]; @@ -7011,7 +7011,7 @@ void func_80182080(void *arg0) extern void (*D_80190C34[])(void); void func_80182290(void *a0) { - D_80190C34[*(u16 *)((s32)a0 + 0x2)](); + D_80190C34[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7029,29 +7029,29 @@ void func_801822CC(s32 param_1) s32 p; v0 = func_801827E8(param_1, (s32)D_801908F4, 0x300, 0x140, 0x88); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { goto fail; } v0 = func_801827E8(param_1, (s32)D_801908F4, 0x310, 0x140, 0x89); - *(s32 *)(param_1 + 0xD0) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = v0; if (v0 == 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); fail: func_8012CAE4((void *)param_1); return; } - p = *(s32 *)(param_1 + 0x68); - *(u16 *)(*(s32 *)(param_1 + 0xCC) + 0x12) = *(u16 *)(p + 0xC); - p = *(s32 *)(param_1 + 0x68); - *(u16 *)(*(s32 *)(param_1 + 0xD0) + 0x12) = *(u16 *)(p + 0xC); - *(s16 *)(param_1 + 0x100) = 0; + p = ((Unkstruct_800B5CB8 *)param_1)->unk68; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk12 = *(u16 *)(p + 0xC); + p = ((Unkstruct_800B5CB8 *)param_1)->unk68; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unk12 = *(u16 *)(p + 0xC); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0; if ((func_80029178(0x121) & 0xFF) == 0) { - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } else { - *(s16 *)(param_1 + 0x2) = 2; - *(s16 *)(param_1 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; } } @@ -7226,9 +7226,9 @@ s32 func_801827E8(s32 a0, s32 a1, s16 a2, s16 a3, s32 a4) { *(u8 *)(obj + 0x27) = a4; *(u16 *)(obj + 0x1A) = 0x2D00; *(u16 *)(obj + 0x18) = 0x2D00; - *(u16 *)(obj + 8) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(obj + 0xC) = *(u16 *)(a0 + 0xE); + *(u16 *)(obj + 8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + *(u16 *)(obj + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA; + *(u16 *)(obj + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; return obj; } @@ -7255,12 +7255,12 @@ void func_801828B0(s32 a0) { if (q != 0) { func_8012B0B4(buf, *tbl, rand() % 80 + 0x118); v = (s32)buf[0]; - *(u16 *)(q + 0x6) = *(u16 *)(obj + 0x6) + v; - *(u16 *)(q + 0xE) = *(u16 *)(obj + 0xE) + (v >> 16); - *(u16 *)(q + 0xA) = *(u16 *)(obj + 0xA) + 0x40; - *(s32 *)(q + 0x14) = (rand() % 9) * 0x10000 - 0x100000; - *(u16 *)(q + 0x34) = (rand() & 1) | 0x7FF0; - *(u16 *)(*(s32 *)(q + 0x20) + 0x2C) = 0xC008; + ((Unkstruct_800B5CB8 *)q)->unk6 = *(u16 *)(obj + 0x6) + v; + ((Unkstruct_800B5CB8 *)q)->unkE = *(u16 *)(obj + 0xE) + (v >> 16); + ((Unkstruct_800B5CB8 *)q)->unkA = *(u16 *)(obj + 0xA) + 0x40; + ((Unkstruct_800B5CB8 *)q)->unk14 = (rand() % 9) * 0x10000 - 0x100000; + ((Unkstruct_800B5CB8 *)q)->unk34 = (rand() & 1) | 0x7FF0; + ((Unkstruct_800B5CB8 *)*(s32 *)(q + 0x20))->unk2C = 0xC008; } } } @@ -7462,7 +7462,7 @@ void func_80182C8C(void) extern void (*D_80190D34[])(void); void func_80182D18(void *a0) { - D_80190D34[*(u16 *)((s32)a0 + 0x2)](); + D_80190D34[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7499,8 +7499,8 @@ void func_80182D54(s32 a0) { extern u8 D_8018C90C[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_80190CAC)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32*, s32))func_8012A828)((s32 *)s0, (s32)D_8018C90C); func_801788B8(s0, (s32)func_80182E4C); } @@ -7576,7 +7576,7 @@ s32 func_80182EA8(s32 param_1) { extern void (*D_80190D44[])(void); void func_80182F10(void *a0) { - D_80190D44[*(u16 *)((s32)a0 + 0x2)](); + D_80190D44[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7674,8 +7674,8 @@ extern void func_8012A828(s32, void *); void func_80183118(void *arg0) { extern s32 D_80190D7C; extern s32 D_801F2108; - *(short *)((char *)arg0 + 0x2) = 1; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_80190D7C); func_8012E8A8((u8 *)arg0); func_8012A828((s32)arg0, (void *)&D_801F2108); @@ -7686,7 +7686,7 @@ void func_80183118(void *arg0) { extern void (*D_80190F70[])(void); void func_8018316C(void *a0) { - D_80190F70[*(u16 *)((s32)a0 + 0x2)](); + D_80190F70[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7805,7 +7805,7 @@ void func_801833E4(s32 a0) extern void (*D_801910DC[])(void); void func_801834B4(void *a0) { - D_801910DC[*(u16 *)((s32)a0 + 0x2)](); + D_801910DC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7849,14 +7849,14 @@ void func_80183564(void *arg0) } v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(arg0); return; } func_8001C214(v0, (s32)D_801F9F30); - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; func_80183118(arg0); func_8012C588(0x3C9, (s32)arg0); } @@ -7897,16 +7897,16 @@ extern void func_8012BE98(s32, u16*); extern s32 D_80190D94; void func_80183668(s32 param_1) { - if (*(s16 *)(param_1 + 0xFC) != 1) { - if (*(s16 *)(param_1 + 0xFC) >= 2) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC != 1) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC >= 2) { return; } - if (*(s16 *)(param_1 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC != 0) { return; } - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) -= 0x3B; - *(s32 *)(param_1 + 0x1C) += 1; - if (*(s32 *)(param_1 + 0x1C) < 0x1E) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 -= 0x3B; + ((Unkstruct_800B5CB8 *)param_1)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C < 0x1E) { return; } } else { @@ -7916,7 +7916,7 @@ void func_80183668(s32 param_1) { return; } } - *(u16 *)(param_1 + 0xFC) += 1; + CAST_SIGN(u16, param_1, 0xFC) += 1; } @@ -7930,7 +7930,7 @@ extern s32 func_8012E544(s32 a0); void func_80183744(void) { s32 v0 = func_8012E544(0x3c9); if (v0 != 0) { - *(s16*)(v0 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)v0)->unkFC = 1; } } @@ -7995,15 +7995,15 @@ void func_80183864(void *a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); } else { func_8001C214(v0, (s32)D_801BD274); - *(s16 *)((s32)a0 + 0x34) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0; - *(u16 *)((s32)a0 + 2) += 1; - *(u16 *)((s32)a0 + 0x5C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + CAST_SIGN(u16, (s32)a0, 2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C |= 0x10; func_8012A828((s32)a0, D_801BAEF0); func_8012E8E0((s32)a0, (s32)D_801910C0); func_8012E8A8((u8 *)a0); @@ -8042,21 +8042,21 @@ extern short D_801C553C; void func_801839A4(s32 param_1) { if (func_8012C354(param_1, (s32)&D_801BFE40) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xBC) = (s32)&D_801BFE74; - *(s32 *)(param_1 + 0xB4) = 0xFFFBDFDD; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_801BFE74; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xFFFBDFDD; *(s16 *)(param_1 + 0xDE) = 0; - *(s32 *)(param_1 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 1; func_8012A828(param_1, (void *)&D_801C553C); - *(s16 *)(param_1 + 0x100) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18); - if ((*(u16 *)(param_1 + 0x70) & 1) != 0) { - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x5C) = 0; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18; + if ((CAST_SIGN(u16, param_1, 0x70) & 1) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x4) |= 0x80000000; } else { - *(s16 *)(param_1 + 0x2) = 3; - *(s32 *)(param_1 + 0xCC) = func_80143970(param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_80143970(param_1); } } } @@ -8105,20 +8105,20 @@ extern u16 D_801BFE42; void func_80183B14(s32 s0) { if (func_8012BEE8(s0) != 0) { - s32 p = *(s32 *)(s0 + 0x20); - s32 h = *(u16 *)(p + 0x2C); + s32 p = ((Unkstruct_800B5CB8 *)s0)->unk20; + s32 h = ((Unkstruct_800B5CB8 *)p)->unk2C; h &= 0xFFEF; - *(s16 *)(p + 0x2C) = h; - *(s16 *)(s0 + 0x2) = 3; - *(s16 *)(s0 + 0x5C) = D_801BFE42; + ((Unkstruct_800B5CB8 *)p)->unk2C = h; + CAST_ALIAS(s16, s0, 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk5C = D_801BFE42; } else { s32 a0; s32 r; s32 q; - a0 = *(s32 *)(s0 + 0x1C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 4; r = func_80047948(a0); - q = *(s32 *)(s0 + 0x20); + q = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(q + 0x1C) = r; *(s16 *)(q + 0x1A) = r; *(s16 *)(q + 0x18) = r; @@ -8150,10 +8150,10 @@ extern void func_8012A828(s32 a0, void *a1); extern s32 D_801C554C; void func_80183C08(s32 param_1) { - *(u16 *)(param_1 + 2) = 6; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 6; func_8012A828(param_1, (void *)&D_801C554C); - *(s32 *)(param_1 + 0x1C) = 0x17; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x17; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -8162,13 +8162,13 @@ extern u8 D_80078EAE; void func_80183C4C(s32 param_1) { if (D_80078EAE != 0) { - if (*(u16 *)(param_1 + 0x34) == 0 && *(s32 *)(param_1 + 0x94) == 10) { - *(u16 *)(param_1 + 0x98) = 0; - *(u16 *)(param_1 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0 && ((Unkstruct_800B5CB8 *)param_1)->unk94 == 10) { + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } } else { if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; } } } @@ -8181,12 +8181,12 @@ extern s32 D_801C5614; void func_80183CC4(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; func_8012B23C(s0); func_80184300(s0); func_8012A828(s0, (void *)&D_801C5614); - *(s32 *)((s32)a0 + 0x1C) = 0x2D; - *(s32 *)((s32)a0 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; } @@ -8326,14 +8326,14 @@ void func_80183EF0(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s16 *)(param_1 + 0x106) != 0) { - p = *(s32 *)(param_1 + 0x20); + if (((Unkstruct_800B5CB8 *)param_1)->unk106 != 0) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(p + 0x1C) = 0x1000; *(s16 *)(p + 0x18) = 0x1000; - *(s16 *)(param_1 + 0x106) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = 0; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); *(s16 *)(p + 0x1C) = h; *(s16 *)(p + 0x18) = h; } @@ -8345,9 +8345,9 @@ void func_80183EF0(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -8364,12 +8364,12 @@ void func_80183FC8(s32 param_1) { s32 ret; s32 k; - ptr = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 0x5C) = 0; - *(s32 *)(param_1 + 0x1C) = 0x37; + ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; *(u16 *)(ptr + 0x10) = 0; func_8012A828(param_1, D_801C57D4); - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; ret = func_8012BCCC(param_1); k = 0x52B; if (!(0x8FFF < ret)) { @@ -8384,22 +8384,22 @@ extern void func_80130D48(s32 a0); extern void func_801846D0(void *a0); void func_80184034(s32 a0) { - if (*(s32 *)(a0 + 0x1C) < 0xC) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0xC) { s32 mask; s32 ptr; s32 val; mask = 0x80000000; - ptr = *(s32 *)(a0 + 0x20); - val = *(s32 *)(ptr + 0x4); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; + val = CAST_WIDTH(s32, ptr, 0x4); val ^= mask; - *(s32 *)(ptr + 0x4) = val; + CAST_WIDTH(s32, ptr, 0x4) = val; } if (func_8012BEE8(a0) != 0) { func_80130D48(a0); - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) = 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) = 0x80000000; func_801846D0(a0); } } @@ -8528,7 +8528,7 @@ call_notify: walk: p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(u16 *)obj == *(u16 *)p && obj != (s32)p) { + if (((Unkstruct_800B5CB8 *)p)->unk0 != 0 && *(u16 *)obj == ((Unkstruct_800B5CB8 *)p)->unk0 && obj != (s32)p) { if (func_8012AF0C(obj, (s32)p) != 0) { if (state != 0) { func_8018450C(obj, 2); @@ -8762,9 +8762,9 @@ void func_801846D0(void *a0) { s32 func_80184800(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -8779,21 +8779,21 @@ void func_80184860(void *a0) s32 v0, v1; - v0 = *(u16 *)((u8 *)a0 + 2); + v0 = CAST_SIGN(u16, (u8 *)a0, 2); v0 = v0 << 2; v1 = *(s32 *)((s32)D_801C5B08 + v0); ((void (*)(void))v1)(); - v0 = *(u16 *)a0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk0; if (v0 != 0) { - v0 = *(u16 *)((u8 *)a0 + 0xFE); + v0 = CAST_SIGN(u16, (u8 *)a0, 0xFE); v0 = v0 + 0x80; - *(u16 *)((u8 *)a0 + 0xFE) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; v0 = func_8012C044((s32)a0); if (v0 == 1) { - *(u16 *)((u8 *)a0 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 1; func_80185D20((s32)a0); } } @@ -8819,22 +8819,22 @@ void func_801848E4(s32 a0) return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801C5A68; - *(s32 *)(a0 + 0xB4) = -0x20AD; - *(s32 *)(a0 + 0xE0) = 0; - *(s32 *)(a0 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801C5A68; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20AD; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; func_8012A828(a0, (void *)D_801C8CBC); v0 = *(unsigned short *)(a0 + 0x70); if (v0 & 0x1) { *(unsigned short *)(a0 + 0x2) = 1; *(unsigned short *)(a0 + 0x5C) = 0; - ptr = *(s32 *)(a0 + 0x20); - *(s32 *)(ptr + 0x4) |= 0x80000000; + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, ptr, 0x4) |= 0x80000000; } else { *(unsigned short *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } } @@ -8854,11 +8854,11 @@ void func_801849A0(s32 a0) s32 u; s32 p; - if (*(s16 *)(a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { if (func_8012E778(a0, 0x64008C) == 0) { return; } - *(s16 *)(a0 + 0x102) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 1; } else { if (func_8012BEE8(a0) == 0) { return; @@ -8868,25 +8868,25 @@ void func_801849A0(s32 a0) } } - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; - *(u16 *)((*(s32 *)(a0 + 0x20)) + 0x2C) |= 0x10; + *(u16 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 0x2C) |= 0x10; - p = *(s32 *)(a0 + 0x20); - *(s32 *)(p + 0x4) &= 0x7FFFFFFF; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, p, 0x4) &= 0x7FFFFFFF; t = func_80047948(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1C) = t; - *(s16 *)(p + 0x18) = t; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s16, p, 0x1C) = t; + ((Unkstruct_800B5CB8 *)p)->unk18 = t; u = func_8004787C(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1A) = (u << 1) + 0x1000; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk1A = (u << 1) + 0x1000; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } @@ -8899,23 +8899,23 @@ void func_80184A94(s32 s0) { s32 v1; if (func_8012BEE8(s0) != 0) { - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; v1 = *(u16 *)(v0 + 0x2C); v1 &= 0xFFEF; *(s16 *)(v0 + 0x2C) = v1; - *(s16 *)(s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; } else { - s32 a0 = *(s32 *)(s0 + 0x1C); + s32 a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_80047948(a0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x18) = v0; - a0 = *(s32 *)(s0 + 0x1C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_8004787C(a0); v0 = v0 << 1; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; v0 += 0x1000; *(s16 *)(v1 + 0x1A) = v0; } @@ -8926,13 +8926,13 @@ extern u8 D_801C8CBC[]; extern void func_8012A828(s32, void*); void func_80184B30(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; func_8012A828(param_1, D_801C8CBC); - *(s32 *)(param_1 + 0x1C) = 0x20; - if (*(s32 *)(param_1 + 0xE0) != 0) { - *(s32 *)(param_1 + 0xE0) = 0; - *(s16 *)(param_1 + 0xA) = *(s16 *)(param_1 + 0xA) + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkA = CAST_SIGN(s16, param_1, 0xA) + 0x30; } } @@ -8944,12 +8944,12 @@ void func_80184B90(s32 s0) { s32 v0; s32 v1; - v0 = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(v0 + 0x12) + 0x40; - *(s16 *)(v0 + 0x12) = v1; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)v0)->unk12 + 0x40; + ((Unkstruct_800B5CB8 *)v0)->unk12 = v1; if (func_80185E8C(s0) != 1) { if (func_8012BEE8(s0) != 0) { - *(s16 *)(s0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 5; } } } @@ -8979,7 +8979,7 @@ extern s32 func_80185E8C(s32 arg0); void func_80184C4C(s32 arg0) { if (func_80185E8C(arg0) != 1) { if (func_80185BD4(arg0, D_800D3918) == 0) { - *(s16 *)(arg0 + 2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; } } } @@ -9017,10 +9017,10 @@ void func_80184CE8(s32 a0) s0 = a0; v0 = func_8012B8E4(s0, 8); - p = *(u16 **)(s0 + 0x20); + p = CAST_SIGN(u16 *, s0, 0x20); p[9] = p[9] + (u16)v0; - if (*(s32 *)(s0 + 0x1C) < 0x19) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C < 0x19) { func_8012B178(s0, 0xFFFC0000); v1 = func_80185BD4(s0, (void *)D_800D3918); @@ -9047,7 +9047,7 @@ void func_80184CE8(s32 a0) } L_store: - *(s16 *)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } @@ -9094,30 +9094,30 @@ void func_80184DC8(s32 param_1) s32 sVar2; u16 sp10[3]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) | 0x80000000; - *(s16 *)(param_1 + 0xE4) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) | 0x80000000; + CAST_WIDTH(s16, param_1, 0xE4) = 3; } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = uVar1; - *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 2 + 0x1000; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = uVar1; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = uVar1; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 2 + 0x1000; } break; case 1: - uVar1 = *(u16 *)(param_1 + 0xE4) - 1; - *(u16 *)(param_1 + 0xE4) = uVar1; + uVar1 = CAST_WIDTH(u16, param_1, 0xE4) - 1; + CAST_WIDTH(u16, param_1, 0xE4) = uVar1; if ((s16)uVar1 == 0) { - sp10[0] = *(u16 *)(param_1 + 0x6); - sp10[1] = *(u16 *)(param_1 + 0xA) - 0x38; - sp10[2] = *(u16 *)(param_1 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x38; + sp10[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; { s32 e; s32 q; @@ -9131,31 +9131,31 @@ void func_80184DC8(s32 param_1) } } } - *(s16 *)(param_1 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; } /* fallthrough */ case 2: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 3; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) & 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 3; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) & 0x7FFFFFFF; func_801859E4(param_1); - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; } break; case 3: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) & 0xFFEF; - *(s16 *)(param_1 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C & 0xFFEF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xB; } else { - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = sVar2; - *(s16 *)(iVar3 + 0x18) = sVar2; - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = uVar1 * 2 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = sVar2; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar2; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = uVar1 * 2 + 0x1000; } break; } @@ -9168,10 +9168,10 @@ extern void func_8012B23C(s32 a0); void func_80184FDC(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B23C(s0); func_8012A828(s0, (void *)&D_801C8E8C); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; func_8012B23C(s0); } @@ -9189,8 +9189,8 @@ void func_80185030(s32 s0) { s32 v1; v0 = func_8012B8E4(s0, 8); - v1 = *(s32*)(s0 + 0x20); - *(s16*)(v1 + 0x12) = (s16)(*(u16*)(v1 + 0x12) + v0); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = (s16)(((Unkstruct_800B5CB8 *)v1)->unk12 + v0); func_8012B178(s0, 0xFFFC0000); v0 = func_80185BD4(s0, D_800D3918); if (v0 == -1) @@ -9210,7 +9210,7 @@ void func_80185030(s32 s0) { else return; } - *(s16*)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } @@ -9220,11 +9220,11 @@ extern void func_8012A828(s32 a0, void *a1); void func_801850D8(param_1) s32 param_1; { - *(s16 *)(param_1 + 2) = 0xE; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xE; func_8012A828(param_1, D_801C8F64); - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(s16 *)(param_1 + 0xDC) = 0; - *(s16 *)(param_1 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + CAST_WIDTH(s16, param_1, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; } @@ -9244,17 +9244,17 @@ void func_80185120(void *a0) v0 = func_8012BCCC(s0); if (v0 <= 0x14400) { - if (*(s32 *)(s0 + 0x1C) >= 0x16) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C >= 0x16) { v0 = func_8012B8E4(s0, 8); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 + v0; } - s1 = *(s32 *)(s0 + 0x1C); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (s1 == 0x15) { func_8002D4C8(0x522, 0); } - if (s1 != 0x15 || *(s32 *)(s0 + 0x1C) != s1) { - s32 v1 = *(s32 *)(s0 + 0x1C); + if (s1 != 0x15 || ((Unkstruct_800B5CB8 *)s0)->unk1C != s1) { + s32 v1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (v1 == 0xB || v1 == 1) { func_8018584C(s0); } @@ -9269,7 +9269,7 @@ void func_80185120(void *a0) } else { v0 = 7; } - *(s16 *)(s0 + 2) = (s16)v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = (s16)v0; } @@ -9281,12 +9281,12 @@ extern void func_8012B2CC(s32 a0); void func_801851F4(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; func_8012B2CC(s0); func_8012B23C(s0); func_8012B178(s0, 0xFFFD0000); func_8012A828(s0, (void *)&D_801C8DB4); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -9300,12 +9300,12 @@ extern u8 D_800D3918[]; extern s32 D_801C8DB4; void func_80185254(s32 a0) { - if (*(s16 *)(a0 + 0xAA) <= 0) { - *(u16 *)(a0 + 2) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unkAA <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else { if (func_8012BEE8(a0) != 0) { func_8012A828(a0, (void *)&D_801C8DB4); - *(s32 *)(a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; } func_80185BD4(a0, (s32)D_800D3918); } @@ -9334,8 +9334,8 @@ void func_80185304(s32 a0) { extern s32 func_8012B864(s32 a0); s32 s0 = a0; - *(s16 *)(s0 + 2) = 0xF; - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = (func_8012B864(s0) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xF; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = (func_8012B864(s0) + 0x800) & 0xFFF; } @@ -9347,11 +9347,11 @@ void func_80185344(s32 s0) { s32 a0; s32 v1; - a0 = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(a0 + 0x2C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk2C; if (v1 & 0x10) { - *(u16 *)(a0 + 0x2C) = v1 & 0xFFEF; - v1 = *(s32 *)(s0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2C = v1 & 0xFFEF; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(u16 *)(v1 + 0x1C) = 0x1000; *(u16 *)(v1 + 0x1A) = 0x1000; *(u16 *)(v1 + 0x18) = 0x1000; @@ -9528,9 +9528,9 @@ extern s32 D_801C5A58; void func_80185658(void *arg0) { s32 s0 = (s32)arg0; - *(u16 *)(s0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) = 0; - *(u16 *)(s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; func_8012E8A8((u8 *)arg0); func_8012A828((s32)arg0, (void *)&D_801C5A58); } @@ -9580,7 +9580,7 @@ void func_801856A0(s32 a0) { obj = a0; - if (*(u16 *)(obj + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)obj)->unk34 != 0) { if (func_8012BEE8(a0) != 0) { func_8002AC00(0xA); func_80130D48(obj); @@ -9603,11 +9603,11 @@ void func_801856A0(s32 a0) { func_8012B0B4(pbuf, ang1, dist); t4 = buf; - pos[0] = *(u16 *)(obj + 0x6) + t4; + pos[0] = ((Unkstruct_800B5CB8 *)obj)->unk6 + t4; v3 = rand() % 24; - base = *(s16 *)(obj + 0xA) - 0x34; + base = CAST_SIGN(s16, obj, 0xA) - 0x34; r4 = rand(); { @@ -9617,15 +9617,15 @@ void func_801856A0(s32 a0) { { s32 hi4; hi4 = t4 >> 16; - pos[2] = *(u16 *)(obj + 0xE) + hi4; + pos[2] = ((Unkstruct_800B5CB8 *)obj)->unkE + hi4; } func_80143BDC(pos); i++; } } - *(s32 *)(obj + 0x1C) = 0x10; - *(u16 *)(obj + 0x34) += 1; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk34 += 1; for (i = 0; i < 3; i++) { func_8012C658(0x240, i, obj); @@ -9684,14 +9684,14 @@ u8 *func_8018594C(s16 a0, u8 *a1, s32 a2) { return NULL; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); func_8001CD50((s32)sub, (s32)((u8 *)D_801C5988 + (a2 << 6))); *(u16 *)(sub + 0x1E) = 0xC00; - *(u16 *)(sub + 0x1A) = 0x1000; - *(u16 *)(sub + 0x18) = 0x1000; - *(u16 *)(sub + 0x12) = a0; - *(s32 *)(sub + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)sub)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)sub)->unk12 = a0; + CAST_WIDTH(s32, sub, 0x4) |= 0x40000000; return obj; } @@ -9748,20 +9748,20 @@ void func_801859E4(s32 a0) { /* obj+0x38/0x3C/0x40 are the 16.16 position; these are their integer * halves (cookbook §194-G), i.e. where the entity is standing now. */ - from.vx = *(u16 *)(obj + 0x3A); - from.vy = *(u16 *)(obj + 0x3E); - from.vz = *(u16 *)(obj + 0x42); + from.vx = ((Unkstruct_800B5CB8 *)obj)->unk3A; + from.vy = ((Unkstruct_800B5CB8 *)obj)->unk3E; + from.vz = ((Unkstruct_800B5CB8 *)obj)->unk42; if (func_80185EFC(obj) == 0) { - *(u16 *)(obj + 0x6) = *(u16 *)(obj + 0x88); - *(u16 *)(obj + 0xA) = *(u16 *)(obj + 0x8A); - *(u16 *)(obj + 0xE) = *(u16 *)(obj + 0x8C); + ((Unkstruct_800B5CB8 *)obj)->unk6 = ((Unkstruct_800B5CB8 *)obj)->unk88; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)obj)->unk8A; + ((Unkstruct_800B5CB8 *)obj)->unkE = ((Unkstruct_800B5CB8 *)obj)->unk8C; return; } - *(s16 *)(obj + 0x6) = D_80126CB4; - *(s16 *)(obj + 0xA) = D_80126CB6; - *(s16 *)(obj + 0xE) = D_80126CB8; + CAST_ALIAS(s16, obj, 0x6) = D_80126CB4; + CAST_ALIAS(s16, obj, 0xA) = D_80126CB6; + ((Unkstruct_800B5CB8 *)obj)->unkE = D_80126CB8; vec[2] = (s32)0xFF600000; vec[1] = 0; @@ -9774,11 +9774,11 @@ void func_801859E4(s32 a0) { * 0x6C($sp)` pair sits above .L80185B18, and pos[1] is never accumulated * into. Written inside the loop, gcc cannot prove *(s32*)(obj+8) survives * the two calls and re-loads it every iteration (+2 instructions). */ - pos[1] = *(s32 *)(obj + 0x8); + pos[1] = CAST_WIDTH(s32, obj, 0x8); do { - pos[0] = *(s32 *)(obj + 0x4); - pos[2] = *(s32 *)(obj + 0xC); + pos[0] = CAST_WIDTH(s32, obj, 0x4); + pos[2] = CAST_WIDTH(s32, obj, 0xC); func_800484EC((s32)&mtx, (s32)vec, (s32)out); pos[0] += out[0]; pos[2] += out[2]; @@ -9795,10 +9795,10 @@ void func_801859E4(s32 a0) { to.vz = *((u16 *)&pos[2] + 1); if (func_80185F5C(&from, &to) == 1) { - *(u16 *)(obj + 0x6) = to.vx; - *(u16 *)(obj + 0xA) = to.vy; - *(u16 *)(obj + 0xE) = to.vz; - *(s32 *)(obj + 0x14) = 0; + ((Unkstruct_800B5CB8 *)obj)->unk6 = to.vx; + ((Unkstruct_800B5CB8 *)obj)->unkA = to.vy; + ((Unkstruct_800B5CB8 *)obj)->unkE = to.vz; + ((Unkstruct_800B5CB8 *)obj)->unk14 = 0; goto sync; } @@ -9808,7 +9808,7 @@ void func_801859E4(s32 a0) { func_8012ADE4((u8 *)obj); sync: - *(s16 *)(*(s32 *)(obj + 0x20) + 0x12) = func_8012B864(obj); + ((Unkstruct_800B5CB8 *)*(s32 *)(obj + 0x20))->unk12 = func_8012B864(obj); } @@ -9865,11 +9865,11 @@ s32 func_80185BD4(s32 a0, s32 a1) { } for (i = 0, p = D_801202A0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(u16 *)a0 == *(u16 *)p && a0 != (s32)p) { + if (*(u16 *)p != 0 && ((Unkstruct_800B5CB8 *)a0)->unk0 == *(u16 *)p && a0 != (s32)p) { if (func_8012BC60((struct Vec *)(a0 + 4), (struct Vec *)(p + 4)) < 0x1000) { - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); ang = func_8012B6D4((s16 *)(a0 + 4), (s16 *)(p + 4)); func_8012B0B4((unsigned int *)buf, ang, 0x41); @@ -9881,18 +9881,18 @@ s32 func_80185BD4(s32 a0, s32 a1) { s32 t3; register s32 t4 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7) - *(s32 *)(a0 + 4) = t1; + CAST_WIDTH(s32, a0, 4) = t1; - t2 = *(u16 *)(a0 + 6); + t2 = ((Unkstruct_800B5CB8 *)a0)->unk6; t3 = *(s32 *)(p + 0xC); t2 = t2 + v1; - *(s32 *)(a0 + 0xC) = t3; - *(u16 *)(a0 + 6) = t2; + CAST_WIDTH(s32, a0, 0xC) = t3; + ((Unkstruct_800B5CB8 *)a0)->unk6 = t2; - t4 = *(u16 *)(a0 + 0xE); + t4 = ((Unkstruct_800B5CB8 *)a0)->unkE; v1 = v1 >> 16; t4 = t4 + v1; - *(u16 *)(a0 + 0xE) = t4; + ((Unkstruct_800B5CB8 *)a0)->unkE = t4; } goto found; } @@ -9917,66 +9917,66 @@ extern u8 D_801C8CBC[]; void func_80185D20(s32 a0) { u16 v1; - if (*(s16 *)(a0 + 0x100) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { ((void (*)(void))func_8002A04C)(); } - if (*(u8 *)(a0 + 0xC1) == 0xE) { + if (CAST_SIGN(u8, a0, 0xC1) == 0xE) { func_8002AC00(0xA); } - v1 = *(u16 *)(a0 + 0x70); + v1 = CAST_SIGN(u16, a0, 0x70); if ((v1 & 1) == 0) { goto LCFC; } if ((v1 & 0x8000) != 0) { goto LD44; } - if (*(u8 *)(a0 + 0xC1) == 0) { + if (CAST_SIGN(u8, a0, 0xC1) == 0) { goto LCFC; } - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x2) = 1; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; { s32 ent; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x5C) = 0; - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78)); - ent = *(s32 *)(a0 + 0x20); + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78); + ent = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(ent + 0x14) = 0; *(s16 *)(ent + 0x12) = 0; *(s16 *)(ent + 0x10) = 0; } { - u16 f88 = *(u16 *)(a0 + 0x88); - u16 f8A = *(u16 *)(a0 + 0x8A); - u16 f8C = *(u16 *)(a0 + 0x8C); + u16 f88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + u16 f8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; + u16 f8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0xAA) = 0; - *(s16 *)(a0 + 0x6) = f88; - *(s16 *)(a0 + 0xA) = f8A; - *(s16 *)(a0 + 0xE) = f8C; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = f88; + ((Unkstruct_800B5CB8 *)a0)->unkA = f8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = f8C; func_8012A828(a0, (void *)&D_801C8CBC); } - if (*(s32 *)(a0 + 0xCC) != 0) { - func_801439C0(*(s32 *)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); } func_8012B2CC(a0); return; LCFC: - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - s32 v1c = *(s32 *)(a0 + 0x68); + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + s32 v1c = ((Unkstruct_800B5CB8 *)a0)->unk68; if (v1c != 0) { - if ((*(s16 *)(a0 + 0x72) & 0x8000) != 0) { + if ((CAST_SIGN(s16, a0, 0x72) & 0x8000) != 0) { u16 v0c = *(u16 *)(v1c + 0xA); v0c &= 0x7FFF; *(u16 *)(v1c + 0xA) = v0c; @@ -9994,7 +9994,7 @@ extern s32 func_8012BDBC(s32 a0, s32 a1); s32 func_80185E8C(s32 obj) { s32 d = func_8012BCCC(obj); if (d < 0x2001) { - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return 1; } if (d > 0x24000) { @@ -10003,7 +10003,7 @@ s32 func_80185E8C(s32 obj) { if (func_8012BDBC(obj, 0x400) == 0) { return 0; } - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return 1; } @@ -10013,9 +10013,9 @@ s32 func_80185E8C(s32 obj) { s32 func_80185EFC(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -10066,7 +10066,7 @@ s32 func_80185F5C(void *a0, SVECTOR *a1) extern void (*D_801C5B6C[])(void); void func_80186034(void *a0) { - D_801C5B6C[*(u16 *)((s32)a0 + 0x2)](); + D_801C5B6C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10119,11 +10119,11 @@ void func_80186140(s32 a0) return; } func_801861D8((void *)a0); - if ((*(s16 *)(a0 + 0x2C))-- < 0) { + if ((CAST_SIGN(s16, a0, 0x2C))-- < 0) { func_801292C8((u8 *)a0); } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) += 0x100; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) += 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 += 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A += 0x100; func_8012931C((struct vec *)a0); } } @@ -10167,13 +10167,13 @@ s32 func_801861D8(void *arg0) { return 0; } - pointA[0] = *(u16 *)(base + 0x6); - pointA[1] = *(u16 *)(base + 0xA); - pointA[2] = *(u16 *)(base + 0xE); + pointA[0] = CAST_SIGN(u16, base, 0x6); + pointA[1] = CAST_SIGN(u16, base, 0xA); + pointA[2] = CAST_SIGN(u16, base, 0xE); - diff[0] = pointA[0] - *(u16 *)((u8 *)arg0 + 0x6); - diff[1] = pointA[1] - *(u16 *)((u8 *)arg0 + 0xA); - diff[2] = pointA[2] - *(u16 *)((u8 *)arg0 + 0xE); + diff[0] = pointA[0] - ((Unkstruct_800B5CB8 *)arg0)->unk6; + diff[1] = pointA[1] - ((Unkstruct_800B5CB8 *)arg0)->unkA; + diff[2] = pointA[2] - ((Unkstruct_800B5CB8 *)arg0)->unkE; VectorNormalSS(diff, diff); @@ -10186,8 +10186,8 @@ s32 func_801861D8(void *arg0) { func_8012F568(1, 0x4001, 0, 0xA, (s32)pointA, (s32)diff); } - ptr = *(void **)((u8 *)arg0 + 0x20); - *(u16 *)(base + 0x42) = *(u16 *)((u8 *)ptr + 0x12); + ptr = CAST_SIGN(void *, (u8 *)arg0, 0x20); + ((Unkstruct_80126B58 *)base)->unk42 = *(u16 *)((u8 *)ptr + 0x12); return 1; } @@ -10228,7 +10228,7 @@ s32 func_80186334(void *a0) s32 hit; cfg = (s32 *)&D_80126B58; - p0 = (u8 *)*(s32 *)((s32)a0 + 0x20); + p0 = (u8 *)((Unkstruct_800B5CB8 *)a0)->unk20; func_80020DA4((s32)p0 + 0x10, (s32)matrix); func_80020F34((s32)matrix, (s32)p0 + 0x18); @@ -10248,7 +10248,7 @@ s32 func_80186334(void *a0) RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); - hit = func_80135888(*(s32 *)((u8 *)cfg + 0x20), *(s32 *)((u8 *)cfg + 0x38), + hit = func_80135888(((Unkstruct_80126B58 *)cfg)->unk20, ((Unkstruct_80126B58 *)cfg)->unk38, (s32)sv0, (s32)sv1); do { } while (0); /* scheduling barrier — matched sibling note 3 */ p1 += 8; @@ -10265,7 +10265,7 @@ s32 func_80186334(void *a0) extern void (*D_801C5BD4[])(void); void func_80186484(void *a0) { - D_801C5BD4[*(u16 *)((s32)a0 + 0x2)](); + D_801C5BD4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10287,7 +10287,7 @@ void func_801864F4(void *arg0) { func_8018654C(0, (u8 *)arg0 + 0xFD); func_8018654C(1, (u8 *)arg0 + 0xFE); func_8018654C(2, (u8 *)arg0 + 0xFF); - *(s32 *)((char *)arg0 + 0x1C) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 2; } } @@ -10326,7 +10326,7 @@ void func_8018654C(s32 a0, u8 *a1) { extern void (*D_801C5C08[])(void); void func_801865E8(void *a0) { - D_801C5C08[*(u16 *)((s32)a0 + 0x2)](); + D_801C5C08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10349,26 +10349,26 @@ void func_80186624(void *a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)() + 0; - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } - func_8001C214(v0, D_801C5BDC[*(u16 *)((s32)a0 + 0x70) & 0xF]); + func_8001C214(v0, D_801C5BDC[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]); - *(s32 *)((s32)a0 + 0x1C) = 8; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; - func_8012EC04(*(s32 *)((s32)a0 + 0x64), D_801C5BE8[*(u16 *)((s32)a0 + 0x70) & 0xF], buf); + func_8012EC04(((Unkstruct_800B5CB8 *)a0)->unk64, D_801C5BE8[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF], buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, (s32)D_801C5C00, out); - *(u16 *)((s32)a0 + 0x6) = out[0]; - *(u16 *)((s32)a0 + 0xA) = out[1]; - *(u16 *)((s32)a0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = out[2]; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); } @@ -10385,13 +10385,13 @@ void func_80186710(s32 a0) { return; } s0 = a0; - *(u16 *)(s0 + 0x2) += 1; + CAST_SIGN(u16, s0, 0x2) += 1; r = rand(); - h = *(u16 *)(s0 + 0x70); + h = CAST_SIGN(u16, s0, 0x70); p = D_801C5BF4; - *(s32 *)(s0 + 0x48) = p[h & 0xF] + r % 1024; - *(s32 *)(s0 + 0x1C) = 0x100; - *(s32 *)(s0 + 0xE0) = rand(); + ((Unkstruct_800B5CB8 *)s0)->unk48 = p[h & 0xF] + r % 1024; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x100; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = rand(); } @@ -10409,25 +10409,25 @@ void func_801867A4(void *a0) s16 out[6]; s16 t5; - if ((*(u16 *)((s32)a0 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) -= 0x10; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = -0x400; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) == 2) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) -= 0x10; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)((s32)a0 + 0x20), 0x10) = -0x400; } } else { - vec[0] = func_80047948((*(s32 *)((s32)a0 + 0xE0) << 6) & 0xFC0) << 8; + vec[0] = func_80047948((((Unkstruct_800B5CB8 *)a0)->unkE0 << 6) & 0xFC0) << 8; vec[1] = 0; vec[2] = 0; - func_800484EC(*(s32 *)((s32)a0 + 0x20) + 0x34, (s32)vec, (s32)out); - *(s16 *)((s32)a0 + 0x50) = out[1]; + func_800484EC(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34, (s32)vec, (s32)out); + CAST_WIDTH(s16, (s32)a0, 0x50) = out[1]; t5 = out[5]; - *(s32 *)((s32)a0 + 0xE0) = *(s32 *)((s32)a0 + 0xE0) + 1; - *(s16 *)((s32)a0 + 0x54) = t5; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk54 = t5; } if (((s32 (*)(s32))func_8012CBF4)((s32)a0) != 0) { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(s16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 += 1; } else if (func_8012BEE8((s32)a0) != 0) { func_8012C218(a0); } @@ -10446,32 +10446,32 @@ void func_801868AC(s32 param_1) s32 uVar1; s32 sVar2; - if (*(u16 *)(param_1 + 0x34) == 0) { - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + -0x80; - if (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x400; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) + -0x80; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)(param_1 + 0x20), 0x10) = -0x400; } } iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C | 0x10; } } else { iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { ((void (*)(s32))func_8012C218)(param_1); } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x1C) = uVar1; *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 8 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 8 + 0x1000; } } } @@ -10508,23 +10508,23 @@ void func_801869CC(void *a0) s32 i, j, k, base, ang, t; u32 col; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += 0x40; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += 0x40; func_8012B414((s32)a0); mv.vz = -0x40000; rot.vz = 0; - col = D_801C5BB4[(*(u16 *)((s32)a0 + 0x10A))++ & 7]; + col = D_801C5BB4[(CAST_SIGN(u16, (s32)a0, 0x10A))++ & 7]; prim.code = 0x50000000; - *(u32 *)((s32)&prim + 0x20) = col; - *(u32 *)((s32)&prim + 0x24) = col; - *(u32 *)((s32)&prim + 0x28) = col; - *(u32 *)((s32)&prim + 0x2C) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x20) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x24) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x28) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x2C) = col; p = (s32 *)((s32)a0 + 0xCC); for (i = 0, k = 0; i < ((Cnt_8018E8A0_801869CC *)a0)->f[0x84]; i++, k++, p += 3) { zb = (s32 *)((s32)a0 + 0xD4); { register s32 c1 __asm__("$2"); register s32 c2 __asm__("$3"); // !FAKE: pin $2 — NEEDED DIFFERS; pin $3 — NEEDED DIFFERS (P36 rung B tus7) - c1 = *(s32 *)((s32)a0 + 0x1C); c2 = i * 4; d = c1 - c2; } + c1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; c2 = i * 4; d = c1 - c2; } if (d > 0x40) { if (i == 4) { func_8012C218(a0); @@ -10536,7 +10536,7 @@ void func_801869CC(void *a0) ang = base & 0xFFF; flag = (func_8004787C(ang) << 4) >> 12; - switch (*(s16 *)((s32)a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: t = ang; goto horiz; @@ -10573,7 +10573,7 @@ void func_801869CC(void *a0) mtx.t[2] = ((s16 *)q)[1]; src = (SVec8_8018E8A0_801869CC *)(D_801C5C18 + - ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); + ((s32)(s16)CAST_SIGN(u16, (s32)a0, 0x70) / 2) * 0x20); dst = prim.v; gte_SetRotMatrix(&mtx); @@ -10582,11 +10582,11 @@ void func_801869CC(void *a0) for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); } - func_80017758(&prim, (void *)(*(s32 *)((s32)a0 + 0x20) + 0x34)); + func_80017758(&prim, (void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); } - *(s32 *)((s32)a0 + 0x1C) += 1; - if ((*(s32 *)((s32)a0 + 0x1C) & 3) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 0) { if (((Cnt_8018E8A0_801869CC *)a0)->f[0x84] < 5) { ((Cnt_8018E8A0_801869CC *)a0)->f[0x84] = ((Cnt_8018E8A0_801869CC *)a0)->f[0x84] + 1; } @@ -10598,7 +10598,7 @@ void func_801869CC(void *a0) extern void (*D_801C5C58[])(void); void func_80186D18(void *a0) { - D_801C5C58[*(u16 *)((s32)a0 + 0x2)](); + D_801C5C58[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10613,19 +10613,19 @@ void func_80186D54(void *a0) s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC((s32)a0); - *(u16 *)((s32)a0 + 0x108) = 1; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 1; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; } @@ -10633,7 +10633,7 @@ void func_80186D54(void *a0) extern void (*D_801C9794[])(void); void func_80186DD4(void *a0) { - D_801C9794[*(u16 *)((s32)a0 + 0x2)](); + D_801C9794[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10666,7 +10666,7 @@ void func_80186E10(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801C94EC[idx]; @@ -10674,21 +10674,21 @@ void func_80186E10(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_801874BC); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_8018C90C); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -10897,7 +10897,7 @@ s32 func_80187264(void) { extern void (*D_801C97BC[])(void); void func_801872C8(void *a0) { - D_801C97BC[*(u16 *)((s32)a0 + 0x2)](); + D_801C97BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10919,7 +10919,7 @@ void func_80187304(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -10947,23 +10947,23 @@ void func_8018738C(void *a0) { extern u8 D_801C9D74[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801C9C6C); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801C9D74); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -10985,14 +10985,14 @@ void func_8018744C(void *a0) { extern u8 D_801C9E7C[]; extern u8 D_801C9C5C[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801C9E7C); } else { func_8012A828((s32)a0, D_801C9C5C); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -11091,13 +11091,13 @@ void func_80187628(s32 a0) { return; } - *(s8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xBC) = (s32)D_801CA0F8; - *(s32 *)(s0 + 0xB4) = -0x48D; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)D_801CA0F8; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -0x48D; - v0 = *(s32 *)(s0 + 0xC4); - *(s16 *)(s0 + 0xDC) = 1; - *(s32 *)(s0 + 0xC4) = v0 | 0x2; + v0 = ((Unkstruct_800B5CB8 *)s0)->unkC4; + CAST_WIDTH(s16, s0, 0xDC) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = v0 | 0x2; func_80143970(s0); func_8012A828(s0, D_8018C90C); @@ -11113,9 +11113,9 @@ extern void func_80132288(s32 *param_1, s32 *param_2, s32 param_3); extern void func_801888A8(s32 a0, s32 a1); void func_801876E4(s32 a0) { - *(s16 *)(a0 + 2) = 2; + CAST_ALIAS(s16, a0, 2) = 2; func_80132288(&D_801F7730, D_801C9EEC, D_801CAE68); - *(s32 *)(a0 + 0x1C) = (rand() % 31) + 30; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() % 31) + 30; func_801888A8(a0, 1); } @@ -11129,11 +11129,11 @@ extern s32 D_801F7730; void func_80187778(s32 a0) { if (func_8012BCCC(a0) < 0x4001) { - *(s16 *)(a0 + 2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; return; } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } func_8013240C((s32)&D_801F7730); } @@ -11190,8 +11190,8 @@ void func_80187914(s32 arg0) { s32 v0; s32 v1; - v0 = *(s16 *)(arg0 + 0xE0); - v1 = *(s32 *)(arg0 + 0x20); + v0 = CAST_WIDTH(s16, arg0, 0xE0); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(v1 + 0x12) += v0 * 34; if (*(s16 *)(arg0 + 0xEA) == 0) { @@ -11201,11 +11201,11 @@ void func_80187914(s32 arg0) { } } if (func_8012BCCC(arg0) < 0x4001) { - *(s16 *)(arg0 + 2) = 7; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 7; return; } if (func_8012BEE8(arg0) != 0) { - *(s16 *)(arg0 + 2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; } func_8013240C((s32)&D_801F7730); } @@ -11266,24 +11266,24 @@ void func_80187A9C(s32 obj) { d = func_8012BCCC(obj); if (d <= 0x4000) { - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return; } - if (D_80078EAE == 0 && d <= 0x8000 && *(s16 *)(obj + 0xE4) != 0) { + if (D_80078EAE == 0 && d <= 0x8000 && CAST_WIDTH(s16, obj, 0xE4) != 0) { s32 *vz = &D_801CA0E4; *vz = -(func_80047D3C(func_8012BCCC(obj)) << 16); if (((s32 (*)(s32, s32))func_80188AF4)(obj, (s32)((u8 *)vz - 8)) & 0x2000) { - *(s16 *)(obj + 0x2) = 9; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 9; return; } } if (!func_80188A94(obj) || !func_8012BDBC(obj, 0x400)) { - if (*(s16 *)(obj + 0xE4) != 0) { + if (CAST_WIDTH(s16, obj, 0xE4) != 0) { func_8012B178(obj, 0xFFFE0000); func_801888A8(obj, 1); func_80132288((int *)&D_801F7730, (int *)&D_801C9F04, D_801CAE68); - *(s16 *)(obj + 0xE4) = 0; + CAST_WIDTH(s16, obj, 0xE4) = 0; } if (func_8012BEE8(obj)) { func_8018893C(obj); @@ -11291,19 +11291,19 @@ void func_80187A9C(s32 obj) { } } else { r = func_8012B8E4(obj, 4); - p = *(s32 *)(obj + 0x20); + p = ((Unkstruct_800B5CB8 *)obj)->unk20; *(u16 *)(p + 0x12) += r; func_8012B178(obj, 0xFFF80000); - if (*(s16 *)(obj + 0xE4) == 0) { + if (CAST_WIDTH(s16, obj, 0xE4) == 0) { func_801888A8(obj, 2); func_80132288((int *)&D_801F7730, (int *)&D_801C9F24, D_801CAE68); - *(s16 *)(obj + 0xE4) = 1; + CAST_WIDTH(s16, obj, 0xE4) = 1; } } r = func_801887B0(obj); if (r == 0) { - if (*(s16 *)(obj + 0xE4) == 0 || *(s16 *)(obj + 0xEA) == 2) { - *(s16 *)(obj + 0x2) = 3; + if (CAST_WIDTH(s16, obj, 0xE4) == 0 || *(s16 *)(obj + 0xEA) == 2) { + ((Unkstruct_800B5CB8 *)obj)->unk2 = 3; } } else if (r == -1) { return; @@ -11320,9 +11320,9 @@ void func_80187C94(s32 a0) { extern s32 D_801C9F44[]; s32 s0 = a0; - *(s16 *)(s0 + 0x2) = 8; + CAST_ALIAS(s16, s0, 0x2) = 8; func_80132288(&D_801F7730, D_801C9F44, D_801CAE68); - *(s32 *)(s0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x28; func_801888A8(s0, 2); *(s16 *)(s0 + 0xDE) = 0; *(s16 *)(s0 + 0xE6) = 0; @@ -11347,15 +11347,15 @@ void func_80187CFC(s32 a0) { s32 v1; v0 = func_8012B8E4(a0, 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v0; - if (*(s32 *)(a0 + 0x1C) == 0x28) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x28) { func_8002D4C8(0x7F, 0); } - if (*(s32 *)(a0 + 0x1C) == 5) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 5) { func_8002D4C8(0x524, 0); } - if (*(s32 *)(a0 + 0x1C) < 0xB) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0xB) { if (*(s16 *)(a0 + 0xDE) == 0) { func_8012D5E4(a0, (s32)D_801CA0E8, (s32)D_801CA0E8 + 8, 0x15); *(u16 *)(a0 + 0xDE) ^= 1; @@ -11368,10 +11368,10 @@ void func_80187CFC(s32 a0) { return; } if (v1 >= 0x4001) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; return; } - *(s32 *)(a0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; *(u16 *)(a0 + 0xDE) = 0; } func_8013240C((s32)&D_801F7730); @@ -11398,19 +11398,19 @@ void func_80187E24(s32 a0) { s16 ret864; s32 *tbl; - *(s16 *)(s0 + 0x2) = 0xA; + CAST_ALIAS(s16, s0, 0x2) = 0xA; func_80132288((int *)&D_801F7730, (int *)&D_801C9F6C, D_801CAE68); func_801888A8(s0, 2); *(s16 *)(s0 + 0xDE) = 0; ret864 = func_8012B864(s0); - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = ret864; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = ret864; func_8012B2CC(s0); tbl = &D_801CA1A4; *tbl = D_801CA0E4 / 30; func_8012B23C(s0); func_8012B14C(s0, (s32)tbl - 8); - *(s32 *)(s0 + 0x1C) = 0; - *(s16 *)(s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; } @@ -11428,12 +11428,12 @@ extern s32 D_801F7730; void func_80187EF0(s32 param_1) { s32 ret; - if (*(u16 *)(param_1 + 0x34) == 0) { - if (*(s32 *)(param_1 + 0x1C) < 0xF) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) += 0x44; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk1C < 0xF) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 += 0x44; } - if ((u32)(*(s32 *)(param_1 + 0x1C) - 0x15) < 0xA) { + if ((u32)(((Unkstruct_800B5CB8 *)param_1)->unk1C - 0x15) < 0xA) { if (*(s16 *)(param_1 + 0xDE) == 0) { func_8012D5E4(param_1, (s32)((u8 *)D_801CA0E8), (s32)&((u8 *)D_801CA0E8)[8], 0x1F); *(u16 *)(param_1 + 0xDE) ^= 1; @@ -11446,19 +11446,19 @@ void func_80187EF0(s32 param_1) { return; } else { if (ret & 0x2000) { - *(s32 *)(param_1 + 0x1C) = 0xF; - *(u16 *)(param_1 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } - *(s32 *)(param_1 + 0x1C) += 1; - if (*(s32 *)(param_1 + 0x1C) >= 0x28) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C >= 0x28) { ((void (*)(s32, s32))func_80131E00)(param_1, 0xD); } } } else { if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x2) = 1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; } } @@ -11546,54 +11546,54 @@ void func_80188134(s32 a0) s32 var_s2; var_s1 = 0; - if (*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0) { - ((s32 (*)(s32, s32, s32, s32))func_8012DBD0)(a0, 0x50, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D); + if (CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0) { + ((s32 (*)(s32, s32, s32, s32))func_8012DBD0)(a0, 0x50, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { goto L9E8; } var_s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801CA0A4); if (var_s1 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } break; case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { goto L9E8; } - var_s2 = *(s32 *)(a0 + 0x14); + var_s2 = ((Unkstruct_800B5CB8 *)a0)->unk14; var_s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801CA0A4); if (var_s1 & 0x2000) { func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = var_s2; - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = var_s2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; } else if (var_s1 & 0x8000) { - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } break; case 2: /* *15/16 with the signed-division +0xF fixup (never >>4) */ - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; - if (*(u8 *)(a0 + 0xC3) & 1) { + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 & 1) { var_s1 = ((s32 (*)(s32))func_8012CBA4)(a0); /* explicit goto pair: the target emits `bnez -> join ; j L9E8` */ if (var_s1 & 0x2000) { @@ -11603,21 +11603,21 @@ void func_80188134(s32 a0) } var_s1 = ((s32 (*)(s32))func_8012CBF4)(a0); if (var_s1 & 0x2000) { - *(u8 *)(a0 + 0xC3) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC3 |= 1; } else if (var_s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } L9AC: - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) < 0x11) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { break; } if (!(var_s1 & 0x2000)) { goto L9E8; } - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; func_8018876C(a0); return; } @@ -11671,7 +11671,7 @@ void func_80188410(s32 a0) * jtbl at all. With ~50 labels it emits addiu $v1,$v0,-1 ; sltiu * $v0,$v1,0x32 ; sll 2 ; jtbl_801F5F74 (minval=1, 50 entries) -- the * target's exact dispatch. Do NOT "simplify" to a default-only switch. */ - switch (*(u16 *)(a0 + 0x5e)) { + switch (CAST_WIDTH(u16, a0, 0x5e)) { case 8: p = D_801CA084; break; @@ -11731,8 +11731,8 @@ void func_80188410(s32 a0) break; } func_800484EC((s32)&m, (s32)p, a0 + 0x10); - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1c) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -11871,9 +11871,9 @@ extern void func_8012A828(s32 a0, void *a1); void func_8018876C(s32 a0) { extern u8 D_8018C90C[]; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, (void *)D_8018C90C); - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; *(s16 *)(a0 + 0xEA) = 0; } @@ -11931,16 +11931,16 @@ extern s32 D_801CB1E0; s32 func_801888A8_impl(s32 a0, s32 a1) __asm__("func_801888A8"); s32 func_801888A8_impl(s32 a0, s32 a1) { if (a1 & 1) { - if (*(u16 *)(a0 + 0xDC) & 2) { + if (CAST_NONSTRUCT(u16, a0, 0xDC) & 2) { func_800183E0((s32)&D_801CB010); - *(u16 *)(a0 + 0xDC) = a1; + CAST_NONSTRUCT(u16, a0, 0xDC) = a1; return 0; } } else { if (a1 & 2) { - if (*(u16 *)(a0 + 0xDC) & 1) { + if (CAST_NONSTRUCT(u16, a0, 0xDC) & 1) { func_800183E0((s32)&D_801CB1E0); - *(u16 *)(a0 + 0xDC) = a1; + CAST_NONSTRUCT(u16, a0, 0xDC) = a1; return 0; } } @@ -11978,14 +11978,14 @@ void func_80188978(s32 a0, s32 a1, s32 a2) { func_8012B23C(s1); func_80132288(&D_801F7730, (s32 *)s0, D_801CAE68); s0 = 1; - if (*(u16 *)(s1 + 0xDC) & 2) { + if (CAST_WIDTH(u16, s1, 0xDC) & 2) { func_800183E0((s32)&D_801CB010); - *(u16 *)(s1 + 0xDC) = s0; + CAST_WIDTH(u16, s1, 0xDC) = s0; } - *(u16 *)(s1 + 0x5C) &= 0xFFFE; - *(s32 *)(s1 + 0x1C) = s2; - *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) = (*(u16 *)(s1 + 0x62) + 0x800) & 0xFFF; - p = *(s32 *)(s1 + 0x20); + ((Unkstruct_800B5CB8 *)s1)->unk5C &= 0xFFFE; + ((Unkstruct_800B5CB8 *)s1)->unk1C = s2; + ((Unkstruct_800B5CB8 *)*(s32 *)(s1 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)s1)->unk62 + 0x800) & 0xFFF; + p = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(p + 0x14) = 0; *(s16 *)(p + 0x10) = 0; } @@ -11995,9 +11995,9 @@ extern void func_8012C218(void *arg0); void func_80188A2C(void *arg0) { int iVar1; - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) == 0) { - iVar1 = *(int *)((char *)arg0 + 0x68); - if ((iVar1 != 0) && ((*(s16 *)((char *)arg0 + 0x72) & 0x8000) != 0)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) == 0) { + iVar1 = ((Unkstruct_800B5CB8 *)arg0)->unk68; + if ((iVar1 != 0) && ((CAST_SIGN(s16, (char *)arg0, 0x72) & 0x8000) != 0)) { *(unsigned short *)(iVar1 + 10) = *(unsigned short *)(iVar1 + 10) & 0x7FFF; } } @@ -12010,9 +12010,9 @@ extern void Square0(s32 *a0, s32 *a1); s32 func_80188A94(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -12041,9 +12041,9 @@ void func_80188AF4(s32 a0, s32 a1) { RotMatrixY(func_8012B864(a0), &m); func_800484EC((s32)&m, a1, (s32)&out); - pos[0] = *(s32 *)(a0 + 0x4) + out.vx; - pos[1] = *(s32 *)(a0 + 0x8) + out.vy; - pos[2] = *(s32 *)(a0 + 0xC) + out.vz; + pos[0] = CAST_WIDTH(s32, a0, 0x4) + out.vx; + pos[1] = CAST_WIDTH(s32, a0, 0x8) + out.vy; + pos[2] = CAST_WIDTH(s32, a0, 0xC) + out.vz; { u16 rix; @@ -12051,12 +12051,12 @@ void func_80188AF4(s32 a0, s32 a1) { u16 roz; u16 riz; - rix = *(u16 *)(a0 + 0x3A); + rix = ((Unkstruct_800B5CB8 *)a0)->unk3A; roy = *((u16 *)&pos[1] + 1); roz = *((u16 *)&pos[2] + 1); *(u16 *)(rotIn + 0) = rix; - *(u16 *)(rotIn + 2) = *(u16 *)(a0 + 0x3E); - riz = *(u16 *)(a0 + 0x42); + *(u16 *)(rotIn + 2) = CAST_ALIAS(u16, a0, 0x3E); + riz = CAST_ALIAS(u16, a0, 0x42); *(u16 *)(rotOut + 0) = *((u16 *)&pos[0] + 1); *(u16 *)(rotOut + 2) = roy; *(u16 *)(rotOut + 4) = roz; @@ -12099,17 +12099,17 @@ void func_80188C90(s32 a0) { u32 v1; u32 (*func_ptr)(void); - v0 = *(u16 *)((u8 *)s0 + 2); + v0 = CAST_SIGN(u16, (u8 *)s0, 2); v0 = v0 * 4; func_ptr = (u32 (*)(void))D_801D2B4C[v0 / 4]; func_ptr(); - v0 = *(u16 *)s0; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk0; if (v0 == 0) { return; } - v0 = *(u32 *)((u8 *)s0 + 0x20); + v0 = CAST_SIGN(u32, (u8 *)s0, 0x20); v1 = *(u16 *)((u8 *)v0 + 0x2C); v1 = v1 | 0x10; *(u16 *)((u8 *)v0 + 0x2C) = v1; @@ -12119,7 +12119,7 @@ void func_80188C90(s32 a0) { if (v0 != v1) { return; } - *(u16 *)((u8 *)s0 + 0x102) = (v0 = 1); + ((Unkstruct_800B5CB8 *)s0)->unk102 = (v0 = 1); func_8018A05C(a0); } @@ -12132,14 +12132,14 @@ extern void func_8012B2CC(s32 a0); void func_80188D1C(s32 param_1) { if (func_8012C354(param_1, (s32)&D_801D2A40) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xBC) = (s32)&D_801D2A74; - *(s32 *)(param_1 + 0xB4) = 0xFFFBDFD9; - *(s32 *)(param_1 + 0xDC) = 0; - *(s16 *)(param_1 + 0x100) = 0x1000; - *(s32 *)(param_1 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_801D2A74; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xFFFBDFD9; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 1; func_80143970(param_1); - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012B2CC(param_1); } } @@ -12192,18 +12192,18 @@ void func_80188DD0(s32 a0) { extern u8 D_801D78A8[]; s32 v; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BCCC(a0) <= 0x10000) { - func_8001C924(*(s32 *)(a0 + 0x20), (void *)&D_801D477C); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, (void *)&D_801D477C); func_8012A828(a0, (void *)&(*(u8 *)D_801D78A8)); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } } else { v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (func_8012BEE8(a0) != 0 || v == 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } } @@ -12216,18 +12216,18 @@ extern u8 D_801D78A8[]; void func_80188EA0(s32 a0) { s32 r; - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012A828(a0, D_801D78A8); r = rand(); *(s16 *)(a0 + 0x52) = 0; - *(s32 *)(a0 + 0x1C) = (r % 17) + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (r % 17) + 0x28; } extern s32 func_8012BEE8(s32 arg); void func_80188F14(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s16 *)((s32)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; } } @@ -12262,19 +12262,19 @@ void func_80188FB0(s32 a0) { s32 s0 = a0; if (func_8012BD3C(s0, 0x400, 0x10000) == 1) { if (func_8012BCCC(s0) < 0x3001) { - *(s16 *)(s0 + 2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; return; } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - func_8012B8E4(s0, (s16)(rand() % 11 + 10)) + *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + func_8012B8E4(s0, (s16)(rand() % 11 + 10)) + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12; func_8012B178(s0, 0xFFFE0000); if (func_80189E88(s0) == 0) { return; } } else { if (func_80189E88(s0) == 0) { - *(s16 *)(s0 + 2) = 0xA; - *(s32 *)(s0 + 0xDC) |= 0x40; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)s0)->unkDC |= 0x40; return; } } @@ -12303,16 +12303,16 @@ void func_801890C4(s32 s0) { if (v0 >= 0x3001) { v0 = rand(); v0 = func_8012B8E4(s0, (s16)(v0 - v0 / 5 * 5 + 4)); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x12) = (s16)(*(u16 *)(v1 + 0x12) + v0); func_8012B178(s0, 0xFFFC0000); func_80189E88(s0); } else { - *(s16 *)(s0 + 2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; } } else { if (func_80189E88(s0) == 0) { - *(s16 *)(s0 + 2) = 0xA; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xA; } } } @@ -12326,9 +12326,9 @@ void func_80189194(s32 a0) { extern char D_801D7A58[]; - *(short *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, &D_801D7A58); - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80189E1C(a0); } @@ -12347,31 +12347,31 @@ void func_801891DC(s32 a0) { s32 flags; v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; - if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) { - if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x20) != 0) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk1C - 10) < 0xD) { func_80189C68(a0); } } else { - if (*(s32 *)(a0 + 0x1C) == 0x16) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x16) { func_80189B3C(a0); } - if (*(s32 *)(a0 + 0x1C) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x10) { ((void (*)(s32))func_80189CD4)(a0); } } if (func_8012BEE8(a0) != 0) { - flags = *(s32 *)(a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (flags & 1) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (flags & 0x10) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFEF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80189E1C(a0); } } @@ -12403,20 +12403,20 @@ void func_80189304(void *a0) { s32 cleared; s32 timer; - *(s16 *)((s32)a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; func_8012A828((s32)a0, D_801D78A8); - flags = *(s32 *)((s32)a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; cleared = flags & ~8; - *(s32 *)((s32)a0 + 0xDC) = cleared; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared; if (flags & 0x40) { - *(s32 *)((s32)a0 + 0xDC) = cleared & ~0x40; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared & ~0x40; timer = 30; } else { timer = rand() % 16 + 15; } - *(s32 *)((s32)a0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)a0)->unk1C = timer; if (func_8012BD3C((s32)a0, 0x400, 0x8000) == 0) { - *(s32 *)((s32)a0 + 0xDC) |= 8; + ((Unkstruct_800B5CB8 *)a0)->unkDC |= 8; } } @@ -12702,16 +12702,16 @@ void func_801897F8(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s32 *)(param_1 + 0xDC) & 0x80) { - p = *(s32 *)(param_1 + 0x20); - *(s16 *)(p + 0x1C) = 0x1000; - *(s16 *)(p + 0x18) = 0x1000; - *(s32 *)(param_1 + 0xDC) &= ~0x80; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 0x80) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, p, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)p)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkDC &= ~0x80; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; } a = param_1; *(s16 *)(a + 0x5C) |= 1; @@ -12721,9 +12721,9 @@ void func_801897F8(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -12736,10 +12736,10 @@ void func_801898E0(s32 param_1) { extern void func_8001C924(s32 a0, void *a1); extern void func_8012A828(s32 a0, void *a1); - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801D612C); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801D612C); func_8012A828(param_1, &D_801D7D90); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } @@ -12749,16 +12749,16 @@ extern void func_80130D48(s32 arg0); extern void func_8018A05C(s32 a0); void func_8018993C(s32 a0) { - if (*(s32 *)(a0 + 0x1C) < 0x11) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { s32 mask; s32 ptr; s32 val; mask = 0x80000000; - ptr = *(s32 *)(a0 + 0x20); - val = *(s32 *)(ptr + 0x4); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; + val = CAST_WIDTH(s32, ptr, 0x4); val ^= mask; - *(s32 *)(ptr + 0x4) = val; + CAST_WIDTH(s32, ptr, 0x4) = val; } if (func_8012BEE8(a0) != 0) { @@ -12789,19 +12789,19 @@ void func_801899B4(s32 param_1) { s32 iVar1; s32 uVar2; - *(s16 *)(param_1 + 0x5C) = 0; - if (*(s32 *)(param_1 + 0xDC) & 2) { - *(s32 *)(param_1 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 2) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x2D; func_8012A828(param_1, &D_801D7E70); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - (*(u16 *)(param_1 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + (((Unkstruct_800B5CB8 *)param_1)->unk62 + 0x800) & 0xFFF; *(s16 *)(param_1 + 0x52) = 0; } else { - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801D612C); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801D612C); func_8012A828(param_1, &D_801D7D90); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } iVar1 = func_8012BCCC(param_1); uVar2 = 0x520; @@ -12821,14 +12821,14 @@ extern void func_8018A05C(s32 a0); void func_80189A84(s32 a0) { - if ((*(s32 *)(a0 + 0xDC) & 0x2) != 0) { - if (*(s32 *)(a0 + 0x1C) >= 0x15) { - s32 p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x10) = *(u16 *)(p + 0x10) - 0x28; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x2) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x15) { + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk10 = ((Unkstruct_800B5CB8 *)p)->unk10 - 0x28; } } - if (*(s32 *)(a0 + 0x1C) < 0x11) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) ^= 0x80000000; } if (func_8012BEE8(a0) != 0) { func_8002AC00(0xB); @@ -12999,28 +12999,28 @@ s32 func_80189E88(s32 a0) { ret = 0; } - *(s32 *)(a0 + 0xDC) &= ~0x40; + ((Unkstruct_800B5CB8 *)a0)->unkDC &= ~0x40; p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - kind = *(u16 *)p; + kind = ((Unkstruct_800B5CB8 *)p)->unk0; if (kind == 0xAF || kind == 0x6F || kind == 0x100) { - if (*(s32 *)(p + 0x58) != 0 && a0 != (s32)p) { - buf1[0] = *(u16 *)(a0 + 0x3A); - buf1[1] = *(u16 *)(a0 + 0x3E); - buf1[2] = *(u16 *)(a0 + 0x42); - buf2[0] = *(u16 *)(a0 + 0x6); - buf2[1] = *(u16 *)(a0 + 0xA); - buf2[2] = *(u16 *)(a0 + 0xE); - if (func_80135A4C(*(s32 *)(p + 0x20), *(s32 *)(p + 0x58), + if (((Unkstruct_800B5CB8 *)p)->unk58 != 0 && a0 != (s32)p) { + buf1[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + buf1[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + buf1[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; + buf2[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf2[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf2[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + if (func_80135A4C(((Unkstruct_800B5CB8 *)p)->unk20, ((Unkstruct_800B5CB8 *)p)->unk58, (s32 *)buf1, (s32)buf2) != 0) { if ((func_8012CEB0((s32)buf1, (s32)buf2, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return ret; } - *(u16 *)(a0 + 0x6) = buf2[0]; - *(u16 *)(a0 + 0xA) = buf2[1]; - *(u16 *)(a0 + 0xE) = buf2[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = buf2[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = buf2[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = buf2[2]; break; } } @@ -13040,16 +13040,16 @@ void func_8018A05C(s32 a0) { s32 v1; - if (*(short *)((char *)a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { func_8002A04C((s32)a0); if (*(unsigned char *)((char *)a0 + 0xC1) == 0xE) { func_8002AC00(0xB); } } - if (!((*(short *)((char *)a0 + 0x70) & 0x8000))) { - v1 = *(s32 *)((char *)a0 + 0x68); - if (v1 != 0 && ((*(short *)((char *)a0 + 0x72) & 0x8000))) { + if (!((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000))) { + v1 = ((Unkstruct_800B5CB8 *)a0)->unk68; + if (v1 != 0 && ((CAST_SIGN(short, (char *)a0, 0x72) & 0x8000))) { *(unsigned short *)(v1 + 0xA) = *(unsigned short *)(v1 + 0xA) & 0x7FFF; } } @@ -13068,7 +13068,7 @@ extern void func_8018A168(); // K&R: 1/2 of 1 args (P37 rung D t4_D2) extern void func_8018A3D4(); // K&R: 1/2 of 1 args (P37 rung D t4_D2) void func_8018A124(s32 *a0, s32 a1) { - if (*(s32 *)((s32)a0 + 0xC4) & 4) { + if (((Unkstruct_800B5CB8 *)a0)->unkC4 & 4) { func_8018A168((s32)a0, a1); } else { func_8018A3D4((s32)a0, a1); @@ -13084,8 +13084,8 @@ extern unsigned char D_801DFC6C[]; void func_8018A168(int param_1) { - *(short *)(param_1 + 2) = 5; - *(short *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; *(unsigned short *)(param_1 + 0x5C) = 0xAA10; func_8012A828(param_1, &D_801DFC6C); func_8012B23C(param_1); @@ -13159,18 +13159,18 @@ void func_8018A2F8(s32 param_1) { s32 *p; u16 v; - v = *(u16 *)(param_1 + 0x70); + v = CAST_SIGN(u16, param_1, 0x70); p = &D_801D7F10; if ((v & 0x2000) == 0) { p += 3; } - *(u16 *)(param_1 + 2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; func_8012A828(param_1, (void *)p[0]); func_8012B2CC(param_1); func_8012B200((u8 *)param_1); func_8012B178(param_1, (s32)p[1]); - *(s32 *)(param_1 + 0x1C) = p[2]; - *(u16 *)(param_1 + 0x5C) = *(u16 *)(*(s32 *)(param_1 + 0x78) + 2); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = p[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 2); } @@ -13179,12 +13179,12 @@ void func_8018A384(s16 *param_1) s32 s0 = (s32)param_1; u16 v; - v = *(u16 *)(s0 + 0xFE); + v = CAST_SIGN(u16, s0, 0xFE); v = v - 1; - *(u16 *)(s0 + 0xFE) = v; + ((Unkstruct_800B5CB8 *)s0)->unkFE = v; if ((s32)(v << 16) <= 0) { func_80143B6C(param_1, 0); - *(u16 *)(s0 + 0xFE) = 8; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 8; } } @@ -13198,13 +13198,13 @@ extern s32 func_8018A698(s32 a0); extern u8 D_801DFA6C[]; void func_8018A3D4(s32 param_1) { - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 0x5C) = 0xAA10; - *(s32 *)(param_1 + 0x1C) = (rand() & 0x1F) + 0x24; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (rand() & 0x1F) + 0x24; if (func_8018A698(param_1) != 0) { - *(s16 *)(param_1 + 0xFC) = + ((Unkstruct_800B5CB8 *)param_1)->unkFC = func_8012B744((void *)(param_1 + 0x4), (void *)(param_1 + 0x88)); } else { s32 t = rand() & 0x3FF; @@ -13215,8 +13215,8 @@ void func_8018A3D4(s32 param_1) { } else { v1 = t + 0x100; } - *(s16 *)(param_1 + 0xFC) = - (*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + v1) & 0xFFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = + (((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + v1) & 0xFFF; } func_8012A828(param_1, D_801DFA6C); @@ -13242,17 +13242,17 @@ extern u8 D_801DFF34; extern u8 D_801DFB14; void func_8018A4B4(s32 param_1) { - *(s16 *)(param_1 + 0x2) = 3; - if (*(u16 *)(param_1 + 0x86) & 2) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)param_1)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x28; func_8012A828(param_1, &D_801DFF34); - *(u16 *)(param_1 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; } else { - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012A828(param_1, &D_801DFB14); - *(s32 *)(param_1 + 0x1C) = 0x19; - *(u16 *)(param_1 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk86 |= 2; } } @@ -13266,11 +13266,11 @@ extern s32 D_801F7740; void func_8018A538(s32 param_1) { s32 v1; - *(u16 *)(param_1 + 2) = 4; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012A828(param_1, &D_801E0084); v1 = D_801D7E84; - *(s32 *)(param_1 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x28; D_801F7740 = v1; func_8002D4C8(0x660, 0); } @@ -13316,7 +13316,7 @@ void func_8018A624(s32 arg0) { u8 val; /* Check field at +0x100 */ - if (((s16 *)arg0)[0x80] == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk100 == 0) { func_8002A04C(arg0); } @@ -13338,9 +13338,9 @@ extern void Square0(s32 *a0, s32 *a1); s32 func_8018A698(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return 0x18FFFF < v[0] + v[2]; } @@ -13408,25 +13408,25 @@ s32 func_80188250_body(s32 a0) { self4 = (s16 *)(a0 + 4); sc = (unsigned int *)sp20; do { - if (*(u16 *)a0 == *(u16 *)p && (u8 *)a0 != p) { + if (*(u16 *)a0 == ((Unkstruct_800B5CB8 *)p)->unk0 && (u8 *)a0 != p) { if (func_8012BC60(self4, (struct Vec *)(p + 4)) < 0x1000) { ang = func_8012B6D4(self4, (s16 *)(p + 4)); func_8012B0B4(sc, ang, 0x41); - v18[0] = *(u16 *)(p + 6); - v18[1] = *(u16 *)(p + 0xA); - v18[2] = *(u16 *)(p + 0xE); + v18[0] = ((Unkstruct_800B5CB8 *)p)->unk6; + v18[1] = ((Unkstruct_800B5CB8 *)p)->unkA; + v18[2] = ((Unkstruct_800B5CB8 *)p)->unkE; v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = CAST_NONSTRUCT(u16, a0, 0x3A); + v10[1] = CAST_NONSTRUCT(u16, a0, 0x3E); + v10[2] = CAST_NONSTRUCT(u16, a0, 0x42); if ((func_8012CEB0((s32)&v10[0], (s32)&v18[0], 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return 1; } - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - do { *(u16 *)(a0 + 0xE) = v18[2]; } while (0); + CAST_NONSTRUCT(u16, a0, 6) = v18[0]; + CAST_NONSTRUCT(u16, a0, 0xA) = v18[1]; + do { CAST_NONSTRUCT(u16, a0, 0xE) = v18[2]; } while (0); return 1; } } @@ -13454,7 +13454,7 @@ void func_8018A86C(s32 arg0) { handler(arg0); /* Check field at +0x0 */ - if (((u16 *)arg0)[0] == 0) + if (((Unkstruct_800B5CB8 *)arg0)->unk0 == 0) return; /* Check field at +0xA */ @@ -13462,7 +13462,7 @@ void func_8018A86C(s32 arg0) { return; /* Check field at +0x100 */ - if (((s16 *)arg0)[0x80] == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk100 == 0) { func_8002A04C(arg0); } @@ -13483,7 +13483,7 @@ extern void func_8018A3D4(); // K&R: 1/2 of 1 args (P37 rung D t4_D2) void func_8018A928(s32 a0) { func_8012CBF4(a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8018A3D4(a0); } } @@ -13545,8 +13545,8 @@ extern void func_8018A3D4(); // K&R: 1/2 of 1 args (P37 rung D t4_D2) void func_8018AA60(s32 param_1) { - if (*(u16 *)(param_1 + 0x34) == 0) { - if (*(u16 *)(param_1 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk72 & 0x4000) { if (func_8018A698(param_1) == 0) { if (func_8012BD3C(param_1, 0x300, 0x40000) != 0) { func_8018A4B4((s16 *)param_1); @@ -13574,8 +13574,8 @@ void func_8018AAE4(s32 a0) { u16 v0; - if (*(u16 *)(a0 + 0x34) == 0) { - if (*(s32 *)(a0 + 0x1C) % 10 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 10 == 0) { D_801F7740 += 0x10000; } func_8012B178(a0, D_801F7740); @@ -13583,16 +13583,16 @@ void func_8018AAE4(s32 a0) func_8018A6F4(a0); func_8018A598((void *)a0); - v0 = *(u16 *)(a0 + 0xFE) - 1; - *(u16 *)(a0 + 0xFE) = v0; + v0 = CAST_SIGN(u16, a0, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; if ((s32)(v0 << 16) <= 0) { func_80143B6C(a0, 0); - *(u16 *)(a0 + 0xFE) = -(D_801F7740 / 0x10000); + ((Unkstruct_800B5CB8 *)a0)->unkFE = -(D_801F7740 / 0x10000); } if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0xA; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else if (func_8012BEE8(a0) != 0) { func_8018A484((short *)a0); @@ -13627,12 +13627,12 @@ extern void func_8018A4B4(s32 param_1); void func_8018AC60(s32 a0) { func_8012AD80(a0); - if (*(u16 *)(a0 + 0x70) & 0x2000) { + if (CAST_SIGN(u16, a0, 0x70) & 0x2000) { func_8018A384((s16 *)a0); func_8018A598((void *)a0); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x86) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 2; func_8018A4B4((s16 *)a0); } } @@ -13651,17 +13651,17 @@ void func_8018ACD0(s32 param_1) { extern void func_8018A3D4(); // K&R: 1/2 of 1 args (P37 rung D t4_D2) if (func_8012C354(param_1, (s32)D_801D7E98) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xB4) = -1; - *(u8 *)(param_1 + 0xC1) = 0; - *(u32 *)(param_1 + 0xBC) = (u32)D_801D7ECC; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801D7ECC; func_80143970(param_1); func_8012B030((u8 *)param_1); - if (*(u16 *)(param_1 + 0x70) & 0x6000) { - *(u16 *)(param_1 + 2) = 6; + if (CAST_SIGN(u16, param_1, 0x70) & 0x6000) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 6; func_8012A828(param_1, &D_801DF924); func_8012E8A8((u8 *)param_1); - *(u16 *)(param_1 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; } else { func_8018A3D4(param_1); } @@ -13804,10 +13804,10 @@ void func_8018AF88(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - p = *(s32 *)(param_1 + 0x20); - do { h = *(u16 *)(param_1 + 0x100); } while (0); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + do { h = CAST_SIGN(u16, param_1, 0x100); } while (0); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; a = param_1; *(s16 *)(a + 0x5C) |= 1; *(s16 *)(a + 0x60) = 0; @@ -13816,9 +13816,9 @@ void func_8018AF88(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -13833,7 +13833,7 @@ extern void D_801E7D24; void func_8018B034(s32 arg0) { - if ((M2C_FIELD(arg0, u8 *, 0xC3) & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801E7D24)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC3 & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801E7D24)) { func_8012A828(arg0, &D_801E7D24); } } @@ -13857,9 +13857,9 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801E81AC; void func_8018B0C4(s32 a0) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, &D_801E81AC); - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; } @@ -13880,15 +13880,15 @@ s32 func_8018B104(s32 param_1, s32 param_2, s32 param_3) { func_8018B1B4(param_1); return 1; } - sVar1 = *(s16 *)(param_1 + 0xdc) + 1; - *(s16 *)(param_1 + 0xdc) = sVar1; + sVar1 = CAST_WIDTH(s16, param_1, 0xdc) + 1; + CAST_WIDTH(s16, param_1, 0xdc) = sVar1; if (sVar1 < 0x79) { return 0; } if (param_3 >= iVar2) { return 0; } - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, &D_801E8104); return 1; } @@ -13902,11 +13902,11 @@ extern void func_80142414(s32 a0, s16 a1); extern u8 D_801E7EC4; void func_8018B1B4(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012A828(param_1, &D_801E7EC4); - *(s32 *)(param_1 + 0x1c) = 0x1e; - if (*(s16 *)(param_1 + 0xfc) == 0) { - *(s16 *)(param_1 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; ((void (*)(s32, s32))func_80142414)(param_1, -0x96); } } @@ -13925,14 +13925,14 @@ s32 func_8018B224(a0) void *a0; { u16 v; - *(u16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828((s32)a0, &D_801E7D24); - v = *(u16 *)(*(s32 *)((s32)a0 + 0x78) + 2); - *(u16 *)((s32)a0 + 0x5E) = 0; - *(u16 *)((s32)a0 + 0xDC) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0x3C; - *(u16 *)((s32)a0 + 0xFE) = 0; - *(u16 *)((s32)a0 + 0x5C) = v; + v = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 2); + CAST_WIDTH(u16, (s32)a0, 0x5E) = 0; + CAST_WIDTH(u16, (s32)a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = v; } @@ -13969,7 +13969,7 @@ void func_8018B280(u16 *s0) extern void (*D_801E01A8[])(void); void func_8018B304(void *a0) { - D_801E01A8[*(u16 *)((s32)a0 + 0x2)](); + D_801E01A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -13977,7 +13977,7 @@ void func_8018B304(void *a0) { extern void (*D_801E01F0[])(void); void func_8018B340(void *a0) { - D_801E01F0[*(u16 *)((s32)a0 + 0x2)](); + D_801E01F0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -14012,11 +14012,11 @@ extern void func_8012B200(u8 *a0); extern void func_8012B178(s32 a0, s32 a1); void func_8018B3E0(u8 *a0) { - u8 *p = *(u8 **)(a0 + 0x20); - u16 v = *(u16 *)(a0 + 0xFC); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x50; - *(s16 *)(p + 0x12) = v; + u8 *p = CAST_SIGN(u8 *, a0, 0x20); + u16 v = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)p)->unk12 = v; func_8012B2CC((s32)a0); func_8012B200(a0); func_8012B178((s32)a0, 0xFFF20000); @@ -14036,8 +14036,8 @@ void func_8018B438(s32 param_1) { if (v0 != 0) goto kill; v0 = func_8012D5E4(param_1, (s32)&D_801E01FC, (s32)D_800D3918, 0xA); if (v0 != 0) goto kill; - v0 = *(s32 *)(param_1 + 0x1C) - 1; - *(s32 *)(param_1 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 != 0) return; kill: func_8012C218((void *)param_1); @@ -14059,11 +14059,11 @@ void func_8018B4A4(s32 arg0) { u16 sp10[3]; u16 sp18[12]; - if (*(s32 *)(arg0 + 0x1C) == 9) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 9) { if (func_8012D5E4(arg0, (s32)D_801E0170, (s32)(D_801E0170 + 8), 10) != 0) { D_80126B96 |= 0x800; } - if (*(s16 *)(arg0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) { func_8012F214(arg0, (s32)D_801E0180, (s32)sp10); sp18[3] = 0x126; sp18[5] = 0; @@ -14071,11 +14071,11 @@ void func_8018B4A4(s32 arg0) { sp18[0] = sp10[0]; sp18[1] = sp10[1]; sp18[2] = sp10[2]; - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12; func_8012C51C(sp18, arg0); - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x100; + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 + 0x100; func_8012C51C(sp18, arg0); - sp18[7] = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x100; + sp18[7] = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 - 0x100; func_8012C51C(sp18, arg0); } func_8002D4C8(0x43E, 0); @@ -14092,7 +14092,7 @@ void func_8018B5E0(s32 a0) { s32 result; s32 threshold; - if (*(s16 *)(a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { result = func_8012BCCC(a0); threshold = 0x90000; } else { @@ -14121,7 +14121,7 @@ extern s32 func_8012BEE8(s32 a0); void func_8018B684(s32 param_1) { if (func_8012BEE8(param_1) == 1) { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8018B104(param_1, 0x40000, 0xC4000); } else { func_8018B104(param_1, 0x9000, 0x24000); @@ -14144,7 +14144,7 @@ void func_8018B6E8(int param_1) unsigned short *p; v = func_8012B8E4(param_1, 4); - p = (unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); if (func_8012BEE8(param_1) != 0) { ((void (*)(s32))func_8018B210)(param_1); @@ -14171,27 +14171,27 @@ void func_8018B740(s32 s0) { } v1 = 0xFFFBFFFD; - *(s32 *)(s0 + 0xB4) = v1; - v1 = *(s32 *)(s0 + 0x20); - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xBC) = (s32)&D_801E00E8; - *(s32 *)(s0 + 0xC4) = 1; - v0 = *(u16 *)(v1 + 0x2C); + ((Unkstruct_800B5CB8 *)s0)->unkB4 = v1; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_801E00E8; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; + v0 = ((Unkstruct_800B5CB8 *)v1)->unk2C; v0 |= 0x10; - *(u16 *)(v1 + 0x2C) = v0; + ((Unkstruct_800B5CB8 *)v1)->unk2C = v0; - v0 = *(s32 *)(s0 + 0x20); - a1v = *(s16 *)(s0 + 0x70); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + a1v = ((Unkstruct_800B5CB8 *)s0)->unk70; v0 = *(u16 *)(v0 + 0x18); - *(u16 *)(s0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; v0 = func_8012C658(0x125, a1v, s0); - *(s32 *)(s0 + 0x6C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk6C = v0; if (v0 == 0) { func_8012CAE4((void *)s0); } else { - *(s16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, (void *)&D_801E8104); } } @@ -14237,40 +14237,40 @@ void func_8018B868(int param_1) s32 unk64; SV4 svec; - unk64 = *(s32 *)(param_1 + 0x64); + unk64 = ((Unkstruct_800B5CB8 *)param_1)->unk64; - if (*(s16 *)(param_1 + 0xFE) == 0x7FFF) { - *(s16 *)(param_1 + 0xFE) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)param_1)->unkFE == 0x7FFF) { + ((Unkstruct_800B5CB8 *)param_1)->unkFE = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; } - if (*(s16 *)(param_1 + 0xFC) != *(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)param_1)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36)) { func_8012C218((void *)param_1); return; } - *(SV4 *)(*(s32 *)(param_1 + 0x20) + 0x10) = *(SV4 *)(*(s32 *)(unk64 + 0x20) + 0x10); + *(SV4 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = *(SV4 *)(*(s32 *)(unk64 + 0x20) + 0x10); - if (*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x90) != (s32)&D_801E82FC) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0xFE); - *(s32 *)(param_1 + 0x4) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x4); - *(s32 *)(param_1 + 0x8) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x8); - *(s32 *)(param_1 + 0xC) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xC); + if (*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x90) != (s32)&D_801E82FC) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = CAST_SIGN(u16, param_1, 0xFE); + CAST_WIDTH(s32, param_1, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x4); + CAST_WIDTH(s32, param_1, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x8); + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xC); } else { - func_8012F214(*(s32 *)(param_1 + 0x64), (s32)&D_801E01A0, (s32)&svec); - *(s16 *)(param_1 + 0x6) = svec.v[0]; - *(s16 *)(param_1 + 0xA) = svec.v[1]; - *(s16 *)(param_1 + 0xE) = svec.v[2]; + func_8012F214(((Unkstruct_800B5CB8 *)param_1)->unk64, (s32)&D_801E01A0, (s32)&svec); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = svec.v[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = svec.v[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = svec.v[2]; } - *(SV4 *)(*(s32 *)(param_1 + 0x20) + 0x18) = *(SV4 *)(*(s32 *)(unk64 + 0x20) + 0x18); + *(SV4 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x18) = *(SV4 *)(*(s32 *)(unk64 + 0x20) + 0x18); { u16 flag = *(u16 *)(*(s32 *)(unk64 + 0x20) + 0x2C) & 0x10; - u16 dflags = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = dflags | flag; + u16 dflags = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = dflags | flag; } - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4) = *(s32 *)(*(s32 *)(unk64 + 0x20) + 0x4); + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x4) = *(s32 *)(*(s32 *)(unk64 + 0x20) + 0x4); } @@ -14283,7 +14283,7 @@ extern void func_80029124(s32 arg0, s32 arg1); extern void (*D_801F1714[])(void); void func_8018BA1C(void *a0) { - D_801F1714[*(u16 *)((s32)a0 + 0x2)](); + D_801F1714[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -14309,24 +14309,24 @@ void func_8018BA58(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801F16C8, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801F16D4); func_8018BFD0(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -14355,20 +14355,20 @@ void func_8018BB54(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -14387,19 +14387,19 @@ void func_8018BB54(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_8018BFD0(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -14428,16 +14428,16 @@ void func_8018BDE4(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_8018BFD0(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -14477,7 +14477,7 @@ s32 func_8018BF78(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -14496,13 +14496,13 @@ void func_8018BFD0(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -14518,7 +14518,7 @@ extern void func_8012C218(void *a0); void func_8018C04C(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } @@ -14580,9 +14580,9 @@ void func_8018C154(s32 *a0) { func_80155440(a0); func_80154150((s32)a0, 0x26); func_80154A74((s32)a0, 0x1E); - v1 = *(s32 **)((u8 *)a0 + 0x20); + v1 = CAST_SIGN(s32 *, (u8 *)a0, 0x20); *(u16 *)((u8 *)v1 + 0x10) = 0xFE9; - *(s32 *)((u8 *)a0 + 0x208) = 0; + ((Unkstruct_80126B58 *)a0)->unk208 = 0; func_80171A1C((u8 *)a0); func_8018C1C4(a0); } @@ -14611,7 +14611,7 @@ extern void func_80154A74(s32 a0, s32 a1); extern void func_80171A1C(u8 *a0); void func_8018C240(void *a0) { - if (*(u16 *)(a0 + 0xB8) & 0x8000) { + if (((Unkstruct_80126B58 *)a0)->unkB8 & 0x8000) { func_80154150((s32)a0, 0x27); func_80154A74((s32)a0, 0x1F); func_80171A1C((u8 *)a0); @@ -14652,7 +14652,7 @@ void func_8018C308(s32 *a0) { func_8014706C(a0); func_801553A8(a0); func_80155440(a0); - *(s16 *)((u8 *)(*(s32 **)((u8 *)a0 + 0x20)) + 0x10) = 0xC00; + CAST_NONSTRUCT(s16, (u8 *)(*(s32 **)((u8 *)a0 + 0x20)), 0x10) = 0xC00; func_80154150((s32)a0, 0x27); func_80154A74((s32)a0, 0x1F); func_80171A1C((u8 *)a0); @@ -14689,7 +14689,7 @@ extern void func_8018C43C(void *a0); void func_8018C3E0(s32 *a0) { func_8014706C(a0); func_80154274(a0, (s32)D_801F2528); - *(s16 *)((u8 *)(*(s32 **)((u8 *)a0 + 0x20)) + 0x10) = 0xC00; + CAST_NONSTRUCT(s16, (u8 *)(*(s32 **)((u8 *)a0 + 0x20)), 0x10) = 0xC00; func_80147324(0xA05); func_80171A1C((u8 *)a0); func_8018C43C(a0); @@ -14747,7 +14747,7 @@ extern void func_80154150(s32 a0, s32 a1); extern void func_80171A1C(u8 *a0); void func_8018C548(void *a0) { - if (*(u16 *)(a0 + 0xB8) == 0x8000) { + if (((Unkstruct_80126B58 *)a0)->unkB8 == 0x8000) { func_80154150((s32)a0, 0x25); func_80171A1C((u8 *)a0); } diff --git a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c index bc6495d133..6113f9907d 100644 --- a/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c +++ b/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.c @@ -2624,34 +2624,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801EB22C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801EB220+0xC == &D_801EB22C; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2662,9 +2662,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2673,11 +2673,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801EB22C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801EB220 + 0xC)) < 0x101) { @@ -4333,16 +4333,16 @@ void func_8017E218(s32 s0) { s32 v1; if (func_8012BEE8(s0) != 0) { - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; v1 = *(u16 *)(v0 + 0x2C); v1 &= 0xFFEF; *(s16 *)(v0 + 0x2C) = v1; - *(s16 *)(s0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; } else { - s32 a0 = *(s32 *)(s0 + 0x1C); + s32 a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_80047948(a0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x1A) = v0; *(s16 *)(v1 + 0x18) = v0; @@ -4374,9 +4374,9 @@ extern void func_8012A828(s32 a0, void *a1); void func_8017E2FC(a0) s32 a0; { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012A828(a0, &D_801BB034); - *(s32 *)(a0 + 0x1C) = 0x17; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x17; } @@ -4384,7 +4384,7 @@ s32 a0; extern s32 func_8012BEE8(s32 arg); void func_8017E33C(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s16 *)((u8 *)a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -4396,11 +4396,11 @@ extern s32 D_801BB0FC; void func_8017E370(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7; func_8012B23C(s0); ((void (*)(void *))func_8017EA04)((void *)s0); func_8012A828(s0, (void *)&D_801BB0FC); - *(s32 *)((s32)a0 + 0x1C) = 0x23; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x23; } @@ -4524,14 +4524,14 @@ void func_8017E57C(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s16 *)(param_1 + 0x104) != 0) { - p = *(s32 *)(param_1 + 0x20); + if (((Unkstruct_800B5CB8 *)param_1)->unk104 != 0) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(p + 0x1C) = 0x1000; *(s16 *)(p + 0x18) = 0x1000; - *(s16 *)(param_1 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = 0; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); *(s16 *)(p + 0x1C) = h; *(s16 *)(p + 0x18) = h; } @@ -4543,9 +4543,9 @@ void func_8017E57C(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -4562,12 +4562,12 @@ void func_8017E654(s32 param_1) { s32 ret; s32 k; - ptr = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 0x5C) = 0; - *(s32 *)(param_1 + 0x1C) = 0x37; + ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; *(u16 *)(ptr + 0x10) = 0; func_8012A828(param_1, D_801BB2BC); - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; ret = func_8012BCCC(param_1); k = 0x52B; if (!(0x8FFF < ret)) { @@ -4582,8 +4582,8 @@ extern void func_80130D48(s32 a0); extern void func_8017EE20(s32 arg0); void func_8017E6C0(s32 param_1) { - if (*(s32 *)(param_1 + 0x1C) < 0xC) { - *(u32 *)(*(s32 *)(param_1 + 0x20) + 0x4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C < 0xC) { + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x4) ^= 0x80000000; } if (func_8012BEE8(param_1) != 0) { func_80130D48(param_1); @@ -4714,28 +4714,28 @@ s32 func_8017E83C(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(s32 *)(p + 0x58) != 0 && arg0 != (s32)p) { + if (((Unkstruct_800B5CB8 *)p)->unk0 != 0 && ((Unkstruct_800B5CB8 *)p)->unk58 != 0 && arg0 != (s32)p) { if (func_8012BC60((void *)(arg0 + 4), (void *)(p + 4)) < 0x1000) { bp = (unsigned int *)&buf; func_8012B0B4(bp, func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(p + 4)), 0x41); d = *(s32 *)&buf; - px = *(u16 *)(p + 6); + px = ((Unkstruct_800B5CB8 *)p)->unk6; out.vx = px; - out.vy = *(u16 *)(p + 0xA); - pz = *(u16 *)(p + 0xE); + out.vy = ((Unkstruct_800B5CB8 *)p)->unkA; + pz = ((Unkstruct_800B5CB8 *)p)->unkE; out.vz = pz; out.vx = px + d; out.vz = pz + (d >> 16); - in.vx = *(u16 *)(arg0 + 0x3A); - in.vy = *(u16 *)(arg0 + 0x3E); - in.vz = *(u16 *)(arg0 + 0x42); + in.vx = ((Unkstruct_800B5CB8 *)arg0)->unk3A; + in.vy = ((Unkstruct_800B5CB8 *)arg0)->unk3E; + in.vz = ((Unkstruct_800B5CB8 *)arg0)->unk42; if ((func_8012CEB0((s32)&in, (s32)&out, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)arg0); return ret; } - *(s16 *)(arg0 + 6) = out.vx; - *(s16 *)(arg0 + 0xA) = out.vy; - *(s16 *)(arg0 + 0xE) = out.vz; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out.vx; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out.vy; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out.vz; break; } } @@ -4809,9 +4809,9 @@ s32 func_8017EA48(s32 param_1) ret = 0; mtx = D_800AE620; - RotMatrixY(*(s16 *)(param_1 + 0xDC), &mtx); + RotMatrixY(CAST_WIDTH(s16, param_1, 0xDC), &mtx); gte_SetRotMatrix(&mtx); - gte_SetTransMatrix((void *)(*(s32 *)(param_1 + 0x20) + 0x34)); + gte_SetTransMatrix((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34)); RotTransSV(&D_8018BD34[0], &v0, &buf); RotTransSV(&D_8018BD34[1], &v1, &buf); @@ -4827,7 +4827,7 @@ s32 func_8017EA48(s32 param_1) (s32)&c0, (s32)&c1) != 0) { *(u16 *)(D_801270C8[0] + 0x5C) |= 1; *(s16 *)(D_801270C8[0] + 0x60) = 0xD; - *(u16 *)(D_801270C8[0] + 0x62) = *(u16 *)(param_1 + 0xDC); + *(u16 *)(D_801270C8[0] + 0x62) = CAST_WIDTH(u16, param_1, 0xDC); ret = 1; *(s16 *)(D_801270C8[0] + 0x5E) = 1; } @@ -4839,7 +4839,7 @@ s32 func_8017EA48(s32 param_1) s32 yaw; ret = 1; - yaw = *(u16 *)(param_1 + 0xDC); + yaw = CAST_WIDTH(u16, param_1, 0xDC); D_80126B98 = 0xD; D_80126B9A = yaw; } @@ -4989,7 +4989,7 @@ s32 func_8017EF68(void) extern void (*D_8018BEF0[])(void); void func_8017EF98(void *a0) { - D_8018BEF0[*(u16 *)((s32)a0 + 0x2)](); + D_8018BEF0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5058,23 +5058,23 @@ void func_8017F0C8(s32 s0) { s32 v1; if (func_8012BEE8(s0) != 0) { - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; v1 = *(u16 *)(v0 + 0x2C); v1 &= 0xFFEF; *(s16 *)(v0 + 0x2C) = v1; - *(s16 *)(s0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; } else { - s32 a0 = *(s32 *)(s0 + 0x1C); + s32 a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_80047948(a0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x18) = v0; - a0 = *(s32 *)(s0 + 0x1C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_8004787C(a0); v0 = v0 << 1; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; v0 += 0x1000; *(s16 *)(v1 + 0x1A) = v0; } @@ -5086,15 +5086,15 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801BE488[]; void func_8017F164(s32 param_1) { - *(s16 *)(param_1 + 2) = 3; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; func_8012A828(param_1, D_801BE488); - *(s32 *)(param_1 + 0x1C) = rand() % 10 + 0x18; - if (*(s32 *)(param_1 + 0xE0) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = rand() % 10 + 0x18; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 == 0) { return; } - *(s32 *)(param_1 + 0xE0) = 0; - *(u16 *)(param_1 + 0xA) += 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkA += 0x30; } @@ -5104,11 +5104,11 @@ extern s32 func_8012BEE8(s32 a0); void func_8017F1F8(s32 a0) { s32 p; - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + 0x40; if (func_801802A4(a0) != 1) { if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } } @@ -5121,11 +5121,11 @@ extern u8 D_801BE488[]; void func_8017F258(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012B23C(s0); func_8012B178(s0, 0xFFFE8000); func_8012A828(s0, D_801BE488); - *(s32 *)((s32)a0 + 0x1C) = 0x96; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x96; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -5163,10 +5163,10 @@ extern s32 D_801BE580; void func_8017F334(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; func_8012B23C(s0); func_8012A828(s0, (void *)&D_801BE580); - *(s32 *)((s32)a0 + 0x1C) = 0x24; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x24; } @@ -5183,14 +5183,14 @@ void func_8017F37C(s32 a0) { s32 v1; v0 = func_8018033C(a0, 8); - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x12) = *(u16 *)(v1 + 0x12) + v0; - if (*(s32 *)(a0 + 0x1C) < 0x19) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x19) { func_8012B178(a0, 0xFFFC0000); func_80180064(a0, D_800D3918); } if (func_8012BEE8(a0) != 0 || ((s32 (*)(s32))func_80180388)(a0) < 0x2001) { - *(u16 *)(a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } } @@ -5238,30 +5238,30 @@ void func_8017F444(s32 param_1) s32 sVar2; u16 sp10[3]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) | 0x80000000; - *(s16 *)(param_1 + 0xE4) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) | 0x80000000; + CAST_WIDTH(s16, param_1, 0xE4) = 3; } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x1C) = uVar1; *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 2 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 2 + 0x1000; } break; case 1: - uVar1 = *(u16 *)(param_1 + 0xE4) - 1; - *(u16 *)(param_1 + 0xE4) = uVar1; + uVar1 = CAST_WIDTH(u16, param_1, 0xE4) - 1; + CAST_WIDTH(u16, param_1, 0xE4) = uVar1; if ((s16)uVar1 == 0) { - sp10[0] = *(u16 *)(param_1 + 0x6); - sp10[1] = *(u16 *)(param_1 + 0xA) - 0x38; - sp10[2] = *(u16 *)(param_1 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x38; + sp10[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; { s32 e; s32 q; @@ -5275,31 +5275,31 @@ void func_8017F444(s32 param_1) } } } - *(s16 *)(param_1 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; } /* fallthrough */ case 2: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 3; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) & 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 3; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) & 0x7FFFFFFF; func_8017FE04(param_1); - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; } break; case 3: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) & 0xFFEF; - *(s16 *)(param_1 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C & 0xFFEF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xA; } else { - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x1C) = sVar2; *(s16 *)(iVar3 + 0x18) = sVar2; - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = uVar1 * 2 + 0x1000; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = uVar1 * 2 + 0x1000; } break; } @@ -5312,10 +5312,10 @@ extern u8 D_801BE658[]; void func_8017F658(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; func_8012B23C(s0); func_8012A828(s0, (void *)D_801BE658); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; func_8012B23C(s0); } @@ -5332,7 +5332,7 @@ void func_8017F6A8(s32 param_1) { s32 v1; v0 = func_8018033C(param_1, 8); - v1 = *(s32 *)(param_1 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(v1 + 0x12) = *(u16 *)(v1 + 0x12) + v0; func_8012B178(param_1, 0xFFFC0000); v0 = func_80180064(param_1, D_800D3918); @@ -5355,7 +5355,7 @@ void func_8017F6A8(s32 param_1) { return; } } - *(u16 *)(param_1 + 2) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v0; } @@ -5365,10 +5365,10 @@ extern void func_8012A828(s32 a0, void *a1); void func_8017F750(param_1) s32 param_1; { - *(u16 *)(param_1 + 2) = 13; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 13; func_8012A828(param_1, (void *)&D_801BE730); - *(s32 *)(param_1 + 0x1C) = 0x5a; - *(u16 *)(param_1 + 0xdc) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5a; + CAST_WIDTH(u16, param_1, 0xdc) = 0; } @@ -5407,12 +5407,12 @@ extern s32 D_801BE580; void func_8017F850(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xF; func_8012B2CC(s0); func_8012B23C(s0); func_8012B178(s0, 0xFFFD0000); func_8012A828(s0, (void *)&D_801BE580); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; } @@ -5423,12 +5423,12 @@ extern u8 D_800D3918[]; extern void func_8012A828(s32 a0, void *a1); void func_8017F8AC(s32 a0) { - if (*(s16 *)(a0 + 0xAA) <= 0) { - *(u16 *)(a0 + 2) = 2; + if (((Unkstruct_800B5CB8 *)a0)->unkAA <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { if (func_8012BEE8(a0) != 0) { func_8012A828(a0, (void *)&D_801BE580); - *(s32 *)(a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; } func_80180064(a0, (s32)D_800D3918); } @@ -5457,9 +5457,9 @@ extern s32 func_8012B864(s32 a0); void func_8017F95C(s32 a0) { s32 ret; - *(u16 *)(a0 + 2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; ret = func_8012B864(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = (ret + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = (ret + 0x800) & 0xFFF; } @@ -5477,28 +5477,28 @@ void func_8017F99C(s32 param_1) { s32 t2; s32 t3; - *(u16 *)(s0 + 0x5C) = *(u16 *)(s0 + 0x5C) & 0xFFFE; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = (*(u16 *)(s0 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)s0)->unk5C = ((Unkstruct_800B5CB8 *)s0)->unk5C & 0xFFFE; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)s0)->unk62 + 0x800) & 0xFFF; - t1 = *(s32 *)(s0 + 0x20); - *(u16 *)(t1 + 0x14) = 0; - *(u16 *)(t1 + 0x10) = 0; + t1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t1, 0x14) = 0; + ((Unkstruct_800B5CB8 *)t1)->unk10 = 0; func_8012B23C(s0); - *(u8 *)(s0 + 0xC2) = 0; - *(u8 *)(s0 + 0xC3) = 0; - *(u16 *)(s0 + 0x98) = 0; - *(s32 *)(s0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; - t2 = *(s32 *)(s0 + 0x20); - *(u16 *)(t2 + 0x2C) = *(u16 *)(t2 + 0x2C) & 0xFFEF; + t2 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)t2)->unk2C = ((Unkstruct_800B5CB8 *)t2)->unk2C & 0xFFEF; - t3 = *(s32 *)(s0 + 0x20); - *(u16 *)(t3 + 0x1C) = 0x1000; - *(u16 *)(t3 + 0x1A) = 0x1000; - *(u16 *)(t3 + 0x18) = 0x1000; + t3 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t3, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk18 = 0x1000; - if (*(u16 *)(s0 + 0x5E) == 9 || *(u16 *)(s0 + 0x5E) == 0x1C) { + if (CAST_WIDTH(u16, s0, 0x5E) == 9 || CAST_WIDTH(u16, s0, 0x5E) == 0x1C) { func_8012B14C(s0, (s32)D_8018BF30); v0 = 0xCC; } else { @@ -5542,12 +5542,12 @@ void func_8017FB40(s32 param_1) extern void func_8012A828(s32 a0, void *a1); extern u8 D_801BEC20[]; - *(u16 *)(param_1 + 0x5C) = 0; - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; - *(s16 *)(param_1 + 0x34) = 0; - *(s16 *)(param_1 + 0xA) = *(s16 *)(param_1 + 0xA) - 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkA = CAST_SIGN(s16, param_1, 0xA) - 0x3C; func_8012A828(param_1, (void *)D_801BEC20); } @@ -5568,21 +5568,21 @@ void func_8017FBA0(s32 a0) { v0 = func_8012BEE8(a0); if (v0 != 0) { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(u16 *)(a0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; func_80143BDC(sp10); - *(u32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x80000000; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; func_80130D48(a0); func_8018022C(a0); } else { - v0 = func_8004787C((*(s32 *)(a0 + 0x1C) << 10) >> 4); - v1 = *(s32 *)(a0 + 0x20); + v0 = func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 10) >> 4); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x1A) = v0; - v0 = func_80047948((*(s32 *)(a0 + 0x1C) << 10) >> 4); + v0 = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C << 10) >> 4); v0 = (v0 << 2) + 0x1000; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v1 + 0x18) = v0; } } @@ -5635,7 +5635,7 @@ u8 *func_8017FD6C(s32 a0, s32 a1, s32 a2) { return NULL; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); func_8001CD50((s32)sub, (s32)((u8 *)D_8018BD88 + (a2 << 6))); *(u16 *)(sub + 0x1E) = 0xC00; @@ -5701,29 +5701,29 @@ void func_8017FE04(s32 a0) { func_8012B23C(a0); - sp30[0] = *(u16 *)(a0 + 0x3A); - sp30[1] = *(u16 *)(a0 + 0x3E); - sp30[2] = *(u16 *)(a0 + 0x42); + sp30[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp30[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp30[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if (func_80180AF4() != 1) { goto armB; } - *(s16 *)(a0 + 0x6) = *(u16 *)(D_801270C8[0] + 0x6); - *(s16 *)(a0 + 0xA) = *(u16 *)(D_801270C8[0] + 0xA); - *(s16 *)(a0 + 0xE) = *(u16 *)(D_801270C8[0] + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk6 = *(u16 *)(D_801270C8[0] + 0x6); + ((Unkstruct_800B5CB8 *)a0)->unkA = *(u16 *)(D_801270C8[0] + 0xA); + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)(D_801270C8[0] + 0xE); goto rest; found: - *(s16 *)(a0 + 0x6) = sv[0]; - *(s16 *)(a0 + 0xA) = sv[1]; - *(s16 *)(a0 + 0xE) = sv[2]; - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv[2]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; goto tail; armB: - *(s16 *)(a0 + 0x6) = D_80126CB4; - *(s16 *)(a0 + 0xA) = D_80126CB6; - *(s16 *)(a0 + 0xE) = D_80126CB8; + CAST_ALIAS(s16, a0, 0x6) = D_80126CB4; + CAST_ALIAS(s16, a0, 0xA) = D_80126CB6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_80126CB8; rest: vec[1] = 0; @@ -5733,10 +5733,10 @@ rest: m = D_800AE620; RotMatrixY(rand() % 4096, &m); - pos[1] = *(s32 *)(a0 + 0x8); + pos[1] = CAST_WIDTH(s32, a0, 0x8); do { - pos[0] = *(s32 *)(a0 + 0x4); - pos[2] = *(s32 *)(a0 + 0xC); + pos[0] = CAST_WIDTH(s32, a0, 0x4); + pos[2] = CAST_WIDTH(s32, a0, 0xC); func_800484EC((s32)&m, (s32)vec, (s32)out); pos[0] += out[0]; pos[2] += out[2]; @@ -5751,12 +5751,12 @@ rest: vec[2] >>= 1; } while (-vec[2] > 0xFFFF); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; tail: - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_801803DC(a0); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_801803DC(a0); } @@ -5827,28 +5827,28 @@ s32 func_80180064(s32 arg0, s32 arg1) { p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)arg0 != 0 && arg0 != (s32)p && *(u16 *)arg0 == *(u16 *)p) { + if (((Unkstruct_800B5CB8 *)arg0)->unk0 != 0 && arg0 != (s32)p && ((Unkstruct_800B5CB8 *)arg0)->unk0 == ((Unkstruct_800B5CB8 *)p)->unk0) { if (func_8012BC60((void *)(arg0 + 4), (void *)(p + 4)) < 0x1000) { bp = (unsigned int *)&buf; func_8012B0B4(bp, func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(p + 4)), 0x41); d = *(s32 *)&buf; - px = *(u16 *)(p + 6); + px = ((Unkstruct_800B5CB8 *)p)->unk6; out.vx = px; - out.vy = *(u16 *)(p + 0xA); - pz = *(u16 *)(p + 0xE); + out.vy = ((Unkstruct_800B5CB8 *)p)->unkA; + pz = ((Unkstruct_800B5CB8 *)p)->unkE; out.vz = pz; out.vx = px + d; out.vz = pz + (d >> 16); - in.vx = *(u16 *)(arg0 + 0x3A); - in.vy = *(u16 *)(arg0 + 0x3E); - in.vz = *(u16 *)(arg0 + 0x42); + in.vx = ((Unkstruct_800B5CB8 *)arg0)->unk3A; + in.vy = ((Unkstruct_800B5CB8 *)arg0)->unk3E; + in.vz = ((Unkstruct_800B5CB8 *)arg0)->unk42; if ((func_8012CEB0((s32)&in, (s32)&out, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)arg0); goto after_loop; } - *(s16 *)(arg0 + 6) = out.vx; - *(s16 *)(arg0 + 0xA) = out.vy; - *(s16 *)(arg0 + 0xE) = out.vz; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out.vx; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out.vy; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out.vz; break; } } @@ -5873,9 +5873,9 @@ void func_8018022C(s32 arg0) s32 v1; func_8002A04C(arg0); - if (!((*(short *)((char *)arg0 + 0x70) & 0x8000))) { - v1 = *(s32 *)((char *)arg0 + 0x68); - if (v1 != 0 && ((*(short *)((char *)arg0 + 0x72) & 0x8000))) { + if (!((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000))) { + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk68; + if (v1 != 0 && ((CAST_SIGN(short, (char *)arg0, 0x72) & 0x8000))) { *(unsigned short *)(v1 + 0xA) = *(unsigned short *)(v1 + 0xA) & 0x7FFF; } } @@ -5893,20 +5893,20 @@ s32 func_801802A4(s32 a0) { ret = ((s32 (*)(s32))func_80180388)(a0); if (ret < 0x2001) { - *(s16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; return 1; } if (0x10000 < ret) { return 0; } - d = (func_801803DC(a0) - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) & 0xFFF; + d = (func_801803DC(a0) - *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) & 0xFFF; if (d < 0x800) { res = d < 0x400; } else { res = (0x1000 - d) < 0x400; } if (res) { - *(s16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; return 1; } return 0; @@ -5920,7 +5920,7 @@ s32 func_8018033C(s32 a0, s32 a1) { s32 t; t = func_801803DC(a0); - return func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t, (s16)a1); + return func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t, (s16)a1); } @@ -5978,7 +5978,7 @@ s32 func_80180454(s32 a0) { extern void (*D_8018BF50[])(void); void func_801804A0(void *a0) { - D_8018BF50[*(u16 *)((s32)a0 + 0x2)](); + D_8018BF50[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6211,7 +6211,7 @@ s32 func_80180838(void *a0, s32 a1, s32 a2) extern void (*D_8018BFC8[])(void); void func_80180990(void *a0) { - D_8018BFC8[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFC8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6233,7 +6233,7 @@ s32 func_80180A00(void *arg0) { func_80180A58(0, (u8 *)arg0 + 0xFD); func_80180A58(1, (u8 *)arg0 + 0xFE); func_80180A58(2, (u8 *)arg0 + 0xFF); - *(s32 *)((char *)arg0 + 0x1C) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 2; } } @@ -6288,27 +6288,27 @@ void func_80180B24(s32 arg0) { u16 diff; s32 p; - *(s32 *)(arg0 + 0xB4) |= 1; - *(s32 *)(arg0 + 0xC4) &= ~2; - if (*(s16 *)(arg0 + 0x60) != 0) { - *(u16 *)(arg0 + 0x7C) = *(u16 *)(arg0 + 6); - *(u16 *)(arg0 + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(arg0 + 0x80) = *(u16 *)(arg0 + 0xE); - func_8016AA50(arg0, *(s16 *)(arg0 + 0x60)); + ((Unkstruct_800B5CB8 *)arg0)->unkB4 |= 1; + ((Unkstruct_800B5CB8 *)arg0)->unkC4 &= ~2; + if (((Unkstruct_800B5CB8 *)arg0)->unk60 != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk7C = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk7E = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)arg0)->unk80 = ((Unkstruct_800B5CB8 *)arg0)->unkE; + func_8016AA50(arg0, ((Unkstruct_800B5CB8 *)arg0)->unk60); } - diff = *(u16 *)(arg0 + 0x76) - *(u16 *)(arg0 + 0x60); - *(u16 *)(arg0 + 0x5C) = 0; - *(u16 *)(arg0 + 0x60) = 0; - *(u16 *)(arg0 + 0x76) = diff; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = (*(u16 *)(arg0 + 0x62) + 0x800) & 0xFFF; - p = *(s32 *)(arg0 + 0x20); + diff = CAST_SIGN(u16, arg0, 0x76) - CAST_SIGN(u16, arg0, 0x60); + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk60 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk76 = diff; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)arg0)->unk62 + 0x800) & 0xFFF; + p = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(p + 0x14) = 0; *(u16 *)(p + 0x10) = 0; func_8012B2CC(arg0); func_8012B23C(arg0); - *(u8 *)(arg0 + 0xC2) = 1; - *(u16 *)(arg0 + 0x98) = 0; - *(s32 *)(arg0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)arg0)->unkC2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x3C; func_8002D4C8(0x526, 0); } @@ -6367,11 +6367,11 @@ void func_80180C74(s32 a0) return; } - *(s8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = 0x4000; - *(s32 *)(s0 + 0xBC) = (s32)D_8018C014; - *(s8 *)(s0 + 0xC1) = 0; - *(s32 *)(s0 + 0xC4) = 3; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = 0x4000; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)D_8018C014; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 3; if (func_80029504() == 0x32) { v1 = func_800291B4(0xCC) & 0xFF; @@ -6396,7 +6396,7 @@ void func_80180C74(s32 a0) } else { goto L_not_2_4; } - *(s32 *)(s0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = v0; cat = 2; goto L_tail; @@ -6405,7 +6405,7 @@ L_not_2_4: v0 = 0xF0; goto L_store_cat0; } else if (v1 == 8) { - *(s32 *)(s0 + 0xE0) = 0x10E; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = 0x10E; cat = 3; goto L_tail; } else if (v1 == 0xA) { @@ -6417,7 +6417,7 @@ L_not_2_4: goto L_tail; } L_store_cat0: - *(s32 *)(s0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = v0; cat = 0; L_tail: @@ -6426,17 +6426,17 @@ L_tail: return; } - *(s16 *)(s0 + 0x102) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk102 = 0; func_80143970(s0); - *(s16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012B23C(s0); func_8012A828(s0, D_801B101C); - *(s16 *)(s0 + 0xDC) = *(u16 *)(s0 + 0x6); - *(s16 *)(s0 + 0xDE) = *(u16 *)(s0 + 0xE); + CAST_WIDTH(s16, s0, 0xDC) = ((Unkstruct_800B5CB8 *)s0)->unk6; + *(s16 *)(s0 + 0xDE) = ((Unkstruct_800B5CB8 *)s0)->unkE; - *(s32 *)(s0 + 0x4) = *(s32 *)&D_80126B5C; - *(s32 *)(s0 + 0xC) = D_80126B64; + CAST_WIDTH(s32, s0, 0x4) = *(s32 *)&D_80126B5C; + CAST_WIDTH(s32, s0, 0xC) = D_80126B64; D_801270C8[0] = s0; } @@ -6514,48 +6514,48 @@ void func_80180F4C(s32 a0) { func_8012B14C(a0, (s32)D_8018C048); func_8012CBA4(a0); - v0 = *(u16 *)(a0 + 0x84) - 1; - *(u16 *)(a0 + 0x84) = v0; + v0 = CAST_SIGN(u16, a0, 0x84) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk84 = v0; if (v0 == 0) { - *(u16 *)(a0 + 0x84) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xF; func_8002D4C8(0x527, 0); } - v0 = *(u16 *)(a0 + 0x100) - 1; - *(u16 *)(a0 + 0x100) = v0; + v0 = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v0; if (v0 == 0) { v0 = (rand() & 3) + 1; - *(u16 *)(a0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v0; ret = rand() & 0x1FF; - p1 = *(s32 *)(a0 + 0x20); + p1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p1 + 0x12) = *(u16 *)(p1 + 0x12) + ret; - p2 = *(s32 *)(a0 + 0x20); + p2 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p2 + 0x12) = *(u16 *)(p2 + 0x12) - 0x100; - vec.vx = D_8018C054[*(u8 *)(a0 + 0xFE)] + *(u16 *)(a0 + 0xDC); + vec.vx = D_8018C054[CAST_WIDTH(u8, a0, 0xFE)] + CAST_WIDTH(u16, a0, 0xDC); vec.vy = 0; - vec.vz = D_8018C05C[*(u8 *)(a0 + 0xFE)] + *(u16 *)(a0 + 0xDE); + vec.vz = D_8018C05C[CAST_WIDTH(u8, a0, 0xFE)] + *(u16 *)(a0 + 0xDE); ret = func_8012B744((void *)(a0 + 4), &vec); - p3 = *(s32 *)(a0 + 0x20); + p3 = ((Unkstruct_800B5CB8 *)a0)->unk20; ret = func_8012B608(*(s16 *)(p3 + 0x12), ret, 8); - p4 = *(s32 *)(a0 + 0x20); + p4 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p4 + 0x12) = *(u16 *)(p4 + 0x12) + ret; } - cnt = *(s32 *)(a0 + 0xE0) - 1; - *(s32 *)(a0 + 0xE0) = cnt; + cnt = ((Unkstruct_800B5CB8 *)a0)->unkE0 - 1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = cnt; if (cnt == 0) { func_8012A828(a0, D_801B101C); - *(s16 *)(a0 + 0x2) = 3; - *(u16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } - D_80126CB4 = *(u16 *)(a0 + 0x6); - D_80126CB6 = *(u16 *)(a0 + 0xA); - D_80126CB8 = *(u16 *)(a0 + 0xE); + D_80126CB4 = ((Unkstruct_800B5CB8 *)a0)->unk6; + D_80126CB6 = CAST_ALIAS(u16, a0, 0xA); + D_80126CB8 = CAST_ALIAS(u16, a0, 0xE); } @@ -6826,54 +6826,54 @@ extern s32 func_8012CBCC(s32 a0); void func_8018178C(s32 a0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { - s32 v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; } case 1: { - s32 v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if ((v0 & 2) != 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1600; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1600; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1600; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1600; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x400; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1800; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1800; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1800; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x100; } - if (*(s32 *)(a0 + 0x1C) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) &= 0xFFEF; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C &= 0xFFEF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1000; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; func_8012B23C(a0); } break; } case 2: if (func_8012CBCC(a0) != 0) { - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; { register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7) - t = *(u16 *)(a0 + 0x76) - 0xA; - *(u16 *)(a0 + 0x5C) = 0x8810; - *(s16 *)(a0 + 0x76) = t; + t = CAST_SIGN(u16, a0, 0x76) - 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8810; + ((Unkstruct_800B5CB8 *)a0)->unk76 = t; } - *(u8 *)(a0 + 0xC1) = 0; - *(s32 *)(a0 + 0x1C) = 1; - *(s32 *)(a0 + 0xB4) &= ~1; - *(s32 *)(a0 + 0xC4) |= 2; - if (*(s16 *)(a0 + 0x76) < 0x370) { - *(s16 *)(a0 + 0x76) = 0x2BC; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 &= ~1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 2; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x370) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x2BC; } } break; @@ -7008,7 +7008,7 @@ void func_80181B04(s32 a0) { extern void (*D_8018C0EC[])(void); void func_80181BE8(void *a0) { - D_8018C0EC[*(u16 *)((s32)a0 + 0x2)](); + D_8018C0EC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7021,19 +7021,19 @@ void func_80181C24(s32 a0) if (func_8012C354(a0, (s32)D_8018C0B8) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - *(s16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0xAE) = -1; - *(s8 *)(a0 + 0x75) = 2; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; return; } - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801B35E8); - *(s32 *)(a0 + 0x58) = (s32)D_8018C0A8 | 0x40000000 | 0x20000000; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801B35E8); + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018C0A8 | 0x40000000 | 0x20000000; - *(s16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0xAE) = -1; - *(s8 *)(a0 + 0x75) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; } @@ -7044,7 +7044,7 @@ void func_80181CB4(void) { extern void (*D_8018C150[])(void); void func_80181CBC(void *a0) { - D_8018C150[*(u16 *)((s32)a0 + 0x2)](); + D_8018C150[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7065,7 +7065,7 @@ void func_80181CF8(s32 a0) goto L_cae4; } - if (*(s16 *)(s0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk70 != 0) { goto L_setup; } @@ -7083,8 +7083,8 @@ L_cae4: return; L_setup: - *(u8 *)(s0 + 0xC0) = 1; - *(s16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, (s32)D_80187704); func_801788B8(s0, (s32)func_80181E30); } @@ -7134,7 +7134,7 @@ s32 func_80181E30(void *a0) extern void (*D_8018C230[])(void); void func_80181E8C(void *a0) { - D_8018C230[*(u16 *)((s32)a0 + 0x2)](); + D_8018C230[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c b/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c index 8adccb4caa..52d4958747 100644 --- a/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c +++ b/src/ov_SC03_028/ov_SC03_028_jr_80185C14.c @@ -3042,34 +3042,34 @@ void func_80185D7C(s32 arg0) { s32 v0; s32 v1; - *(s32 *)(arg0 + 0x20) = ((s32 (*)(void))func_8012C1B8)(); - if (*(s32 *)(arg0 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ((s32 (*)(void))func_8012C1B8)(); + if (((Unkstruct_800B5CB8 *)arg0)->unk20 == 0) { ((void (*)(s32))func_8012CAE4)(arg0); } else { - ((void (*)(s32, s32))func_8001CA1C)(*(s32 *)(arg0 + 0x20), (s32)&D_80190A4C); + ((void (*)(s32, s32))func_8001CA1C)(((Unkstruct_800B5CB8 *)arg0)->unk20, (s32)&D_80190A4C); func_8012A828(arg0, (void *)&D_80190ADC); - *(s16 *)(arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8012B23C(arg0); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = *(u16 *)(arg0 + 0x70) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = CAST_SIGN(u16, arg0, 0x70) & 0xFFF; - *(s32 *)(arg0 + 0x4) -= - func_8004787C(*(s16 *)(*(s32 *)(*(s32 *)(arg0 + 0x64) + 0x20) + 0x12)) * 640; + CAST_WIDTH(s32, arg0, 0x4) -= + func_8004787C(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x20) + 0x12)) * 640; - v0 = func_80047948(*(s16 *)(*(s32 *)(*(s32 *)(arg0 + 0x64) + 0x20) + 0x12)); - *(s32 *)(arg0 + 0x1C) = 0x96; - *(s32 *)(arg0 + 0xC) -= v0 * 640; + v0 = func_80047948(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x20) + 0x12)); + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x96; + CAST_WIDTH(s32, arg0, 0xC) -= v0 * 640; func_8012B2CC(arg0); ((void (*)(s32, s32))func_8012B1B4)(arg0, (s32)&D_80190B44); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x3000; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = 0x3000; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1C) = 0x3000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x3000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x3000; + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x3000; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk2C |= 0x10; - *(s32 *)(*(s32 *)(arg0 + 0x20) + 0x4) |= 0x50000000; + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x4) |= 0x50000000; } } @@ -3089,8 +3089,8 @@ extern s32 D_80190B44; void func_80185ED4(s32 a0) { s32 cnt; - cnt = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = cnt; + cnt = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = cnt; if (cnt == 0) { s32 i; @@ -3116,20 +3116,20 @@ void func_80185ED4(s32 a0) { register s32 mask8000 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus10) mask8000 = s0 & 0x8000; if (mask8000 != 0) { - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; val = *(s16 *)(p20 + 0x12); func_8012C658(0x142, val, a0); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; val = *(s16 *)(p20 + 0x12); func_8012C658(0x142, val, a0); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; val = *(s16 *)(p20 + 0x12); func_8012C658(0x142, val, a0); rnd = rand(); { register s32 p20b __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus10) - p20b = *(s32 *)(a0 + 0x20); + p20b = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20b + 0x12) = *(u16 *)(p20b + 0x12) + 0x600; *(u16 *)(p20b + 0x12) = *(u16 *)(p20b + 0x12) + (rnd & 0x3FF); } @@ -3138,7 +3138,7 @@ void func_80185ED4(s32 a0) { func_8002D4C8(0x628, 0); } } - if (*(s16 *)(a0 + 0xA) >= 0x200) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x200) { func_8012C218((void *)a0); } } @@ -3149,7 +3149,7 @@ void func_80185ED4(s32 a0) { extern void (*D_80190B50[])(void); void func_80186044(void *a0) { - D_80190B50[*(u16 *)((s32)a0 + 0x2)](); + D_80190B50[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3157,7 +3157,7 @@ void func_80186044(void *a0) { extern void (*D_80190BE4[])(void); void func_80186080(void *a0) { - D_80190BE4[*(u16 *)((s32)a0 + 0x2)](); + D_80190BE4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3165,7 +3165,7 @@ void func_80186080(void *a0) { extern void (*D_80190BEC[])(void); void func_801860BC(void *a0) { - D_80190BEC[*(u16 *)((s32)a0 + 0x2)](); + D_80190BEC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3216,7 +3216,7 @@ void func_801860F8(u8 *a0, s8 a1) { extern void (*D_80190BF4[])(void); void func_801861A0(void *a0) { - D_80190BF4[*(u16 *)((s32)a0 + 0x2)](); + D_80190BF4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3225,10 +3225,10 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_801861DC(s32 *a0) { s32 *v0; - v0 = *(s32 **)(((u8 *)a0) + 0x20); - *(s16 *)(((u8 *)v0) + 0x1C) = 0; - *(s16 *)(((u8 *)v0) + 0x1A) = 0; - *(s16 *)(((u8 *)v0) + 0x18) = 0; + v0 = CAST_SIGN(s32 *, ((u8 *)a0), 0x20); + CAST_WIDTH(s16, ((u8 *)v0), 0x1C) = 0; + ((Unkstruct_800B5CB8 *)v0)->unk1A = 0; + ((Unkstruct_800B5CB8 *)v0)->unk18 = 0; func_8012AD44(a0, 1); } @@ -3253,12 +3253,12 @@ void func_80186234(void *arg0) { v0 = *(s32 *)(s0 + 0x64); p = *(s32 **)(v0 + 0x20); *(volatile s32 *)(p + 1) &= 0x7FFFFFFF; - *(s16 *)((s32)D_801EC450 + 0x02) = 0x7; - *(s16 *)((s32)D_801EC450 + 0x06) = 0x180; - *(s16 *)((s32)D_801EC450 + 0x0A) = -0x1C8; - *(s16 *)((s32)D_801EC450 + 0x0E) = 0x3C0; - *(s16 *)((s32)D_801EC450 + 0x100) = 0x1; - *(s32 *)((s32)D_801EC450 + 0xF8) = 0xB; + ((Unkstruct_800B5CB8 *)D_801EC450)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)D_801EC450)->unk6 = 0x180; + CAST_ALIAS(s16, (s32)D_801EC450, 0x0A) = -0x1C8; + ((Unkstruct_800B5CB8 *)D_801EC450)->unkE = 0x3C0; + ((Unkstruct_800B5CB8 *)D_801EC450)->unk100 = 0x1; + ((Unkstruct_800B5CB8 *)D_801EC450)->unkF8 = 0xB; while ((v0 = func_8012E504(s0, 0xC3)) != 0) { func_8012C218((void *)v0); } @@ -3272,7 +3272,7 @@ void func_80186234(void *arg0) { extern void (*D_80190BFC[])(void); void func_8018632C(void *a0) { - D_80190BFC[*(u16 *)((s32)a0 + 0x2)](); + D_80190BFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3298,13 +3298,13 @@ void func_80186368(void *a0) { if (func_8012C354((s32)a0, (s32)D_80190C1C) == 0) { return; } - v1 = *(s32 *)((s32)a0 + 0x20); - *(s32 *)(v1 + 0x4) |= 0x8040; - *(s16 *)((s32)a0 + 0x2) = 1; - *(s16 *)((s32)a0 + 0xAE) = -1; - *(s8 *)((s32)a0 + 0x75) = 0x8; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, v1, 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0x8; func_8012A828((s32)a0, D_80190C68); - func_8001D0E8(*(s32 *)((s32)a0 + 0x20), 0x280, 0x1E0); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x280, 0x1E0); func_8002D4C8(0xB21, 0); abase = &D_801E6214; @@ -3370,30 +3370,30 @@ void func_801864A8(s32 a0) { s0 = func_8012C658(0xFE, 0x2, a0); if (s0 != 0) { rnd = rand(); - h = *(u16 *)(s0 + 0x6) - 0x40; - *(u16 *)(s0 + 0xA) = 0; - *(u16 *)(s0 + 0x6) = h + (rnd & 0x7F); + h = ((Unkstruct_800B5CB8 *)s0)->unk6 - 0x40; + ((Unkstruct_800B5CB8 *)s0)->unkA = 0; + ((Unkstruct_800B5CB8 *)s0)->unk6 = h + (rnd & 0x7F); ((void (*)(s32, s32))func_80180B44)(s0, 0x6); } - *(u16 *)(a0 + 0xA) -= 0x10; - if ((s16)*(u16 *)(a0 + 0xA) < -1) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkA -= 0x10; + if ((s16)((Unkstruct_800B5CB8 *)a0)->unkA < -1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8002D4C8(0xB22, 0); } - *(u16 *)(a0 + 0x6) ^= 8; - *(u16 *)(a0 + 0xE) ^= 8; + CAST_ALIAS(u16, a0, 0x6) ^= 8; + CAST_ALIAS(u16, a0, 0xE) ^= 8; p = D_801E6214; q = p; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: p += 0xFA; *(u16 *)p += 0x10; q += 0x31; *q = ((*(s16 *)p + 0x360) * 0x45) / 0x60; if (*(s16 *)p >= -0x300) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; *(s16 *)p = -0x300; p += 0x10; *q = 0x45; @@ -3407,7 +3407,7 @@ void func_801864A8(s32 a0) { q += 0x51; *q = ((*(s16 *)p + 0x300) * 0x5C) / 0x80 + 0x45; if (*(s16 *)p >= -0x280) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; *(s16 *)p = -0x280; p += 0x10; *q = 0xA2; @@ -3421,7 +3421,7 @@ void func_801864A8(s32 a0) { q += 0x71; *q = ((*(s16 *)p + 0x280) * 0x4D) / 0x80 - 0x5E; if (*(s16 *)p >= -0x200) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; *(s16 *)p = -0x200; *q = 0xFF; } @@ -3438,7 +3438,7 @@ void func_801864A8(s32 a0) { extern void (*D_80190C78[])(void); void func_80186754(void *a0) { - D_80190C78[*(u16 *)((s32)a0 + 0x2)](); + D_80190C78[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3459,13 +3459,13 @@ extern void (*D_8018FEB0)(); extern void func_8012B14C(s32 a0, s32 a1); void func_801867E4(s32 a0) { - *(s32 *)(a0 + 0xB4) = 0x8; - *(u8 *)(a0 + 0xC2) = 0; - *(u8 *)(a0 + 0xC3) = 0; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012B14C(a0, (s32)&D_8018FEB0); - *(u16 *)(a0 + 0x5C) &= ~1; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= ~1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -3473,13 +3473,13 @@ extern void func_8012B14C(s32 a0, s32 a1); extern void (*D_8018FEBC)(); void func_80186838(s32 a0) { - *(s32 *)(a0 + 0xB4) = 0x80; - *(u8 *)(a0 + 0xC2) = 0; - *(u8 *)(a0 + 0xC3) = 0; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012B14C(a0, (s32)&D_8018FEBC); - *(u16 *)(a0 + 0x5C) &= ~1; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= ~1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -3526,27 +3526,27 @@ void func_80186894(void *a0) return; } - v1 = *(s32 *)((s32)a0 + 0xC4); - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_8018FEC8; - *(s32 *)((s32)a0 + 0xB4) = 0; - *(s16 *)((s32)a0 + 0xAE) = -1; - *(u8 *)((s32)a0 + 0x75) = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8018FEC8; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; v1 |= 2; - *(s32 *)((s32)a0 + 0xC4) = v1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = v1; v0 = func_801843D8(a0); - *(s32 *)((s32)a0 + 0xCC) = v0; - *(s16 *)((s32)a0 + 0x2) = 0x27; - *(s32 *)((s32)a0 + 0x10) = D_8018F9D8[0]; - *(s32 *)((s32)a0 + 0x14) = D_8018F9DC[0]; - *(s32 *)((s32)a0 + 0x18) = D_8018F9E0[0]; + ((Unkstruct_800B5CB8 *)a0)->unkCC = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x27; + CAST_WIDTH(s32, (s32)a0, 0x10) = D_8018F9D8[0]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = D_8018F9DC[0]; + CAST_WIDTH(s32, (s32)a0, 0x18) = D_8018F9E0[0]; func_8012A828((s32)a0, D_801ADCEC); - p = *(s32 *)((s32)a0 + 0x20); - t = *(u16 *)(p + 0x2C); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + t = ((Unkstruct_800B5CB8 *)p)->unk2C; D_801EC448 = 0x10; - *(u16 *)(p + 0x2C) = t | 0x80; - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x80) = (s32)((u8 *)&D_8018F9FC); + ((Unkstruct_800B5CB8 *)p)->unk2C = t | 0x80; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)((u8 *)&D_8018F9FC); D_801EC44C = (s32)a0; D_801EC450 = func_8012C51C(D_8018F870, (s32)a0); func_8018ADA0(); @@ -3560,10 +3560,10 @@ void func_801869C0(s32 param_1) { s32 v0; - v0 = *(s32 *)(param_1 + 0x1c) - 1; - *(s32 *)(param_1 + 0x1c) = v0; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 == 0) { - *(s16 *)(param_1 + 2) = 6; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 6; func_8012A828(param_1, &D_801ADC6C); } } @@ -3581,11 +3581,11 @@ void func_80186A00(s32 a0) { s32 p; v0 = func_8012B8E4(a0, 4); - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p + 0x12) += v0; - if (--*(s32 *)(a0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { func_8012B2CC(a0); - *(s16 *)(a0 + 2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; func_8012B1B4(a0, (s32)&D_8018F9B4); func_8012A828(a0, D_801ADCEC); } @@ -3654,19 +3654,19 @@ extern s32 D_801AE99C[]; void func_80186BAC(s32 param_1) { - if (*(u16 *)(param_1 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk72 & 0x4000) { func_8012A828(param_1, D_801AE9C4); - *(s32 *)(param_1 + 0x1C) = 1; - *(u16 *)(param_1 + 2) = 0x13; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x13; } if ((func_8014CB2C() & 0x7FFFFFFF) == 2) { func_8012A828(param_1, D_801AE99C); - *(u16 *)(param_1 + 2) = 0x1B; - *(s32 *)(param_1 + 0x1C) = 0; - *(s16 *)(param_1 + 0x12) = -*(s16 *)(param_1 + 6) >> 6; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x1B; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = -CAST_SIGN(s16, param_1, 6) >> 6; *(s16 *)(param_1 + 0x16) = -0x10; - *(s16 *)(param_1 + 0x1A) = (0x3C0 - *(s16 *)(param_1 + 0xE)) >> 6; - *(s16 *)(param_1 + 0xFC) = (-*(s16 *)(param_1 + 0xA) - 0x40) / 5; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (0x3C0 - CAST_SIGN(s16, param_1, 0xE)) >> 6; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (-CAST_SIGN(s16, param_1, 0xA) - 0x40) / 5; } } @@ -3679,15 +3679,15 @@ extern s32 D_801AE874[]; void func_80186C98(s32 param_1) { s32 v1; - v1 = *(s32 *)(param_1 + 0x1C) - 0x100; - *(s32 *)(param_1 + 0x1C) = v1; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v1; if (v1 >= 0xD01) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) = v1; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) = v1; return; } func_8012A828(param_1, D_801AE874); - v1 = *(s32 *)(param_1 + 0x20); - *(s16 *)(param_1 + 2) = 0x15; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x15; *(u16 *)(v1 + 0x2C) &= 0xFFEF; } @@ -3703,13 +3703,13 @@ extern u8 D_801AE46C[]; void func_80186D0C(void *a0) { if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { - *(s16 *)((s32)a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, D_801AE46C); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = CAST_SIGN(u16, (s32)a0, 0xFC); func_8002D4C8(0x640, 0); } - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) += 0x48; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 += 0x48; } @@ -3729,27 +3729,27 @@ void func_80186D84(void *a0) { s32 v0; s32 v1; - v0 = *(s32 *)((s32)a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v0 != 0) { v0 = v0 - 1; - *(s32 *)((s32)a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 != 0) { goto tail; } } - v0 = *(s16 *)((s32)a0 + 0x76); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk76; if (v0 > 0) { func_8017F93C(); - *(u16 *)((s32)a0 + 0x5C) &= 0xFDFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xFDFF; func_8017BFBC((s32)a0 + 0x76, (s32)D_8018F924); func_8012A828((s32)a0, D_801AE3A4); - *(s16 *)((s32)a0 + 0x2) = 0x1E; - if (*(s32 *)((s32)a0 + 0x6C) != 0) { - func_8012C218((void *)(*(s32 *)((s32)a0 + 0x6C))); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x1E; + if (((Unkstruct_800B5CB8 *)a0)->unk6C != 0) { + func_8012C218((void *)(((Unkstruct_800B5CB8 *)a0)->unk6C)); } func_8002D4C8(0x59A, 0); - v1 = *(s16 *)((s32)a0 + 0x76); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk76; v0 = (v1 < 0x28); if (v0 == 0) { v0 = 0x10; @@ -3776,22 +3776,22 @@ extern s32 D_8018F8D4; extern s16 D_8018FA14; void func_80186E60(void *a0) { - if (*(s32 *)((s32)a0 + 0x94) == 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x10) { { s32 tag = (s32)&D_8018F8D4; tag |= 0x40000000; tag |= 0x20000000; - *(s32 *)((s32)a0 + 0x58) = tag; + ((Unkstruct_800B5CB8 *)a0)->unk58 = tag; } } - if ((*(u16 *)((s32)a0 + 0x72) & 0x4000) != 0) { - *(s16 *)((s32)a0 + 0x2) = 5; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012A828((s32)a0, D_801ADC24); - *(s32 *)((s32)a0 + 0x1C) = 1; + CAST_ALIAS(s32, (s32)a0, 0x1C) = 1; D_8018FA14 = 0x80; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x80; - *(s16 *)((s32)a0 + 0xAC) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkAC = 0; } } @@ -3814,20 +3814,20 @@ void func_80186F04(s32 param_1) (void)&frame_pad; func_8012CBCC(param_1); v = func_8012B8E4(param_1, 8); - p = (unsigned short *)(*(s32 *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); - if (*(s32 *)(param_1 + 0x94) == 8) { + if (((Unkstruct_800B5CB8 *)param_1)->unk94 == 8) { *(unsigned short *)(param_1 + 0x98) = 0; } - if (*(s32 *)(param_1 + 0x14) < 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk14 < 0) { return; } - *(s16 *)(param_1 + 2) = 0x17; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x17; func_8012A828(param_1, D_801AE89C); - *(s32 *)(param_1 + 0x58) = (s32)D_8018F8F4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)D_8018F8F4 | 0x40000000 | 0x20000000; } @@ -3996,41 +3996,41 @@ void func_8018726C(void *a0) func_801789AC((s32) a0); - cnt = *(s32 *)((char *) a0 + 0x1C) - 1; - *(u16 *)((char *) a0 + 0xA) ^= 2; - *(s32 *)((char *) a0 + 0x1C) = cnt; + cnt = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unkA ^= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = cnt; if (cnt == 0) { s1 = D_8018FA1C; - func_801439C0(*(s32 *)((char *) a0 + 0xCC)); + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); for (s2 = 0; s2 < 21; s2++, s1++) { ret = func_8012C588(0xE7, (s32) a0); if (ret != 0) { - sub = *(s32 *)(ret + 0x20); - *(s32 *)(sub + 0x24) = *s1; + sub = ((Unkstruct_800B5CB8 *)ret)->unk20; + CAST_WIDTH(s32, sub, 0x24) = *s1; } } - *(s16 *)(D_801EC454 + 0xFC) = 0xA; - *(s32 *)(*(s32 *)((char *) a0 + 0x20) + 0x24) = (s32) &D_801ADBA4; + ((Unkstruct_800B5CB8 *)D_801EC454)->unkFC = 0xA; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x24) = (s32) &D_801ADBA4; func_8012A828((s32) a0, &D_8018BD04); - *(s16 *)((char *) a0 + 0xE) = 0x3C0; - *(s16 *)((char *) a0 + 0x2) = 0x24; + ((Unkstruct_800B5CB8 *)a0)->unkE = 0x3C0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x24; __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus10) - obj = *(s32 *)((char *) a0 + 0x20); - health = *(u16 *)((char *) a0 + 0xA); - *(s16 *)((char *) a0 + 0x6) = 0; - *(s16 *)((char *) a0 + 0x70) = 0; + obj = ((Unkstruct_800B5CB8 *)a0)->unk20; + health = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk70 = 0; health -= 8; - *(u16 *)((char *) a0 + 0xA) = (u16) health; + ((Unkstruct_800B5CB8 *)a0)->unkA = (u16) health; - *(u16 *)(obj + 0x2C) |= 0x80; - *(s32 *)(*(s32 *)((char *) a0 + 0x20) + 0x80) = (s32) ((s32 *)&D_8018FA0C); - *(u32 *)(*(s32 *)((char *) a0 + 0x20) + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)obj)->unk2C |= 0x80; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32) ((s32 *)&D_8018FA0C); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; D_801EC44C = 0; func_8002AC00(0xC); @@ -4047,8 +4047,8 @@ extern void func_8012C218(void *); extern s32 D_801EC450; void func_801873A8(s32 param_1) { - *(s32 *)((s32)D_801EC450 + 0xF8) = *(s32 *)(param_1 + 0xF8); - *(s32 *)(param_1 + 0xF8) = 0; + ((Unkstruct_800B5CB8 *)D_801EC450)->unkF8 = ((Unkstruct_800B5CB8 *)param_1)->unkF8; + ((Unkstruct_800B5CB8 *)param_1)->unkF8 = 0; if (func_801789AC(param_1) != 0) { if (D_801EC590 == 0) { ((void (*)(s32))func_80178D18)(param_1); @@ -4073,19 +4073,19 @@ extern u8 D_8018F924[]; void func_8018741C(s32 a0) { - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) != 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) -= 0x80; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) != 0) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) -= 0x80; } else { func_8018B234(1); func_8012A828(a0, D_801ADC24); - *(s32 *)(a0 + 0x1C) = 0x14; - *(u16 *)(a0 + 0x2) = 0x2A; - *(u16 *)(a0 + 0x76) = *(u16 *)D_8018F924; + CAST_ALIAS(s32, a0, 0x1C) = 0x14; + CAST_ALIAS(u16, a0, 0x2) = 0x2A; + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)D_8018F924; func_8017BF08((void *)(a0 + 0x76), (void *)(a0 + 0x76), 1, 0x78); func_8017FADC(); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_801439C0(*(s32 *)(a0 + 0xCC)); - *(s32 *)(a0 + 0xCC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; } } } @@ -4127,30 +4127,30 @@ void func_8018753C(void *a0) { s32 v0; s32 v1; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v0 == 0) { - v1 = *(s32 *)(a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; if (v1 == 0xA) { - if (*(s16 *)(a0 + 0x98) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 1) { func_8002D4C8(0x55B, 0); } - v1 = *(s32 *)(a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; } if (v1 == 0x22) { func_8012A828(a0, D_801ADC24); - *(s32 *)(a0 + 0x1C) = 0x23; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x23; } } else { v0--; - *(s32 *)(a0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { func_8018B260(); - *(s16 *)(a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012B23C(a0); *(s16 *)(a0 + 0x16) = -0x10; - *(s16 *)(a0 + 0x1A) = -0xC; + CAST_ALIAS(s16, a0, 0x1A) = -0xC; } - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8002D4C8(0x619, 0); } } @@ -4165,16 +4165,16 @@ void func_80187610(s32 a0) { s32 a1; s16 v; - a1 = *(s32 *)((s32)a0 + 0x20); + a1 = ((Unkstruct_800B5CB8 *)a0)->unk20; v = *(s16 *)(a1 + 0x12); if (v != 0) { *(s16 *)(a1 + 0x12) = v - 0x80; } else { func_8017BEBC((s32)a0 + 0x76, (s32)D_8018F924); - *(s16 *)((s32)a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012B23C((s32)a0); *(s16 *)((s32)a0 + 0x16) = -0x10; - *(s16 *)((s32)a0 + 0x1A) = -0xC; + CAST_ALIAS(s16, (s32)a0, 0x1A) = -0xC; } } @@ -4225,33 +4225,33 @@ extern void func_8017F9D8(void); void func_80187730(s32 a0) { s32 ret; s16 x; - if (*(s32 *)(a0 + 0x94) == 0xC) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xC) { if (D_801EC448 <= 0) { - *(s32 *)(a0 + 0x58) = ((s32)D_8018F914 | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)D_8018F914 | 0x40000000) | 0x20000000; func_8012A828(a0, D_801AE2C4); - *(s16 *)(a0 + 0x2) = 0x1D; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x1D; func_8017F9D8(); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)((u8 *)&D_8018F9FC); - *(u16 *)(a0 + 0x5C) |= 0x200; - x = *(s16 *)(a0 + 0x76); + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)((u8 *)&D_8018F9FC); + ((Unkstruct_800B5CB8 *)a0)->unk5C |= 0x200; + x = ((Unkstruct_800B5CB8 *)a0)->unk76; if (x >= 0x51) { - *(s32 *)(a0 + 0x1C) = 0xD2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xD2; } else if (x >= 0x29) { - *(s32 *)(a0 + 0x1C) = 0x96; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x96; } else { - *(s32 *)(a0 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; } ret = func_8012C588(0xB8, a0); - *(s32 *)(a0 + 0x6C) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk6C = ret; if (ret == 0) { - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } func_8018305C(a0); } else { func_8012A828(a0, D_801AE3A4); - *(s16 *)(a0 + 0x2) = 0x1E; - *(s32 *)(a0 + 0x58) = ((s32)D_8018F914 | 0x40000000) | 0x20000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) &= 0xFF7F; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)D_8018F914 | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C &= 0xFF7F; } } } @@ -4281,32 +4281,32 @@ void func_801878A8(s32 arg0) { s32 t; if (func_8012C354(arg0, (s32)D_8019001C)) { - *(u8 *)(arg0 + 0xC0) = 1; - *(s32 *)(arg0 + 0xBC) = (s32)&D_80190050; - t = *(s32 *)(arg0 + 0x64); - *(u8 *)(arg0 + 0xC1) = 0; - *(s32 *)(arg0 + 0xB4) = 0; - *(u32 *)(arg0 + 0xC4) |= 2; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(t + 0x20) + 0x12); - *(s16 *)(arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkBC = (s32)&D_80190050; + t = ((Unkstruct_800B5CB8 *)arg0)->unk64; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = 0; + CAST_SIGN(u32, arg0, 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(t + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8012A828(arg0, (void *)&D_8018BD04); - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x80000000; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x80000000; func_8012B2CC(arg0); - *(s16 *)(arg0 + 0xAE) = -0x40F3; + ((Unkstruct_800B5CB8 *)arg0)->unkAE = -0x40F3; } } void func_80187954(void *a0) { - s32 t1 = *(s32 *)((s32)a0 + 0x64); + s32 t1 = ((Unkstruct_800B5CB8 *)a0)->unk64; s32 t2 = *(volatile s32 *)((s32)a0 + 0x64); - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(t1 + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(t2 + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(t1 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(t2 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC((s32)a0); } @@ -4325,27 +4325,27 @@ void func_801879AC(void *a0) { s32 v0; s32 v1; - v0 = *(s32 *)((s32)a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v0 != 0) { - *(s32 *)((s32)a0 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0 - 1; return; } - v1 = *(s32 *)((s32)a0 + 0x64); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s16 *)(v1 + 0x76) <= 0) { *(s16 *)(v1 + 0x5C) = 0; - *(s16 *)((*(s32 *)((s32)a0 + 0x64)) + 0x2) = 0x29; + *(s16 *)((((Unkstruct_800B5CB8 *)a0)->unk64) + 0x2) = 0x29; func_800D0C48(4); func_8002D4C8(0x5E0, 0); func_8017F93C(); - *(s32 *)((*(s32 *)((s32)a0 + 0x64)) + 0x6C) = 0; + *(s32 *)((((Unkstruct_800B5CB8 *)a0)->unk64) + 0x6C) = 0; func_8012C218(a0); } else { func_8012A828(v1, &D_801AE2DC); - v1 = *(s32 *)((s32)a0 + 0x64); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(v1 + 0x2) = 0x1E; func_8002D4C8(0x566, 0); - v0 = *(s32 *)((s32)a0 + 0x64); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(s16 *)(v0 + 0x76); if (v1 >= 0x51) { v0 = 0x10; @@ -4358,18 +4358,18 @@ void func_801879AC(void *a0) { } } D_801EC448 = v0; - *(s32 *)((s32)a0 + 0x1C) = 0xF; - *(s16 *)((s32)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } void func_80187AB0(void *a0) { - if (*(s32 *)((s32)a0 + 0x1C) != 0) { - (*(s32 *)((s32)a0 + 0x1C))--; + if (((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { + (((Unkstruct_800B5CB8 *)a0)->unk1C)--; } else { func_8017F93C(); - *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x6C) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x6C) = 0; func_8012C218(a0); } } @@ -4388,21 +4388,21 @@ void func_80187B04(s32 param_1) { s32 entity; s32 sVar4; - *(s32 *)(param_1 + 0x4) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x4); - *(s32 *)(param_1 + 0x8) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x8) - 0x400000; - p = &((MatEntry_80187B04 *)D_80190078)[*(u16 *)(param_1 + 0x70) & 3]; - *(s32 *)(param_1 + 0xC) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xC); - iVar3 = *(s32 *)(param_1 + 0x20); + CAST_WIDTH(s32, param_1, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x4); + CAST_WIDTH(s32, param_1, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x8) - 0x400000; + p = &((MatEntry_80187B04 *)D_80190078)[CAST_SIGN(u16, param_1, 0x70) & 3]; + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xC); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x14) = p->f8; *(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + p->fa; sVar4 = 0x1000; - ApplyMatrixSV((void *)(*(s32 *)(param_1 + 0x20) + 0x34), p, (void *)(param_1 + 0x50)); + ApplyMatrixSV((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34), p, (void *)(param_1 + 0x50)); - if (*(s16 *)(param_1 + 0xFE) != 0) goto do_call; - entity = *(s32 *)(param_1 + 0x64); - if (entity == 0 || *(s16 *)(entity + 0x36) != *(s16 *)(param_1 + 0xFC) || + if (((Unkstruct_800B5CB8 *)param_1)->unkFE != 0) goto do_call; + entity = ((Unkstruct_800B5CB8 *)param_1)->unk64; + if (entity == 0 || *(s16 *)(entity + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkFC || *(u16 *)(entity + 0x5C) != 0) { - *(s16 *)(param_1 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 1; } goto tail; do_call: @@ -4429,7 +4429,7 @@ void func_80187C28(void *a0) v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -4437,21 +4437,21 @@ void func_80187C28(void *a0) func_8001CA1C(v0, (s32)&D_8019009C); - *(u16 *)((s32)a0 + 0xA) -= 0x100; - v1 = *(s32 *)((s32)a0 + 0x64); + ((Unkstruct_800B5CB8 *)a0)->unkA -= 0x100; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(u16 *)v1 != 0) { - *(u16 *)((s32)a0 + 0xFC) = *(u16 *)(v1 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unkFC = *(u16 *)(v1 + 0x36); } func_8012A828((s32)a0, &D_801900A8); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - (*(u16 *)((s32)a0 + 0x70) & 3) * 0x1000 / 3; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + (CAST_SIGN(u16, (s32)a0, 0x70) & 3) * 0x1000 / 3; - if ((*(u16 *)((s32)a0 + 0x70) & 4) != 0) { - *(u16 *)((s32)a0 + 0x2) = 2; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 4) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -4512,15 +4512,15 @@ void func_80187E14(s32 param_1) iVar1 = ((s32 (*)(s32, void *))func_8012C354)(param_1, &D_80190218); if (iVar1 != 0) { func_801838B0(param_1); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x2000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = 0x2000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) = 0x333; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x2000; + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) = 0x333; func_8012B2CC(param_1); - iVar1 = func_8004787C(*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) & 0xFFF); - *(s32 *)(param_1 + 0x10) = (iVar1 << 0xC) / 10; - iVar1 = func_80047948(*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) & 0xFFF); - *(s16 *)(param_1 + 2) = 2; - *(s32 *)(param_1 + 0x18) = (iVar1 << 0xC) / 10; + iVar1 = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 & 0xFFF); + CAST_WIDTH(s32, param_1, 0x10) = (iVar1 << 0xC) / 10; + iVar1 = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 & 0xFFF); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + CAST_WIDTH(s32, param_1, 0x18) = (iVar1 << 0xC) / 10; } } @@ -4529,16 +4529,16 @@ extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); extern void func_8012C218(void *a0); void func_80187EEC(s32 a0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) += 0x333; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) += 0x333; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) += 0x333; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 += 0x333; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A += 0x333; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) += 0x333; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 6) { func_8012C658(0xFE, 0, a0); } - if (*(s32 *)(a0 + 0x1C) >= 0xB) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0xB) { func_8012C218((void *)a0); } } @@ -4552,16 +4552,16 @@ void func_80187F98(s32 a0) { s32 v1; s32 p20; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + *(s32 *)(a0 + 0x10); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + *(s32 *)(a0 + 0x18); - p20 = *(s32 *)(a0 + 0x20); + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + CAST_WIDTH(s32, a0, 0x10); + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + CAST_WIDTH(s32, a0, 0x18); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x1C) = *(u16 *)(p20 + 0x1C) + 0x333; - v0 = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 6) { func_8012C658(0xFE, 0, a0); } - if (*(s32 *)(a0 + 0x1C) >= 0xB) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0xB) { func_8012C218((void *)a0); } } @@ -4618,22 +4618,22 @@ void func_801880AC(s32 a0) } s0 = a0; - *(s8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xBC) = (s32)&D_80190358; - v0 = *(s32 *)(s0 + 0xC4); - v1 = *(u16 *)(s0 + 0x5C); - *(s8 *)(s0 + 0xC1) = 0; - *(s32 *)(s0 + 0xB4) = 0; - *(s8 *)(s0 + 0x75) = 0; - *(s32 *)(s0 + 0xC4) = v0 | 2; - *(u16 *)(s0 + 0x5C) = v1 | 0x4000; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_80190358; + v0 = ((Unkstruct_800B5CB8 *)s0)->unkC4; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk5C; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = v0 | 2; + ((Unkstruct_800B5CB8 *)s0)->unk5C = v1 | 0x4000; func_8012A828(s0, &D_801E2458); - *(s16 *)(s0 + 6) = D_80126B5E; - *(s16 *)(s0 + 0xA) = 0xC0; - *(s16 *)(s0 + 0xE) = D_80126B66; - *(s16 *)(s0 + 2) = 1; - *(s32 *)(s0 + 0x1C) = 0xF; + CAST_ALIAS(s16, s0, 6) = D_80126B5E; + ((Unkstruct_800B5CB8 *)s0)->unkA = 0xC0; + ((Unkstruct_800B5CB8 *)s0)->unkE = D_80126B66; + CAST_ALIAS(s16, s0, 2) = 1; + CAST_ALIAS(s32, s0, 0x1C) = 0xF; func_8002D4C8(0x562, 0); } @@ -4646,10 +4646,10 @@ void func_80188164(s32 a0) { s32 v0; - v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } v0 = func_8012C658(0xFE, 2, a0); if (v0 != 0) { @@ -4668,10 +4668,10 @@ void func_801881CC(s32 a0) u16 v0; s32 v1; - v0 = *(u16 *)(a0 + 0xA) - 0x18; - *(u16 *)(a0 + 0xA) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x18; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; if ((s16)v0 <= 0) { - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } v1 = func_8012C658(0xFE, 2, a0); if (v1 != 0) { @@ -4686,8 +4686,8 @@ extern void func_80183E04(void *a0); void func_80188238(s32 *a0) { - s16 v = *(u16 *)((s32)a0 + 0xA) + 0x18; - *(u16 *)((s32)a0 + 0xA) = v; + s16 v = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x18; + ((Unkstruct_800B5CB8 *)a0)->unkA = v; if (v >= 0xA0) { func_8012C218(a0); } else { @@ -4719,24 +4719,24 @@ void func_801882C0(s32 a0) s0 = a0; v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - *(u16 *)(s0 + 0xFC) = -*(u16 *)(s0 + 0xFC); - *(u16 *)(s0 + 0xFE) = -*(u16 *)(s0 + 0xFE); - *(u16 *)(s0 + 0x100) = -*(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)s0)->unkFC = -CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unkFE = -CAST_SIGN(u16, s0, 0xFE); + ((Unkstruct_800B5CB8 *)s0)->unk100 = -CAST_SIGN(u16, s0, 0x100); if (v0 & 0x8000) { - *(s32 *)(s0 + 0x10) = -*(s32 *)(s0 + 0x10); - *(s32 *)(s0 + 0x18) = -*(s32 *)(s0 + 0x18); + CAST_WIDTH(s32, s0, 0x10) = -CAST_WIDTH(s32, s0, 0x10); + CAST_WIDTH(s32, s0, 0x18) = -CAST_WIDTH(s32, s0, 0x18); } else { - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unk14; } } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) += CAST_SIGN(u16, s0, 0x100); - if (--*(s32 *)(s0 + 0x1C) < 0x10) { - *(u32 *)(*(s32 *)(s0 + 0x20) + 4) ^= 0x80000000; - if (*(s32 *)(s0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)s0)->unk1C < 0x10) { + *(u32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)s0)->unk1C == 0) { func_8012C218((void *)s0); } } @@ -4868,25 +4868,25 @@ void func_80188600(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { func_8001CA1C(v0, (s32)&D_80190414); func_8012A828(param_1, &D_80190420); - *(s16 *)(param_1 + 2) = 5; - *(s16 *)(param_1 + 0x12) = 4; - *(s32 *)(param_1 + 0x1c) = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; func_80143970(param_1); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x2000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x2000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1c) = 0x2000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - *(s32 *)(param_1 + 0xcc) = func_8012C51C(D_8018F884, param_1); - *(s32 *)(param_1 + 0xd0) = func_8012C51C(D_8018F898, param_1); - *(s32 *)(param_1 + 0xd4) = func_8012C51C(D_8018F8AC, param_1); - *(s32 *)(param_1 + 0xd8) = func_8012C51C(D_8018F8C0, param_1); - *(s16 *)(param_1 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x2000; + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_8012C51C(D_8018F884, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = func_8012C51C(D_8018F898, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD4 = func_8012C51C(D_8018F8AC, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD8 = func_8012C51C(D_8018F8C0, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 1; } } @@ -4913,16 +4913,16 @@ void func_8018870C(s32 a0) func_80178B18(a0, (s32)&D_8018FCB8); func_801746DC(); - *(s16 *)(a0 + 0x2) = 6; - *(s32 *)(a0 + 0x1C) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; ret = func_8012C588(0x379, a0); if (ret != 0) { D_801EC454 = ret; - *(s16 *)(ret + 0xA) = 0x17E; - *(s16 *)(ret + 0x6) = 0; - *(s16 *)(ret + 0xE) = 0x220; - *(s16 *)(*(s32 *)(ret + 0x20) + 0x10) = 0x40; + CAST_ALIAS(s16, ret, 0xA) = 0x17E; + ((Unkstruct_800B5CB8 *)ret)->unk6 = 0; + ((Unkstruct_800B5CB8 *)ret)->unkE = 0x220; + ((Unkstruct_800B5CB8 *)*(s32 *)(ret + 0x20))->unk10 = 0x40; } } diff --git a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c index 419d40837c..b50c078fe2 100644 --- a/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c +++ b/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c @@ -2862,9 +2862,9 @@ extern s32 func_8002A04C(); // K&R: 0/1 of 1 args (P37 rung D t4_D2) extern void func_80180250(void *a0); void func_801801AC(s32 a0) { - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) < 0x1000) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) += 0x400; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) += 0x400; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) < 0x1000) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) += 0x400; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) += 0x400; } if (func_8012BEE8(a0)) { func_8002AC00(9); @@ -2886,10 +2886,10 @@ void func_80180234(void *a0) { void func_80180250(void *arg0) { s32 *ptr; - if ((*(s16 *)((s32)arg0 + 0x70) & 0x8000) == 0) { - ptr = *(s32 **)((s32)arg0 + 0x68); + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) == 0) { + ptr = CAST_SIGN(s32 *, (s32)arg0, 0x68); if (ptr != NULL) { - if ((*(s16 *)((s32)arg0 + 0x72) & 0x8000) != 0) { + if ((CAST_SIGN(s16, (s32)arg0, 0x72) & 0x8000) != 0) { *(u16 *)((s32)ptr + 0xA) &= 0x7FFF; } } @@ -2905,35 +2905,35 @@ void func_801802C4(s32 arg0) { s32 e; func_8002D4C8(0x526, 0); - e = *(u8 *)((s32)arg0 + 0x5E); - if (*(s16 *)((s32)arg0 + 0x60) != 0) { + e = ((Unkstruct_800B5CB8 *)arg0)->unk5E; + if (((Unkstruct_800B5CB8 *)arg0)->unk60 != 0) { if (e == 0x1D) { - *(s16 *)((s32)arg0 + 0x82) = 0; - *(s16 *)((s32)arg0 + 0x7C) = *(u16 *)((s32)arg0 + 0x06); - *(s16 *)((s32)arg0 + 0x7E) = *(u16 *)((s32)arg0 + 0x0A); - *(s16 *)((s32)arg0 + 0x80) = *(u16 *)((s32)arg0 + 0x0E); + ((Unkstruct_800B5CB8 *)arg0)->unk82 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk7C = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk7E = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)arg0)->unk80 = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - func_8016AA50(arg0, *(s16 *)((s32)arg0 + 0x60)); - if (*(u16 *)((s32)arg0 + 0x82) & 1) { + func_8016AA50(arg0, ((Unkstruct_800B5CB8 *)arg0)->unk60); + if (CAST_SIGN(u16, (s32)arg0, 0x82) & 1) { func_8016B428(arg0); func_80019064((void *)&D_8018B8EC); } } - *(u16 *)((s32)arg0 + 0x5C) = *(u16 *)((s32)arg0 + 0x5C) & 0xFFFE; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = ((Unkstruct_800B5CB8 *)arg0)->unk5C & 0xFFFE; { - s32 r = *(s32 *)((s32)arg0 + 0x20); - *(s16 *)(r + 0x12) = (*(u16 *)((s32)arg0 + 0x62) + 0x800) & 0xFFF; + s32 r = ((Unkstruct_800B5CB8 *)arg0)->unk20; + *(s16 *)(r + 0x12) = (((Unkstruct_800B5CB8 *)arg0)->unk62 + 0x800) & 0xFFF; } { - s32 r2 = *(s32 *)((s32)arg0 + 0x20); + s32 r2 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)(r2 + 0x14) = 0; *(s16 *)(r2 + 0x10) = 0; } func_8012B2CC(arg0); func_8012B23C(arg0); - *(u8 *)((s32)arg0 + 0xC2) = 1; - *(s16 *)((s32)arg0 + 0x98) = 0; - *(s32 *)((s32)arg0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unkC2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; } @@ -2975,12 +2975,12 @@ extern u8 D_8018B8CC[]; extern s32 D_801C0028; void func_80180444(void *arg0) { - *(u16 *)(*(s32 *)((u8 *)arg0 + 0x20) + 0x10) = 0; - *(u16 *)((u8 *)arg0 + 0x5C) = 0; - *(u8 *)((u8 *)arg0 + 0xC2) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)arg0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkC2 = 0; func_8012B14C((s32)arg0, (s32)D_8018B8CC); func_8012A828((s32)arg0, (void *)&D_801C0028); - *(s32 *)((u8 *)arg0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; *(u8 *)((u8 *)arg0 + 0x109) = 0x28; } @@ -3018,15 +3018,15 @@ void func_801804A0(s32 a0) { s32 r2; s16 *ent; - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: D_801D9758 = D = func_8012CBCC(a0); if (D & 0x2000) { if (D & 0x1000) { - *(s16 *)(a0 + 2) = 4; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8012A828(a0, &D_801C00D0); func_8002D4C8(0x531, 0); func_8002D4C8(0x526, 0); @@ -3034,38 +3034,38 @@ void func_801804A0(s32 a0) { return; } func_80143B6C(a0, 1); - *(u8 *)(a0 + 0xC2) = 1; - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } - t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t >= 0x78) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 2; - *(u16 *)(a0 + 0xFC) = 0x3C; - *(u16 *)(a0 + 6) = D_8018B8E4; - *(u16 *)(a0 + 0xA) = D_8018B8E6; - *(u16 *)(a0 + 0xE) = D_8018B8E8; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + CAST_ALIAS(s16, a0, 2) = 3; + CAST_ALIAS(s32, a0, 0x1C) = 2; + CAST_ALIAS(u16, a0, 0xFC) = 0x3C; + CAST_ALIAS(u16, a0, 6) = D_8018B8E4; + CAST_ALIAS(u16, a0, 0xA) = D_8018B8E6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018B8E8; func_8012B030((void *)a0); - *(u16 *)(a0 + 0x5C) = 0x8A10; - if (*(s16 *)(a0 + 0x76) < 0x320) { - *(u16 *)(a0 + 0x76) = 0x384; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8A10; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x320) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x384; } func_800291C8(0xA, 0x3025); } break; case 1: - D_801D975C = *(s32 *)(a0 + 0x14); + D_801D975C = ((Unkstruct_800B5CB8 *)a0)->unk14; D_801D9758 = D = func_8012CBCC(a0); if (D & 0x2000) { if (D & 0x1000) { - *(s16 *)(a0 + 2) = 4; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8012A828(a0, &D_801C00D0); func_8002D4C8(0x531, 0); func_8002D4C8(0x526, 0); @@ -3076,41 +3076,41 @@ void func_801804A0(s32 a0) { { s32 n; n = D_801D975C; - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(s32 *)(a0 + 0x14) = -n; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = -n; } } - t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t >= 0x28) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 2; - *(u16 *)(a0 + 0xFC) = 0x3C; - *(u16 *)(a0 + 6) = D_8018B8E4; - *(u16 *)(a0 + 0xA) = D_8018B8E6; - *(u16 *)(a0 + 0xE) = D_8018B8E8; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + CAST_ALIAS(s16, a0, 2) = 3; + CAST_ALIAS(s32, a0, 0x1C) = 2; + CAST_ALIAS(u16, a0, 0xFC) = 0x3C; + CAST_ALIAS(u16, a0, 6) = D_8018B8E4; + CAST_ALIAS(u16, a0, 0xA) = D_8018B8E6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018B8E8; func_8012B030((void *)a0); - *(u16 *)(a0 + 0x5C) = 0x8A10; - if (*(s16 *)(a0 + 0x76) < 0x320) { - *(u16 *)(a0 + 0x76) = 0x384; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8A10; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x320) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x384; } func_800291C8(0xA, 0x3025); } break; case 2: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; D_801D9758 = D = func_8012CBCC(a0); if (D & 0x2000) { if (D & 0x1000) { void *p; - *(s16 *)(a0 + 2) = 4; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; __asm__("" : "=r"(p) : "0"(&D_801C00D0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9) func_8012A828(a0, p); func_8002D4C8(0x531, 0); @@ -3118,8 +3118,8 @@ void func_801804A0(s32 a0) { func_800291C8(0xA, 0x3025); func_8012A828(a0, &D_801C00D0); } else { - t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t >= 0x11) { func_80131C78(a0); func_8012A828(a0, &D_801C0200); @@ -3133,10 +3133,10 @@ void func_801804A0(s32 a0) { if (*s2 == 0xF2) { if (func_8012BC60((void *)s3, (void *)ent) < 0x4000) { s4 = 1; - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; r2 = func_8012B6D4((s16 *)s3, ent); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = r2; - *(s32 *)(a0 + 0xCC) = (s32)s2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = r2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)s2; func_8012A828(a0, &D_801C03F0); func_8012B2CC(a0); func_8012B1B4(a0, &D_8018B8C0); @@ -3148,11 +3148,11 @@ void func_801804A0(s32 a0) { } if (!s4) { func_8012B030((void *)a0); - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_800291C8(0xA, 0x3025); } - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } } @@ -3178,26 +3178,26 @@ void func_80180904(s32 arg0) { s32 rE; cst = 0x1800; - *(s16 *)(arg0 + 0xAA) = 0; - *(s16 *)(arg0 + 0x5C) = 0; - *(s16 *)((*(s32 *)(arg0 + 0x20)) + 0x18) = cst; - base = *(s32 *)(arg0 + 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + *(s16 *)((((Unkstruct_800B5CB8 *)arg0)->unk20) + 0x18) = cst; + base = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)(base + 0x1C) = cst; - b2 = *(s32 *)(arg0 + 0x20); + b2 = ((Unkstruct_800B5CB8 *)arg0)->unk20; c2 = 0x100; *(s16 *)(b2 + 0x1A) = c2; - b2 = *(s32 *)(arg0 + 0x20); + b2 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(b2 + 0x2C) |= 0x10; - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0x1C) = 0x1E; - *(s16 *)(arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; func_8002D4C8(0x526, 0); - r6 = *(u16 *)(arg0 + 0x6); - rA = *(u16 *)(arg0 + 0xA); - rE = *(u16 *)(arg0 + 0xE); - *(s16 *)(arg0 + 0x7C) = r6; - *(s16 *)(arg0 + 0x7E) = rA; - *(s16 *)(arg0 + 0x80) = rE; + r6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + rA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + rE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)arg0)->unk7C = r6; + ((Unkstruct_800B5CB8 *)arg0)->unk7E = rA; + ((Unkstruct_800B5CB8 *)arg0)->unk80 = rE; func_8016AA50(arg0, 0xA); } @@ -3209,47 +3209,47 @@ extern s32 func_8012CBCC(s32 a0); void func_801809A4(s32 a0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { - s32 v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; } case 1: { - s32 v0 = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = v0; + s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if ((v0 & 2) != 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1600; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1600; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1600; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1600; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x400; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1800; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1800; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1800; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x100; } - if (*(s32 *)(a0 + 0x1C) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) &= 0xFFEF; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C &= 0xFFEF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x1000; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; func_8012B23C(a0); } break; } case 2: if (func_8012CBCC(a0) != 0) { - *(s16 *)(a0 + 0x98) = 1; - *(u8 *)(a0 + 0xC1) = 0; - *(s32 *)(a0 + 0x1C) = 1; - *(u16 *)(a0 + 0x5C) = 0x8A10; - if (*(s16 *)(a0 + 0x76) < 0x320) { - *(s16 *)(a0 + 0x76) = 0x384; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8A10; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x320) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x384; } } break; @@ -3306,11 +3306,11 @@ void func_80180B84(void *a0) { return; } - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x808A; - *(s32 *)((s32)a0 + 0xC4) |= 3; - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_8018B818; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x808A; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8018B818; arg = (s32)a0; func_8012B23C(arg); s4 = 0; @@ -3326,10 +3326,10 @@ void func_80180B84(void *a0) { if (*s2 == 0xF2) { if (func_8012BC60((void *)s3, (void *)ent) < 0x4000) { s4 = 1; - *(s16 *)((s32)a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; r2 = func_8012B6D4((s16 *)s3, ent); - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = r2; - *(s32 *)((s32)a0 + 0xCC) = (s32)s2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = r2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)s2; func_8012A828((s32)a0, &D_801C03F0); func_8012B2CC((s32)a0); func_8012B1B4((s32)a0, (s32)&D_8018B8C0); @@ -3341,10 +3341,10 @@ void func_80180B84(void *a0) { } if (!s4) { func_8012B030(a0); - *(s16 *)((s32)a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_800291C8(0xA, 0x3025); - *(s16 *)((s32)a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } @@ -3362,33 +3362,33 @@ void func_80180D3C(s32 arg0) { extern u8 D_801C0178[]; extern s32 D_8018B878; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(*(s32 *)(arg0 + 0xCC) + 4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(((Unkstruct_800B5CB8 *)arg0)->unkCC + 4)); func_8012A828((s32)arg0, (void *)D_801C02A8); - *(u16 *)(arg0 + 0x98) = 0; - if (--*(s32 *)(arg0 + 0x1C) == 0) { - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x10) ^= 0xFE0; - *(s32 *)(arg0 + 0x1C) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; + if (--((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 ^= 0xFE0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 2; } - switch (*(s16 *)(arg0 + 0x10A)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk10A) { case 0: break; case 1: if (((s32 (*)(s32))func_8012BD14)((s32)arg0) < 0x1001) { func_80178B18((s32)arg0, (s32)&D_8018B878); func_801746DC(); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = func_8012B8A4((s16 *)arg0); - *(s16 *)(arg0 + 0x10A) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = func_8012B8A4((s16 *)arg0); + ((Unkstruct_800B5CB8 *)arg0)->unk10A = 2; } break; case 2: if (func_801789AC((s32)arg0) == 1) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)(arg0 + 0x10A) = 0; - *(u16 *)(arg0 + 0x5C) |= 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk10A = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C |= 0x200; } - if ((*(u16 *)(arg0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk72 & 0x4000) != 0) { func_8012A828((s32)arg0, (void *)D_801C0178); func_8012E688((s32)arg0, 0x525, 0); } @@ -3416,7 +3416,7 @@ void func_80180E94(void *a0) { extern void (*D_8018B92C[])(void); void func_80180F00(void *a0) { - D_8018B92C[*(u16 *)((s32)a0 + 0x2)](); + D_8018B92C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3442,7 +3442,7 @@ void func_80180F3C(void) { extern void (*D_8018B934[])(void); void func_80180FB0(void *a0) { - D_8018B934[*(u16 *)((s32)a0 + 0x2)](); + D_8018B934[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3452,7 +3452,7 @@ void func_80180FEC(s32 a0) { extern u8 D_801C0178[]; extern u8 D_801C01A8[]; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { switch (rand() & 3) { case 0: func_8012A828(a0, D_801C0178); @@ -3524,32 +3524,32 @@ extern u16 D_8018B8E6; extern u16 D_8018B8E8; void func_8018118C(void *a0) { - s32 v1 = *(s32 *)((s32)a0 + 0x20); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; u16 v0; *(u16 *)(v1 + 0x10) = *(u16 *)(v1 + 0x10) - 0x30; - v0 = *(u16 *)((s32)a0 + 0xA) + 2; - v1 = *(s32 *)((s32)a0 + 0x1C) - 1; - *(s32 *)((s32)a0 + 0x1C) = v1; - *(u16 *)((s32)a0 + 0xA) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA + 2; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v1; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; v1 &= 7; if (v1 == 0) { func_80180F3C(); } - if (*(s32 *)((s32)a0 + 0x1C) == 0) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = 0; - *(s16 *)((s32)a0 + 0x2) = 3; - *(s32 *)((s32)a0 + 0x1C) = 2; - *(u16 *)((s32)a0 + 0xFC) = 0x3C; - *(u16 *)((s32)a0 + 0x6) = D_8018B8E4; - *(u16 *)((s32)a0 + 0xA) = D_8018B8E6; - *(u16 *)((s32)a0 + 0xE) = D_8018B8E8; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = 0; + CAST_ALIAS(s16, (s32)a0, 0x2) = 3; + CAST_ALIAS(s32, (s32)a0, 0x1C) = 2; + CAST_ALIAS(u16, (s32)a0, 0xFC) = 0x3C; + CAST_ALIAS(u16, (s32)a0, 0x6) = D_8018B8E4; + CAST_ALIAS(u16, (s32)a0, 0xA) = D_8018B8E6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018B8E8; func_8012B030(a0); - *(u16 *)((s32)a0 + 0x5C) = 0x8A10; - if (*(s16 *)((s32)a0 + 0x76) < 0x320) { - *(u16 *)((s32)a0 + 0x76) = 0x384; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8A10; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x320) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x384; } func_800291C8(0xA, 0x3025); } @@ -3572,22 +3572,22 @@ void func_80181284(s32 arg0) s32 v1; v0 = func_8012C1B8(); - *(s32 *)(arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)arg0); } else { func_8001CA1C(v0, (s32)D_8018B910); func_8012A828(arg0, (void *)D_8018B91C); - *(u16 *)(arg0 + 2) = 1; - *(u16 *)(arg0 + 0x5C) = 0x100; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x100; func_8012B030((void *)arg0); v1 = 0x1800; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = v1; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = v1; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1C) = v1; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = v1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = v1; + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = v1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk2C |= 0x10; } } @@ -3650,8 +3650,8 @@ void func_801813FC(void *a0) { s32 a2; u8 *v1ptr; - v0 = *(s32 *)((s32)a0 + 0x1C); - do { v1 = *(s32 *)((s32)a0 + 0x2C); } while (0); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; + do { v1 = CAST_WIDTH(s32, (s32)a0, 0x2C); } while (0); a1 = v0 - 1; /* §21 zero-byte re-tie barrier: without it gcc's scheduler hoists the 0x2C load * (and its sll) ahead of the 0x1C load + addiu pair -- the 4-slot SCHEDULE-REORDER @@ -3661,16 +3661,16 @@ void func_801813FC(void *a0) { * two loads. Emits no code. */ v1 = v1 << 6; a2 = (s32)D_801D9760 + v1; - v1ptr = *(u8 **)((s32)a0 + 0x20); + v1ptr = CAST_SIGN(u8 *, (s32)a0, 0x20); - *(s32 *)((s32)a0 + 0x1C) = a1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = a1; if (!(a1 == -1)) { v0 = 0x10 - a1; - *(u16 *)((s32)v1ptr + 0x1A) = v0 << 8; - *(u16 *)((s32)v1ptr + 0x18) = v0 << 8; + ((Unkstruct_800B5CB8 *)v1ptr)->unk1A = v0 << 8; + ((Unkstruct_800B5CB8 *)v1ptr)->unk18 = v0 << 8; - v1 = *(s32 *)((s32)a0 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v0 = (v1 << 8) - v1; if (v0 < 0) { v0 = v0 + 0xF; @@ -3681,11 +3681,11 @@ void func_801813FC(void *a0) { *(u8 *)(a2 + 0x1) = v0; *(u8 *)(a2 + 0x0) = v0; - v0 = *(s32 *)((s32)a0 + 0x1C) << 2; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C << 2; *(u8 *)(a2 + 0x5) = v0; *(u8 *)(a2 + 0x4) = v0; - *(u8 *)(a2 + 0x6) = *(s32 *)((s32)a0 + 0x1C) << 3; + *(u8 *)(a2 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk1C << 3; } else { func_801292C8((u8 *)a0); } @@ -3696,7 +3696,7 @@ void func_801813FC(void *a0) { extern void (*D_8018B944[])(void); void func_801814B0(void *a0) { - D_8018B944[*(u16 *)((s32)a0 + 0x2)](); + D_8018B944[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3722,7 +3722,7 @@ void func_80181554(void) { extern void (*D_8018B94C[])(void); void func_8018155C(void *a0) { - D_8018B94C[*(u16 *)((s32)a0 + 0x2)](); + D_8018B94C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3739,10 +3739,10 @@ void func_80181598(void *a0) s32 s0; s0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; if (s0 != 0) { func_8001C214(s0, (s32)D_801D2038); - *(s32 *)((s32)s0 + 0x20) = (s32)D_8118B93C; + ((Unkstruct_800B5CB8 *)s0)->unk20 = (s32)D_8118B93C; func_80181708(a0); func_8012AD50(a0); } @@ -3774,7 +3774,7 @@ void func_80181600(void *a0) result = func_8014BF6C(); - if (!(*(s16 *)((u8 *)a0 + 0x70) < (result & 0xFF))) { + if (!(((Unkstruct_800B5CB8 *)a0)->unk70 < (result & 0xFF))) { func_8012B23C((s32)a0); func_8002D4C8(0x580, 0); func_8012BF4C((s32 *)a0, 0x10); @@ -3813,19 +3813,19 @@ void func_80181708(void *a0) { s16 field70; u16 sp10[3]; - dst = (Blk32_80181708 *)((u8 *)*(s32 **)((u8 *)a0 + 0x20) + 0x34); + dst = (Blk32_80181708 *)((u8 *)CAST_SIGN(s32 *, (u8 *)a0, 0x20) + 0x34); src = (Blk32_80181708 *)((u8 *)D_80126B78 + 0x34); *dst = *src; result = func_8014BF6C(); - field70 = *(s16 *)((u8 *)a0 + 0x70); + field70 = ((Unkstruct_800B5CB8 *)a0)->unk70; func_8012F214((s32)a0, (s32)D_8018B9A4[result & 0xFF] + (field70 << 3), (s32)sp10); - *(s16 *)((u8 *)a0 + 0x6) = sp10[0]; - *(s16 *)((u8 *)a0 + 0xA) = sp10[1]; - *(s16 *)((u8 *)a0 + 0xE) = sp10[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp10[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp10[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp10[2]; func_8012B260((u8 *)a0); } @@ -3848,7 +3848,7 @@ void func_801817D8(u8 *a0, u8 *a1) { extern void (*D_8018B9B8[])(void); void func_80181838(void *a0) { - D_8018B9B8[*(u16 *)((s32)a0 + 0x2)](); + D_8018B9B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3894,7 +3894,7 @@ void func_801818EC(void) { extern void (*D_8018BB08[])(void); void func_80181940(void *a0) { - D_8018BB08[*(u16 *)((s32)a0 + 0x2)](); + D_8018BB08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4015,21 +4015,21 @@ void func_80181D9C(s32 arg0) s32 v; s32 timer; - obj = *(s32 *)(arg0 + 0x20); - *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C); - *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30); - *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34); + obj = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(s32, arg0, 0x10) += CAST_WIDTH(s32, arg0, 0x2C); + ((Unkstruct_800B5CB8 *)arg0)->unk14 += ((Unkstruct_800B5CB8 *)arg0)->unk30; + CAST_WIDTH(s32, arg0, 0x18) += CAST_WIDTH(s32, arg0, 0x34); func_8012931C((struct vec *)arg0); - v = *(u16 *)(obj + 0x1A) - 0x100; - *(u16 *)(obj + 0x1A) = v; - *(u16 *)(obj + 0x18) = v; + v = ((Unkstruct_800B5CB8 *)obj)->unk1A - 0x100; + ((Unkstruct_800B5CB8 *)obj)->unk1A = v; + ((Unkstruct_800B5CB8 *)obj)->unk18 = v; if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) { func_801292C8((u8 *)arg0); } else { - timer = *(s32 *)(arg0 + 0x1C); + timer = ((Unkstruct_800B5CB8 *)arg0)->unk1C; if (timer != 0) { timer--; - *(s32 *)(arg0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = timer; if (timer == 0) { func_801292C8((u8 *)arg0); } @@ -4042,7 +4042,7 @@ void func_80181D9C(s32 arg0) extern void (*D_8018BBBC[])(void); void func_80181E44(void *a0) { - D_8018BBBC[*(u16 *)((s32)a0 + 0x2)](); + D_8018BBBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4132,7 +4132,7 @@ void func_80182050(u8 *a0, u8 *a1) { result = func_801290DC(0x3D, (u8 *)temp); if (result) { - *(s32 *)(result + 0x2C) = *(s16 *)(a1 + 0x6); + CAST_WIDTH(s32, result, 0x2C) = *(s16 *)(a1 + 0x6); } } @@ -4175,7 +4175,7 @@ void func_801820E4(u8 *arg0) extern void (*D_8018BC04[])(void); void func_801821B8(void *a0) { - D_8018BC04[*(u16 *)((s32)a0 + 0x2)](); + D_8018BC04[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4217,23 +4217,23 @@ void func_8018223C(void *a0) { s1 = func_80029504(); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - *(s32 *)((s32)a0 + 0x58) = (s32)D_8018BBF4; - *(u16 *)((s32)a0 + 0x2) += 1; - *(s16 *)((s32)a0 + 0x5C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018BBF4; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x80; if (s1 >= 0x384) { - *(s32 *)((s32)a0 + 0xDC) = func_801821F4(a0, D_8018BBE4); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_801821F4(a0, D_8018BBE4); } else if (s1 >= 0x258) { - *(s32 *)((s32)a0 + 0xDC) = func_801821F4(a0, D_8018BBD4); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_801821F4(a0, D_8018BBD4); } else if (s1 >= 0xC8) { - *(s32 *)((s32)a0 + 0xDC) = func_801821F4(a0, D_8018BBC4); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_801821F4(a0, D_8018BBC4); } } @@ -4254,7 +4254,7 @@ void func_80182308(void) { extern void (*D_8018BC1C[])(void); void func_80182324(void *a0) { - D_8018BC1C[*(u16 *)((s32)a0 + 0x2)](); + D_8018BC1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4267,16 +4267,16 @@ void func_80182360(void *a0) { s32 ret; ret = func_8012C1B8(); - *(s32 *)((u8 *)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4(a0); return; } func_8001C214(ret, 0); - *(u16 *)((u8 *)a0 + 0x2) = 1; - *(u16 *)((u8 *)a0 + 0x5C) = 0x40; - *(s32 *)((u8 *)a0 + 0x58) = (u32)D_8018BC0C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (u32)D_8018BC0C; } @@ -4342,7 +4342,7 @@ void func_8018246C(void) { extern void (*D_8018BCBC[])(void); void func_80182544(void *a0) { - D_8018BCBC[*(u16 *)((s32)a0 + 0x2)](); + D_8018BCBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4387,7 +4387,7 @@ void func_80182628(void) { extern void (*D_8018BCC4[])(void); void func_80182630(void *a0) { - D_8018BCC4[*(u16 *)((s32)a0 + 0x2)](); + D_8018BCC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4434,7 +4434,7 @@ void func_80182700(void) { extern void (*D_8018BCFC[])(void); void func_80182708(void *a0) { - D_8018BCFC[*(u16 *)((s32)a0 + 0x2)](); + D_8018BCFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4461,27 +4461,27 @@ void func_80182744(void *a0) { void *q; ret = func_8012C1B8(); - *(s32 *)((u8 *)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4(a0); return; } - t = *(u16 *)((u8 *)a0 + 0x70); + t = CAST_SIGN(u16, (u8 *)a0, 0x70); t &= 0xF; func_8001C214(ret, D_8018BCCC[t]); - t2 = *(u16 *)((u8 *)a0 + 0x70); - *(u16 *)((u8 *)a0 + 0x2) = 1; + t2 = CAST_SIGN(u16, (u8 *)a0, 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; t2 &= 0xF; - *(Rec80182744 *)((u8 *)a0 + 0xFC) = D_8018BCD8[t2]; + CAST_WIDTH(Rec80182744, (u8 *)a0, 0xFC) = D_8018BCD8[t2]; - q = *(void **)((u8 *)a0 + 0x64); - *(s32 *)((u8 *)a0 + 0xCC) = (s32)((u8 *)a0 + 0xFC); - *(u16 *)((u8 *)a0 + 0xD0) = 1; - *(s32 *)((u8 *)a0 + 0xD4) = 0; - *(s16 *)((u8 *)a0 + 0xD8) = -2; - *(u16 *)((u8 *)a0 + 0x108) = *(u16 *)((u8 *)q + 0x36); + q = CAST_SIGN(void *, (u8 *)a0, 0x64); + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)((u8 *)a0 + 0xFC); + CAST_WIDTH(u16, (u8 *)a0, 0xD0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkD4 = 0; + CAST_WIDTH(s16, (u8 *)a0, 0xD8) = -2; + ((Unkstruct_800B5CB8 *)a0)->unk108 = *(u16 *)((u8 *)q + 0x36); func_8012A828((s32)a0, (void *)((u8 *)a0 + 0xCC)); } @@ -4502,7 +4502,7 @@ extern s32 func_80178B18(s32, s32); extern void (*D_8018BD9C[])(void); void func_8018288C(void *a0) { - D_8018BD9C[*(u16 *)((s32)a0 + 0x2)](); + D_8018BD9C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4525,7 +4525,7 @@ void func_801828F8(void *arg0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8012E8E0((s32)arg0, (s32)&D_8018BD04); func_8012A828((s32)arg0, (s32)&D_801D3318); } @@ -4540,14 +4540,14 @@ void func_80182958(void *a0) { v0 = func_80029504(); if ((u32)(v0 - 0xD2) >= 0x14 || - (v0 = func_8012C1B8(), (*(s32 *)((s32)a0 + 0x20) = v0), v0 == 0)) { + (v0 = func_8012C1B8(), (((Unkstruct_800B5CB8 *)a0)->unk20 = v0), v0 == 0)) { func_8012CAE4(a0); } else { func_8001C214(v0, (s32)&D_801D5BC8); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E8E0((s32)a0, (s32)&D_8018BD04); func_8012A828((s32)a0, (s32)&D_801D3318); - *(s16 *)(*(s32 *)((s32)a0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk68 + 0xC) = 0x7FFF; } } @@ -4568,7 +4568,7 @@ s32 func_801829F4(void) { extern void (*D_8018BE04[])(void); void func_80182A14(void *a0) { - D_8018BE04[*(u16 *)((s32)a0 + 0x2)](); + D_8018BE04[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4605,8 +4605,8 @@ void func_80182A50(s32 a0) { extern u8 D_80187B3C[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_8018BDB8)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32*, s32))func_8012A828)((s32 *)s0, (s32)D_80187B3C); func_801788B8(s0, (s32)func_80182B34); } @@ -4657,7 +4657,7 @@ s32 func_80182B34(void *a0) extern void (*D_801C4250[])(void); void func_80182B90(void *a0) { - D_801C4250[*(u16 *)((s32)a0 + 0x2)](); + D_801C4250[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4666,7 +4666,7 @@ void func_80182BCC(void *a0) { extern s32 D_801C4200; extern s32 D_801C4240; - if (((*(u16 *)((s32)a0 + 0x70) & 0x1) != 0) && + if (((CAST_SIGN(u16, (s32)a0, 0x70) & 0x1) != 0) && ((func_80029178(0xE7) & 0xFF) == 0) && ((u32)func_80029504() < 0x46)) { func_8012CAE4(a0); @@ -4675,13 +4675,13 @@ void func_80182BCC(void *a0) { if (func_8012C354((s32)a0, (s32)&D_801C4200) != 0) { func_8012A828((s32)a0, (void *)&D_801C4240); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x40000000; - *(s32 *)((s32)a0 + 0x1C) = 0; - *(s16 *)((s32)a0 + 0xE0) = 1; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u8 *)((s32)a0 + 0x75) = 0xE; - *(s16 *)((s32)a0 + 0x2) = 1; - *(s32 *)((s32)a0 + 0xDC) |= 0x1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + CAST_WIDTH(s16, (s32)a0, 0xE0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC |= 0x1; } } @@ -4793,25 +4793,25 @@ void func_80182F08(s32 a0) { void *a0_val; if (func_8012C354(a0, (s32)&D_801C473C) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - v1 = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)&D_801C4850; - *(s32 *)(a0 + 0xB4) = -0x20AD; - *(s32 *)(a0 + 0xE0) = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801C4850; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x20AD; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; v1 = v1 | 0x1; - *(s32 *)(a0 + 0xC4) = v1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = v1; func_8012A828(a0, (void *)&(*(s32 *)D_801C7AA4)); - if ((*(u16 *)(a0 + 0x70) & 0x1) != 0) { - a0_val = (void *)*(s32 *)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0_val + 0x4) = *(s32 *)(a0_val + 0x4) | 0x80000000; + if ((CAST_SIGN(u16, a0, 0x70) & 0x1) != 0) { + a0_val = (void *)((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(s32, a0_val, 0x4) = CAST_WIDTH(s32, a0_val, 0x4) | 0x80000000; } else { - *(s16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } } } @@ -4832,11 +4832,11 @@ void func_80182FC4(s32 a0) s32 u; s32 p; - if (*(s16 *)(a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { if (func_8012E778(a0, 0x64008C) == 0) { return; } - *(s16 *)(a0 + 0x102) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 1; } else { if (func_8012BEE8(a0) == 0) { return; @@ -4846,25 +4846,25 @@ void func_80182FC4(s32 a0) } } - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; - *(u16 *)((*(s32 *)(a0 + 0x20)) + 0x2C) |= 0x10; + *(u16 *)((((Unkstruct_800B5CB8 *)a0)->unk20) + 0x2C) |= 0x10; - p = *(s32 *)(a0 + 0x20); - *(s32 *)(p + 0x4) &= 0x7FFFFFFF; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, p, 0x4) &= 0x7FFFFFFF; t = func_80047948(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1C) = t; - *(s16 *)(p + 0x18) = t; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s16, p, 0x1C) = t; + ((Unkstruct_800B5CB8 *)p)->unk18 = t; u = func_8004787C(0x380); - p = *(s32 *)(a0 + 0x20); - *(s16 *)(p + 0x1A) = (u << 1) + 0x1000; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk1A = (u << 1) + 0x1000; - *(s32 *)(a0 + 0xCC) = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((s32 (*)(s32, s32))func_80143994)(a0, 0x3000); } @@ -4877,23 +4877,23 @@ void func_801830B8(s32 s0) { s32 v1; if (func_8012BEE8(s0) != 0) { - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; v1 = *(u16 *)(v0 + 0x2C); v1 &= 0xFFEF; *(s16 *)(v0 + 0x2C) = v1; - *(s16 *)(s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; } else { - s32 a0 = *(s32 *)(s0 + 0x1C); + s32 a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_80047948(a0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v1 + 0x1C) = v0; *(s16 *)(v1 + 0x18) = v0; - a0 = *(s32 *)(s0 + 0x1C); + a0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; a0 = (a0 << 10) >> 3; v0 = func_8004787C(a0); v0 = v0 << 1; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; v0 += 0x1000; *(s16 *)(v1 + 0x1A) = v0; } @@ -4904,13 +4904,13 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801C7AA4[]; void func_80183154(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; func_8012A828(param_1, D_801C7AA4); - *(s32 *)(param_1 + 0x1C) = 0x20; - if (*(s32 *)(param_1 + 0xE0) != 0) { - *(s32 *)(param_1 + 0xE0) = 0; - *(s16 *)(param_1 + 0xA) = *(s16 *)(param_1 + 0xA) + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkA = CAST_SIGN(s16, param_1, 0xA) + 0x30; } } @@ -4919,13 +4919,13 @@ extern s32 func_8012BEE8(s32 a0); extern s32 func_801844B0(s32 a0); void func_801831B4(s32 a0) { - u8 *p = *(u8 **)(a0 + 0x20); + u8 *p = CAST_SIGN(u8 *, a0, 0x20); *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + 0x40; if (func_801844B0(a0) == 1) { return; } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } @@ -4939,11 +4939,11 @@ extern u8 D_801C7AA4[]; void func_80183214(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012B23C(s0); func_8012B178(s0, 0xFFFE8000); func_8012A828(s0, (void *)&D_801C7AA4); - *(s32 *)((s32)a0 + 0x1C) = 0x96; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x96; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -4955,7 +4955,7 @@ extern u8 D_800D3918[]; void func_80183270(s32 arg0) { if (func_801844B0(arg0) != 1) { if (func_801841F8(arg0, D_800D3918) == 0) { - *(s16 *)(arg0 + 2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; } } } @@ -4967,10 +4967,10 @@ extern s32 D_801C7B9C; void func_801832C0(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; func_8012B23C(s0); func_8012A828(s0, (void *)&D_801C7B9C); - *(s32 *)((s32)a0 + 0x1C) = 0x24; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x24; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -4991,10 +4991,10 @@ void func_8018330C(s32 a0) s0 = a0; v0 = func_8012B8E4(s0, 8); - p = *(u16 **)(s0 + 0x20); + p = CAST_SIGN(u16 *, s0, 0x20); p[9] = p[9] + (u16)v0; - if (*(s32 *)(s0 + 0x1C) < 0x19) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C < 0x19) { func_8012B178(s0, 0xFFFC0000); v1 = func_801841F8(s0, (void *)D_800D3918); @@ -5021,7 +5021,7 @@ void func_8018330C(s32 a0) } L_store: - *(s16 *)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } @@ -5068,30 +5068,30 @@ void func_801833EC(s32 param_1) s32 sVar2; u16 sp10[3]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) | 0x80000000; - *(s16 *)(param_1 + 0xE4) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) | 0x80000000; + CAST_WIDTH(s16, param_1, 0xE4) = 3; } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = uVar1; - *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 2 + 0x1000; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = uVar1; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = uVar1; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 2 + 0x1000; } break; case 1: - uVar1 = *(u16 *)(param_1 + 0xE4) - 1; - *(u16 *)(param_1 + 0xE4) = uVar1; + uVar1 = CAST_WIDTH(u16, param_1, 0xE4) - 1; + CAST_WIDTH(u16, param_1, 0xE4) = uVar1; if ((s16)uVar1 == 0) { - sp10[0] = *(u16 *)(param_1 + 0x6); - sp10[1] = *(u16 *)(param_1 + 0xA) - 0x38; - sp10[2] = *(u16 *)(param_1 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x38; + sp10[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; { s32 e; s32 q; @@ -5105,31 +5105,31 @@ void func_801833EC(s32 param_1) } } } - *(s16 *)(param_1 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; } /* fallthrough */ case 2: if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x34) = 3; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) & 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 3; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) & 0x7FFFFFFF; func_80184008(param_1); - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xAA10; } break; case 3: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) & 0xFFEF; - *(s16 *)(param_1 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C & 0xFFEF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xB; } else { - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); - *(s16 *)(iVar3 + 0x1C) = sVar2; - *(s16 *)(iVar3 + 0x18) = sVar2; - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = uVar1 * 2 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, iVar3, 0x1C) = sVar2; + ((Unkstruct_800B5CB8 *)iVar3)->unk18 = sVar2; + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = uVar1 * 2 + 0x1000; } break; } @@ -5142,10 +5142,10 @@ extern void func_8012B23C(s32 a0); void func_80183600(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B23C(s0); func_8012A828(s0, (void *)&D_801C7C74); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; func_8012B23C(s0); } @@ -5163,8 +5163,8 @@ void func_80183654(s32 s0) { s32 v1; v0 = func_8012B8E4(s0, 8); - v1 = *(s32*)(s0 + 0x20); - *(s16*)(v1 + 0x12) = (s16)(*(u16*)(v1 + 0x12) + v0); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk12 = (s16)(((Unkstruct_800B5CB8 *)v1)->unk12 + v0); func_8012B178(s0, 0xFFFC0000); v0 = func_801841F8(s0, D_800D3918); if (v0 == -1) @@ -5184,18 +5184,18 @@ void func_80183654(s32 s0) { else return; } - *(s16*)(s0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; } void func_801836FC(s32 a0) { extern void func_8012A828(s32 a0, void *a1); extern s32 D_801C7D4C; - *(s16 *)(a0 + 2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; func_8012A828(a0, &D_801C7D4C); - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0xDC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + CAST_WIDTH(s16, a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } @@ -5213,17 +5213,17 @@ void func_80183744(void *a0) v0 = func_8012BCCC(s0); if (v0 <= 0x14400) { - if (*(s32 *)(s0 + 0x1C) >= 0x16) { + if (((Unkstruct_800B5CB8 *)s0)->unk1C >= 0x16) { v0 = func_8012B8E4(s0, 8); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 + v0; } - s1 = *(s32 *)(s0 + 0x1C); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (s1 == 0x15) { func_8002D4C8(0x522, 0); } - if (s1 != 0x15 || *(s32 *)(s0 + 0x1C) != s1) { - s32 v1 = *(s32 *)(s0 + 0x1C); + if (s1 != 0x15 || ((Unkstruct_800B5CB8 *)s0)->unk1C != s1) { + s32 v1 = ((Unkstruct_800B5CB8 *)s0)->unk1C; if (v1 == 0xB || v1 == 1) { func_80183E70(s0); } @@ -5238,7 +5238,7 @@ void func_80183744(void *a0) } else { v0 = 7; } - *(s16 *)(s0 + 2) = (s16)v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = (s16)v0; } @@ -5250,12 +5250,12 @@ extern void func_8012B2CC(s32 a0); void func_80183818(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; func_8012B2CC(s0); func_8012B23C(s0); func_8012B178(s0, 0xFFFD0000); func_8012A828(s0, (void *)&D_801C7B9C); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; *(u16 *)((s32)a0 + 0xE6) = 0; } @@ -5269,12 +5269,12 @@ extern s32 D_801C7B9C; extern s32 func_801841F8(s32 a0, s32 a1); void func_80183878(void *a0) { - if (*(s16 *)((s32)a0 + 0xAA) <= 0) { - *(s16 *)((s32)a0 + 2) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unkAA <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else { if (func_8012BEE8((s32)a0) != 0) { func_8012A828((s32)a0, (void *)&D_801C7B9C); - *(s32 *)((s32)a0 + 0x1C) = 0x1A; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1A; } func_801841F8((s32)a0, (s32)D_800D3918); } @@ -5346,28 +5346,28 @@ void func_801839D8(s32 param_1) { s32 t2; s32 t3; - *(u16 *)(s0 + 0x5C) = *(u16 *)(s0 + 0x5C) & 0xFFFE; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) = (*(u16 *)(s0 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)s0)->unk5C = ((Unkstruct_800B5CB8 *)s0)->unk5C & 0xFFFE; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)s0)->unk62 + 0x800) & 0xFFF; - t1 = *(s32 *)(s0 + 0x20); - *(u16 *)(t1 + 0x14) = 0; - *(u16 *)(t1 + 0x10) = 0; + t1 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t1, 0x14) = 0; + ((Unkstruct_800B5CB8 *)t1)->unk10 = 0; func_8012B23C(s0); - *(u8 *)(s0 + 0xC2) = 0; - *(u8 *)(s0 + 0xC3) = 0; - *(u16 *)(s0 + 0x98) = 0; - *(s32 *)(s0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; - t2 = *(s32 *)(s0 + 0x20); - *(u16 *)(t2 + 0x2C) = *(u16 *)(t2 + 0x2C) & 0xFFEF; + t2 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)t2)->unk2C = ((Unkstruct_800B5CB8 *)t2)->unk2C & 0xFFEF; - t3 = *(s32 *)(s0 + 0x20); - *(u16 *)(t3 + 0x1C) = 0x1000; - *(u16 *)(t3 + 0x1A) = 0x1000; - *(u16 *)(t3 + 0x18) = 0x1000; + t3 = ((Unkstruct_800B5CB8 *)s0)->unk20; + CAST_WIDTH(u16, t3, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)t3)->unk18 = 0x1000; - if (*(u16 *)(s0 + 0x5E) == 9 || *(u16 *)(s0 + 0x5E) == 0x1C) { + if (CAST_WIDTH(u16, s0, 0x5E) == 9 || CAST_WIDTH(u16, s0, 0x5E) == 0x1C) { func_8012B14C(s0, (s32)D_801C4934); v0 = 0xCC; } else { @@ -5492,10 +5492,10 @@ void func_80183C7C(void *a0) { extern short D_801C4840; s32 v0; - v0 = *(s32 *)((char *)a0 + 0x20); - *(s16 *)((char *)a0 + 0x5C) = 0; - *(s16 *)((char *)v0 + 0x10) = 0; - *(s16 *)((char *)a0 + 0x34) = 0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)v0)->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012E8A8((u8 *)a0); func_8012A828((s32)a0, (s32)&D_801C4840); } @@ -5556,7 +5556,7 @@ void func_80183CC4(s32 a0) { obj = a0; - if (*(u16 *)(obj + 0x34) != 0) { + if (((Unkstruct_800B5CB8 *)obj)->unk34 != 0) { if (func_8012BEE8(a0) != 0) { func_8002AC00(0xA); func_80130D48(obj); @@ -5579,11 +5579,11 @@ void func_80183CC4(s32 a0) { func_8012B0B4(pbuf, ang1, dist); t4 = buf; - pos[0] = *(u16 *)(obj + 0x6) + t4; + pos[0] = ((Unkstruct_800B5CB8 *)obj)->unk6 + t4; v3 = rand() % 24; - base = *(s16 *)(obj + 0xA) - 0x34; + base = CAST_SIGN(s16, obj, 0xA) - 0x34; r4 = rand(); { @@ -5593,15 +5593,15 @@ void func_80183CC4(s32 a0) { { s32 hi4; hi4 = t4 >> 16; - pos[2] = *(u16 *)(obj + 0xE) + hi4; + pos[2] = ((Unkstruct_800B5CB8 *)obj)->unkE + hi4; } func_80143BDC(pos); i++; } } - *(s32 *)(obj + 0x1C) = 0x10; - *(u16 *)(obj + 0x34) += 1; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk34 += 1; for (i = 0; i < 3; i++) { func_8012C658(0x240, i, obj); @@ -5659,7 +5659,7 @@ u8 *func_80183F70(s32 a0, s32 a1, s32 a2) { return NULL; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); func_8001CD50((s32)sub, (s32)((u8 *)D_801C4770 + (a2 << 6))); *(u16 *)(sub + 0x1E) = 0xC00; @@ -5704,30 +5704,30 @@ void func_80184008(s32 a0) { func_8012B23C(a0); - sp30[0] = *(u16 *)(a0 + 0x3A); - sp30[1] = *(u16 *)(a0 + 0x3E); - sp30[2] = *(u16 *)(a0 + 0x42); + sp30[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp30[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp30[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if (func_80184520(a0) != 0) { goto body; } - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; return; found: - *(s16 *)(a0 + 0x6) = sv[0]; - *(s16 *)(a0 + 0xA) = sv[1]; - *(s16 *)(a0 + 0xE) = sv[2]; - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv[2]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; goto tail; body: - *(s16 *)(a0 + 0x6) = D_80126CB4; - *(s16 *)(a0 + 0xA) = D_80126CB6; - *(s16 *)(a0 + 0xE) = D_80126CB8; + CAST_ALIAS(s16, a0, 0x6) = D_80126CB4; + CAST_ALIAS(s16, a0, 0xA) = D_80126CB6; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_80126CB8; vec[2] = (s32)0xFF600000; vec[1] = 0; @@ -5736,10 +5736,10 @@ body: m = D_800AE620; RotMatrixY(*(s16 *)((u8 *)D_80126B78 + 0x12), &m); - pos[1] = *(s32 *)(a0 + 0x8); + pos[1] = CAST_WIDTH(s32, a0, 0x8); do { - pos[0] = *(s32 *)(a0 + 0x4); - pos[2] = *(s32 *)(a0 + 0xC); + pos[0] = CAST_WIDTH(s32, a0, 0x4); + pos[2] = CAST_WIDTH(s32, a0, 0xC); func_800484EC((s32)&m, (s32)vec, (s32)out); pos[0] += out[0]; pos[2] += out[2]; @@ -5755,7 +5755,7 @@ body: func_8012ADE4(a0); tail: - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B864(a0); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B864(a0); } @@ -5802,11 +5802,11 @@ s32 func_801841F8(s32 a0, s32 a1) { } for (i = 0, p = D_801202A0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(u16 *)a0 == *(u16 *)p && a0 != (s32)p) { + if (*(u16 *)p != 0 && ((Unkstruct_800B5CB8 *)a0)->unk0 == *(u16 *)p && a0 != (s32)p) { if (func_8012BC60((struct Vec *)(a0 + 4), (struct Vec *)(p + 4)) < 0x1000) { - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); ang = func_8012B6D4((s16 *)(a0 + 4), (s16 *)(p + 4)); func_8012B0B4((unsigned int *)buf, ang, 0x41); @@ -5818,18 +5818,18 @@ s32 func_801841F8(s32 a0, s32 a1) { s32 t3; register s32 t4 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9) - *(s32 *)(a0 + 4) = t1; + CAST_WIDTH(s32, a0, 4) = t1; - t2 = *(u16 *)(a0 + 6); + t2 = ((Unkstruct_800B5CB8 *)a0)->unk6; t3 = *(s32 *)(p + 0xC); t2 = t2 + v1; - *(s32 *)(a0 + 0xC) = t3; - *(u16 *)(a0 + 6) = t2; + CAST_WIDTH(s32, a0, 0xC) = t3; + ((Unkstruct_800B5CB8 *)a0)->unk6 = t2; - t4 = *(u16 *)(a0 + 0xE); + t4 = ((Unkstruct_800B5CB8 *)a0)->unkE; v1 = v1 >> 16; t4 = t4 + v1; - *(u16 *)(a0 + 0xE) = t4; + ((Unkstruct_800B5CB8 *)a0)->unkE = t4; } goto found; } @@ -5864,66 +5864,66 @@ extern u8 D_801C7AA4[]; void func_80184344(s32 a0) { u16 v1; - if (*(s16 *)(a0 + 0x100) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_8002A04C(); } - if (*(u8 *)(a0 + 0xC1) == 0xE) { + if (CAST_SIGN(u8, a0, 0xC1) == 0xE) { func_8002AC00(0xA); } - v1 = *(u16 *)(a0 + 0x70); + v1 = CAST_SIGN(u16, a0, 0x70); if ((v1 & 1) == 0) { goto LCFC; } if ((v1 & 0x8000) != 0) { goto LD44; } - if (*(u8 *)(a0 + 0xC1) == 0) { + if (CAST_SIGN(u8, a0, 0xC1) == 0) { goto LCFC; } - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x2) = 1; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; { s32 ent; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x5C) = 0; - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78)); - ent = *(s32 *)(a0 + 0x20); + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78); + ent = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(ent + 0x14) = 0; *(s16 *)(ent + 0x12) = 0; *(s16 *)(ent + 0x10) = 0; } { - u16 f88 = *(u16 *)(a0 + 0x88); - u16 f8A = *(u16 *)(a0 + 0x8A); - u16 f8C = *(u16 *)(a0 + 0x8C); + u16 f88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + u16 f8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; + u16 f8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0xAA) = 0; - *(s16 *)(a0 + 0x6) = f88; - *(s16 *)(a0 + 0xA) = f8A; - *(s16 *)(a0 + 0xE) = f8C; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = f88; + ((Unkstruct_800B5CB8 *)a0)->unkA = f8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = f8C; func_8012A828(a0, (void *)D_801C7AA4); } - if (*(s32 *)(a0 + 0xCC) != 0) { - func_801439C0(*(s32 *)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_801439C0(((Unkstruct_800B5CB8 *)a0)->unkCC); } func_8012B2CC(a0); return; LCFC: - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - s32 v1c = *(s32 *)(a0 + 0x68); + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + s32 v1c = ((Unkstruct_800B5CB8 *)a0)->unk68; if (v1c != 0) { - if ((*(s16 *)(a0 + 0x72) & 0x8000) != 0) { + if ((CAST_SIGN(s16, a0, 0x72) & 0x8000) != 0) { u16 v0c = *(u16 *)(v1c + 0xA); v0c &= 0x7FFF; *(u16 *)(v1c + 0xA) = v0c; @@ -5943,7 +5943,7 @@ s32 func_801844B0(s32 obj) { dist = func_8012BCCC(obj); if (dist < 0x2001 || (dist <= 0x24000 && func_8012BDBC(obj, 0x400))) { - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return 1; } return 0; @@ -5955,9 +5955,9 @@ s32 func_801844B0(s32 obj) { s32 func_80184520(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -6008,7 +6008,7 @@ SVECTOR *a1; extern void (*D_801C4954[])(void); void func_80184658(void *a0) { - D_801C4954[*(u16 *)((s32)a0 + 0x2)](); + D_801C4954[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6140,13 +6140,13 @@ void *arg0; return 0; } - pointA[0] = *(u16 *)(base + 0x6); - pointA[1] = *(u16 *)(base + 0xA); - pointA[2] = *(u16 *)(base + 0xE); + pointA[0] = CAST_SIGN(u16, base, 0x6); + pointA[1] = CAST_SIGN(u16, base, 0xA); + pointA[2] = CAST_SIGN(u16, base, 0xE); - diff[0] = pointA[0] - *(u16 *)((u8 *)arg0 + 0x6); - diff[1] = pointA[1] - *(u16 *)((u8 *)arg0 + 0xA); - diff[2] = pointA[2] - *(u16 *)((u8 *)arg0 + 0xE); + diff[0] = pointA[0] - ((Unkstruct_800B5CB8 *)arg0)->unk6; + diff[1] = pointA[1] - ((Unkstruct_800B5CB8 *)arg0)->unkA; + diff[2] = pointA[2] - ((Unkstruct_800B5CB8 *)arg0)->unkE; VectorNormalSS(diff, diff); @@ -6159,8 +6159,8 @@ void *arg0; func_8012F568(1, 0x4001, 0, 0xA, (s32)pointA, (s32)diff); } - ptr = *(void **)((u8 *)arg0 + 0x20); - *(u16 *)(base + 0x42) = *(u16 *)((u8 *)ptr + 0x12); + ptr = CAST_SIGN(void *, (u8 *)arg0, 0x20); + ((Unkstruct_80126B58 *)base)->unk42 = ((Unkstruct_800B5CB8 *)ptr)->unk12; return 1; } @@ -6213,7 +6213,7 @@ s32 func_80184958(void *a0) s32 hit; cfg = (s32 *)&D_80126B58; - p0 = (u8 *)*(s32 *)((s32)a0 + 0x20); + p0 = (u8 *)((Unkstruct_800B5CB8 *)a0)->unk20; func_80020DA4((s32)p0 + 0x10, (s32)matrix); func_80020F34((s32)matrix, (s32)p0 + 0x18); @@ -6233,7 +6233,7 @@ s32 func_80184958(void *a0) RotTransSV(p0, sv0, &flag); RotTransSV(p1, sv1, &flag); - hit = func_80135888(*(s32 *)((u8 *)cfg + 0x20), *(s32 *)((u8 *)cfg + 0x38), + hit = func_80135888(((Unkstruct_80126B58 *)cfg)->unk20, ((Unkstruct_80126B58 *)cfg)->unk38, (s32)sv0, (s32)sv1); do { } while (0); /* scheduling barrier — see twin note 3, do not delete */ p1 += 8; @@ -6250,7 +6250,7 @@ s32 func_80184958(void *a0) extern void (*D_801C49BC[])(void); void func_80184AA8(void *a0) { - D_801C49BC[*(u16 *)((s32)a0 + 0x2)](); + D_801C49BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6314,7 +6314,7 @@ void func_80184B70(s32 a0, u8 *a1) { extern void (*D_801C49F0[])(void); void func_80184C0C(void *a0) { - D_801C49F0[*(u16 *)((s32)a0 + 0x2)](); + D_801C49F0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6334,26 +6334,26 @@ void func_80184C48(void *a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)() + 0; - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } - func_8001C214(v0, D_801C49C4[*(u16 *)((s32)a0 + 0x70) & 0xF]); + func_8001C214(v0, D_801C49C4[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]); - *(s32 *)((s32)a0 + 0x1C) = 8; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; - func_8012EC04(*(s32 *)((s32)a0 + 0x64), D_801C49D0[*(u16 *)((s32)a0 + 0x70) & 0xF], buf); + func_8012EC04(((Unkstruct_800B5CB8 *)a0)->unk64, D_801C49D0[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF], buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, (s32)D_801C49E8, out); - *(u16 *)((s32)a0 + 0x6) = out[0]; - *(u16 *)((s32)a0 + 0xA) = out[1]; - *(u16 *)((s32)a0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = out[2]; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); } @@ -6372,13 +6372,13 @@ void func_80184D34(s32 a0) { return; } s0 = a0; - *(u16 *)(s0 + 0x2) += 1; + CAST_SIGN(u16, s0, 0x2) += 1; r = rand(); - h = *(u16 *)(s0 + 0x70); + h = CAST_SIGN(u16, s0, 0x70); p = D_801C49DC; - *(s32 *)(s0 + 0x48) = p[h & 0xF] + r % 1024; - *(s32 *)(s0 + 0x1C) = 0x100; - *(s32 *)(s0 + 0xE0) = rand(); + ((Unkstruct_800B5CB8 *)s0)->unk48 = p[h & 0xF] + r % 1024; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x100; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = rand(); } @@ -6396,25 +6396,25 @@ void func_80184DC8(void *a0) s16 out[6]; s16 t5; - if ((*(u16 *)((s32)a0 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) -= 0x10; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = -0x400; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) == 2) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) -= 0x10; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)((s32)a0 + 0x20), 0x10) = -0x400; } } else { - vec[0] = func_80047948((*(s32 *)((s32)a0 + 0xE0) << 6) & 0xFC0) << 8; + vec[0] = func_80047948((((Unkstruct_800B5CB8 *)a0)->unkE0 << 6) & 0xFC0) << 8; vec[1] = 0; vec[2] = 0; - func_800484EC(*(s32 *)((s32)a0 + 0x20) + 0x34, (s32)vec, (s32)out); - *(s16 *)((s32)a0 + 0x50) = out[1]; + func_800484EC(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34, (s32)vec, (s32)out); + CAST_WIDTH(s16, (s32)a0, 0x50) = out[1]; t5 = out[5]; - *(s32 *)((s32)a0 + 0xE0) = *(s32 *)((s32)a0 + 0xE0) + 1; - *(s16 *)((s32)a0 + 0x54) = t5; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk54 = t5; } if (((s32 (*)(s32))func_8012CBF4)((s32)a0) != 0) { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(s16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 += 1; } else if (func_8012BEE8((s32)a0) != 0) { func_8012C218(a0); } @@ -6433,32 +6433,32 @@ void func_80184ED0(s32 param_1) s32 uVar1; s32 sVar2; - if (*(u16 *)(param_1 + 0x34) == 0) { - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 2) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + -0x80; - if (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) < -0x400) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x400; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) + -0x80; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) < -0x400) { + CAST_ALIAS(s16, *(s32 *)(param_1 + 0x20), 0x10) = -0x400; } } iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C | 0x10; } } else { iVar3 = func_8012BEE8(param_1); if (iVar3 != 0) { ((void (*)(s32))func_8012C218)(param_1); } else { - uVar1 = func_8004787C((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - iVar3 = *(s32 *)(param_1 + 0x20); + uVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + iVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar3 + 0x1C) = uVar1; *(s16 *)(iVar3 + 0x18) = uVar1; - sVar2 = func_80047948((*(s32 *)(param_1 + 0x1C) << 10) >> 3); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = sVar2 * 8 + 0x1000; + sVar2 = func_80047948((((Unkstruct_800B5CB8 *)param_1)->unk1C << 10) >> 3); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = sVar2 * 8 + 0x1000; } } } @@ -6495,23 +6495,23 @@ void func_80184FF0(void *a0) s32 i, j, k, base, ang, t; u32 col; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += 0x40; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += 0x40; func_8012B414((s32)a0); mv.vz = -0x40000; rot.vz = 0; - col = D_801C499C[(*(u16 *)((s32)a0 + 0x10A))++ & 7]; + col = D_801C499C[(CAST_SIGN(u16, (s32)a0, 0x10A))++ & 7]; prim.code = 0x50000000; - *(u32 *)((s32)&prim + 0x20) = col; - *(u32 *)((s32)&prim + 0x24) = col; - *(u32 *)((s32)&prim + 0x28) = col; - *(u32 *)((s32)&prim + 0x2C) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x20) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x24) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x28) = col; + CAST_NONSTRUCT(u32, (s32)&prim, 0x2C) = col; p = (s32 *)((s32)a0 + 0xCC); for (i = 0, k = 0; i < ((Cnt_8018E8A0_80184FF0_SC03_029_8017FF7C *)a0)->f[0x84]; i++, k++, p += 3) { zb = (s32 *)((s32)a0 + 0xD4); { register s32 c1 __asm__("$2"); register s32 c2 __asm__("$3"); // !FAKE: pin $2 — NEEDED DIFFERS; pin $3 — NEEDED DIFFERS (P36 rung B tus9) - c1 = *(s32 *)((s32)a0 + 0x1C); c2 = i * 4; d = c1 - c2; } + c1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; c2 = i * 4; d = c1 - c2; } if (d > 0x40) { if (i == 4) { func_8012C218(a0); @@ -6523,7 +6523,7 @@ void func_80184FF0(void *a0) ang = base & 0xFFF; flag = (func_8004787C(ang) << 4) >> 12; - switch (*(s16 *)((s32)a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: t = ang; goto horiz; @@ -6560,7 +6560,7 @@ void func_80184FF0(void *a0) mtx.t[2] = ((s16 *)q)[1]; src = (SVec8_8018E8A0_80184FF0 *)(D_801C4A00 + - ((s32)(s16)*(u16 *)((s32)a0 + 0x70) / 2) * 0x20); + ((s32)(s16)CAST_SIGN(u16, (s32)a0, 0x70) / 2) * 0x20); dst = prim.v; gte_SetRotMatrix(&mtx); @@ -6569,11 +6569,11 @@ void func_80184FF0(void *a0) for (j = 0; j < 4; j++, src++, dst++) { RotTransSV(src, dst, &flag); } - func_80017758(&prim, (void *)(*(s32 *)((s32)a0 + 0x20) + 0x34)); + func_80017758(&prim, (void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); } - *(s32 *)((s32)a0 + 0x1C) += 1; - if ((*(s32 *)((s32)a0 + 0x1C) & 3) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 0) { if (((Cnt_8018E8A0_80184FF0_SC03_029_8017FF7C *)a0)->f[0x84] < 5) { ((Cnt_8018E8A0_80184FF0_SC03_029_8017FF7C *)a0)->f[0x84] = ((Cnt_8018E8A0_80184FF0_SC03_029_8017FF7C *)a0)->f[0x84] + 1; } @@ -6585,7 +6585,7 @@ void func_80184FF0(void *a0) extern void (*D_801C4A40[])(void); void func_8018533C(void *a0) { - D_801C4A40[*(u16 *)((s32)a0 + 0x2)](); + D_801C4A40[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6601,18 +6601,18 @@ void func_80185378(void *a0) s32 ret; ret = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4(a0); return; } func_8001C214(ret, 0); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC((s32)a0); - *(u16 *)((s32)a0 + 0x108) = 1; - *(u16 *)((s32)a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 1; + CAST_SIGN(u16, (s32)a0, 0x2) += 1; } @@ -6620,7 +6620,7 @@ void func_80185378(void *a0) extern void (*D_801C89CC[])(void); void func_801853F8(void *a0) { - D_801C89CC[*(u16 *)((s32)a0 + 0x2)](); + D_801C89CC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6653,7 +6653,7 @@ void func_80185434(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801C8724[idx]; @@ -6661,21 +6661,21 @@ void func_80185434(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_80185AE0); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_80187B3C); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -6886,7 +6886,7 @@ s32 func_80185888(void) { extern void (*D_801C89F4[])(void); void func_801858EC(void *a0) { - D_801C89F4[*(u16 *)((s32)a0 + 0x2)](); + D_801C89F4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6908,7 +6908,7 @@ void func_80185928(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -6936,23 +6936,23 @@ void func_801859B0(void *a0) { extern u8 D_801C8FAC[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801C8EA4); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801C8FAC); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -6974,14 +6974,14 @@ void func_80185A70(void *a0) { extern u8 D_801C90B4[]; extern u8 D_801C8E94[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801C90B4); } else { func_8012A828((s32)a0, D_801C8E94); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -7080,13 +7080,13 @@ void func_80185C4C(s32 a0) { return; } - *(s8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xBC) = (s32)D_801C9330; - *(s32 *)(s0 + 0xB4) = -0x48D; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)D_801C9330; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -0x48D; - v0 = *(s32 *)(s0 + 0xC4); - *(s16 *)(s0 + 0xDC) = 1; - *(s32 *)(s0 + 0xC4) = v0 | 0x2; + v0 = ((Unkstruct_800B5CB8 *)s0)->unkC4; + CAST_WIDTH(s16, s0, 0xDC) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = v0 | 0x2; func_80143970(s0); func_8012A828(s0, D_80187B3C); @@ -7106,9 +7106,9 @@ extern s32 D_801C9124[]; extern s32 D_801CA0A0; void func_80185D08(s32 a0) { - *(s16 *)(a0 + 2) = 2; + CAST_ALIAS(s16, a0, 2) = 2; func_80132288(&D_801D98C8, D_801C9124, D_801CA0A0); - *(s32 *)(a0 + 0x1C) = (rand() % 31) + 30; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() % 31) + 30; func_80186ECC(a0, 1); } @@ -7120,11 +7120,11 @@ extern void func_8013240C(s32 a0); void func_80185D9C(s32 a0) { if (func_8012BCCC(a0) < 0x4001) { - *(s16 *)(a0 + 2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; return; } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } func_8013240C((s32)&D_801D98C8); } @@ -7179,8 +7179,8 @@ void func_80185F38(s32 arg0) { s32 v0; s32 v1; - v0 = *(s16 *)(arg0 + 0xE0); - v1 = *(s32 *)(arg0 + 0x20); + v0 = CAST_WIDTH(s16, arg0, 0xE0); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(v1 + 0x12) += v0 * 34; if (*(s16 *)(arg0 + 0xEA) == 0) { @@ -7190,11 +7190,11 @@ void func_80185F38(s32 arg0) { } } if (func_8012BCCC(arg0) < 0x4001) { - *(s16 *)(arg0 + 2) = 7; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 7; return; } if (func_8012BEE8(arg0) != 0) { - *(s16 *)(arg0 + 2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; } func_8013240C((s32)&D_801D98C8); } @@ -7265,24 +7265,24 @@ void func_801860C0(s32 obj) { d = func_8012BCCC(obj); if (d <= 0x4000) { - *(s16 *)(obj + 0x2) = 7; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 7; return; } - if (D_80078EAE == 0 && d <= 0x8000 && *(s16 *)(obj + 0xE4) != 0) { + if (D_80078EAE == 0 && d <= 0x8000 && CAST_WIDTH(s16, obj, 0xE4) != 0) { s32 *vz = &D_801C931C; *vz = -(func_80047D3C(func_8012BCCC(obj)) << 16); if (func_80187118(obj, (s32)((u8 *)vz - 8)) & 0x2000) { - *(s16 *)(obj + 0x2) = 9; + ((Unkstruct_800B5CB8 *)obj)->unk2 = 9; return; } } if (!func_801870B8(obj) || !func_8012BDBC(obj, 0x400)) { - if (*(s16 *)(obj + 0xE4) != 0) { + if (CAST_WIDTH(s16, obj, 0xE4) != 0) { func_8012B178(obj, 0xFFFE0000); func_80186ECC(obj, 1); func_80132288((int *)&D_801D98C8, (int *)&D_801C913C, D_801CA0A0); - *(s16 *)(obj + 0xE4) = 0; + CAST_WIDTH(s16, obj, 0xE4) = 0; } if (func_8012BEE8(obj)) { func_80186F60(obj); @@ -7290,19 +7290,19 @@ void func_801860C0(s32 obj) { } } else { r = func_8012B8E4(obj, 4); - p = *(s32 *)(obj + 0x20); + p = ((Unkstruct_800B5CB8 *)obj)->unk20; *(u16 *)(p + 0x12) += r; func_8012B178(obj, 0xFFF80000); - if (*(s16 *)(obj + 0xE4) == 0) { + if (CAST_WIDTH(s16, obj, 0xE4) == 0) { func_80186ECC(obj, 2); func_80132288((int *)&D_801D98C8, (int *)&D_801C915C, D_801CA0A0); - *(s16 *)(obj + 0xE4) = 1; + CAST_WIDTH(s16, obj, 0xE4) = 1; } } r = func_80186DD4(obj); if (r == 0) { - if (*(s16 *)(obj + 0xE4) == 0 || *(s16 *)(obj + 0xEA) == 2) { - *(s16 *)(obj + 0x2) = 3; + if (CAST_WIDTH(s16, obj, 0xE4) == 0 || *(s16 *)(obj + 0xEA) == 2) { + ((Unkstruct_800B5CB8 *)obj)->unk2 = 3; } } else if (r == -1) { return; @@ -7325,9 +7325,9 @@ void func_801862B8(s32 a0) { extern s32 D_801C917C[]; s32 s0 = a0; - *(s16 *)(s0 + 0x2) = 8; + CAST_ALIAS(s16, s0, 0x2) = 8; func_80132288(&D_801D98C8, D_801C917C, D_801CA0A0); - *(s32 *)(s0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x28; func_80186ECC(s0, 2); *(s16 *)(s0 + 0xDE) = 0; *(s16 *)(s0 + 0xE6) = 0; @@ -7352,15 +7352,15 @@ void func_80186320(s32 a0) { s32 v1; v0 = func_8012B8E4(a0, 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v0; - if (*(s32 *)(a0 + 0x1C) == 0x28) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x28) { func_8002D4C8(0x7F, 0); } - if (*(s32 *)(a0 + 0x1C) == 5) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 5) { func_8002D4C8(0x524, 0); } - if (*(s32 *)(a0 + 0x1C) < 0xB) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0xB) { if (*(s16 *)(a0 + 0xDE) == 0) { func_8012D5E4(a0, (s32)D_801C9320, (s32)D_801C9320 + 8, 0x15); *(u16 *)(a0 + 0xDE) ^= 1; @@ -7373,10 +7373,10 @@ void func_80186320(s32 a0) { return; } if (v1 >= 0x4001) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; return; } - *(s32 *)(a0 + 0x1C) = 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x28; *(u16 *)(a0 + 0xDE) = 0; } func_8013240C((s32)&D_801D98C8); @@ -7400,19 +7400,19 @@ void func_80186448(s32 a0) { s16 ret864; s32 *tbl; - *(s16 *)(s0 + 0x2) = 0xA; + CAST_ALIAS(s16, s0, 0x2) = 0xA; func_80132288((int *)&D_801D98C8, (int *)&D_801C91A4, D_801CA0A0); func_80186ECC(s0, 2); *(s16 *)(s0 + 0xDE) = 0; ret864 = func_8012B864(s0); - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = ret864; + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = ret864; func_8012B2CC(s0); tbl = &D_801C93DC; *tbl = D_801C931C / 30; func_8012B23C(s0); func_8012B14C(s0, (s32)tbl - 8); - *(s32 *)(s0 + 0x1C) = 0; - *(s16 *)(s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; } @@ -7430,12 +7430,12 @@ extern s32 D_801D98C8; void func_80186514(s32 param_1) { s32 ret; - if (*(u16 *)(param_1 + 0x34) == 0) { - if (*(s32 *)(param_1 + 0x1C) < 0xF) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) += 0x44; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk1C < 0xF) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 += 0x44; } - if ((u32)(*(s32 *)(param_1 + 0x1C) - 0x15) < 0xA) { + if ((u32)(((Unkstruct_800B5CB8 *)param_1)->unk1C - 0x15) < 0xA) { if (*(s16 *)(param_1 + 0xDE) == 0) { func_8012D5E4(param_1, (s32)((u8 *)D_801C9320), (s32)&((u8 *)D_801C9320)[8], 0x1F); *(u16 *)(param_1 + 0xDE) ^= 1; @@ -7448,19 +7448,19 @@ void func_80186514(s32 param_1) { return; } else { if (ret & 0x2000) { - *(s32 *)(param_1 + 0x1C) = 0xF; - *(u16 *)(param_1 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xF; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } - *(s32 *)(param_1 + 0x1C) += 1; - if (*(s32 *)(param_1 + 0x1C) >= 0x28) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C >= 0x28) { ((void (*)(s32, s32))func_80131E00)(param_1, 0xD); } } } else { if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 0x2) = 1; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; } } @@ -7551,54 +7551,54 @@ void func_80186758(s32 a0) s32 var_s2; var_s1 = 0; - if (*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0) { - func_8012DBD0(a0, 0x50, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D); + if (CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0) { + func_8012DBD0(a0, 0x50, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { goto L9E8; } var_s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801C92DC); if (var_s1 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } break; case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { goto L9E8; } - var_s2 = *(s32 *)(a0 + 0x14); + var_s2 = ((Unkstruct_800B5CB8 *)a0)->unk14; var_s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801C92DC); if (var_s1 & 0x2000) { func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = var_s2; - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = var_s2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; } else if (var_s1 & 0x8000) { - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } break; case 2: /* *15/16 with the signed-division +0xF fixup (never >>4) */ - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; - if (*(u8 *)(a0 + 0xC3) & 1) { + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 & 1) { var_s1 = ((s32 (*)(s32))func_8012CBA4)(a0); /* explicit goto pair: the target emits `bnez -> join ; j L9E8` */ if (var_s1 & 0x2000) { @@ -7608,21 +7608,21 @@ void func_80186758(s32 a0) } var_s1 = ((s32 (*)(s32))func_8012CBF4)(a0); if (var_s1 & 0x2000) { - *(u8 *)(a0 + 0xC3) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC3 |= 1; } else if (var_s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } L9AC: - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) < 0x11) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { break; } if (!(var_s1 & 0x2000)) { goto L9E8; } - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; func_80186D90(a0); return; } diff --git a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c index d530502669..da999473ff 100644 --- a/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c +++ b/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c @@ -4031,37 +4031,37 @@ void func_80181D9C(s32 a0) { func_8012B030((u8 *)a0); if (func_8012C354(a0, (s32)D_8018D388) != 0) { func_8012A828(a0, (s32)D_80189990); - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; temp = func_8012C588(0x1B8, a0); - *(s32 *)(a0 + 0xCC) = temp; + ((Unkstruct_800B5CB8 *)a0)->unkCC = temp; if (temp != 0) { - *(u16 *)(temp + 0xE) -= 0x100; - *(u16 *)(temp + 0xA) += 0x78; - if (*(s16 *)(a0 + 6) < 0) { - *(u16 *)(*(s32 *)(temp + 0x20) + 0x12) = 0x800; - *(s16 *)(temp + 0x12) = 0x20; - *(u16 *)(temp + 6) -= 0x180; + ((Unkstruct_800B5CB8 *)temp)->unkE -= 0x100; + ((Unkstruct_800B5CB8 *)temp)->unkA += 0x78; + if (CAST_SIGN(s16, a0, 6) < 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(temp + 0x20))->unk12 = 0x800; + ((Unkstruct_800B5CB8 *)temp)->unk12 = 0x20; + ((Unkstruct_800B5CB8 *)temp)->unk6 -= 0x180; } else { - *(s16 *)(temp + 0x12) = -0x20; - *(u16 *)(temp + 6) += 0x180; + CAST_ALIAS(s16, temp, 0x12) = -0x20; + ((Unkstruct_800B5CB8 *)temp)->unk6 += 0x180; } } temp = func_8012C588(0x1B8, a0); - *(s32 *)(a0 + 0xD0) = temp; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = temp; if (temp != 0) { - *(u16 *)(temp + 0xE) += 0x100; - *(u16 *)(temp + 0xA) += 0x78; - if (*(s16 *)(a0 + 6) < 0) { - *(u16 *)(*(s32 *)(temp + 0x20) + 0x12) = 0x800; - *(s16 *)(temp + 0x12) = 0x20; - *(u16 *)(temp + 6) -= 0x180; + ((Unkstruct_800B5CB8 *)temp)->unkE += 0x100; + ((Unkstruct_800B5CB8 *)temp)->unkA += 0x78; + if (CAST_SIGN(s16, a0, 6) < 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(temp + 0x20))->unk12 = 0x800; + ((Unkstruct_800B5CB8 *)temp)->unk12 = 0x20; + ((Unkstruct_800B5CB8 *)temp)->unk6 -= 0x180; } else { - *(s16 *)(temp + 0x12) = -0x20; - *(u16 *)(temp + 6) += 0x180; + CAST_ALIAS(s16, temp, 0x12) = -0x20; + ((Unkstruct_800B5CB8 *)temp)->unk6 += 0x180; } } - *(u8 *)(a0 + 0x75) = 0; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); } } @@ -4070,7 +4070,7 @@ void func_80181D9C(s32 a0) { extern void (*D_8018D3BC[])(void); void func_80181EE8(void *a0) { - D_8018D3BC[*(u16 *)((s32)a0 + 0x2)](); + D_8018D3BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4078,7 +4078,7 @@ void func_80181EE8(void *a0) { extern void (*D_8018D408[])(void); void func_80181F24(void *a0) { - D_8018D408[*(u16 *)((s32)a0 + 0x2)](); + D_8018D408[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4086,7 +4086,7 @@ void func_80181F24(void *a0) { extern void (*D_8018D4AC[])(void); void func_80181F60(void *a0) { - D_8018D4AC[*(u16 *)((s32)a0 + 0x2)](); + D_8018D4AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4111,12 +4111,12 @@ void func_80181F9C(s32 a0) t1 = 0x12C; t0 = 1; for (; a3 < 0x60; a3++, a2 += 0x10C) { - if (*(u16 *)a2 == t1) { - va = *(s16 *)(a2 + 0xA); + if (((Unkstruct_800B5CB8 *)a2)->unk0 == t1) { + va = CAST_SIGN(s16, a2, 0xA); if ((u32)(va - *(s16 *)(a0 + 0xA) + 0x30) < 0x51) { - va = *(s16 *)(a2 + 0x6); + va = CAST_SIGN(s16, a2, 0x6); if ((u32)(va - *(s16 *)(a0 + 0x6) + 0x80) < 0x101) { - va = *(s16 *)(a2 + 0xE); + va = CAST_SIGN(s16, a2, 0xE); if ((u32)(va - *(s16 *)(a0 + 0xE) + 0x80) < 0x101) { goto found; } @@ -4153,9 +4153,9 @@ extern u8 D_80189990[]; void func_801820A8(s32 param_1) { if (func_8012C354(param_1, (s32)&D_8018D3D4) != 0) { func_8012A828(param_1, (s32)D_80189990); - *(s16 *)(param_1 + 0x2) = 1; - *(u8 *)(param_1 + 0x75) = 0; - func_8001D0E8(*(s32 *)(param_1 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; + func_8001D0E8(((Unkstruct_800B5CB8 *)param_1)->unk20, 0x104, 0xDC); } } @@ -4178,12 +4178,12 @@ void func_80182150(s32 a0) { extern u8 D_8018D430[]; extern u8 D_8018D4A4[]; - if (func_8012C354(a0, (s32)D_8018D430 + (*(s16 *)(a0 + 0x70) * 0x34)) != 0) { + if (func_8012C354(a0, (s32)D_8018D430 + (((Unkstruct_800B5CB8 *)a0)->unk70 * 0x34)) != 0) { func_8012A828(a0, (s32)D_8018D4A4); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; func_8012B2CC(a0); - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x1E0, 0x12C); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x1E0, 0x12C); } } @@ -4263,7 +4263,7 @@ void func_801822C8(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -4301,18 +4301,18 @@ void func_801822C8(s32 a0) { } } - D_801A16FC[*(u16 *)(a0 + 0x2)](a0); + D_801A16FC[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -4415,93 +4415,93 @@ void func_801826E8(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A19EC[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A19EE[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A19F0[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A19EC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A19EE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A19F0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1750); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1750); func_8012A828(a0, (s32)D_801A1810); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1898); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1898); func_8012A828(a0, (s32)D_801A1958); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A1A3C; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A1A60; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A1714; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A1A3C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A1A60; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A1714; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1750); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1750); func_8012A828(a0, (s32)D_801A1810); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1898); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1898); func_8012A828(a0, (s32)D_801A1958); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1A4C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1A4C); func_8012A828(a0, (s32)D_801A1A58); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A1750); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A1750); func_8012A828(a0, (s32)D_801A1810); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -4544,15 +4544,15 @@ void func_80182D28(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -4561,61 +4561,61 @@ void func_80182D28(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -4630,20 +4630,20 @@ void func_801830D8(void *a0) { s32 t; u16 *q; - D_801A1A70[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A1A70[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -4655,7 +4655,7 @@ void func_801830D8(void *a0) { extern void (*D_801A1B1C[])(void); void func_801831C4(void *a0) { - D_801A1B1C[*(u16 *)((s32)a0 + 0x2)](); + D_801A1B1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4663,7 +4663,7 @@ void func_801831C4(void *a0) { extern void (*D_801A1BD0[])(void); void func_80183200(void *a0) { - D_801A1BD0[*(u16 *)((s32)a0 + 0x2)](); + D_801A1BD0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4691,17 +4691,17 @@ void func_80183254(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A1650) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A1630; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A1630; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_80189990); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -4727,18 +4727,18 @@ void func_80183314(void *a0) { extern u8 D_801A1714[]; extern u8 D_801A1630[]; if (func_8012C354((s32)a0, (s32)D_801A1714) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A1630; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A1630; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_80189990); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -4752,13 +4752,13 @@ void func_80183398(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -4815,16 +4815,16 @@ void func_80183488(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A19E0); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4844,18 +4844,18 @@ void func_8018354C(void *a0) { extern u16 D_801A19F0[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A19EC[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A19EE[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A19F0[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A19EC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A19EE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A19F0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -4869,8 +4869,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_8018362C(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_8018362C *ptr = *(Struct_8018362C **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_8018362C *ptr = CAST_SIGN(Struct_8018362C *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -4893,18 +4893,18 @@ void func_8018369C(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A19E0); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4932,18 +4932,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80183780(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -4970,12 +4970,12 @@ void func_80183838(s32 a0) { extern s16 D_801A1AE2[]; if (func_8012C354(a0, (s32)D_801A1AA8) != 0) { func_8012A828(a0, (s32)D_80189990); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A1ADC[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A1ADE[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A1AE0[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A1AE2[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A1ADC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A1ADE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A1AE0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A1AE2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -5040,24 +5040,24 @@ void func_801839CC(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A1B28); func_8012A828(param_1, (s32)D_801A1B88); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -5115,7 +5115,7 @@ void func_80183B7C(s32 a0) { extern void (*D_801A3A50[])(void); void func_80183C54(void *a0) { - D_801A3A50[*(u16 *)((s32)a0 + 0x2)](); + D_801A3A50[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5212,18 +5212,18 @@ void func_80183CE8(s32 a0) { s32 func_80183EBC(s32 a0) { - if ((*(u16 *) a0 == 0x1E8) || (*(u16 *) a0 == 0x19E)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk0 == 0x1E8) || (((Unkstruct_800B5CB8 *)a0)->unk0 == 0x19E)) { return 1; } - if ((*(u16 *) a0 == 0x178) && (*(s32 *) (*(s32 *) (a0 + 0x20) + 4) >= 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk0 == 0x178) && (*(s32 *) (((Unkstruct_800B5CB8 *)a0)->unk20 + 4) >= 0)) { return 1; } - return *(u16 *) a0 == 0x1AA; + return ((Unkstruct_800B5CB8 *)a0)->unk0 == 0x1AA; } void func_80183F14(s32 a0, s32 a1) { - u16 x = *(u16 *)a0; + u16 x = ((Unkstruct_800B5CB8 *)a0)->unk0; if (x != 0x178 && x != 0x1E8) { func_80183F60(a0 + 4, a1); } else { @@ -5281,17 +5281,17 @@ void func_8018406C(s32 arg0) { extern u8 D_801A64DC[]; if (func_8012C354(arg0, (s32)D_801A3A68) != 0) { - *(u8 *)(arg0 + 0xC0) = 1; - *(s32 *)(arg0 + 0xB4) = -1; - *(u8 **)(arg0 + 0xBC) = D_801A3AAC; - *(u32 *)(arg0 + 0xC4) |= 1; - *(s32 *)(arg0 + 0xE0) = -((rand() % 8 + 8) << 16); + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -1; + CAST_SIGN(u8 *, arg0, 0xBC) = D_801A3AAC; + CAST_SIGN(u32, arg0, 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)arg0)->unkE0 = -((rand() % 8 + 8) << 16); func_8012A828(arg0, (s32)D_801A64DC); - *(s32 *)(arg0 + 0xCC) = func_8012C658(0x178, *(s16 *)(arg0 + 0x70), arg0); - if (*(u16 *)(arg0 + 0x70) & 1) { - *(s16 *)(arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkCC = func_8012C658(0x178, ((Unkstruct_800B5CB8 *)arg0)->unk70, arg0); + if (CAST_SIGN(u16, arg0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; } else { - *(s16 *)(arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; } } } @@ -5308,12 +5308,12 @@ void func_80184138(s32 arg0) rec = arg0; r = rand(); - *(u16 *)(rec + 0x104) = *(u16 *)(rec + 0xFC); + ((Unkstruct_800B5CB8 *)rec)->unk104 = CAST_SIGN(u16, rec, 0xFC); func_8012B200((u8 *)rec); n = rand(); - *(s32 *)(rec + 0x1C) = n % 60 + 0x78; - *(s16 *)(rec + 0xFE) = (s16)r % 32 + 0xA; - *(s16 *)(rec + 0x2) = 2; + ((Unkstruct_800B5CB8 *)rec)->unk1C = n % 60 + 0x78; + ((Unkstruct_800B5CB8 *)rec)->unkFE = (s16)r % 32 + 0xA; + ((Unkstruct_800B5CB8 *)rec)->unk2 = 2; } @@ -5376,21 +5376,21 @@ void func_801841E8(s32 a0) func_80184BAC(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); func_8012CBF4(a0); if (func_8012BEE8(a0)) { if (func_80184D28(a0) != 1) { if (func_80184C7C(a0) == 1) { if (((s32 (*)(s32))func_8012BE54)(a0) <= 0x8000) { - *(s16 *)(a0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } else { - *(s32 *)(a0 + 0x1C) = rand() % 60 + 0x78; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 60 + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 0xA; } } } @@ -5448,13 +5448,13 @@ s32 a0; func_80184BAC((s32)sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -5505,71 +5505,71 @@ void func_801844C8(s32 a0) { s32 sp20[2]; /* 0x20: the 8-byte out buffer shared by func_80184BAC and func_8012B77C */ s32 t; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } else { - if (*(s16 *)(a0 + 0x100) >= *(s16 *)(a0 + 0xA)) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 >= CAST_SIGN(s16, a0, 0xA)) { return; } - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 6); if (func_8012BEE8(a0) == 0) { return; } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); return; case 2: func_80184BAC((s32)sp20, a0, (s32)D_801A3AA4); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); func_8012CBF4(a0); if (func_80184B80(a0) != 1) { if (func_8012BEE8(a0) == 0) { return; } } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x34) = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); - *(s32 *)(a0 + 0x1C) = 0x80; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; return; case 3: func_8012CBF4(a0); if (func_8012BEE8(a0) == 0) { - if (*(s16 *)(a0 + 0xA) >= *(s16 *)(a0 + 0x8A)) { + if (CAST_SIGN(s16, a0, 0xA) >= CAST_SIGN(s16, a0, 0x8A)) { return; } } - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 4: @@ -5578,7 +5578,7 @@ void func_801844C8(s32 a0) { } /* fall through */ default: - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } } @@ -5621,36 +5621,36 @@ void func_80184730(s32 a0) { return; } - if (*(u16 *)(a0 + 0x70) & 1) { - *(s16 *)(a0 + 0x2) = 1; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; r = rand(); func_8012B0B4((unsigned int *)sp20, r % 0x1000, 0x100); t = sp20[0]; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + t; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x100; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + (t >> 16); - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + t; + CAST_ALIAS(s16, a0, 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x100; + CAST_ALIAS(s16, a0, 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (t >> 16); + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); } - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); func_8012E88C((u8 *)a0); func_8012A828(a0, (s32)D_801A64DC); { - s32 u = *(s32 *)(a0 + 0xCC); + s32 u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -5709,30 +5709,30 @@ void func_801848AC(s32 a0) s32 t; s16 r; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0) != 0) { r = rand(); func_8012B0B4((unsigned int *)sp28, r % 0x1000, (r % 0x80) + 0xC0); t = sp28[0]; *(s16 *)((s32)sp10 + 0x2) = t; - *(s16 *)((s32)sp10 + 0x6) = *(s16 *)(a0 + 0xA) - 0x180; + *(s16 *)((s32)sp10 + 0x6) = CAST_SIGN(s16, a0, 0xA) - 0x180; *(s16 *)((s32)sp10 + 0xA) = t >> 16; func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = sp28[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { func_8012CBF4(a0); if (func_8012E778(a0, 0xA000C8) == 0) { - *(s16 *)(a0 + 0x2) = 0xA; - *(s32 *)(a0 + 0x1C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; func_8012E8A8((u8 *)a0); } } @@ -5747,11 +5747,11 @@ void func_80184A08(s32 a0) { s32 u; if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - u = *(s32 *)(a0 + 0xCC); + u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -5773,25 +5773,25 @@ void func_80184A74(s32 arg0) { s32 v1; func_8002A04C(arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)(v1 + 0x12) = 0; *(s16 *)(v1 + 0x10) = 0; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0xFFEF; - v1 = *(s32 *)((char *)arg0 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0xFFEF; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)(v1 + 0x1C) = 0x1000; *(s16 *)(v1 + 0x1A) = 0x1000; *(s16 *)(v1 + 0x18) = 0x1000; func_8012B200((u8 *)arg0); func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218((void *)arg0); } @@ -5805,12 +5805,12 @@ void func_80184B30(a0) void *a0; { extern u8 D_801A64DC[]; - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s16 *)((s32)a0 + 0x2) = 1; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)((s32)a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } - *(s16 *)((s32)a0 + 0x5C) = *(u16 *)(*(s32 *)((s32)a0 + 0x78) + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); func_8012A828((s32)a0, (s32)D_801A64DC); } @@ -5845,19 +5845,19 @@ s32 * func_80184BAC(s32 *a0, s32 a1, s32 a2) if (*q == 0) { if (func_80184D28(a1)) { p = (u16 *)(a1 + 0x88); - *(s32 *)(a1 + 0xDC) = 1; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 1; } else { p = (u16 *)(q - 3); - *(s32 *)(a1 + 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 0; } } else { p = (u16 *)(a1 + 0x88); - *(s32 *)(a1 + 0xDC) = 1; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 1; } *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; t = p[1] + *(u16 *)(a2 + 2); *(s16 *)((s32)sp10 + 0x6) = t; - *(s16 *)(a1 + 0x100) = t; + ((Unkstruct_800B5CB8 *)a1)->unk100 = t; *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); *a0 = sp20; @@ -5917,7 +5917,7 @@ extern u8 D_80078EC1; extern void (*D_801A3B88[])(void); void func_80184D40(void *a0) { - D_801A3B88[*(u16 *)((s32)a0 + 0x2)](); + D_801A3B88[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5937,7 +5937,7 @@ void func_80184D7C(s32 param_1) u16 t; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4((void *)param_1); return; @@ -5947,19 +5947,19 @@ void func_80184D7C(s32 param_1) sub = ((s32 (*)(void))func_8012C194)(); if (sub != 0) { - *(s32 *)(param_1 + 0xCC) = sub; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = sub; func_8001CD9C(sub, (void *)&D_801A3B18); *(u16 *)(sub + 0x18) = 0x800; *(u16 *)(sub + 0x1A) = 0x800; *(u32 *)(sub + 4) |= 0x50000000; } - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x80) = (s32)D_801A3B58; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = (s32)D_801A3B58; - t = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); - *(s16 *)(param_1 + 2) = 1; - *(u16 *)(param_1 + 0xFE) = t; + t = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = t; } @@ -6029,9 +6029,9 @@ void func_80184F98(s32 a0) v0 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&buffer); if (v0 & 0x2000) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_801854BC(*(s32 *)(a0 + 0xCC)); + func_801854BC(((Unkstruct_800B5CB8 *)a0)->unkCC); s1 = 0; func_8012C588(0x1AA, a0); do { @@ -6040,9 +6040,9 @@ void func_80184F98(s32 a0) func_8002D4C8(0x705, 0); } else { if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_801854BC(*(s32 *)(a0 + 0xCC)); + func_801854BC(((Unkstruct_800B5CB8 *)a0)->unkCC); } else { func_8018517C((void *)a0); func_8018545C((void *)a0); @@ -6059,19 +6059,19 @@ extern void func_8018545C(s32 a0); void func_80185098(void *a0) { - if (*(s16 *)((s32)a0 + 0xFE) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { func_80185144((s32)a0); return; } - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { return; } - *(s16 *)((s32)a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - func_8018549C(*(s32 *)((s32)a0 + 0xCC)); - *(s32 *)((s32)a0 + 4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 4); - *(s32 *)((s32)a0 + 8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + func_8018549C(((Unkstruct_800B5CB8 *)a0)->unkCC); + CAST_WIDTH(s32, (s32)a0, 4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 4); + CAST_WIDTH(s32, (s32)a0, 8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); func_8012B2CC((s32)a0); func_8018545C(a0); } @@ -6081,7 +6081,7 @@ extern void func_80016714(void *a0, s32 a1); extern void func_8012C218(void *a0); void func_80185144(s32 param_1) { s32 iVar1; - iVar1 = *(s32 *)(param_1 + 0xcc); + iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; ((void (*)(s32 *, s32))func_80016714)((s32 *)iVar1, 0x38); ((void (*)(s32))func_8012C218)(param_1); } @@ -6292,7 +6292,7 @@ s32 arg0; extern void (*D_801A3D00[])(void); void func_80185580(void *a0) { - D_801A3D00[*(u16 *)((s32)a0 + 0x2)](); + D_801A3D00[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6314,7 +6314,7 @@ void func_801855BC(s32 a0) return; } - *(s32 *)(a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; func_8001CA1C(s0, (s32)D_801A3BB8); *(u16 *)(s0 + 0x18) = 0x2000; @@ -6323,10 +6323,10 @@ void func_801855BC(s32 a0) *(u32 *)(s0 + 4) |= 0x50000000; *(u16 *)(s0 + 0x2C) |= 0x10; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x19; func_8012A828(a0, (s32)D_801A3C78); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; } @@ -6339,31 +6339,31 @@ void func_80185678(s32 ent) { s32 t; s32 cnt; - switch (*(u16 *)(ent + 0x34)) { + switch (((Unkstruct_800B5CB8 *)ent)->unk34) { case 0: - t = func_8004787C(*(s32 *)(ent + 0x1C) << 6); - *(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk18 = t * 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = t << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 0x10) { break; } - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000; - *(s32 *)(ent + 0x1C) = 0x40; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x7000; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; break; case 1: if (func_8012BEE8(ent) != 0) { - *(s32 *)(ent + 0x1C) = 0x10; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; } break; case 2: - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1; - cnt = *(s32 *)(ent + 0x1C) - 1; - *(s32 *)(ent + 0x1C) = cnt; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6) << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C - 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt == 0) { func_8012C218((void *)ent); return; @@ -6422,7 +6422,7 @@ s32 func_80185484_body(s32 a0) { extern void (*D_801A3D10[])(void); void func_80185880(void *a0) { - D_801A3D10[*(u16 *)((s32)a0 + 0x2)](); + D_801A3D10[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6476,7 +6476,7 @@ void func_801858BC(s32 param_1) { func_8012CAE4((void *)param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); @@ -6494,12 +6494,12 @@ void func_801858BC(s32 param_1) { *(s16 *)(obj + 0x12) = r % 4096; *(u16 *)(obj + 0x14) = 0; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B23C((void *)param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6507,7 +6507,7 @@ void func_801858BC(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xDC) = w; + CAST_WIDTH(s16, param_1, 0xDC) = w; *(s16 *)(param_1 + 0xDE) = 0; q = rand() % 8; @@ -6516,7 +6516,7 @@ void func_801858BC(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE0) = w; + CAST_WIDTH(s16, param_1, 0xE0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6524,7 +6524,7 @@ void func_801858BC(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xE4) = w; + CAST_WIDTH(s16, param_1, 0xE4) = w; *(s16 *)(param_1 + 0xE6) = 0; q = rand() % 8; @@ -6533,7 +6533,7 @@ void func_801858BC(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE8) = w; + CAST_WIDTH(s16, param_1, 0xE8) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6541,8 +6541,8 @@ void func_801858BC(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xEC) = w; - *(s16 *)(param_1 + 0xEE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkEC = w; + ((Unkstruct_800B5CB8 *)param_1)->unkEE = 0; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6550,7 +6550,7 @@ void func_801858BC(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF0) = w; + CAST_WIDTH(s16, param_1, 0xF0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6558,7 +6558,7 @@ void func_801858BC(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF4) = w; + CAST_WIDTH(s16, param_1, 0xF4) = w; *(s16 *)(param_1 + 0xF6) = 0; q = rand() % 8; @@ -6567,19 +6567,19 @@ void func_801858BC(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF8) = w; + CAST_WIDTH(s16, param_1, 0xF8) = w; - *(u8 *)(param_1 + 0xFC) = 0x80; + CAST_WIDTH(u8, param_1, 0xFC) = 0x80; *(u8 *)(param_1 + 0xFD) = 0x80; - *(u8 *)(param_1 + 0xFE) = 0x80; - *(u32 *)(param_1 + 0x100) = *(u32 *)(param_1 + 0x100) | 0x50000000; + CAST_WIDTH(u8, param_1, 0xFE) = 0x80; + CAST_WIDTH(u32, param_1, 0x100) = CAST_WIDTH(u32, param_1, 0x100) | 0x50000000; /* A u16 `++` (not `+= 1`): expand_increment adds in HImode through a * widened SImode add (expr.c:8662), combine rewrites the HImode copy as a * SUBREG destination (combine.c:4376-4402), and sched1's birthing_insn_p * (sched.c:2477-2478) no longer boosts the addiu next to the store, so the * lhu is scheduled ahead of the 0xFC-0xFE byte stores and takes $a0 * (P36 S104 d8; formerly a `register __asm__("$4")` pin on a s32 local). */ - (*(u16 *)(param_1 + 2))++; + (CAST_SIGN(u16, param_1, 2))++; } @@ -6589,13 +6589,13 @@ extern void func_8012CBCC(s32 a0); extern void func_80017274(s32 a0, s32 a1); void func_80185C58(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; if (((s32 (*)(s32))func_8012CBCC)(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -6656,46 +6656,46 @@ void func_80185CCC(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801ACA0C); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801ACA0C); func_8012A828((s32)a0, (s32)&D_801B4150); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } diff --git a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c index c828d8388a..b0a6cf0386 100644 --- a/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c +++ b/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c @@ -4230,7 +4230,7 @@ void func_80181FA4(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -4268,18 +4268,18 @@ void func_80181FA4(s32 a0) { } } - D_801A0BA4[*(u16 *)(a0 + 0x2)](a0); + D_801A0BA4[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -4382,93 +4382,93 @@ void func_801823C4(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A0E94[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0E96[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0E98[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0E94[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0E96[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0E98[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0BF8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0BF8); func_8012A828(a0, (s32)D_801A0CB8); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0D40); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0D40); func_8012A828(a0, (s32)D_801A0E00); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A0EE4; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A0F08; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A0BBC; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A0EE4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A0F08; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A0BBC; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0BF8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0BF8); func_8012A828(a0, (s32)D_801A0CB8); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0D40); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0D40); func_8012A828(a0, (s32)D_801A0E00); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0EF4); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0EF4); func_8012A828(a0, (s32)D_801A0F00); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0BF8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0BF8); func_8012A828(a0, (s32)D_801A0CB8); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -4511,15 +4511,15 @@ void func_80182A04(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -4528,61 +4528,61 @@ void func_80182A04(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -4597,20 +4597,20 @@ void func_80182DB4(void *a0) { s32 t; u16 *q; - D_801A0F18[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A0F18[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -4623,7 +4623,7 @@ void func_80182DB4(void *a0) { extern void (*D_801A0FC4[])(void); void func_80182EA0(void *a0) { - D_801A0FC4[*(u16 *)((s32)a0 + 0x2)](); + D_801A0FC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4631,7 +4631,7 @@ void func_80182EA0(void *a0) { extern void (*D_801A1078[])(void); void func_80182EDC(void *a0) { - D_801A1078[*(u16 *)((s32)a0 + 0x2)](); + D_801A1078[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4660,17 +4660,17 @@ void func_80182F30(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A0AF8) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A0AD8; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A0AD8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018BDB4); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -4696,18 +4696,18 @@ void func_80182FF0(void *a0) { extern u8 D_801A0BBC[]; extern u8 D_801A0AD8[]; if (func_8012C354((s32)a0, (s32)D_801A0BBC) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A0AD8; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A0AD8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018BDB4); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -4721,13 +4721,13 @@ void func_80183074(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -4784,16 +4784,16 @@ void func_80183164(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0E88); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4813,18 +4813,18 @@ void func_80183228(void *a0) { extern u16 D_801A0E98[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A0E94[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A0E96[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A0E98[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0E94[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A0E96[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0E98[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -4838,8 +4838,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80183308(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80183308 *ptr = *(Struct_80183308 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80183308 *ptr = CAST_SIGN(Struct_80183308 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -4862,18 +4862,18 @@ void func_80183378(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0E88); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4901,18 +4901,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8018345C(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -4939,12 +4939,12 @@ void func_80183514(s32 a0) { extern s16 D_801A0F8A[]; if (func_8012C354(a0, (s32)D_801A0F50) != 0) { func_8012A828(a0, (s32)D_8018BDB4); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A0F84[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0F86[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0F88[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A0F8A[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0F84[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0F86[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0F88[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A0F8A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -5009,24 +5009,24 @@ void func_801836A8(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A0FD0); func_8012A828(param_1, (s32)D_801A1030); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -5084,7 +5084,7 @@ void func_80183858(s32 a0) { extern void (*D_801A2EF8[])(void); void func_80183930(void *a0) { - D_801A2EF8[*(u16 *)((s32)a0 + 0x2)](); + D_801A2EF8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5184,16 +5184,16 @@ void func_801839C4(s32 a0) { s32 func_80183B98(s32 arg0) { - if (*(u16 *) arg0 == 0x1E8) { + if (((Unkstruct_800B5CB8 *)arg0)->unk0 == 0x1E8) { return 1; } - if (*(u16 *) arg0 == 0x19E) { + if (((Unkstruct_800B5CB8 *)arg0)->unk0 == 0x19E) { return 1; } - if ((*(u16 *) arg0 == 0x178) && (*(s32 *) (*(s32 *) (arg0 + 0x20) + 4) >= 0)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk0 == 0x178) && (*(s32 *) (((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) >= 0)) { return 1; } - return *(u16 *) arg0 == 0x1AA; + return ((Unkstruct_800B5CB8 *)arg0)->unk0 == 0x1AA; } @@ -5202,7 +5202,7 @@ extern void func_80183C80(s32 a0, s32 a1, s32 a2); void func_80183BF0(s32 a0, s32 a1) { u16 type; - type = *(u16 *) a0; + type = ((Unkstruct_800B5CB8 *)a0)->unk0; if (type != 0x178 && type != 0x1E8) { func_80183C3C(a0 + 4, a1); } else { @@ -5266,18 +5266,18 @@ void func_80183D48(void *a0) { s32 r; if (func_8012C354((s32)a0, (s32)D_801A2F10) != 0) { - *(u8 *)((char *)a0 + 0xC0) = 1; - *(s32 *)((char *)a0 + 0xB4) = -1; - *(s32 **)((char *)a0 + 0xBC) = &D_801A2F54; - *(u32 *)((char *)a0 + 0xC4) |= 1; - *(s32 *)((char *)a0 + 0xE0) = -(((rand() % 8) + 8) << 16); + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; + CAST_SIGN(s32 *, (char *)a0, 0xBC) = &D_801A2F54; + CAST_SIGN(u32, (char *)a0, 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = -(((rand() % 8) + 8) << 16); func_8012A828((s32)a0, (s32)D_801A5984); - r = func_8012C658(0x178, *(s16 *)((char *)a0 + 0x70), (s32)a0); - *(s32 *)((char *)a0 + 0xCC) = r; - if (*(u16 *)((char *)a0 + 0x70) & 1) { - *(s16 *)((char *)a0 + 0x2) = 1; + r = func_8012C658(0x178, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unkCC = r; + if (CAST_SIGN(u16, (char *)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)((char *)a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } } @@ -5288,12 +5288,12 @@ void func_80183E14(void *a0) { s32 r; t = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); func_8012B200(a0); r = rand(); - *(s32 *)((s32)a0 + 0x1C) = r % 60 + 0x78; - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = r % 60 + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -5357,21 +5357,21 @@ void func_80183EC4(s32 a0) func_80184888(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); func_8012CBF4(a0); if (func_8012BEE8(a0)) { if (func_80184A04(a0) != 1) { if (func_80184958(a0) == 1) { if (((s32 (*)(s32))func_8012BE54)(a0) <= 0x8000) { - *(s16 *)(a0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } else { - *(s32 *)(a0 + 0x1C) = rand() % 60 + 0x78; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 60 + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 0xA; } } } @@ -5428,13 +5428,13 @@ void func_801840C0(s32 a0) { func_80184888((s32)sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -5484,71 +5484,71 @@ void func_801841A4(s32 a0) { s32 sp20[2]; /* 0x20: the 8-byte out buffer shared by func_80184888 and func_8012B77C */ s32 t; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } else { - if (*(s16 *)(a0 + 0x100) >= *(s16 *)(a0 + 0xA)) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 >= CAST_SIGN(s16, a0, 0xA)) { return; } - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 6); if (func_8012BEE8(a0) == 0) { return; } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); return; case 2: func_80184888((s32)sp20, a0, (s32)D_801A2F4C); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); func_8012CBF4(a0); if (func_8018485C(a0) != 1) { if (func_8012BEE8(a0) == 0) { return; } } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x34) = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); - *(s32 *)(a0 + 0x1C) = 0x80; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; return; case 3: func_8012CBF4(a0); if (func_8012BEE8(a0) == 0) { - if (*(s16 *)(a0 + 0xA) >= *(s16 *)(a0 + 0x8A)) { + if (CAST_SIGN(s16, a0, 0xA) >= CAST_SIGN(s16, a0, 0x8A)) { return; } } - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 4: @@ -5557,7 +5557,7 @@ void func_801841A4(s32 a0) { } /* fall through */ default: - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } } @@ -5599,36 +5599,36 @@ void func_8018440C(s32 a0) { return; } - if (*(u16 *)(a0 + 0x70) & 1) { - *(s16 *)(a0 + 0x2) = 1; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; r = rand(); func_8012B0B4((unsigned int *)sp20, r % 0x1000, 0x100); t = sp20[0]; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + t; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x100; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + (t >> 16); - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + t; + CAST_ALIAS(s16, a0, 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x100; + CAST_ALIAS(s16, a0, 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (t >> 16); + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); } - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); func_8012E88C((u8 *)a0); func_8012A828(a0, (s32)D_801A5984); { - s32 u = *(s32 *)(a0 + 0xCC); + s32 u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -5686,30 +5686,30 @@ void func_80184588(s32 a0) s32 t; s16 r; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0) != 0) { r = rand(); func_8012B0B4((unsigned int *)sp28, r % 0x1000, (r % 0x80) + 0xC0); t = sp28[0]; *(s16 *)((s32)sp10 + 0x2) = t; - *(s16 *)((s32)sp10 + 0x6) = *(s16 *)(a0 + 0xA) - 0x180; + *(s16 *)((s32)sp10 + 0x6) = CAST_SIGN(s16, a0, 0xA) - 0x180; *(s16 *)((s32)sp10 + 0xA) = t >> 16; func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = sp28[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { func_8012CBF4(a0); if (func_8012E778(a0, 0xA000C8) == 0) { - *(s16 *)(a0 + 0x2) = 0xA; - *(s32 *)(a0 + 0x1C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; func_8012E8A8((u8 *)a0); } } @@ -5725,11 +5725,11 @@ void func_801846E4(s32 a0) { s32 u; if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - u = *(s32 *)(a0 + 0xCC); + u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -5754,24 +5754,24 @@ extern void func_8012C218(void *a0); void func_80184750(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - s32 v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + s32 v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0xFFEF; - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0xFFEF; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x1000; func_8012B200((u8 *)arg0); func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -5780,12 +5780,12 @@ void func_80184750(void *arg0) { void func_8018480C(void *a0) { extern u8 D_801A5984[]; - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s16 *)((s32)a0 + 0x2) = 1; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)((s32)a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } - *(s16 *)((s32)a0 + 0x5C) = *(u16 *)(*(s32 *)((s32)a0 + 0x78) + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); func_8012A828((s32)a0, (s32)D_801A5984); } @@ -5816,19 +5816,19 @@ s32 * func_80184888(s32 *a0, s32 a1, s32 a2) if (*q == 0) { if (func_80184A04(a1)) { p = (u16 *)(a1 + 0x88); - *(s32 *)(a1 + 0xDC) = 1; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 1; } else { p = (u16 *)(q - 3); - *(s32 *)(a1 + 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 0; } } else { p = (u16 *)(a1 + 0x88); - *(s32 *)(a1 + 0xDC) = 1; + ((Unkstruct_800B5CB8 *)a1)->unkDC = 1; } *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; t = p[1] + *(u16 *)(a2 + 2); *(s16 *)((s32)sp10 + 0x6) = t; - *(s16 *)(a1 + 0x100) = t; + ((Unkstruct_800B5CB8 *)a1)->unk100 = t; *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); *a0 = sp20; @@ -5889,7 +5889,7 @@ extern u8 D_80078EC1; extern void (*D_801A3030[])(void); void func_80184A1C(void *a0) { - D_801A3030[*(u16 *)((s32)a0 + 0x2)](); + D_801A3030[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6010,9 +6010,9 @@ void func_80184C74(s32 a0) v0 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&buffer); if (v0 & 0x2000) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_80185198(*(s32 *)(a0 + 0xCC)); + func_80185198(((Unkstruct_800B5CB8 *)a0)->unkCC); s1 = 0; func_8012C588(0x1AA, a0); do { @@ -6021,9 +6021,9 @@ void func_80184C74(s32 a0) func_8002D4C8(0x705, 0); } else { if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_80185198(*(s32 *)(a0 + 0xCC)); + func_80185198(((Unkstruct_800B5CB8 *)a0)->unkCC); } else { func_80184E58(a0); func_80185138(a0); @@ -6039,18 +6039,18 @@ extern void func_8012B2CC(s32 a0); extern void func_80185138(s32 a0); void func_80184D74(void *a0) { - if (*(s16 *)((s32)a0 + 0xFE) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { func_80184E20((s32)a0); return; } - if (*(s16 *)((s32)a0 + 0xFC) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - func_80185178(*(s32 *)((s32)a0 + 0xCC)); - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + func_80185178(((Unkstruct_800B5CB8 *)a0)->unkCC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); func_8012B2CC((s32)a0); func_80185138((s32)a0); } @@ -6062,7 +6062,7 @@ extern void func_80016714(void *a0, s32 a1); extern void func_8012C218(void *a0); void func_80184E20(s32 param_1) { s32 iVar1; - iVar1 = *(s32 *)(param_1 + 0xcc); + iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; ((void (*)(s32 *, s32))func_80016714)((s32 *)iVar1, 0x38); ((void (*)(s32))func_8012C218)(param_1); } @@ -6266,7 +6266,7 @@ void func_801851B8(s32 arg0) { extern void (*D_801A31A8[])(void); void func_8018525C(void *a0) { - D_801A31A8[*(u16 *)((s32)a0 + 0x2)](); + D_801A31A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6290,15 +6290,15 @@ void func_80185298(s32 a0) } /* store folded into the arg list: store RTL precedes the arg copy */ - func_8001CA1C(*(s32 *)(a0 + 0x20) = s0, (s32)D_801A3060); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20 = s0, (s32)D_801A3060); *(u16 *)(s0 + 0x18) = 0x2000; *(u16 *)(s0 + 0x1A) = 1; *(u16 *)(s0 + 0x2E) = 0xC004; *(s32 *)(s0 + 0x4) |= 0x50000000; *(u16 *)(s0 + 0x2C) |= 0x10; - *(u16 *)(a0 + 0xA) -= 0x19; + ((Unkstruct_800B5CB8 *)a0)->unkA -= 0x19; func_8012A828(a0, (s32)D_801A3120); - *(u16 *)(a0 + 2) += 1; + CAST_SIGN(u16, a0, 2) += 1; } @@ -6313,31 +6313,31 @@ void func_80185354(s32 ent) { s32 t; s32 cnt; - switch (*(u16 *)(ent + 0x34)) { + switch (((Unkstruct_800B5CB8 *)ent)->unk34) { case 0: - t = func_8004787C(*(s32 *)(ent + 0x1C) << 6); - *(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk18 = t * 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = t << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 0x10) { break; } - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000; - *(s32 *)(ent + 0x1C) = 0x40; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x7000; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; break; case 1: if (func_8012BEE8(ent) != 0) { - *(s32 *)(ent + 0x1C) = 0x10; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; } break; case 2: - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1; - cnt = *(s32 *)(ent + 0x1C) - 1; - *(s32 *)(ent + 0x1C) = cnt; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6) << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C - 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt == 0) { func_8012C218((void *)ent); return; @@ -6393,7 +6393,7 @@ s32 func_80185484_body(s32 a0) { extern void (*D_801A31B8[])(void); void func_8018555C(void *a0) { - D_801A31B8[*(u16 *)((s32)a0 + 0x2)](); + D_801A31B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6449,7 +6449,7 @@ void func_80185598(s32 param_1) { func_8012CAE4((void *)param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); @@ -6467,12 +6467,12 @@ void func_80185598(s32 param_1) { *(s16 *)(obj + 0x12) = r % 4096; *(u16 *)(obj + 0x14) = 0; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B23C((void *)param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6480,7 +6480,7 @@ void func_80185598(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xDC) = w; + CAST_WIDTH(s16, param_1, 0xDC) = w; *(s16 *)(param_1 + 0xDE) = 0; q = rand() % 8; @@ -6489,7 +6489,7 @@ void func_80185598(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE0) = w; + CAST_WIDTH(s16, param_1, 0xE0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6497,7 +6497,7 @@ void func_80185598(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xE4) = w; + CAST_WIDTH(s16, param_1, 0xE4) = w; *(s16 *)(param_1 + 0xE6) = 0; q = rand() % 8; @@ -6506,7 +6506,7 @@ void func_80185598(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE8) = w; + CAST_WIDTH(s16, param_1, 0xE8) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6514,8 +6514,8 @@ void func_80185598(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xEC) = w; - *(s16 *)(param_1 + 0xEE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkEC = w; + ((Unkstruct_800B5CB8 *)param_1)->unkEE = 0; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6523,7 +6523,7 @@ void func_80185598(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF0) = w; + CAST_WIDTH(s16, param_1, 0xF0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -6531,7 +6531,7 @@ void func_80185598(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF4) = w; + CAST_WIDTH(s16, param_1, 0xF4) = w; *(s16 *)(param_1 + 0xF6) = 0; q = rand() % 8; @@ -6540,19 +6540,19 @@ void func_80185598(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF8) = w; + CAST_WIDTH(s16, param_1, 0xF8) = w; - *(u8 *)(param_1 + 0xFC) = 0x80; + CAST_WIDTH(u8, param_1, 0xFC) = 0x80; *(u8 *)(param_1 + 0xFD) = 0x80; - *(u8 *)(param_1 + 0xFE) = 0x80; - *(u32 *)(param_1 + 0x100) = *(u32 *)(param_1 + 0x100) | 0x50000000; + CAST_WIDTH(u8, param_1, 0xFE) = 0x80; + CAST_WIDTH(u32, param_1, 0x100) = CAST_WIDTH(u32, param_1, 0x100) | 0x50000000; /* A u16 `++` (not `+= 1`): expand_increment adds in HImode through a * widened SImode add (expr.c:8662), combine rewrites the HImode copy as a * SUBREG destination (combine.c:4376-4402), and sched1's birthing_insn_p * (sched.c:2477-2478) no longer boosts the addiu next to the store, so the * lhu is scheduled ahead of the 0xFC-0xFE byte stores and takes $a0 * (P36 S104 d8; formerly a `register __asm__("$4")` pin on a s32 local). */ - (*(u16 *)(param_1 + 2))++; + (CAST_SIGN(u16, param_1, 2))++; } @@ -6564,13 +6564,13 @@ extern void func_8012C218(void *a0); extern void func_80017274(s32 a0, s32 a1); void func_80185934(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; if (((s32 (*)(s32))func_8012CBCC)(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -6579,11 +6579,11 @@ extern void (*D_801A5BC4[])(void); extern void func_8012C0EC(void *a0); void func_801859A8(void *a0) { - D_801A5BC4[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_801A5BC4[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -6615,38 +6615,38 @@ void func_80185A34(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_80186AAC() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_80186AAC() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (func_8012C354(a0, (s32)(D_801A5AE4 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801A5B84; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A5B84; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; func_8012B2CC(a0); } @@ -6657,11 +6657,11 @@ extern void func_8012B23C(void *a0); void func_80185BA0(s32 a0) { func_8012B23C((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE4) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } @@ -6764,23 +6764,23 @@ void func_80185BE4(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -6792,39 +6792,39 @@ void func_80185BE4(s32 a0) { func_8012B178(a0, t); r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4) - 0x4000; } else { @@ -6833,22 +6833,22 @@ void func_80185BE4(s32 a0) { func_8012B178(a0, t); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -6856,10 +6856,10 @@ void func_80185BE4(s32 a0) { } func_80186944(a0); - func_80186874(a0, D_801A5BE0[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_80186874(a0, D_801A5BE0[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -6896,12 +6896,12 @@ void func_80186020(s32 a0) { s32 v1; if (func_8012BEE8(a0) != 0) { - v1 = *(s32 *)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; *(s16 *)(v1 + 0x1C) = 0x400; *(s16 *)(v1 + 0x18) = 0x400; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v1 + 0x1A) = 0x3000; } } @@ -6919,14 +6919,14 @@ void func_80186074(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -6934,8 +6934,8 @@ void func_80186074(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -6943,19 +6943,19 @@ void func_80186074(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -6963,16 +6963,16 @@ void func_80186074(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -6995,7 +6995,7 @@ void func_80186224(s32 param_1) { i = 0; neg = -0x40000; - base = ((*(u16 *)(param_1 + 0x70) & 0xF) | -0x8000) << 16; + base = ((CAST_SIGN(u16, param_1, 0x70) & 0xF) | -0x8000) << 16; do { r = rand(); w = r; @@ -7004,17 +7004,17 @@ void func_80186224(s32 param_1) { } q = w >> 2; func_80186B00((void *)(param_1 + 0x7C), - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), neg - ((r - q * 4) << 16), base >> 16); i++; } while (i < 4); - *(s32 *)(param_1 + 0xEC) = 0x40000; + CAST_WIDTH(s32, param_1, 0xEC) = 0x40000; func_8012B23C((void *)param_1); - func_8012B178(param_1, *(s32 *)(param_1 + 0xEC)); + func_8012B178(param_1, CAST_WIDTH(s32, param_1, 0xEC)); - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -7032,16 +7032,16 @@ void func_801862F0(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -7049,28 +7049,28 @@ void func_801862F0(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -7086,8 +7086,8 @@ void func_801862F0(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -7116,15 +7116,15 @@ void func_80186568(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -7182,21 +7182,21 @@ void func_801867C8(s32 a0) { s32 flags; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if (flags & 0x800) { if (flags & 0x10) { - *(s16 *)(a0 + 0x2) = 5; - *(s8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; - *(s16 *)(a0 + 0xAA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; func_8012B2CC(a0); return; } @@ -7276,17 +7276,17 @@ void func_80186944(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -7303,7 +7303,7 @@ s32 func_80186AAC(void) { u8 *p = D_801202A0; do { - if (*(u16 *)p == 0x17F && (*(u16 *)(p + 0x70) & 0xF) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x17F && (CAST_SIGN(u16, p, 0x70) & 0xF) == 0) { count++; } i++; @@ -7398,7 +7398,7 @@ s32 func_80186B00(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_801A5C14[])(void); void func_80186D04(void *a0) { - D_801A5C14[*(u16 *)((s32)a0 + 0x2)](); + D_801A5C14[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7412,28 +7412,28 @@ void func_80186D40(s32 arg0) { goto L80186DE0; } if (v1 & 0x2000) { - if (*(s32 *)(arg0 + 0x2C) == 0) { + if (CAST_WIDTH(s32, arg0, 0x2C) == 0) { goto L80186E08; } - *(s32 *)(arg0 + 0x1C) = 0x1E; - *(s16 *)(arg0 + 2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; return; } /* L80186D98 */ - if (*(s32 *)(arg0 + 0x1C) < 0x23) { - *(s32 *)(arg0 + 0x14) += 0x10000; - if (*(s32 *)(arg0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)arg0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, arg0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x62; } } /* L80186DCC */ - v0 = *(s32 *)(arg0 + 0x1C) - 1; - *(s32 *)(arg0 + 0x1C) = v0; + v0 = ((Unkstruct_800B5CB8 *)arg0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = v0; if (v0 != 0) { return; } L80186DE0: - v1 = *(s32 *)(arg0 + 0x2C); + v1 = CAST_WIDTH(s32, arg0, 0x2C); if (v1 == 0) { goto L80186E08; } @@ -7451,12 +7451,12 @@ extern void func_80187318(s32 a0); void func_80186E24(s32 arg0) { s32 temp_v0; func_80187318(arg0); - if (*(s32 *)(arg0 + 0x30) == 0) { - *(s16 *)(arg0 + 2) = 6; - *(s32 *)(arg0 + 0x1c) = 0; + if (((Unkstruct_800B5CB8 *)arg0)->unk30 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } else { - temp_v0 = *(s32 *)(arg0 + 0x1c) + 1; - *(s32 *)(arg0 + 0x1c) = temp_v0; + temp_v0 = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = temp_v0; } } @@ -7477,10 +7477,10 @@ void func_80186E78(s32 a0) { if (func_80187240(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -7491,9 +7491,9 @@ void func_80186E78(s32 a0) { func_80187318(a0); func_801870EC(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -7501,9 +7501,9 @@ void func_80186E78(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -7536,10 +7536,10 @@ extern void func_80187318(s32 a0); void func_80186FF8(s32 arg0) { func_80187318(arg0); - if (*(u16 *)(*(s32 *)(arg0 + 0x2c)) == 0) { + if (*(u16 *)(CAST_WIDTH(s32, arg0, 0x2c)) == 0) { func_801292C8((u8 *)arg0); } - *(s32 *)(arg0 + 0x1c) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C += 1; } @@ -7553,19 +7553,19 @@ void func_80187050(s32 a0) { s32 t; func_80187318(a0); - t = *(s32 *)(a0 + 0x1C) + 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t >= 0x1F) { - msg.x = *(u16 *)(a0 + 0x6); - msg.y = *(u16 *)(a0 + 0xA); - msg.z = *(u16 *)(a0 + 0xE); + msg.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + msg.y = ((Unkstruct_800B5CB8 *)a0)->unkA; + msg.z = ((Unkstruct_800B5CB8 *)a0)->unkE; msg.type = 0x17F; msg.sub = 0x8000; msg.pad_A = 0; msg.extra = 0; msg.pad_E = 0; msg.flag = 0x7FFF; - func_8012C51C(&msg, *(s32 *)(a0 + 0x24)); + func_8012C51C(&msg, CAST_WIDTH(s32, a0, 0x24)); func_801292C8((u8 *)a0); } } @@ -7584,18 +7584,18 @@ s32 func_801870EC(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -7605,12 +7605,12 @@ s32 func_801870EC(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -7630,7 +7630,7 @@ s32 func_80187240(s32 param_1, s32 param_2) s32 vec[3]; u16 *var_a2; - var_a2 = *(u16 **)(param_1 + 0x2C); + var_a2 = CAST_WIDTH(u16 *, param_1, 0x2C); if (*var_a2 == 0) { return 0; } @@ -7648,9 +7648,9 @@ s32 func_80187240(s32 param_1, s32 param_2) void func_80187318(s32 a0) { - s32 t = func_8004787C((*(s32 *)(a0 + 0x1C) << 7) & 0x780); - s32 a = *(s32 *)(a0 + 0x34); - s32 *p = *(s32 **)(a0 + 0x20); + s32 t = func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 7) & 0x780); + s32 a = CAST_WIDTH(s32, a0, 0x34); + s32 *p = CAST_SIGN(s32 *, a0, 0x20); s32 r = a - ((a >> 2) * t >> 12); *(s16 *)((u8 *)p + 0x1A) = r; @@ -7662,7 +7662,7 @@ void func_80187318(s32 a0) extern void (*D_801A5CA8[])(void); void func_80187378(void *a0) { - D_801A5CA8[*(u16 *)((s32)a0 + 0x2)](); + D_801A5CA8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7731,10 +7731,10 @@ void func_8018745C(s32 s0) { FuncPtr fn; s16 v0; - fn = (FuncPtr)D_801A9058[*(u16*)(s0 + 2)]; + fn = (FuncPtr)D_801A9058[CAST_SIGN(u16, s0, 2)]; fn(); - v0 = *(s16*)(s0 + 0xFE); + v0 = ((Unkstruct_800B5CB8 *)s0)->unkFE; if (v0 != 0) { func_80187F4C(s0); } @@ -7760,20 +7760,20 @@ void func_801874BC(s32 param_1) ((void (*)(s32))func_8012CAE4)(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001CA1C(obj, (s32)D_801A8F80); *(u16 *)(obj + 0x1A) = 0x2000; *(u16 *)(obj + 0x18) = 0x2000; *(u32 *)(obj + 4) |= 0x58000000; *(u16 *)(obj + 0x2C) |= 0x10; if (((s32 (*)(s32, s32))func_8012E504)(param_1, 0x19E) == 0) { - *(s16 *)(param_1 + 0xFE) = 1; - *(s32 *)(param_1 + 0xD0) = (s32)D_801A8FD0; - *(s32 *)(param_1 + 0xCC) = (s32)D_801A8FD0; - *(s32 *)(param_1 + 0xE0) = *(s32 *)D_801A8FD0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = (s32)D_801A8FD0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = (s32)D_801A8FD0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = *(s32 *)D_801A8FD0; } - *(s16 *)(param_1 + 0xAE) = -1; - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -8037,8 +8037,8 @@ void func_801879A8(void) { } void func_801879B0(s32 param_1) { - s32 ptr = *(s32 *)(param_1 + 0x20); - *(s32 *)(param_1 + 0x48) = 0; + s32 ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0; *(u16 *)(ptr + 0x12) = 0; func_8012B2CC(param_1); } @@ -8132,14 +8132,14 @@ extern void func_8012C098(void *param_1); extern void func_8012E8A8(u8 *a0); void func_80187AF8(s32 a0) { - if (*(s16 *)(a0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { func_8012C098((void *)a0); return; } - *(u16 *)(a0 + 0x2) = 4; - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u16 *)(a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8012E8A8((u8 *)a0); } @@ -8308,12 +8308,12 @@ void func_80187D70(s32 a0) { ent = func_80187FD8(pos); if (ent != 0) { - *(s32 *)((s32)ent + 0x10) = buf1[0]; - *(s32 *)((s32)ent + 0x14) = buf1[1]; - *(s32 *)((s32)ent + 0x18) = buf1[2]; - *(u16 *)(*(s32 *)((s32)ent + 0x20) + 0x14) = + CAST_WIDTH(s32, (s32)ent, 0x10) = buf1[0]; + ((Unkstruct_800B5CB8 *)ent)->unk14 = buf1[1]; + CAST_WIDTH(s32, (s32)ent, 0x18) = buf1[2]; + *(u16 *)(((Unkstruct_800B5CB8 *)ent)->unk20 + 0x14) = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14); - *(s32 *)((s32)ent + 0x1C) = i << 3; + ((Unkstruct_800B5CB8 *)ent)->unk1C = i << 3; } } } @@ -8325,31 +8325,31 @@ void func_80187F4C(s32 a0) s32 v1; s32 a1; - v0 = *(s32 *)(a0 + 0xE0); + v0 = ((Unkstruct_800B5CB8 *)a0)->unkE0; if (v0 == 0) { v0 = 1; goto END; } v0 = v0 - 1; - *(s32 *)(a0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v0; if (v0 > 0) { goto SET0; } - v1 = *(s32 *)(a0 + 0xD0); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkD0; v1 = v1 + 8; a1 = *(s32 *)v1; if ((a1 & 0x40000000) != 0) { - v1 = *(s32 *)(a0 + 0xCC); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; } else if (a1 < 0) { v0 = 1; - *(s32 *)(a0 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; goto END; } v0 = *(s32 *)v1; - *(s32 *)(a0 + 0xD0) = v1; - *(s32 *)(a0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = v1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v0; func_800183E0(*(s32 *)(v1 + 4)); SET0: @@ -8376,7 +8376,7 @@ void * func_80187FD8(s32 a0) return 0; } arg = (s32)obj + 0x24; - sub = *(s32 *)(obj + 0x20); + sub = ((Unkstruct_800B5CB8 *)obj)->unk20; *(s32 *)(sub + 0x20) = (s32)D_801A908C; *(u8 *)(sub + 0x27) = 0x66; *(u16 *)(sub + 0x1A) = 0x2000; @@ -8391,19 +8391,19 @@ void func_8018805C(s32 a0) { u16 state; u16 nv; - state = *(u16 *)(a0 + 2); + state = CAST_SIGN(u16, a0, 2); if (state == 0) { - s32 val = *(s32 *)(a0 + 0x1C); + s32 val = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (val == 0) { nv = state + 1; - *(u16 *)(a0 + 2) = nv; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = nv; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; } else { - *(s32 *)(a0 + 0x1C) = val - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = val - 1; } } else { func_8012931C((struct vec *)a0); - if (func_80128ED8(*(s32 *)(a0 + 0x20), (s32 *)(a0 + 0x24)) != 0) { + if (func_80128ED8(((Unkstruct_800B5CB8 *)a0)->unk20, (s32 *)(a0 + 0x24)) != 0) { func_801292C8((u8 *)a0); } } @@ -8466,46 +8466,46 @@ void func_801880F0(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801B1E78); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B1E78); func_8012A828((s32)a0, (s32)&D_801B95BC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } diff --git a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c index d829408171..c390700b41 100644 --- a/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c +++ b/src/ov_SC03_091/ov_SC03_091_jr_8018326C.c @@ -2718,93 +2718,93 @@ void func_8018326C(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A3EC0[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A3EC2[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A3EC4[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A3EC0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A3EC2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A3EC4[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3C24); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3C24); func_8012A828(a0, (s32)D_801A3CE4); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3D6C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3D6C); func_8012A828(a0, (s32)D_801A3E2C); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A3F10; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A3F34; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A3BE8; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A3F10; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A3F34; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A3BE8; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3C24); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3C24); func_8012A828(a0, (s32)D_801A3CE4); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3D6C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3D6C); func_8012A828(a0, (s32)D_801A3E2C); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3F20); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3F20); func_8012A828(a0, (s32)D_801A3F2C); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A3C24); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3C24); func_8012A828(a0, (s32)D_801A3CE4); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -2847,15 +2847,15 @@ void func_801838AC(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -2864,61 +2864,61 @@ void func_801838AC(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -2933,20 +2933,20 @@ void func_80183C5C(void *a0) { s32 t; u16 *q; - D_801A3F44[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A3F44[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -2959,7 +2959,7 @@ void func_80183C5C(void *a0) { extern void (*D_801A3FF0[])(void); void func_80183D48(void *a0) { - D_801A3FF0[*(u16 *)((s32)a0 + 0x2)](); + D_801A3FF0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2967,7 +2967,7 @@ void func_80183D48(void *a0) { extern void (*D_801A40A4[])(void); void func_80183D84(void *a0) { - D_801A40A4[*(u16 *)((s32)a0 + 0x2)](); + D_801A40A4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -2995,17 +2995,17 @@ void func_80183DD8(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A3B24) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A3B04; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A3B04; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018CC5C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3032,18 +3032,18 @@ void func_80183E98(void *a0) { extern u8 D_801A3BE8[]; extern u8 D_801A3B04[]; if (func_8012C354((s32)a0, (s32)D_801A3BE8) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A3B04; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A3B04; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018CC5C); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3057,13 +3057,13 @@ void func_80183F1C(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3120,16 +3120,16 @@ void func_8018400C(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A3EB4); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3149,18 +3149,18 @@ void func_801840D0(void *a0) { extern u16 D_801A3EC4[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A3EC0[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A3EC2[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A3EC4[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A3EC0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A3EC2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A3EC4[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3174,8 +3174,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_801841B0(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_801841B0 *ptr = *(Struct_801841B0 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_801841B0 *ptr = CAST_SIGN(Struct_801841B0 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3198,18 +3198,18 @@ void func_80184220(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A3EB4); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3237,18 +3237,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80184304(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3275,12 +3275,12 @@ void func_801843BC(s32 a0) { extern s16 D_801A3FB6[]; if (func_8012C354(a0, (s32)D_801A3F7C) != 0) { func_8012A828(a0, (s32)D_8018CC5C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A3FB0[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A3FB2[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A3FB4[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A3FB6[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A3FB0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A3FB2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A3FB4[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A3FB6[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -3345,24 +3345,24 @@ void func_80184550(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A3FFC); func_8012A828(param_1, (s32)D_801A405C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -3420,7 +3420,7 @@ void func_80184700(s32 a0) { extern void (*D_801A5F24[])(void); void func_801847D8(void *a0) { - D_801A5F24[*(u16 *)((s32)a0 + 0x2)](); + D_801A5F24[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3603,17 +3603,17 @@ s32 arg0; extern u8 D_801A89B0[]; if (func_8012C354(arg0, (s32)D_801A5F3C) != 0) { - *(u8 *)(arg0 + 0xC0) = 1; - *(s32 *)(arg0 + 0xB4) = -1; - *(u8 **)(arg0 + 0xBC) = D_801A5F80; - *(u32 *)(arg0 + 0xC4) |= 1; - *(s32 *)(arg0 + 0xE0) = -((rand() % 8 + 8) << 16); + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -1; + CAST_SIGN(u8 *, arg0, 0xBC) = D_801A5F80; + CAST_SIGN(u32, arg0, 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)arg0)->unkE0 = -((rand() % 8 + 8) << 16); func_8012A828(arg0, (s32)D_801A89B0); - *(s32 *)(arg0 + 0xCC) = func_8012C658(0x178, *(s16 *)(arg0 + 0x70), arg0); - if (*(u16 *)(arg0 + 0x70) & 1) { - *(s16 *)(arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkCC = func_8012C658(0x178, ((Unkstruct_800B5CB8 *)arg0)->unk70, arg0); + if (CAST_SIGN(u16, arg0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; } else { - *(s16 *)(arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; } } } @@ -3627,12 +3627,12 @@ void func_80184CBC(void *a0) { s16 t; r = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); t = r; func_8012B200(a0); - *(s32 *)((s32)a0 + 0x1C) = rand() % 60 + 0x78; - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 60 + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -3695,21 +3695,21 @@ void func_80184D6C(s32 a0) func_80185730(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); func_8012CBF4(a0); if (func_8012BEE8(a0)) { if (func_801858AC(a0) != 1) { if (func_80185800(a0) == 1) { if (((s32 (*)(s32))func_8012BE54)(a0) <= 0x8000) { - *(s16 *)(a0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } else { - *(s32 *)(a0 + 0x1C) = rand() % 60 + 0x78; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 60 + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 0xA; } } } @@ -3772,13 +3772,13 @@ s32 a0; func_80185730((s32)sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -3828,71 +3828,71 @@ void func_8018504C(s32 a0) { s32 sp20[2]; /* 0x20: the 8-byte out buffer shared by func_80185730 and func_8012B77C */ s32 t; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } else { - if (*(s16 *)(a0 + 0x100) >= *(s16 *)(a0 + 0xA)) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 >= CAST_SIGN(s16, a0, 0xA)) { return; } - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 6); if (func_8012BEE8(a0) == 0) { return; } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); return; case 2: func_80185730((s32)sp20, a0, (s32)D_801A5F78); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); func_8012CBF4(a0); if (func_80185704(a0) != 1) { if (func_8012BEE8(a0) == 0) { return; } } - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x34) = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x80000); - *(s32 *)(a0 + 0x1C) = 0x80; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x80000); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; return; case 3: func_8012CBF4(a0); if (func_8012BEE8(a0) == 0) { - if (*(s16 *)(a0 + 0xA) >= *(s16 *)(a0 + 0x8A)) { + if (CAST_SIGN(s16, a0, 0xA) >= CAST_SIGN(s16, a0, 0x8A)) { return; } } - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 4: @@ -3901,7 +3901,7 @@ void func_8018504C(s32 a0) { } /* fall through */ default: - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } } @@ -3943,36 +3943,36 @@ void func_801852B4(s32 a0) { return; } - if (*(u16 *)(a0 + 0x70) & 1) { - *(s16 *)(a0 + 0x2) = 1; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; r = rand(); func_8012B0B4((unsigned int *)sp20, r % 0x1000, 0x100); t = sp20[0]; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + t; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x100; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + (t >> 16); - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x88); - *(s16 *)((s32)sp10 + 0x6) = *(u16 *)(a0 + 0x8A); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x8C); + CAST_ALIAS(s16, a0, 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + t; + CAST_ALIAS(s16, a0, 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x100; + CAST_ALIAS(s16, a0, 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (t >> 16); + *(s16 *)((s32)sp10 + 0x2) = ((Unkstruct_800B5CB8 *)a0)->unk88; + *(s16 *)((s32)sp10 + 0x6) = CAST_ALIAS(u16, a0, 0x8A); + *(s16 *)((s32)sp10 + 0xA) = CAST_ALIAS(u16, a0, 0x8C); func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); t = sp20[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0); } - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); func_8012E88C((u8 *)a0); func_8012A828(a0, (s32)D_801A89B0); { - s32 u = *(s32 *)(a0 + 0xCC); + s32 u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -4029,30 +4029,30 @@ void func_80185430(s32 a0) s32 t; s16 r; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0) != 0) { r = rand(); func_8012B0B4((unsigned int *)sp28, r % 0x1000, (r % 0x80) + 0xC0); t = sp28[0]; *(s16 *)((s32)sp10 + 0x2) = t; - *(s16 *)((s32)sp10 + 0x6) = *(s16 *)(a0 + 0xA) - 0x180; + *(s16 *)((s32)sp10 + 0x6) = CAST_SIGN(s16, a0, 0xA) - 0x180; *(s16 *)((s32)sp10 + 0xA) = t >> 16; func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = sp28[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t >> 16; func_8012B200((u8 *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE0) - 0x20000); - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x20000); + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { func_8012CBF4(a0); if (func_8012E778(a0, 0xA000C8) == 0) { - *(s16 *)(a0 + 0x2) = 0xA; - *(s32 *)(a0 + 0x1C) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; func_8012E8A8((u8 *)a0); } } @@ -4067,11 +4067,11 @@ void func_8018558C(s32 a0) { s32 u; if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - u = *(s32 *)(a0 + 0xCC); + u = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (u != 0) { - *(s16 *)(u + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)u)->unkFC = 0; } } } @@ -4090,26 +4090,26 @@ void func_801855F8(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; - v1 = *(s32 *)((char *)arg0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)((char *)v1 + 0x2C) &= ~0x10; - v1 = *(s32 *)((char *)arg0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)((char *)v1 + 0x1C) = 0x1000; *(s16 *)((char *)v1 + 0x1A) = 0x1000; *(s16 *)((char *)v1 + 0x18) = 0x1000; func_8012B200((u8 *)arg0); func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -4122,12 +4122,12 @@ void func_801856B4(s32 a0) { extern u8 D_801A89B0[]; - if (*(u16 *)(a0 + 0x70) & 1) { - *(s16 *)(a0 + 0x2) = 1; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); func_8012A828(a0, (s32)D_801A89B0); } @@ -4229,7 +4229,7 @@ extern u8 D_80078EC1; extern void (*D_801A605C[])(void); void func_801858C4(void *a0) { - D_801A605C[*(u16 *)((s32)a0 + 0x2)](); + D_801A605C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4250,7 +4250,7 @@ void func_80185900(s32 param_1) s32 s0; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4((void *)param_1); return; @@ -4260,20 +4260,20 @@ void func_80185900(s32 param_1) s0 = ((s32 (*)(void))func_8012C194)(); if (s0 != 0) { - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CD9C(s0, &D_801A5FEC); *(u16 *)(s0 + 0x18) = 0x800; *(u16 *)(s0 + 0x1A) = 0x800; *(u32 *)(s0 + 4) |= 0x50000000; } - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x80) = (s32)&D_801A602C; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = (s32)&D_801A602C; { - u16 v1 = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); - *(s16 *)(param_1 + 2) = 1; - *(u16 *)(param_1 + 0xFE) = v1; + u16 v1 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = v1; } } @@ -4341,9 +4341,9 @@ void func_80185B1C(s32 a0) v0 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&buffer); if (v0 & 0x2000) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_80186040(*(s32 *)(a0 + 0xCC)); + func_80186040(((Unkstruct_800B5CB8 *)a0)->unkCC); s1 = 0; func_8012C588(0x1AA, a0); do { @@ -4352,9 +4352,9 @@ void func_80185B1C(s32 a0) func_8002D4C8(0x705, 0); } else { if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8A8((u8 *)a0); - func_80186040(*(s32 *)(a0 + 0xCC)); + func_80186040(((Unkstruct_800B5CB8 *)a0)->unkCC); } else { func_80185D00(a0); func_80185FE0(a0); @@ -4368,18 +4368,18 @@ extern void func_80185FE0(s32 a0); void func_80185C1C(void *a0) { extern void func_80186020(s32 *a0); - if (*(s16 *)((s32)a0 + 0xFE) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { func_80185CC8((s32)a0); return; } - if (*(s16 *)((s32)a0 + 0xFC) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E88C((u8 *)a0); - func_80186020(*(s32 **)((s32)a0 + 0xCC)); - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + func_80186020(CAST_SIGN(s32 *, (s32)a0, 0xCC)); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); func_8012B2CC((s32)a0); func_80185FE0((s32)a0); } @@ -4391,7 +4391,7 @@ extern void func_80016714(void *a0, s32 a1); extern void func_8012C218(void *a0); void func_80185CC8(s32 param_1) { s32 iVar1; - iVar1 = *(s32 *)(param_1 + 0xcc); + iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; ((void (*)(s32 *, s32))func_80016714)((s32 *)iVar1, 0x38); ((void (*)(s32))func_8012C218)(param_1); } @@ -4594,7 +4594,7 @@ void func_80186060(s32 a0) extern void (*D_801A61D4[])(void); void func_80186104(void *a0) { - D_801A61D4[*(u16 *)((s32)a0 + 0x2)](); + D_801A61D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4614,16 +4614,16 @@ void func_80186140(s32 a0) ((void (*)(s32))func_8012CAE4)(a0); return; } - *(s32 *)(a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; func_8001CA1C(s0, (s32)D_801A608C); *(u16 *)(s0 + 0x18) = 0x2000; *(u16 *)(s0 + 0x1A) = 1; *(u32 *)(s0 + 0x4) |= 0x50000000; *(u16 *)(s0 + 0x2E) = 0xC004; *(u16 *)(s0 + 0x2C) |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x19; + CAST_SIGN(s16, a0, 0xA) -= 0x19; func_8012A828(a0, (s32)D_801A614C); - *(s16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 += 1; } @@ -4636,31 +4636,31 @@ void func_801861FC(s32 ent) { s32 t; s32 cnt; - switch (*(u16 *)(ent + 0x34)) { + switch (((Unkstruct_800B5CB8 *)ent)->unk34) { case 0: - t = func_8004787C(*(s32 *)(ent + 0x1C) << 6); - *(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk18 = t * 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = t << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 0x10) { break; } - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000; - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000; - *(s32 *)(ent + 0x1C) = 0x40; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x7000; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; break; case 1: if (func_8012BEE8(ent) != 0) { - *(s32 *)(ent + 0x1C) = 0x10; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; } break; case 2: - *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1; - cnt = *(s32 *)(ent + 0x1C) - 1; - *(s32 *)(ent + 0x1C) = cnt; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk1A = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 6) << 1; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C - 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt == 0) { func_8012C218((void *)ent); return; @@ -4722,7 +4722,7 @@ s32 func_8018632C(s32 a0) extern void (*D_801A61E4[])(void); void func_80186404(void *a0) { - D_801A61E4[*(u16 *)((s32)a0 + 0x2)](); + D_801A61E4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4778,7 +4778,7 @@ void func_80186440(s32 param_1) { func_8012CAE4((void *)param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); @@ -4796,12 +4796,12 @@ void func_80186440(s32 param_1) { *(s16 *)(obj + 0x12) = r % 4096; *(u16 *)(obj + 0x14) = 0; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B23C((void *)param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; q = rand() % 8; if ((rand() & 1) == 0) { @@ -4809,7 +4809,7 @@ void func_80186440(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xDC) = w; + CAST_WIDTH(s16, param_1, 0xDC) = w; *(s16 *)(param_1 + 0xDE) = 0; q = rand() % 8; @@ -4818,7 +4818,7 @@ void func_80186440(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE0) = w; + CAST_WIDTH(s16, param_1, 0xE0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -4826,7 +4826,7 @@ void func_80186440(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xE4) = w; + CAST_WIDTH(s16, param_1, 0xE4) = w; *(s16 *)(param_1 + 0xE6) = 0; q = rand() % 8; @@ -4835,7 +4835,7 @@ void func_80186440(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xE8) = w; + CAST_WIDTH(s16, param_1, 0xE8) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -4843,8 +4843,8 @@ void func_80186440(s32 param_1) { } else { w = q - 0x10; } - *(s16 *)(param_1 + 0xEC) = w; - *(s16 *)(param_1 + 0xEE) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkEC = w; + ((Unkstruct_800B5CB8 *)param_1)->unkEE = 0; q = rand() % 8; if ((rand() & 1) == 0) { @@ -4852,7 +4852,7 @@ void func_80186440(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF0) = w; + CAST_WIDTH(s16, param_1, 0xF0) = w; q = rand() % 8; if ((rand() & 1) == 0) { @@ -4860,7 +4860,7 @@ void func_80186440(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF4) = w; + CAST_WIDTH(s16, param_1, 0xF4) = w; *(s16 *)(param_1 + 0xF6) = 0; q = rand() % 8; @@ -4869,19 +4869,19 @@ void func_80186440(s32 param_1) { } else { w = q + 0x10; } - *(s16 *)(param_1 + 0xF8) = w; + CAST_WIDTH(s16, param_1, 0xF8) = w; - *(u8 *)(param_1 + 0xFC) = 0x80; + CAST_WIDTH(u8, param_1, 0xFC) = 0x80; *(u8 *)(param_1 + 0xFD) = 0x80; - *(u8 *)(param_1 + 0xFE) = 0x80; - *(u32 *)(param_1 + 0x100) = *(u32 *)(param_1 + 0x100) | 0x50000000; + CAST_WIDTH(u8, param_1, 0xFE) = 0x80; + CAST_WIDTH(u32, param_1, 0x100) = CAST_WIDTH(u32, param_1, 0x100) | 0x50000000; /* A u16 `++` (not `+= 1`): expand_increment adds in HImode through a * widened SImode add (expr.c:8662), combine rewrites the HImode copy as a * SUBREG destination (combine.c:4376-4402), and sched1's birthing_insn_p * (sched.c:2477-2478) no longer boosts the addiu next to the store, so the * lhu is scheduled ahead of the 0xFC-0xFE byte stores and takes $a0 * (P36 S104 d8; formerly a `register __asm__("$4")` pin on a s32 local). */ - (*(u16 *)(param_1 + 2))++; + (CAST_SIGN(u16, param_1, 2))++; } @@ -4893,13 +4893,13 @@ extern void func_8012CBCC(s32 a0); extern void func_80017274(s32 a0, s32 a1); void func_801867DC(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; if (((s32 (*)(s32))func_8012CBCC)(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -4908,11 +4908,11 @@ extern void (*D_801A8BF0[])(void); extern void func_8012C0EC(void *a0); void func_80186850(void *a0) { - D_801A8BF0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_801A8BF0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -4944,38 +4944,38 @@ void func_801868DC(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_80187954() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_80187954() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (func_8012C354(a0, (s32)(D_801A8B10 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801A8BB0; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A8BB0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; func_8012B2CC(a0); } @@ -4984,11 +4984,11 @@ void func_801868DC(s32 a0) { void func_80186A48(s32 a0) { func_8012B23C((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE4) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } @@ -5091,23 +5091,23 @@ void func_80186A8C(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -5119,39 +5119,39 @@ void func_80186A8C(s32 a0) { func_8012B178(a0, t); r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4) - 0x4000; } else { @@ -5160,22 +5160,22 @@ void func_80186A8C(s32 a0) { func_8012B178(a0, t); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -5183,10 +5183,10 @@ void func_80186A8C(s32 a0) { } func_801877EC(a0); - func_8018771C(a0, D_801A8C0C[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_8018771C(a0, D_801A8C0C[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -5229,12 +5229,12 @@ void func_80186EC8(void *a0) { s32 v1; if (func_8012BEE8((s32)a0) != 0) { - *(s16 *)((u8 *)a0 + 2) = 6; - *(u16 *)(a0 + 0x34) = 0; - v1 = *(s32 *)((u8 *)a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1C) = 0x400; *(u16 *)(v1 + 0x18) = 0x400; - v1 = *(s32 *)((u8 *)a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1A) = 0x3000; } } @@ -5252,14 +5252,14 @@ void func_80186F1C(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -5267,8 +5267,8 @@ void func_80186F1C(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -5276,19 +5276,19 @@ void func_80186F1C(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -5296,16 +5296,16 @@ void func_80186F1C(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -5321,7 +5321,7 @@ void func_801870CC(s32 a0) { s32 i; register s32 dst __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) - v0 = *(u16 *)(a0 + 0x70) & 0xF; + v0 = CAST_SIGN(u16, a0, 0x70) & 0xF; v0 |= -0x8000; a3 = v0 << 16; for (i = 0; i < 4; ) { @@ -5336,13 +5336,13 @@ void func_801870CC(s32 a0) { a2 >>= 2; a2 <<= 2; a2 = v1 - a2; - func_801879A8((void *)dst, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), -0x40000 - (a2 << 16), a3 >> 16); + func_801879A8((void *)dst, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), -0x40000 - (a2 << 16), a3 >> 16); } - *(s32 *)(a0 + 0xEC) = 0x40000; + CAST_WIDTH(s32, a0, 0xEC) = 0x40000; func_8012B23C((void *)a0); - func_8012B178(a0, *(s32 *)(a0 + 0xEC)); - *(s32 *)(a0 + 0x1C) = 0x10; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, CAST_WIDTH(s32, a0, 0xEC)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -5360,16 +5360,16 @@ void func_80187198(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -5377,28 +5377,28 @@ void func_80187198(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -5414,8 +5414,8 @@ void func_80187198(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -5448,15 +5448,15 @@ void func_80187410(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -5514,21 +5514,21 @@ void func_80187670(s32 a0) { s32 flags; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if (flags & 0x800) { if (flags & 0x10) { - *(s16 *)(a0 + 0x2) = 5; - *(s8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; - *(s16 *)(a0 + 0xAA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; func_8012B2CC(a0); return; } @@ -5620,17 +5620,17 @@ void func_801877EC(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -5647,7 +5647,7 @@ s32 func_80187954(void) { u8 *p = D_801202A0; do { - if (*(u16 *)p == 0x17F && (*(u16 *)(p + 0x70) & 0xF) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x17F && (CAST_SIGN(u16, p, 0x70) & 0xF) == 0) { count++; } i++; @@ -5742,7 +5742,7 @@ s32 func_801879A8(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_801A8C40[])(void); void func_80187BAC(void *a0) { - D_801A8C40[*(u16 *)((s32)a0 + 0x2)](); + D_801A8C40[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5756,27 +5756,27 @@ void func_80187BE8(s32 a0) { ret = func_80187F94(a0, (s32)D_800D3918, 0x11); if ((ret & 0xFF) == 0) { if (ret & 0x2000) { - if (*(s32 *)(a0 + 0x2C) == 0) { + if (CAST_WIDTH(s32, a0, 0x2C) == 0) { func_801292C8((u8 *)a0); return; } - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } else { - if (*(s32 *)(a0 + 0x1C) < 0x23) { - *(s32 *)(a0 + 0x14) += 0x10000; - if (*(s32 *)(a0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(a0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, a0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk27 = 0x62; } } - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } } } - v1 = *(s32 *)(a0 + 0x2C); + v1 = CAST_WIDTH(s32, a0, 0x2C); if (v1 != 0) { if (v1 != -1) { *(s32 *)(v1 + 0x30) -= 1; @@ -5790,11 +5790,11 @@ extern void func_801881C0(s32 a0); void func_80187CCC(s32 arg0) { func_801881C0(arg0); - if (*(s32 *)(arg0 + 0x30) == 0) { - *(s16 *)(arg0 + 0x2) = 6; - *(s32 *)(arg0 + 0x1C) = 0; + if (((Unkstruct_800B5CB8 *)arg0)->unk30 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } else { - *(s32 *)(arg0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C += 1; } } @@ -5815,10 +5815,10 @@ void func_80187D20(s32 a0) { if (func_801880E8(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -5829,9 +5829,9 @@ void func_80187D20(s32 a0) { func_801881C0(a0); func_80187F94(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -5839,9 +5839,9 @@ void func_80187D20(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -5875,11 +5875,11 @@ extern void func_801881C0(s32 a0); void func_80187EA0(s32 arg0) { s32 temp_v0; func_801881C0(arg0); - if (*(u16 *)(*(s32 *)(arg0 + 0x2c)) == 0) { + if (*(u16 *)(CAST_WIDTH(s32, arg0, 0x2c)) == 0) { func_801292C8((u8 *)arg0); } - temp_v0 = *(s32 *)(arg0 + 0x1c) + 1; - *(s32 *)(arg0 + 0x1c) = temp_v0; + temp_v0 = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = temp_v0; } @@ -5891,11 +5891,11 @@ void func_80187EF8(s32 s0) { u16 sp10[10]; func_801881C0(s0); - if (++*(s32 *)(s0 + 0x1C) >= 0x1F) { + if (++((Unkstruct_800B5CB8 *)s0)->unk1C >= 0x1F) { u16 t; - sp10[0] = *(u16 *)(s0 + 0x6); - sp10[1] = *(u16 *)(s0 + 0xA); - t = *(u16 *)(s0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)s0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)s0)->unkA; + t = CAST_ALIAS(u16, s0, 0xE); sp10[3] = 0x17F; sp10[4] = 0x8000; sp10[5] = 0; @@ -5903,7 +5903,7 @@ void func_80187EF8(s32 s0) { sp10[7] = 0; sp10[6] = 0x7FFF; sp10[2] = t; - func_8012C51C((void *)sp10, *(s32 *)(s0 + 0x24)); + func_8012C51C((void *)sp10, CAST_WIDTH(s32, s0, 0x24)); func_801292C8((u8 *)s0); } } @@ -5922,18 +5922,18 @@ s32 func_80187F94(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5943,12 +5943,12 @@ s32 func_80187F94(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -5970,7 +5970,7 @@ s32 func_801880E8(s32 param_1, s32 arg1) s32 vec[3]; s16 *spt; - spt = *(s16 **)(param_1 + 0x2C); + spt = CAST_WIDTH(s16 *, param_1, 0x2C); if (*(u16 *)spt == 0) { return 0; } @@ -5992,9 +5992,9 @@ void func_801881C0(s32 ent) { s32 t; s32 v; - t = func_8004787C((*(s32 *)(ent + 0x1C) << 7) & 0x780); - val = *(s32 *)(ent + 0x34); - sub = *(s32 *)(ent + 0x20); + t = func_8004787C((((Unkstruct_800B5CB8 *)ent)->unk1C << 7) & 0x780); + val = CAST_WIDTH(s32, ent, 0x34); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; v = val - (((val >> 2) * t) >> 12); *(s16 *)(sub + 0x1A) = v; *(s16 *)(sub + 0x18) = v; @@ -6005,7 +6005,7 @@ void func_801881C0(s32 ent) { extern void (*D_801A8CD4[])(void); void func_80188220(void *a0) { - D_801A8CD4[*(u16 *)((s32)a0 + 0x2)](); + D_801A8CD4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6059,10 +6059,10 @@ void func_80188304(s32 s0) { FuncPtr fn; s16 v0; - fn = (FuncPtr)D_801AC084[*(u16*)(s0 + 2)]; + fn = (FuncPtr)D_801AC084[CAST_SIGN(u16, s0, 2)]; fn(); - v0 = *(s16*)(s0 + 0xFE); + v0 = ((Unkstruct_800B5CB8 *)s0)->unkFE; if (v0 != 0) { func_80188DF4(s0); } @@ -6088,20 +6088,20 @@ void func_80188364(s32 param_1) ((void (*)(s32))func_8012CAE4)(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001CA1C(obj, (s32)D_801ABFAC); *(u16 *)(obj + 0x1A) = 0x2000; *(u16 *)(obj + 0x18) = 0x2000; *(u32 *)(obj + 4) |= 0x58000000; *(u16 *)(obj + 0x2C) |= 0x10; if (((s32 (*)(s32, s32))func_8012E504)(param_1, 0x19E) == 0) { - *(s16 *)(param_1 + 0xFE) = 1; - *(s32 *)(param_1 + 0xD0) = (s32)D_801ABFFC; - *(s32 *)(param_1 + 0xCC) = (s32)D_801ABFFC; - *(s32 *)(param_1 + 0xE0) = *(s32 *)D_801ABFFC; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = (s32)D_801ABFFC; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = (s32)D_801ABFFC; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = *(s32 *)D_801ABFFC; } - *(s16 *)(param_1 + 0xAE) = -1; - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -6362,8 +6362,8 @@ void func_80188850(void) { extern void func_8012B2CC(s32 a0); void func_80188858(s32 *a0) { - s32 *v0 = *(s32 **)((s32)a0 + 0x20); - *(s32 *)((s32)a0 + 0x48) = 0; + s32 *v0 = CAST_SIGN(s32 *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0; *(s16 *)((s32)v0 + 0x12) = 0; func_8012B2CC((s32)a0); } @@ -6442,13 +6442,13 @@ extern void func_8012C098(void *param_1); extern void func_8012E8A8(u8 *a0); void func_801889A0(s32 a0) { - if (*(s16 *)(a0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { func_8012C098((void *)a0); } else { - *(s16 *)(a0 + 2) = 4; - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8012E8A8((u8 *)a0); } } @@ -6597,12 +6597,12 @@ void func_80188C18(s32 a0) { ent = func_80188E80(pos); if (ent != 0) { - *(s32 *)((s32)ent + 0x10) = buf1[0]; - *(s32 *)((s32)ent + 0x14) = buf1[1]; - *(s32 *)((s32)ent + 0x18) = buf1[2]; - *(u16 *)(*(s32 *)((s32)ent + 0x20) + 0x14) = + CAST_WIDTH(s32, (s32)ent, 0x10) = buf1[0]; + ((Unkstruct_800B5CB8 *)ent)->unk14 = buf1[1]; + CAST_WIDTH(s32, (s32)ent, 0x18) = buf1[2]; + *(u16 *)(((Unkstruct_800B5CB8 *)ent)->unk20 + 0x14) = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14); - *(s32 *)((s32)ent + 0x1C) = i << 3; + ((Unkstruct_800B5CB8 *)ent)->unk1C = i << 3; } } } @@ -6615,27 +6615,27 @@ s32 func_80188DF4(s32 a0) s32 *p; s32 t; - t = *(s32 *)(a0 + 0xE0); + t = ((Unkstruct_800B5CB8 *)a0)->unkE0; if (t == 0) { return 1; } t -= 1; - *(s32 *)(a0 + 0xE0) = t; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = t; if (t > 0) { return 0; } - p = *(s32 **)(a0 + 0xD0); + p = CAST_SIGN(s32 *, a0, 0xD0); p += 2; if ((*p & 0x40000000) != 0) { - p = *(s32 **)(a0 + 0xCC); + p = CAST_SIGN(s32 *, a0, 0xCC); } else if (*p < 0) { - *(s32 *)(a0 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; return 1; } t = p[0]; - *(s32 **)(a0 + 0xD0) = p; - *(s32 *)(a0 + 0xE0) = t; + CAST_SIGN(s32 *, a0, 0xD0) = p; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = t; func_800183E0(p[1]); return 0; } @@ -6660,7 +6660,7 @@ void * func_80188E80(s32 a0) return 0; } arg = (s32)obj + 0x24; - sub = *(s32 *)(obj + 0x20); + sub = ((Unkstruct_800B5CB8 *)obj)->unk20; *(s32 *)(sub + 0x20) = (s32)D_801AC0B8; *(u8 *)(sub + 0x27) = 0x66; *(u16 *)(sub + 0x1A) = 0x2000; @@ -6675,17 +6675,17 @@ void func_80188F04(s32 a0) { s32 t; - if (*(u16 *)(a0 + 2) == 0) { - t = *(s32 *)(a0 + 0x1C); + if (CAST_SIGN(u16, a0, 2) == 0) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (t == 0) { - (*(u16 *)(a0 + 2))++; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + (CAST_SIGN(u16, a0, 2))++; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; } else { - *(s32 *)(a0 + 0x1C) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t - 1; } } else { func_8012931C((struct vec *)a0); - if (func_80128ED8(*(s32 *)(a0 + 0x20), (s32 *)((s32)a0 + 0x24)) != 0) { + if (func_80128ED8(((Unkstruct_800B5CB8 *)a0)->unk20, (s32 *)((s32)a0 + 0x24)) != 0) { func_801292C8((u8 *)a0); } } @@ -6748,46 +6748,46 @@ void func_80188F98(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801B4EA4); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B4EA4); func_8012A828((s32)a0, (s32)&D_801BC5E8); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } diff --git a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c index ae6b34f8b7..97e8dab7f9 100644 --- a/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c +++ b/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.c @@ -3343,32 +3343,32 @@ void func_8017DAC8(s32 a0) { func_8002D4C8(0xCBC, 0); s1 = (s32)D_801202A0; for (s3 = 0; s3 < 0x60; s3++, s1 += 0x10C) { - if (*(u16 *)(s1 + 0x0) == 0x1BE) { - if ((func_80029178(D_8018B52C[*(s16 *)(s1 + 0x70)]) & 0xFF) == 0) { - *(s16 *)(s1 + 0xFC) = *(u16 *)(s1 + 0xFC) + 1; + if (((Unkstruct_800B5CB8 *)s1)->unk0 == 0x1BE) { + if ((func_80029178(D_8018B52C[((Unkstruct_800B5CB8 *)s1)->unk70]) & 0xFF) == 0) { + ((Unkstruct_800B5CB8 *)s1)->unkFC = CAST_SIGN(u16, s1, 0xFC) + 1; } } } for (s3 = 0; s3 < 0x10; s3++) { p = (s32)func_8012913C(0x23); if (p != 0) { - *(s16 *)(p + 0x6) = *(u16 *)(s2 + 0x6) + rand() % 144 - 0x48; - *(s16 *)(p + 0xA) = *(u16 *)(s2 + 0xA) - rand() % 239 - 0x10; - *(s16 *)(p + 0xE) = *(u16 *)(s2 + 0xE) + rand() % 144 - 0x48; - *(s32 *)(p + 0x18) = 0; - *(s32 *)(p + 0x14) = 0; - *(s32 *)(p + 0x10) = 0; - *(s16 *)(p + 0x34) = (rand() & 0x17FF) + 0x1800; + ((Unkstruct_800B5CB8 *)p)->unk6 = *(u16 *)(s2 + 0x6) + rand() % 144 - 0x48; + ((Unkstruct_800B5CB8 *)p)->unkA = *(u16 *)(s2 + 0xA) - rand() % 239 - 0x10; + ((Unkstruct_800B5CB8 *)p)->unkE = *(u16 *)(s2 + 0xE) + rand() % 144 - 0x48; + CAST_WIDTH(s32, p, 0x18) = 0; + ((Unkstruct_800B5CB8 *)p)->unk14 = 0; + CAST_WIDTH(s32, p, 0x10) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = (rand() & 0x17FF) + 0x1800; } p = (s32)func_8012913C(0x22); if (p != 0) { - *(s16 *)(p + 0x6) = *(u16 *)(s2 + 0x6) + rand() % 144 - 0x48; - *(s16 *)(p + 0xA) = *(u16 *)(s2 + 0xA) - rand() % 239 - 0x10; - *(s16 *)(p + 0xE) = *(u16 *)(s2 + 0xE) + rand() % 144 - 0x48; - *(s32 *)(p + 0x18) = 0; - *(s32 *)(p + 0x14) = 0; - *(s32 *)(p + 0x10) = 0; - *(s16 *)(p + 0x34) = (rand() & 0x17FF) + 0x1800; + ((Unkstruct_800B5CB8 *)p)->unk6 = *(u16 *)(s2 + 0x6) + rand() % 144 - 0x48; + ((Unkstruct_800B5CB8 *)p)->unkA = *(u16 *)(s2 + 0xA) - rand() % 239 - 0x10; + ((Unkstruct_800B5CB8 *)p)->unkE = *(u16 *)(s2 + 0xE) + rand() % 144 - 0x48; + CAST_WIDTH(s32, p, 0x18) = 0; + ((Unkstruct_800B5CB8 *)p)->unk14 = 0; + CAST_WIDTH(s32, p, 0x10) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = (rand() & 0x17FF) + 0x1800; } } func_8012C218((void *)s2); @@ -3438,24 +3438,24 @@ void func_8017DEBC(s32 a0) { /* One load per field, reused by both endpoints (the target keeps $a2/$v1/$v0 * live across the stack stores -- naming them in C locals collapses the * three duplicate reloads, cookbook law 23 / §193-E). */ - x = *(u16 *)(a0 + 0x6); + x = ((Unkstruct_800B5CB8 *)a0)->unk6; src.x = x; - y = *(u16 *)(a0 + 0xA); + y = ((Unkstruct_800B5CB8 *)a0)->unkA; src.y = y - 0x10; - z = *(u16 *)(a0 + 0xE); + z = ((Unkstruct_800B5CB8 *)a0)->unkE; dst.x = x; dst.y = y + 0x10; src.z = z; dst.z = z; if (func_80133784(1, &src, (s32)&dst) == 0) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012B23C((void *)a0); return; } - if (*(s16 *)(a0 + 0x6) == *(s16 *)(a0 + 0x88) && - *(s16 *)(a0 + 0xE) == *(s16 *)(a0 + 0x8C)) { + if (CAST_SIGN(s16, a0, 0x6) == CAST_SIGN(s16, a0, 0x88) && + CAST_SIGN(s16, a0, 0xE) == CAST_SIGN(s16, a0, 0x8C)) { return; } @@ -3464,45 +3464,45 @@ void func_8017DEBC(s32 a0) { if (func_8017D898(a0, 0) == 0) { return; } - { u16 *g = &D_80126B5E; *g = *g + (*(u16 *)(a0 + 0x88) - *(u16 *)(a0 + 0x6)); } - *(s16 *)(a0 + 0xFE) = -0x80; - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); + { u16 *g = &D_80126B5E; *g = *g + (((Unkstruct_800B5CB8 *)a0)->unk88 - ((Unkstruct_800B5CB8 *)a0)->unk6); } + ((Unkstruct_800B5CB8 *)a0)->unkFE = -0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; break; case 0xC00: if (func_8017D898(a0, 5) == 0) { return; } - { u16 *g = &D_80126B66; *g = *g + (*(u16 *)(a0 + 0x8C) - *(u16 *)(a0 + 0xE)); } - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0xFE) = -0x80; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); + { u16 *g = &D_80126B66; *g = *g + (((Unkstruct_800B5CB8 *)a0)->unk8C - ((Unkstruct_800B5CB8 *)a0)->unkE); } + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = -0x80; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; break; case 0: if (func_8017D898(a0, 0xA) == 0) { return; } - { u16 *g = &D_80126B5E; *g = *g + (*(u16 *)(a0 + 0x88) - *(u16 *)(a0 + 0x6)); } - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFE) = 0x80; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); + { u16 *g = &D_80126B5E; *g = *g + (((Unkstruct_800B5CB8 *)a0)->unk88 - ((Unkstruct_800B5CB8 *)a0)->unk6); } + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; break; case 0x400: if (func_8017D898(a0, 0xF) == 0) { return; } - { u16 *g = &D_80126B66; *g = *g + (*(u16 *)(a0 + 0x8C) - *(u16 *)(a0 + 0xE)); } - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0xFE) = 0x80; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); + { u16 *g = &D_80126B66; *g = *g + (((Unkstruct_800B5CB8 *)a0)->unk8C - ((Unkstruct_800B5CB8 *)a0)->unkE); } + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; break; } - *(s16 *)(a0 + 0xFC) = 0; - *(u16 *)(a0 + 0x5C) = (*(u16 *)(a0 + 0x5C) & 0xEFFF) | 0x800; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (((Unkstruct_800B5CB8 *)a0)->unk5C & 0xEFFF) | 0x800; func_8002D4C8(0x743, 0); } @@ -3674,12 +3674,12 @@ void func_8017E3B0(s32 a0) { s1 = (s32)D_801202A0; for (s3 = 0; s3 < 0x60; s3++, s1 += 0x10C) { - if (*(u16 *)(s1 + 0x0) == 0x1BE) { - if ((func_80029178(D_8018B52C[*(s16 *)(s1 + 0x70)]) & 0xFF) == 0) { - s16 cnt = *(u16 *)(s1 + 0xFC) - 1; - *(u16 *)(s1 + 0xFC) = cnt; + if (((Unkstruct_800B5CB8 *)s1)->unk0 == 0x1BE) { + if ((func_80029178(D_8018B52C[((Unkstruct_800B5CB8 *)s1)->unk70]) & 0xFF) == 0) { + s16 cnt = CAST_SIGN(u16, s1, 0xFC) - 1; + ((Unkstruct_800B5CB8 *)s1)->unkFC = cnt; if (cnt == 0) { - func_80029124(D_8018B52C[*(s16 *)(s1 + 0x70)], 1); + func_80029124(D_8018B52C[((Unkstruct_800B5CB8 *)s1)->unk70], 1); func_8002D4C8(0x745, 0); } } @@ -3790,7 +3790,7 @@ void func_8017E7B0(void *a0) { extern void (*D_8018B664[])(void); void func_8017E810(void *a0) { - D_8018B664[*(u16 *)((s32)a0 + 0x2)](); + D_8018B664[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3798,7 +3798,7 @@ void func_8017E810(void *a0) { extern void (*D_8018B6F4[])(void); void func_8017E84C(void *a0) { - D_8018B6F4[*(u16 *)((s32)a0 + 0x2)](); + D_8018B6F4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3820,24 +3820,24 @@ void func_8017E890(s32 a0) { extern u8 D_8018B5EC[]; if (func_8012C354(a0, (s32)D_8018B4B8) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; func_8012A828(a0, (s32)D_80187C00); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; - if ((func_80029178(D_8018B52C[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) { - *(s16 *)(a0 + 0x2) = 5; - *(u16 *)(a0 + 0x6) = D_8018B4EC[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xE) = D_8018B4F0[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0x5C) = (*(u16 *)(a0 + 0x5C) & 0xEFFF) | 0x800; - *(s16 *)(a0 + 0xAE) = -1; - *(u16 *)(a0 + 0x88) = *(u16 *)(a0 + 0x6); - *(u16 *)(a0 + 0x8C) = *(u16 *)(a0 + 0xE); + if ((func_80029178(D_8018B52C[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_8018B4EC[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018B4F0[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (((Unkstruct_800B5CB8 *)a0)->unk5C & 0xEFFF) | 0x800; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } else { - *(s16 *)(a0 + 0xAE) = 0x2100; - *(s32 *)(a0 + 0xC4) = 3; - *(s32 *)(a0 + 0xB4) = 0; - *(s32 *)(a0 + 0xBC) = (s32)D_8018B5EC; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8018B5EC; } } } @@ -3845,7 +3845,7 @@ void func_8017E890(s32 a0) { void func_8017E990(s32 a0) { func_8012CBCC(a0); - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_8012C218(a0); } } @@ -3860,15 +3860,15 @@ void func_8017E9D4(s32 a0) { extern u8 D_80187C00[]; extern s32 D_8018B52C[]; - *(s16 *)(a0 + 0x2) = 1; - if ((func_80029178(D_8018B52C[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) { - *(s16 *)(a0 + 0x2) = 2; - *(u16 *)(a0 + 0xA) -= 0xC0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if ((func_80029178(D_8018B52C[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkA -= 0xC0; } if (func_8012C438(a0, (s32)D_8018B630) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8040; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8040; func_8012A828(a0, (s32)D_80187C00); - *(u8 *)(a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3901,12 +3901,12 @@ void func_8017EAEC(s32 a0) { if (func_8012C354(a0, (s32)D_8018B680) != 0) { func_8012A828(a0, (s32)D_80187C00); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_8018B6B4[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8018B6B6[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8018B6B8[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_8018B6BA[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8018B6B4[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8018B6B6[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8018B6B8[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_8018B6BA[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3998,7 +3998,7 @@ void func_8017EC9C(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -4036,18 +4036,18 @@ void func_8017EC9C(s32 a0) { } } - D_801A6924[*(u16 *)(a0 + 0x2)](a0); + D_801A6924[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -4150,93 +4150,93 @@ void func_8017F0BC(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A6C14[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A6C16[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A6C18[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A6C14[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A6C16[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A6C18[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6978); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6978); func_8012A828(a0, (s32)D_801A6A38); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6AC0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6AC0); func_8012A828(a0, (s32)D_801A6B80); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A6C64; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A6C88; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A693C; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A6C64; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A6C88; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A693C; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6978); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6978); func_8012A828(a0, (s32)D_801A6A38); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6AC0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6AC0); func_8012A828(a0, (s32)D_801A6B80); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6C74); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6C74); func_8012A828(a0, (s32)D_801A6C80); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A6978); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A6978); func_8012A828(a0, (s32)D_801A6A38); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -4279,15 +4279,15 @@ void func_8017F6FC(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -4296,61 +4296,61 @@ void func_8017F6FC(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -4365,20 +4365,20 @@ void func_8017FAAC(void *a0) { s32 t; u16 *q; - D_801A6C98[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A6C98[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -4391,7 +4391,7 @@ void func_8017FAAC(void *a0) { extern void (*D_801A6D44[])(void); void func_8017FB98(void *a0) { - D_801A6D44[*(u16 *)((s32)a0 + 0x2)](); + D_801A6D44[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4399,7 +4399,7 @@ void func_8017FB98(void *a0) { extern void (*D_801A6DF8[])(void); void func_8017FBD4(void *a0) { - D_801A6DF8[*(u16 *)((s32)a0 + 0x2)](); + D_801A6DF8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4427,17 +4427,17 @@ void func_8017FC28(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801A6878) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801A6858; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A6858; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_80187C00); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -4464,18 +4464,18 @@ void func_8017FCE8(void *a0) { extern u8 D_801A693C[]; extern u8 D_801A6858[]; if (func_8012C354((s32)a0, (s32)D_801A693C) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801A6858; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A6858; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_80187C00); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -4489,13 +4489,13 @@ void func_8017FD6C(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -4552,16 +4552,16 @@ void func_8017FE5C(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A6C08); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4581,18 +4581,18 @@ void func_8017FF20(void *a0) { extern u16 D_801A6C18[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A6C14[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A6C16[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A6C18[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A6C14[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A6C16[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A6C18[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -4606,8 +4606,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80180000(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80180000 *ptr = *(Struct_80180000 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80180000 *ptr = CAST_SIGN(Struct_80180000 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -4630,18 +4630,18 @@ void func_80180070(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A6C08); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4669,18 +4669,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80180154(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -4707,12 +4707,12 @@ void func_8018020C(s32 a0) { extern s16 D_801A6D0A[]; if (func_8012C354(a0, (s32)D_801A6CD0) != 0) { func_8012A828(a0, (s32)D_80187C00); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A6D04[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A6D06[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A6D08[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A6D0A[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A6D04[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A6D06[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A6D08[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A6D0A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -4777,24 +4777,24 @@ void func_801803A0(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A6D50); func_8012A828(param_1, (s32)D_801A6DB0); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -4852,11 +4852,11 @@ extern void (*D_801A8D68[])(void); extern void func_8012C0EC(void *a0); void func_80180628(void *a0) { - D_801A8D68[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_801A8D68[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -4888,38 +4888,38 @@ void func_801806B4(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_8018172C() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_8018172C() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (func_8012C354(a0, (s32)(D_801A8C88 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801A8D28; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A8D28; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; func_8012B2CC(a0); } @@ -4929,11 +4929,11 @@ void func_801806B4(s32 a0) { void func_80180820(void *arg0) { s32 var_v1 = 0x40; func_8012B23C(arg0); - *(s32 *)(arg0 + 0x1C) = var_v1; - *(s16 *)(arg0 + 0x2) = 2; - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0xE4) = 0; - *(s32 *)(arg0 + 0xE8) = var_v1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = var_v1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 = var_v1; } @@ -5036,23 +5036,23 @@ void func_80180864(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -5064,39 +5064,39 @@ void func_80180864(s32 a0) { func_8012B178(a0, t); r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4) - 0x4000; } else { @@ -5105,22 +5105,22 @@ void func_80180864(s32 a0) { func_8012B178(a0, t); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -5128,10 +5128,10 @@ void func_80180864(s32 a0) { } func_801815C4(a0); - func_801814F4(a0, D_801A8D84[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_801814F4(a0, D_801A8D84[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -5169,12 +5169,12 @@ void func_80180CA0(s32 a0) { s32 v1; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x34) = 0; - v1 = *(s32 *)(a0 + 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1C) = 0x400; *(u16 *)(v1 + 0x18) = 0x400; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1A) = 0x3000; } } @@ -5192,14 +5192,14 @@ void func_80180CF4(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -5207,8 +5207,8 @@ void func_80180CF4(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -5216,19 +5216,19 @@ void func_80180CF4(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -5236,16 +5236,16 @@ void func_80180CF4(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -5267,21 +5267,21 @@ void func_80180EA4(s32 a0) { i = 0; base = -0x40000; - ang = ((*(u16 *)(a0 + 0x70) & 0xF) | -0x8000) << 16; + ang = ((CAST_SIGN(u16, a0, 0x70) & 0xF) | -0x8000) << 16; do { r = rand(); t = base - ((r % 4) << 16); func_80181780((void *)(a0 + 0x7C), - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t, ang >> 16); i++; } while (i < 4); - *(s32 *)(a0 + 0xEC) = 0x40000; + CAST_WIDTH(s32, a0, 0xEC) = 0x40000; func_8012B23C((void *)a0); - func_8012B178(a0, *(s32 *)(a0 + 0xEC)); - *(s32 *)(a0 + 0x1C) = 0x10; - *(u16 *)(a0 + 0x34) = 0; + func_8012B178(a0, CAST_WIDTH(s32, a0, 0xEC)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -5299,16 +5299,16 @@ void func_80180F70(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -5316,28 +5316,28 @@ void func_80180F70(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -5353,8 +5353,8 @@ void func_80180F70(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -5383,15 +5383,15 @@ void func_801811E8(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -5562,17 +5562,17 @@ void func_801815C4(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -5682,7 +5682,7 @@ s32 func_80181780(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_801A8DB8[])(void); void func_80181984(void *a0) { - D_801A8DB8[*(u16 *)((s32)a0 + 0x2)](); + D_801A8DB8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5694,25 +5694,25 @@ void func_801819C0(s32 a0) { ret = func_80181D6C(a0, (s32)D_800D3918, 0x11); if ((ret & 0xFF) == 0) { if (ret & 0x2000) { - if (*(s32 *)(a0 + 0x2C) != 0) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x2) = 4; + if (CAST_WIDTH(s32, a0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; return; } func_801292C8((u8 *)a0); return; } - if (*(s32 *)(a0 + 0x1C) < 0x23) { - *(s32 *)(a0 + 0x14) += 0x10000; - if (*(s32 *)(a0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(a0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, a0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk27 = 0x62; } } - *(s32 *)(a0 + 0x1C) -= 1; - if (*(s32 *)(a0 + 0x1C) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } - partner = *(s32 *)(a0 + 0x2C); + partner = CAST_WIDTH(s32, a0, 0x2C); if (partner != 0) { if (partner != -1) { *(s32 *)(partner + 0x30) -= 1; @@ -5721,7 +5721,7 @@ void func_801819C0(s32 a0) { func_801292C8((u8 *)a0); return; } - partner = *(s32 *)(a0 + 0x2C); + partner = CAST_WIDTH(s32, a0, 0x2C); if (partner != 0) { if (partner != -1) { *(s32 *)(partner + 0x30) -= 1; @@ -5736,14 +5736,14 @@ extern void func_80181F98(s32 a0); void func_80181AA4(s32 a0) { s32 temp_v0; func_80181F98(a0); - temp_v0 = *(s32 *)(a0 + 0x30); + temp_v0 = ((Unkstruct_800B5CB8 *)a0)->unk30; if (temp_v0 == 0) { - *(s16 *)(a0 + 2) = 6; - *(s32 *)(a0 + 0x1c) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; return; } - temp_v0 = *(s32 *)(a0 + 0x1c) + 1; - *(s32 *)(a0 + 0x1c) = temp_v0; + temp_v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = temp_v0; } @@ -5763,10 +5763,10 @@ void func_80181AF8(s32 a0) { if (func_80181EC0(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -5777,9 +5777,9 @@ void func_80181AF8(s32 a0) { func_80181F98(a0); func_80181D6C(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -5787,9 +5787,9 @@ void func_80181AF8(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -5824,10 +5824,10 @@ extern void func_80181F98(s32 a0); void func_80181C78(s32 a0) { func_80181F98(a0); - if (*(u16 *)(*(s32 *)(a0 + 0x2C)) == 0) { + if (*(u16 *)(CAST_WIDTH(s32, a0, 0x2C)) == 0) { func_801292C8((u8 *)a0); } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } @@ -5841,12 +5841,12 @@ void func_80181CD0(s32 a0) { u16 vz; func_80181F98(a0); - if (++*(s32 *)(a0 + 0x1C) < 0x1F) { + if (++((Unkstruct_800B5CB8 *)a0)->unk1C < 0x1F) { return; } - sp10.x = *(u16 *)(a0 + 0x06); - sp10.y = *(u16 *)(a0 + 0x0A); - vz = *(u16 *)(a0 + 0x0E); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA; + vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.type = 0x17F; sp10.sub = 0x8000; sp10.pad_A = 0; @@ -5854,7 +5854,7 @@ void func_80181CD0(s32 a0) { sp10.pad_E = 0; sp10.flag = 0x7FFF; sp10.z = vz; - func_8012C51C(&sp10, *(s32 *)(a0 + 0x24)); + func_8012C51C(&sp10, CAST_WIDTH(s32, a0, 0x24)); func_801292C8((u8 *)a0); } @@ -5872,18 +5872,18 @@ s32 func_80181D6C(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5893,12 +5893,12 @@ s32 func_80181D6C(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -5918,7 +5918,7 @@ s32 func_80181EC0(s32 a0, s32 a1) s32 vec[3]; s16 *ptr; - ptr = *(s16 **)(a0 + 0x2C); + ptr = CAST_WIDTH(s16 *, a0, 0x2C); if (*(u16 *)ptr == 0) { return 0; } @@ -5941,9 +5941,9 @@ s32 a0; s32 w; s32 sub; - t = func_8004787C((*(s32 *)(a0 + 0x1C) << 7) & 0x780); - w = *(s32 *)(a0 + 0x34) - ((*(s32 *)(a0 + 0x34) >> 2) * t >> 12); - sub = *(s32 *)(a0 + 0x20); + t = func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 7) & 0x780); + w = CAST_WIDTH(s32, a0, 0x34) - ((CAST_WIDTH(s32, a0, 0x34) >> 2) * t >> 12); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(sub + 0x1A) = w; *(s16 *)(sub + 0x18) = w; } @@ -5953,7 +5953,7 @@ s32 a0; extern void (*D_801A8E4C[])(void); void func_80181FF8(void *a0) { - D_801A8E4C[*(u16 *)((s32)a0 + 0x2)](); + D_801A8E4C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6056,16 +6056,16 @@ void func_80182218(void *a0) { s16 t; r = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); t = r; func_8012B200(a0); - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 1800) + 0xE10; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 1800) + 0xE10; } else { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 60) + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 60) + 0x78; } - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -6085,27 +6085,27 @@ void func_80182340(s32 a0) { func_80182CEC(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); - if ((*(u16 *)(a0 + 0x70) & 2) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 2) == 0) { if (func_8012BEE8(a0)) { - if (*(s32 *)(a0 + 0xE0) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 == 0) { if (((s32 (*)(s32))func_80182D98)(a0)) { - if (*(u16 *)(a0 + 0x70) & 1) { - *(s32 *)(a0 + 0x1C) = rand() % 0x708 + 0xE10; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x708 + 0xE10; } else { - *(s32 *)(a0 + 0x1C) = rand() % 0x3C + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x3C + 0x78; } } else { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } } @@ -6125,26 +6125,26 @@ void func_801824B0(s32 a0) { s32 val; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)auStack_18, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); tmp = *(s32 *)auStack_18; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + tmp; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (tmp >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + tmp; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (tmp >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } @@ -6166,48 +6166,48 @@ void func_80182644(s32 a0) { s32 t; s32 r; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x102); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x106); - q = *(u16 *)(a0 + 0x104); + *(s16 *)((s32)sp10 + 0x2) = CAST_SIGN(u16, a0, 0x102); + *(s16 *)((s32)sp10 + 0xA) = CAST_SIGN(u16, a0, 0x106); + q = CAST_SIGN(u16, a0, 0x104); *(s16 *)((s32)sp10 + 0x6) = q; - if ((*(u16 *)(a0 + 0x70) & 0x20) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0x20) == 0) { *(s16 *)((s32)sp10 + 0x6) = q + D_80126B62; } else { - *(s16 *)((s32)sp10 + 0x6) = q + *(u16 *)(a0 + 0x8A); + *(s16 *)((s32)sp10 + 0x6) = q + ((Unkstruct_800B5CB8 *)a0)->unk8A; } func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = *(s32 *)sp28; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); if (func_8012BEE8(a0)) { s32 base; s32 off; s32 val; - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)sp28, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); t = *(s32 *)sp28; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + t; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (t >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + t; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (t >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } } } @@ -6241,13 +6241,13 @@ void func_80182898(s32 a0) { func_80182CEC(sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((void *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFFE0000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFFE0000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -6269,30 +6269,30 @@ void func_801829A4(s32 a0) { s32 t; s32 u; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0)) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - } else if (*(s16 *)(a0 + 0x100) < *(s16 *)(a0 + 0xA)) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + } else if (((Unkstruct_800B5CB8 *)a0)->unk100 < CAST_SIGN(s16, a0, 0xA)) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 1: t = func_8012B8E4(a0, 6); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + t; if (func_8012BEE8(a0)) { if (rand() & 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); } } @@ -6300,18 +6300,18 @@ void func_801829A4(s32 a0) { case 2: func_80182CEC(sp10, a0, (s32)D_801AC170); u = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFF80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFF80000); func_8012CBF4(a0); if (func_80182CC0(a0) == 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } break; default: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; } } @@ -6330,17 +6330,17 @@ void func_80182B40(void *arg0) { if (!func_8012E778((s32)arg0, 0xA000C8)) { { s32 t; - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; - *(s16 *)((char *)arg0 + 0x2) = (t == 0) ? 1 : 3; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = (t == 0) ? 1 : 3; } - *(s16 *)((char *)arg0 + 0x5C) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); - *(s16 *)((char *)arg0 + 0x76) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78)); - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk76 = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0x10; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)(arg0, &D_801AE690); } @@ -6357,19 +6357,19 @@ extern void func_8012E8A8(u8 *a0); void func_80182BFC(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - s32 v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + s32 v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -6437,11 +6437,11 @@ void func_80182CEC(s32 *a0, s32 a1, s32 a2) { p = (u16 *)(a1 + 0x88); *(s32 *)(a1 + 0xE0) = 1; } - *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; - t = p[1] + *(u16 *)(a2 + 2); + *(s16 *)((s32)sp10 + 0x2) = p[0] + ((Unkstruct_800B5CB8 *)a2)->unk0; + t = p[1] + CAST_SIGN(u16, a2, 2); *(s16 *)((s32)sp10 + 0x6) = t; *(s16 *)(a1 + 0x100) = t; - *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); + *(s16 *)((s32)sp10 + 0xA) = p[2] + CAST_SIGN(u16, a2, 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); rv = sp20; *a0 = rv; @@ -6490,12 +6490,12 @@ extern void func_80183A3C(s32 a0); void func_80182E1C(void *arg0) { s32 a2; - D_801AE924[*(u16 *)((s32)arg0 + 2)](); - if (*(s32 *)((s32)arg0 + 0xE4) != 0) { + D_801AE924[CAST_SIGN(u16, (s32)arg0, 2)](); + if (((Unkstruct_800B5CB8 *)arg0)->unkE4 != 0) { func_80183A3C(arg0); } - if (*(u16 *)arg0 != 0) { - a2 = *(s32 *)((s32)arg0 + 0xD4); + if (((Unkstruct_800B5CB8 *)arg0)->unk0 != 0) { + a2 = ((Unkstruct_800B5CB8 *)arg0)->unkD4; if (a2 != 0) { func_8012F214((s32)arg0, D_801AE8C4, a2 + 8); } @@ -6540,45 +6540,45 @@ void func_80182EAC(s32 a0) { *(s16 *)(child + 0x1A) = v2000; *(s16 *)(child + 0x18) = v2000; - *(s32 *)(a0 + 0x20) = child; - *(s32 *)(a0 + 0xD4) = func_80183AFC(a0); + ((Unkstruct_800B5CB8 *)a0)->unk20 = child; + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_80183AFC(a0); - *(s16 *)(a0 + 0xAE) = v2000; - *(s16 *)(a0 + 0xFC) = 0x80; - *(s16 *)(a0 + 0xFE) = 0x80; - *(s16 *)(a0 + 0x100) = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkAE = v2000; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x80; - *(s16 *)(a0 + 0x5C) = 0; - if ((*(u16 *)(a0 + 0x70) & 1) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801AE8DC; - *(s32 *)(a0 + 0xB4) = -0x2003; - *(s32 *)(a0 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + if ((CAST_SIGN(u16, a0, 0x70) & 1) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AE8DC; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x2003; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; } - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if ((flags & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; - *(s16 *)(a0 + 0x100) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; } else if ((flags & 0x8000) == 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else { - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; - *(s16 *)(a0 + 0x100) = 0; - ((void (*)(void *))func_80183B80)((void *)*(s32 *)(a0 + 0xD4)); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((void (*)(void *))func_80183B80)((void *)((Unkstruct_800B5CB8 *)a0)->unkD4); } if (func_8012E504(a0, 0x1A2) != 0) { return; } - *(s32 *)(a0 + 0xE4) = 1; - *(s32 *)(a0 + 0xD0) = (s32)D_801AE83C; - *(s32 *)(a0 + 0xCC) = (s32)D_801AE83C; - *(s32 *)(a0 + 0xE0) = *(s32 *)D_801AE83C; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = (s32)D_801AE83C; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)D_801AE83C; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s32 *)D_801AE83C; } @@ -6588,8 +6588,8 @@ extern void func_8012BE54(s32 a0); void func_80183038(s32 arg0) { if (func_8012BEE8(arg0) != 0) { if (((s32 (*)(s32))func_8012BE54)(arg0) <= 0x40000) { - *(s16 *)(arg0 + 2) = 2; - *(s32 *)(arg0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } } } @@ -6647,36 +6647,36 @@ void func_80183158(s32 a0) { s16 sp10[3]; s32 pad[2]; - if ((*(u16 *)(a0 + 0x70) & 1) == 0) { - *(s16 *)(a0 + 0x52) = (u32)func_8004787C(*(s32 *)(a0 + 0x1C) << 5) >> 8; - if (*(s32 *)(a0 + 0x1C) == (*(s32 *)(a0 + 0x1C) / 24) * 24) { - sp10[0] = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x8); - sp10[1] = *(u16 *)(*(s32 *)(a0 + 0x20) + 0xA) + 0x40; - sp10[2] = *(u16 *)(*(s32 *)(a0 + 0x20) + 0xC); + if ((CAST_SIGN(u16, a0, 0x70) & 1) == 0) { + *(s16 *)(a0 + 0x52) = (u32)func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk1C << 5) >> 8; + if (((Unkstruct_800B5CB8 *)a0)->unk1C == (((Unkstruct_800B5CB8 *)a0)->unk1C / 24) * 24) { + sp10[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk8; + sp10[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unkA + 0x40; + sp10[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unkC; func_80183CC4(sp10, 0x60); } } else { - if (*(u8 *)(a0 + 0x1C) == 0) { + if (CAST_WIDTH(u8, a0, 0x1C) == 0) { s32 r = rand(); - *(s32 *)(a0 + 0xE8) = (r % 64) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = (r % 64) + 0x40; } if (func_8014CB0C() == 0) { func_801839C4(a0, 0xFFFD8000); func_8012CBF4(a0); - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; } - if (*(s32 *)(a0 + 0x1C) == (*(s32 *)(a0 + 0x1C) / 24) * 24) { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(u16 *)(a0 + 0xE); + if (((Unkstruct_800B5CB8 *)a0)->unk1C == (((Unkstruct_800B5CB8 *)a0)->unk1C / 24) * 24) { + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10[1] = sp10[1] + 0x38; func_80183CC4(sp10, 0x80); } } func_80183910(a0); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - 0x2000 - (func_8004787C((*(s32 *)(a0 + 0x1C) << 5) & 0x7E0) >> 1); - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + 0x2000 - (func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 5) & 0x7E0) >> 1); + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; } @@ -6699,54 +6699,54 @@ void func_8018332C(s32 a0) { s32 w; *(s16 *)(a0 + 0x52) = (u32)func_8004787C(D_800B99DA << 5) >> 8; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: t = rand() % 0x1000; - func_8012B0B4((unsigned int *)sp10, (s16)t, rand() % *(s16 *)(a0 + 0xDC)); + func_8012B0B4((unsigned int *)sp10, (s16)t, rand() % CAST_WIDTH(s16, a0, 0xDC)); u = sp10[0]; - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88) + u; - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C) + (u >> 16); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = t; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88 + u; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C + (u >> 16); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = t; func_8012B2CC(a0); func_8012B178(a0, 0xFFFE0000); - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; break; case 1: - w = ((u32)(*(s16 *)(a0 + 0xDE) * func_8004787C(*(s32 *)(a0 + 0x1C) << 4)) >> 12) & 0xFF; - *(s16 *)(a0 + 0x100) = w; - *(s16 *)(a0 + 0xFE) = w; - *(s16 *)(a0 + 0xFC) = w; + w = ((u32)(*(s16 *)(a0 + 0xDE) * func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk1C << 4)) >> 12) & 0xFF; + ((Unkstruct_800B5CB8 *)a0)->unk100 = w; + ((Unkstruct_800B5CB8 *)a0)->unkFE = w; + ((Unkstruct_800B5CB8 *)a0)->unkFC = w; func_80183BA0(a0); - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) > 0x40) { - *(s32 *)(a0 + 0x1C) = 0x96; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - ((void (*)(s32))func_80183B60)(*(s32 *)(a0 + 0xD4)); + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C > 0x40) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x96; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((void (*)(s32))func_80183B60)(((Unkstruct_800B5CB8 *)a0)->unkD4); } break; case 2: if (func_80183BA0(a0) == 0 || func_8012BEE8(a0) || func_80183C44(a0, 0x400)) { - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - ((void (*)(s32))func_80183B80)(*(s32 *)(a0 + 0xD4)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((void (*)(s32))func_80183B80)(((Unkstruct_800B5CB8 *)a0)->unkD4); } break; case 3: - w = ((u32)(*(s16 *)(a0 + 0xDE) * func_8004787C(*(s32 *)(a0 + 0x1C) << 4)) >> 12) & 0xFF; - *(s16 *)(a0 + 0x100) = w; - *(s16 *)(a0 + 0xFE) = w; - *(s16 *)(a0 + 0xFC) = w; + w = ((u32)(*(s16 *)(a0 + 0xDE) * func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk1C << 4)) >> 12) & 0xFF; + ((Unkstruct_800B5CB8 *)a0)->unk100 = w; + ((Unkstruct_800B5CB8 *)a0)->unkFE = w; + ((Unkstruct_800B5CB8 *)a0)->unkFC = w; func_80183BA0(a0); - *(s32 *)(a0 + 0x1C) -= 1; - if (*(s32 *)(a0 + 0x1C) < 0) { - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = rand() % 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x60; } break; case 4: if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } break; } @@ -6836,10 +6836,10 @@ extern void func_801837FC(void *a0); void func_80183740(s32 a0) { u8 m; - m = (u8)((u32)func_8004787C(*(s32 *)(a0 + 0x1C) << 4) >> 5); - *(s16 *)(a0 + 0x100) = m; - *(s16 *)(a0 + 0xFE) = m; - *(s16 *)(a0 + 0xFC) = m; + m = (u8)((u32)func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk1C << 4) >> 5); + ((Unkstruct_800B5CB8 *)a0)->unk100 = m; + ((Unkstruct_800B5CB8 *)a0)->unkFE = m; + ((Unkstruct_800B5CB8 *)a0)->unkFC = m; if (func_8012BEE8(a0) != 0) { func_801837FC(a0); } @@ -6874,44 +6874,44 @@ void func_801837FC(void *arg0) { func_8002A04C((s32)arg0); s0 = (s32)arg0; - if (*(s32 *)(s0 + 0xE4) == 0 && (*(u16 *)(s0 + 0x70) & 0x800) == 0) { - func_80016714(*(void **)(s0 + 0xD4), 0x38); + if (((Unkstruct_800B5CB8 *)s0)->unkE4 == 0 && (CAST_SIGN(u16, s0, 0x70) & 0x800) == 0) { + func_80016714(CAST_SIGN(void *, s0, 0xD4), 0x38); func_8012C098((void *)s0); } else { - *(s8 *)(s0 + 0xC1) = 0; - *(s16 *)(s0 + 0x5E) = 0; - *(s16 *)(s0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; + CAST_WIDTH(s16, s0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0; - if ((*(u16 *)(s0 + 0x70) & 0x800) == 0) { - *(s16 *)(s0 + 0x2) = 6; + if ((CAST_SIGN(u16, s0, 0x70) & 0x800) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unk2 = 6; func_8012E8A8((u8 *)s0); - func_80016714(*(void **)(s0 + 0xD4), 0x38); + func_80016714(CAST_SIGN(void *, s0, 0xD4), 0x38); } else { s32 p; s32 q; s32 a; s16 h1, h2, h3; - p = *(s32 *)(s0 + 0x78); - *(s16 *)(s0 + 0x2) = 1; - *(s32 *)(s0 + 0x1C) = 0x80; - *(s16 *)(s0 + 0x76) = *(u16 *)p; - q = *(s32 *)(s0 + 0x20); + p = ((Unkstruct_800B5CB8 *)s0)->unk78; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)s0)->unk76 = *(u16 *)p; + q = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(q + 0x1A) = 0x2000; *(s16 *)(q + 0x18) = 0x2000; - a = *(s32 *)(s0 + 0xD4); - h1 = *(u16 *)(s0 + 0x88); - h2 = *(u16 *)(s0 + 0x8A); - h3 = *(u16 *)(s0 + 0x8C); - *(s16 *)(s0 + 0x108) = 0; - *(s16 *)(s0 + 0x106) = 0; - *(s16 *)(s0 + 0x104) = 0; - *(s16 *)(s0 + 0x100) = 0; - *(s16 *)(s0 + 0xFE) = 0; - *(s16 *)(s0 + 0xFC) = 0; - *(s16 *)(s0 + 0x6) = h1; - *(s16 *)(s0 + 0xA) = h2; - *(s16 *)(s0 + 0xE) = h3; + a = ((Unkstruct_800B5CB8 *)s0)->unkD4; + h1 = ((Unkstruct_800B5CB8 *)s0)->unk88; + h2 = ((Unkstruct_800B5CB8 *)s0)->unk8A; + h3 = ((Unkstruct_800B5CB8 *)s0)->unk8C; + ((Unkstruct_800B5CB8 *)s0)->unk108 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk106 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)s0)->unk6 = h1; + ((Unkstruct_800B5CB8 *)s0)->unkA = h2; + ((Unkstruct_800B5CB8 *)s0)->unkE = h3; func_80183AC8(a, 0); func_8012B260((u8 *)s0); } @@ -6950,7 +6950,7 @@ void func_801839C4(s32 a0, s32 a1) { s32 buf[8]; s32 trailing[4]; - *(u16 *)(a0 + 0x106) += func_8012B608(*(s16 *)(a0 + 0x106), func_8012B864(a0), *(s32 *)(a0 + 0xE8)); + CAST_SIGN(u16, a0, 0x106) += func_8012B608(((Unkstruct_800B5CB8 *)a0)->unk106, func_8012B864(a0), ((Unkstruct_800B5CB8 *)a0)->unkE8); trailing[1] = 0; trailing[0] = 0; @@ -6969,31 +6969,31 @@ void func_80183A3C(s32 a0) s32 v1; s32 a1; - v0 = *(s32 *)(a0 + 0xE0); + v0 = ((Unkstruct_800B5CB8 *)a0)->unkE0; if (v0 == 0) { v0 = 1; goto END; } v0 = v0 - 1; - *(s32 *)(a0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v0; if (v0 > 0) { goto SET0; } - v1 = *(s32 *)(a0 + 0xD0); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkD0; v1 = v1 + 8; a1 = *(s32 *)v1; if ((a1 & 0x40000000) != 0) { - v1 = *(s32 *)(a0 + 0xCC); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; } else if (a1 < 0) { v0 = 1; - *(s32 *)(a0 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; goto END; } v0 = *(s32 *)v1; - *(s32 *)(a0 + 0xD0) = v1; - *(s32 *)(a0 + 0xE0) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = v1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v0; func_800183E0(*(s32 *)(v1 + 4)); SET0: @@ -7007,8 +7007,8 @@ void func_80183AC8(void *a0, s32 a1) { extern u16 D_801AE950[][2]; if (a0 != 0) { u16 *tbl = D_801AE950[a1]; - *(u16 *)(a0 + 0x28) = tbl[0]; - *(u16 *)(a0 + 0x2A) = tbl[1]; + ((Unkstruct_800B5CB8 *)a0)->unk28 = tbl[0]; + ((Unkstruct_800B5CB8 *)a0)->unk2A = tbl[1]; } } @@ -7026,9 +7026,9 @@ s32 func_80183AFC(s32 a0) return 0; } func_8001CB6C((u8 *)ret, D_801AE7EC, 0x298, 0x1B0); - *(u8 *)(ret + 0x27) = 0x68; - *(u16 *)(ret + 0x1A) = 0x1800; - *(u16 *)(ret + 0x18) = 0x1800; + ((Unkstruct_800B5CB8 *)ret)->unk27 = 0x68; + ((Unkstruct_800B5CB8 *)ret)->unk1A = 0x1800; + ((Unkstruct_800B5CB8 *)ret)->unk18 = 0x1800; return ret; } @@ -7106,7 +7106,7 @@ s32 func_80183CC4(s16 *a0, s32 a1) { if (obj == NULL) { return 0; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); *(u32 *)(sub + 0x20) = (u32)&D_801AE958; *(u16 *)(sub + 0x28) = 0x290; *(u16 *)(sub + 0x2A) = 0x1A0; @@ -7114,8 +7114,8 @@ s32 func_80183CC4(s16 *a0, s32 a1) { *(u16 *)(sub + 0x1A) = 1; *(u16 *)(sub + 0x18) = 1; *(u32 *)(sub + 0x4) |= 0x50000000; - *(u32 *)(obj + 0x1C) = 1; - *(u32 *)(obj + 0x2C) = a1; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 1; + CAST_WIDTH(u32, obj, 0x2C) = a1; *(u8 *)(sub + 0x24) = *(u8 *)(sub + 0x25) = *(u8 *)(sub + 0x26) = a1; return (s32)obj; } @@ -7134,22 +7134,22 @@ int param_1; u32 t; u8 b; - s1 = *(s32 *)(param_1 + 0x20); - if (*(u16 *)(param_1 + 2) == 0) { - r = func_8004787C(*(s32 *)(param_1 + 0x1C) << 6); + s1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + if (CAST_SIGN(u16, param_1, 2) == 0) { + r = func_8004787C(((Unkstruct_800B5CB8 *)param_1)->unk1C << 6); t = r * 3; t += t >> 31; t >>= 1; *(s16 *)(s1 + 0x18) = t; *(s16 *)(s1 + 0x1A) = t; - *(s32 *)(param_1 + 0x1C) += 1; - if (*(s32 *)(param_1 + 0x1C) >= 0x10) { - *(u16 *)(param_1 + 2) += 1; - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) * 2 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C >= 0x10) { + CAST_SIGN(u16, param_1, 2) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C * 2 - 1; } } else { - rs = func_8004787C(*(s32 *)(param_1 + 0x1C) << 5); - prod = *(s32 *)(param_1 + 0x2C) * rs; + rs = func_8004787C(((Unkstruct_800B5CB8 *)param_1)->unk1C << 5); + prod = CAST_WIDTH(s32, param_1, 0x2C) * rs; t = rs * 3; t += t >> 31; t >>= 1; @@ -7159,8 +7159,8 @@ int param_1; *(s8 *)(s1 + 0x24) = b; *(s8 *)(s1 + 0x25) = b; *(s8 *)(s1 + 0x26) = b; - *(s32 *)(param_1 + 0x1C) -= 1; - if (*(s32 *)(param_1 + 0x1C) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { func_801292C8((u8 *)param_1); } } @@ -7260,7 +7260,7 @@ void func_80183E70(s32 a0, s32 a1) { break; case 5: - t = *(s16 *)(a0 + 0xFC); + t = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (t == 1) { p = func_80132EF4(a0, 0x40); if (p != 0) { @@ -7369,7 +7369,7 @@ s32 func_801844C8(s32 a0) { s32 i; s32 j; - switch (*(s16 *)(a0 + 0xFC)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkFC) { case 1: src.z = 0x60; dst.z = 0x80; @@ -7436,17 +7436,17 @@ s32 func_801844C8(s32 a0) { } - src.x = *(u16 *)(a0 + 0x6) + D_801B2BA8[*(s16 *)(a0 + 0xFC) - 1].x; - src.y = *(u16 *)(a0 + 0xA) + D_801B2BA8[*(s16 *)(a0 + 0xFC) - 1].y; - src.z = *(u16 *)(a0 + 0xE) + D_801B2BA8[*(s16 *)(a0 + 0xFC) - 1].z; - dst.x = src.x + D_801B2BC8[*(s16 *)(a0 + 0xFC) - 1].x; - dst.y = src.y + D_801B2BC8[*(s16 *)(a0 + 0xFC) - 1].y; - dst.z = src.z + D_801B2BC8[*(s16 *)(a0 + 0xFC) - 1].z; + src.x = ((Unkstruct_800B5CB8 *)a0)->unk6 + D_801B2BA8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].x; + src.y = ((Unkstruct_800B5CB8 *)a0)->unkA + D_801B2BA8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].y; + src.z = ((Unkstruct_800B5CB8 *)a0)->unkE + D_801B2BA8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].z; + dst.x = src.x + D_801B2BC8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].x; + dst.y = src.y + D_801B2BC8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].y; + dst.z = src.z + D_801B2BC8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].z; if (func_80133784(0, &src, (s32)&dst) & 0x8000) { - *(s16 *)(a0 + 0x6) = (u16)dst.x - D_801B2BE8[*(s16 *)(a0 + 0xFC) - 1].x; - *(s16 *)(a0 + 0xE) = (u16)dst.z - D_801B2BE8[*(s16 *)(a0 + 0xFC) - 1].z; - func_80183E70(a0, *(s16 *)(a0 + 0xFC)); + ((Unkstruct_800B5CB8 *)a0)->unk6 = (u16)dst.x - D_801B2BE8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].x; + ((Unkstruct_800B5CB8 *)a0)->unkE = (u16)dst.z - D_801B2BE8[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].z; + func_80183E70(a0, ((Unkstruct_800B5CB8 *)a0)->unkFC); return 0; } return 1; @@ -7485,22 +7485,22 @@ void func_8018487C(s32 a0) { func_8012CBCC(a0); - x = *(u16 *)(a0 + 0x6); + x = ((Unkstruct_800B5CB8 *)a0)->unk6; src.x = x; - y = *(u16 *)(a0 + 0xA); + y = ((Unkstruct_800B5CB8 *)a0)->unkA; src.y = y + 0x50; - z = *(u16 *)(a0 + 0xE); + z = ((Unkstruct_800B5CB8 *)a0)->unkE; dst.x = x; dst.y = y + 0x70; src.z = z; dst.z = z; if (func_80133784(1, &src, (s32)&dst) != 0) { - *(s16 *)(a0 + 0xA) = dst.y - 0x60; - *(s16 *)(a0 + 0x2) = 4; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkA = dst.y - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80183E70(a0, 0); - *(s16 *)(a0 + 0xFE) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x40; func_8012E688((void *)a0, 0x6F1, 0); } @@ -7559,51 +7559,51 @@ void func_801849B4(s32 a0) { s16 out[8]; s32 d; - if (*(s16 *)(a0 + 0xDC) != 0) { - *(s16 *)(a0 + 0xDC) = *(s16 *)(a0 + 0xDC) - 1; - if (*(s16 *)(a0 + 0xDC) == 0) { - *(s32 *)(a0 + 0x10) = 0; - *(s32 *)(a0 + 0x44) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x48) = 0; - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x4C) = 0; - if (*(s16 *)(a0 + 0x70) == 1) { - if (*(s16 *)(a0 + 0xFC) == 2) { - *(s16 *)(a0 + 0xFC) = 1; - *(s16 *)(a0 + 0x1A) = 4; - *(s32 *)(a0 + 0x4C) = 0x4000; + if (CAST_WIDTH(s16, a0, 0xDC) != 0) { + CAST_WIDTH(s16, a0, 0xDC) = CAST_WIDTH(s16, a0, 0xDC) - 1; + if (CAST_WIDTH(s16, a0, 0xDC) == 0) { + CAST_WIDTH(s32, a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk44 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk4C = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 2) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = 4; + ((Unkstruct_800B5CB8 *)a0)->unk4C = 0x4000; } else { - *(s16 *)(a0 + 0xFC) = 2; - *(s16 *)(a0 + 0x1A) = -4; - *(s32 *)(a0 + 0x4C) = -0x4000; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 2; + CAST_ALIAS(s16, a0, 0x1A) = -4; + ((Unkstruct_800B5CB8 *)a0)->unk4C = -0x4000; } } else { - if (*(s16 *)(a0 + 0xFC) == 4) { - *(s16 *)(a0 + 0xFC) = 3; - *(s16 *)(a0 + 0x12) = 4; - *(s32 *)(a0 + 0x44) = 0x4000; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 4) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 3; + ((Unkstruct_800B5CB8 *)a0)->unk12 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk44 = 0x4000; } else { - *(s16 *)(a0 + 0xFC) = 4; - *(s16 *)(a0 + 0x12) = -4; - *(s32 *)(a0 + 0x44) = -0x4000; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 4; + CAST_ALIAS(s16, a0, 0x12) = -4; + ((Unkstruct_800B5CB8 *)a0)->unk44 = -0x4000; } } } } else { func_8012CBCC(a0); if (func_801844C8(a0) == 0) { - *(s16 *)(a0 + 0xDC) = 0x1E; + CAST_WIDTH(s16, a0, 0xDC) = 0x1E; } else { - src.x = *(u16 *)(a0 + 0x6) + D_801B2C08[*(s16 *)(a0 + 0xFC) - 1].x; - src.y = *(u16 *)(a0 + 0xA) + D_801B2C08[*(s16 *)(a0 + 0xFC) - 1].y; - src.z = *(u16 *)(a0 + 0xE) + D_801B2C08[*(s16 *)(a0 + 0xFC) - 1].z; + src.x = ((Unkstruct_800B5CB8 *)a0)->unk6 + D_801B2C08[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].x; + src.y = ((Unkstruct_800B5CB8 *)a0)->unkA + D_801B2C08[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].y; + src.z = ((Unkstruct_800B5CB8 *)a0)->unkE + D_801B2C08[((Unkstruct_800B5CB8 *)a0)->unkFC - 1].z; dst.x = src.x; dst.y = src.y + 0x20; dst.z = src.z; if (func_80133784(1, &src, (s32)&dst) != 0) { func_80183E70(a0, 5); - *(s16 *)(a0 + 0x84) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 1; src.z = 0; src.y = 0; src.x = 0; @@ -7613,11 +7613,11 @@ void func_801849B4(s32 a0) { d = 40000; } func_8002D59C(0x6F0, (0x7F - (d * 127) / 40000) | 0x1000, - *(u16 *)(a0 + 0x36)); + ((Unkstruct_800B5CB8 *)a0)->unk36); } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = 0; - func_8002D59C(4, 0x6F0, *(u16 *)(a0 + 0x36)); + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0; + func_8002D59C(4, 0x6F0, ((Unkstruct_800B5CB8 *)a0)->unk36); } } } @@ -7629,14 +7629,14 @@ void func_801849B4(s32 a0) { extern void (*D_801B2C28[])(void); void func_80184C1C(void *a0) { - D_801B2C28[*(u16 *)((s32)a0 + 0x2)](); + D_801B2C28[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_801B2C3C[])(void); void func_80184C58(void *a0) { - D_801B2C3C[*(u16 *)((s32)a0 + 0x2)](); + D_801B2C3C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7650,20 +7650,20 @@ void func_80184C94(s32 a0) { extern u8 D_80187C00[]; if (func_8012C354(a0, (s32)D_801B2B74) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; func_8012A828(a0, (s32)D_80187C00); - *(u8 *)(a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; func_8012B23C((void *)a0); - if (*(s16 *)(a0 + 0x70) == 0) { - *(s16 *)(a0 + 2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 2) = 3; - if (*(s16 *)(a0 + 0x70) == 1) { - *(s16 *)(a0 + 0xFC) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 2; } else { - *(s16 *)(a0 + 0xFC) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 3; } - *(s16 *)(a0 + 0xDC) = 0x1E; + CAST_WIDTH(s16, a0, 0xDC) = 0x1E; } func_8012C588(0x1C4, a0); } @@ -7681,18 +7681,18 @@ void func_80184D3C(void *a0) { void func_80184D6C(void *a0) { extern void func_8012B23C(void *a0); - s32 counter = *(s32 *)((s32)a0 + 0x1C); + s32 counter = ((Unkstruct_800B5CB8 *)a0)->unk1C; s32 y; if (counter == 0) { - *(u16 *)((s32)a0 + 0xA) -= 4; - y = *(u16 *)((s32)a0 + 0xFE) - 1; - *(u16 *)((s32)a0 + 0xFE) = y; + ((Unkstruct_800B5CB8 *)a0)->unkA -= 4; + y = CAST_SIGN(u16, (s32)a0, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = y; if ((y << 0x10) == 0) { func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - *(s32 *)((s32)a0 + 0x1C) = counter - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = counter - 1; } } @@ -7787,46 +7787,46 @@ void func_80184E98(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801B9454); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B9454); func_8012A828((s32)a0, (s32)&D_801C0B98); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } diff --git a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c index 4800bda153..0a0a48c9ea 100644 --- a/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c +++ b/src/ov_SC03_098/ov_SC03_098_jr_8017D898.c @@ -3048,7 +3048,7 @@ s32 func_8017EF28(void) { extern void (*D_80199C48[])(void); void func_8017EF48(void *a0) { - D_80199C48[*(u16 *)((s32)a0 + 0x2)](); + D_80199C48[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3066,30 +3066,30 @@ void func_8017EF84(s32 a0) { extern u16 D_80199D98[]; extern u16 D_80199D9A[]; - s32 v0 = *(u16 *)(a0 + 0x70) & 0xF; + s32 v0 = CAST_SIGN(u16, a0, 0x70) & 0xF; u16 flag; if (func_8012C438(a0, (s32)(D_80199C90 + v0 * 52)) != 0) { func_8012A828(a0, (s32)D_8018564C); - *(u8 *)(a0 + 0x75) = 0; - *(u32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; - *(u16 *)(a0 + 0xFE) = D_80199D94[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x100) = D_80199D96[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x102) = D_80199D98[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x104) = D_80199D9A[*(s16 *)(a0 + 0xFC) * 4]; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_80199D94[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk100 = D_80199D96[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk102 = D_80199D98[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk104 = D_80199D9A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); - flag = *(u16 *)(a0 + 0x70) & 0xF0; + flag = CAST_SIGN(u16, a0, 0x70) & 0xF0; switch (flag) { case 0: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; case 0x10: - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; case 0x20: - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; } func_8012C588(0x1C4, a0); @@ -3124,12 +3124,12 @@ void func_8017F128(s32 a0) { if (func_8012C354(a0, (s32)D_80199BE4) != 0) { func_8012A828(a0, (s32)D_8018564C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 8; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); - old_fc = *(u16 *)(a0 + 0xFC); - *(u16 *)(a0 + 0xFC) = 0x60; - *(u16 *)(a0 + 0xFE) = old_fc; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); + old_fc = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unkFE = old_fc; } } @@ -3154,16 +3154,16 @@ void func_8017F1A0(s32 a0) { s2 = a0; - sum = *(u16 *)(s2 + 0xFE) + *(u16 *)(s2 + 0xFC); - *(u16 *)(s2 + 0xFE) = sum & 0xFFF; + sum = CAST_SIGN(u16, s2, 0xFE) + CAST_SIGN(u16, s2, 0xFC); + ((Unkstruct_800B5CB8 *)s2)->unkFE = sum & 0xFFF; if ((sum & 0x7FF) < 0x61) { func_8002D4C8(0x6A5, 0); } - v0 = func_80047948(*(s16 *)(s2 + 0xFE)); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x14) = v0 >> 3; + v0 = func_80047948(((Unkstruct_800B5CB8 *)s2)->unkFE); + *(s16 *)(((Unkstruct_800B5CB8 *)s2)->unk20 + 0x14) = v0 >> 3; - if (*(s16 *)(s2 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)s2)->unk70 != 0) { func_8012B414(s2); } @@ -3308,7 +3308,7 @@ void func_8017F4A4(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -3346,18 +3346,18 @@ void func_8017F4A4(s32 a0) { } } - D_8019BD90[*(u16 *)(a0 + 0x2)](a0); + D_8019BD90[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -3460,93 +3460,93 @@ void func_8017F8C4(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_8019C080[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019C082[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8019C084[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019C080[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019C082[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019C084[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019BDE4); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019BDE4); func_8012A828(a0, (s32)D_8019BEA4); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019BF2C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019BF2C); func_8012A828(a0, (s32)D_8019BFEC); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_8019C0D0; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_8019C0F4; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_8019BDA8; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_8019C0D0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_8019C0F4; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_8019BDA8; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019BDE4); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019BDE4); func_8012A828(a0, (s32)D_8019BEA4); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019BF2C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019BF2C); func_8012A828(a0, (s32)D_8019BFEC); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019C0E0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019C0E0); func_8012A828(a0, (s32)D_8019C0EC); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019BDE4); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019BDE4); func_8012A828(a0, (s32)D_8019BEA4); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -3589,15 +3589,15 @@ void func_8017FF04(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -3606,29 +3606,29 @@ void func_8017FF04(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(g1 + 0x1A) = tmp * 0x300; *(s16 *)(g1 + 0x18) = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; } @@ -3637,30 +3637,30 @@ tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3676,20 +3676,20 @@ void func_801802B4(void *a0) { s32 t; u16 *q; - D_8019C104[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019C104[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3702,7 +3702,7 @@ void func_801802B4(void *a0) { extern void (*D_8019C1B0[])(void); void func_801803A0(void *a0) { - D_8019C1B0[*(u16 *)((s32)a0 + 0x2)](); + D_8019C1B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3710,7 +3710,7 @@ void func_801803A0(void *a0) { extern void (*D_8019C264[])(void); void func_801803DC(void *a0) { - D_8019C264[*(u16 *)((s32)a0 + 0x2)](); + D_8019C264[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3738,17 +3738,17 @@ void func_80180430(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_8019BCE4) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_8019BCC4; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019BCC4; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018564C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3775,18 +3775,18 @@ void func_801804F0(void *a0) { extern u8 D_8019BDA8[]; extern u8 D_8019BCC4[]; if (func_8012C354((s32)a0, (s32)D_8019BDA8) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_8019BCC4; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019BCC4; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018564C); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3800,13 +3800,13 @@ void func_80180574(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3863,16 +3863,16 @@ void func_80180664(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019C074); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3892,18 +3892,18 @@ void func_80180728(void *a0) { extern u16 D_8019C084[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_8019C080[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_8019C082[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_8019C084[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019C080[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_8019C082[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019C084[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3917,8 +3917,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80180808(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80180808 *ptr = *(Struct_80180808 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80180808 *ptr = CAST_SIGN(Struct_80180808 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3941,18 +3941,18 @@ void func_80180878(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019C074); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3980,18 +3980,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8018095C(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { ((void (*)(void *))func_8012C218)(temp); } @@ -4018,12 +4018,12 @@ void func_80180A14(s32 a0) { extern s16 D_8019C176[]; if (func_8012C354(a0, (s32)D_8019C13C) != 0) { func_8012A828(a0, (s32)D_8018564C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_8019C170[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019C172[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8019C174[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_8019C176[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019C170[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019C172[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019C174[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_8019C176[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -4088,24 +4088,24 @@ void func_80180BA8(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_8019C1BC); func_8012A828(param_1, (s32)D_8019C21C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -4163,11 +4163,11 @@ extern void (*D_8019E1D4[])(void); extern void func_8012C0EC(void *a0); void func_80180E30(void *a0) { - D_8019E1D4[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - void *ptr = *(void **)((s32)a0 + 0x20); - *(u16 *)((s32)ptr + 0x2C) |= 0x10; - if (!(*(u16 *)((s32)a0 + 0x70) & 0x20)) { + D_8019E1D4[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + void *ptr = CAST_SIGN(void *, (s32)a0, 0x20); + ((Unkstruct_800B5CB8 *)ptr)->unk2C |= 0x10; + if (!(CAST_SIGN(u16, (s32)a0, 0x70) & 0x20)) { func_8012C0EC(a0); } } @@ -4199,38 +4199,38 @@ void func_80180EBC(s32 a0) { s32 p; s32 dst; - if ((*(u16 *)(a0 + 0x70) & 0xF) == 0 && func_80181F34() == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0xF) == 0 && func_80181F34() == 0) { func_8012CAE4((void *)a0); return; } - state = *(u16 *)(a0 + 0x70) & 0xF; + state = CAST_SIGN(u16, a0, 0x70) & 0xF; if (func_8012C354(a0, (s32)(D_8019E0F4 + state * 0x34)) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_8019E194; - *(s32 *)(a0 + 0xB4) = -2; - *(s32 *)(a0 + 0xC4) |= 1; - *(s16 *)(a0 + 0xFE) = (rand() % 16) + 8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019E194; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -2; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() % 16) + 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - flag = *(s16 *)(a0 + 0x70); + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) == 0) { if ((flag & 0x800) != 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8A8((u8 *)a0); } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } else { - p = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); - dst = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + dst = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(dst + 0x18) = *(s16 *)(dst + 0x1A) = *(s16 *)(dst + 0x1C) = 1; func_8012B2CC(a0); } @@ -4239,11 +4239,11 @@ void func_80180EBC(s32 a0) { void func_80181028(void *a0) { func_8012B23C(a0); - *(s32 *)((s32)a0 + 0x1C) = 0x40; - *(s16 *)((s32)a0 + 0x2) = 2; - *(s16 *)((s32)a0 + 0x34) = 0; - *(s32 *)((s32)a0 + 0xE4) = 0; - *(s32 *)((s32)a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } @@ -4346,23 +4346,23 @@ void func_8018106C(s32 a0) { s32 off; s32 base; - ang = func_8004787C(*(s32 *)(a0 + 0xE4)); - if (*(s16 *)(a0 + 0xAA) == 0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 2) + 0x1000; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000 - (ang >> 1); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 1) + 0x1000; + ang = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkE4); + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 2) + 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000 - (ang >> 1); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 1) + 0x1000; } else { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = (ang >> 3) + 0x700; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x700 - (ang >> 2); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = (ang >> 2) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = (ang >> 3) + 0x700; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x700 - (ang >> 2); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = (ang >> 2) + 0x700; } - if (*(u16 *)(m + 0xA3AA) % *(s16 *)(a0 + 0xFE) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + func_8012B8E4(a0, 0x20); + if (*(u16 *)(m + 0xA3AA) % ((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + func_8012B8E4(a0, 0x20); } - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: { s32 t; s32 r; @@ -4374,39 +4374,39 @@ void func_8018106C(s32 a0) { func_8012B178(a0, t); r = ((s32 (*)(s32))func_8012CBA4)(a0); if (r & 0x8000) { - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if ((r & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; - } else if (--*(s32 *)(a0 + 0xE8) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; + } else if (--((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { if (rand() & 1) { s32 v; - *(u16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; off = rand() % 1024; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if ((rand() & 1) == 0) { v = base - off; } else { v = base + off; } - *(s32 *)(a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; } else { - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } } break; } case 1: { s32 t; - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (ang >= 0) { t = -(ang << 4) - 0x4000; } else { @@ -4415,22 +4415,22 @@ void func_8018106C(s32 a0) { func_8012B178(a0, t); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0xE0) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800; - *(s32 *)(a0 + 0x1C) = rand() % 10 + 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 10 + 0x14; } else if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; } break; } case 2: { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE0), 0x14); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE0, 0x14); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012B030((u8 *)a0); } break; @@ -4438,10 +4438,10 @@ void func_8018106C(s32 a0) { } func_80181DCC(a0); - func_80181CFC(a0, D_8019E1F0[*(u16 *)(a0 + 0x70) & 0xF]); - *(s32 *)(a0 + 0xE4) = (*(s32 *)(a0 + 0xE4) + 0x40) & 0x7FF; - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + func_80181CFC(a0, D_8019E1F0[CAST_SIGN(u16, a0, 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (((Unkstruct_800B5CB8 *)a0)->unkE4 + 0x40) & 0x7FF; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -4480,12 +4480,12 @@ s32 a0; s32 v1; if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 6; - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; *(u16 *)(v1 + 0x1C) = 0x400; *(u16 *)(v1 + 0x18) = 0x400; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1A) = 0x3000; } } @@ -4503,14 +4503,14 @@ void func_801814FC(s32 ent) { s32 state; s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */ - state = *(u16 *)(ent + 0x34); + state = ((Unkstruct_800B5CB8 *)ent)->unk34; switch (state) { case 0: if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) { return; } - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8012E88C((u8 *)ent); func_8012B21C((void *)ent); return; @@ -4518,8 +4518,8 @@ void func_801814FC(s32 ent) { if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) { return; } - *(s32 *)(ent + 0x1C) = state; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = state; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; func_8002D4C8(0x703, 0); /* fallthrough */ case 2: { @@ -4527,19 +4527,19 @@ void func_801814FC(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = (t * 0x1c00 >> 12) + 0x400; - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12); - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3000 - (t * 0x2800 >> 12); + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (cnt < 9) { return; } - *(s32 *)(ent + 0x1C) = 1; - *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = 1; + ((Unkstruct_800B5CB8 *)ent)->unk34 = ((Unkstruct_800B5CB8 *)ent)->unk34 + 1; return; } case 3: { @@ -4547,16 +4547,16 @@ void func_801814FC(s32 ent) { s32 v; s32 cnt; - sub = *(s32 *)(ent + 0x20); - t = func_8004787C(*(s32 *)(ent + 0x1C) << 7); + sub = ((Unkstruct_800B5CB8 *)ent)->unk20; + t = func_8004787C(((Unkstruct_800B5CB8 *)ent)->unk1C << 7); v = 0x2000 - ((t << 12) >> 12); - *(s16 *)(sub + 0x1C) = v; - *(s16 *)(sub + 0x18) = v; - *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800; - cnt = *(s32 *)(ent + 0x1C) + 1; - *(s32 *)(ent + 0x1C) = cnt; + CAST_WIDTH(s16, sub, 0x1C) = v; + ((Unkstruct_800B5CB8 *)sub)->unk18 = v; + ((Unkstruct_800B5CB8 *)sub)->unk1A = (t * 0x800 >> 12) + 0x800; + cnt = ((Unkstruct_800B5CB8 *)ent)->unk1C + 1; + ((Unkstruct_800B5CB8 *)ent)->unk1C = cnt; if (8 < cnt) { - *(u16 *)(ent + 2) = 1; + ((Unkstruct_800B5CB8 *)ent)->unk2 = 1; } return; } @@ -4573,18 +4573,18 @@ void func_801816AC(s32 a0) { s32 m; s32 i; - m = ((*(u16 *)(a0 + 0x70) & 0xF) | -0x8000) << 16; + m = ((CAST_SIGN(u16, a0, 0x70) & 0xF) | -0x8000) << 16; for (i = 0; i < 4; i++) { func_80181F88((void *)(a0 + 0x7C), - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), rand() % 4 * -0x10000 + -0x40000, m >> 16); } - *(s32 *)(a0 + 0xEC) = 0x40000; + CAST_WIDTH(s32, a0, 0xEC) = 0x40000; func_8012B23C((void *)a0); - func_8012B178(a0, *(s32 *)(a0 + 0xEC)); - *(s32 *)(a0 + 0x1C) = 0x10; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, CAST_WIDTH(s32, a0, 0xEC)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -4602,16 +4602,16 @@ void func_80181778(s32 a0) { s32 delta; s32 ret; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - delta = func_80047948((*(s32 *)(a0 + 0x1C) - 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C - 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; ret = ((s32(*)(s32))func_8012CBA4)(a0); if (ret & 0x1000) { func_80131E00((void *)a0, 0x12); @@ -4619,28 +4619,28 @@ void func_80181778(s32 a0) { } if ((ret & 0x2000) == 0) { func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; break; } - if (*(s32 *)(a0 + 0x1C) % 3 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C % 3 == 0) { func_80143B6C(a0, 1); } if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: - delta = func_80047948((*(s32 *)(a0 + 0x1C) + 1) << 6) - - func_80047948(*(s32 *)(a0 + 0x1C) << 6); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) + delta; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - (delta >> 3); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) + delta; - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x10) { + delta = func_80047948((((Unkstruct_800B5CB8 *)a0)->unk1C + 1) << 6) - + func_80047948(((Unkstruct_800B5CB8 *)a0)->unk1C << 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 + delta; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - (delta >> 3); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) + delta; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x10) { func_80131C78(a0); } break; @@ -4656,8 +4656,8 @@ void func_80181778(s32 a0) { break; } - if (*(s32 *)(a0 + 0x14) > 0x100000) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 > 0x100000) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } } @@ -4687,15 +4687,15 @@ void func_801819F0(s32 a0) { s32 ret1; s32 ret2; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; head1 = 0; head2 = 0; { - s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s32 fieldval = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; angle1 = fieldval + 0x400; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); maskraw = flags & 0xF; angle2 = fieldval - 0x400; } @@ -4753,21 +4753,21 @@ void func_80181C50(s32 a0) { s32 flags; - flags = *(u16 *)(a0 + 0x70); + flags = CAST_SIGN(u16, a0, 0x70); if (flags & 0x800) { if (flags & 0x10) { - *(s16 *)(a0 + 0x2) = 5; - *(s8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; - *(s16 *)(a0 + 0x5C) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x2); - *(s16 *)(a0 + 0x76) = *(u16 *)(*(s32 *)(a0 + 0x78) + 0x0); - *(s16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x88); - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x8A); - *(s16 *)(a0 + 0xE) = *(u16 *)(a0 + 0x8C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = 0; - *(s16 *)(a0 + 0xAA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk76 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk78 + 0x0); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAA = 0; func_8012B2CC(a0); return; } @@ -4853,17 +4853,17 @@ void func_80181DCC(s32 a0) { sp18.vz = e->z; sp18.vx += off; sp18.vz += (off >> 16); - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; v0 = func_8012CEB0((s32)&sp10, (s32)&sp18, 0); if ((v0 & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(s16 *)(a0 + 0x6) = sp18.vx; - *(s16 *)(a0 + 0xA) = sp18.vy; - *(s16 *)(a0 + 0xE) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return; } } @@ -4880,7 +4880,7 @@ s32 func_80181F34(void) a0 = 0; v1 = D_801202A0; do { - if (*(u16 *)(v1 + 0) == 0x17F && (*(u16 *)(v1 + 0x70) & 0xF) == 0) + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x17F && (CAST_SIGN(u16, v1, 0x70) & 0xF) == 0) a1++; a0++; v1 += 0x10C; @@ -4972,7 +4972,7 @@ s32 func_80181F88(void *a0, s32 a1, s32 a2, s32 a3) { extern void (*D_8019E224[])(void); void func_8018218C(void *a0) { - D_8019E224[*(u16 *)((s32)a0 + 0x2)](); + D_8019E224[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4988,26 +4988,26 @@ void func_801821C8(s32 s0) { v1 = func_80182574(s0, (s32)D_800D3918, 0x11); if ((v1 & 0xFF) == 0) { if ((v1 & 0x2000) != 0) { - if (*(s32 *)(s0 + 0x2C) != 0) { - *(s32 *)(s0 + 0x1C) = 0x1E; - *(s16 *)(s0 + 0x2) = 4; + if (CAST_WIDTH(s32, s0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 4; return; } goto call; } else { - if (*(s32 *)(s0 + 0x1C) < 0x23) { - *(s32 *)(s0 + 0x14) += 0x10000; - if (*(s32 *)(s0 + 0x2C) != 0) { - *(u8 *)(*(s32 *)(s0 + 0x20) + 0x27) = 0x62; + if (((Unkstruct_800B5CB8 *)s0)->unk1C < 0x23) { + ((Unkstruct_800B5CB8 *)s0)->unk14 += 0x10000; + if (CAST_WIDTH(s32, s0, 0x2C) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk27 = 0x62; } } - *(s32 *)(s0 + 0x1C) -= 1; - if (*(s32 *)(s0 + 0x1C) != 0) { + ((Unkstruct_800B5CB8 *)s0)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)s0)->unk1C != 0) { return; } } } - v1 = *(s32 *)(s0 + 0x2C); + v1 = CAST_WIDTH(s32, s0, 0x2C); if (v1 != 0) { if (v1 != -1) { *(s32 *)(v1 + 0x30) -= 1; @@ -5022,11 +5022,11 @@ extern void func_801827A0(s32 a0); void func_801822AC(s32 a0) { func_801827A0(a0); - if (*(s32 *)(a0 + 0x30) == 0) { - *(s16 *)(a0 + 0x2) = 6; - *(s32 *)(a0 + 0x1C) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk30 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } else { - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } @@ -5047,10 +5047,10 @@ void func_80182300(s32 a0) { if (func_801826C8(a0, -0x18000) == 0) { func_801292C8((u8 *)a0); } else { - partner = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x14) = 0x18000; + partner = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; - if (*(s32 *)(a0 + 0x1C) >= 0x150) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x150) { *(s32 *)(partner + 0x30) -= 1; func_801292C8((u8 *)a0); } else { @@ -5061,9 +5061,9 @@ void func_80182300(s32 a0) { func_801827A0(a0); func_80182574(a0, (s32)D_800D3918, 0); - sp10.vx = *(u16 *)(a0 + 0x6); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; sp10.vy = 0; - sp10.vz = *(u16 *)(a0 + 0xE); + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx = *(u16 *)(partner + 0x6); sp18.vy = 0; sp18.vz = *(u16 *)(partner + 0xE); @@ -5071,9 +5071,9 @@ void func_80182300(s32 a0) { ret = func_800132BC((s32)&sp10, (s32)&sp18); if (ret < 0x41) { *(s32 *)(partner + 0x30) -= 1; - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } - *(s32 *)(a0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; } } } @@ -5108,10 +5108,10 @@ void func_80182480(s32 arg0) { s32 s0; func_801827A0(arg0); s0 = arg0; - if (*(u16 *)(*(s32 *)(s0 + 0x2C)) == 0) { + if (*(u16 *)(CAST_WIDTH(s32, s0, 0x2C)) == 0) { func_801292C8((u8 *)s0); } - *(s32 *)(s0 + 0x1C) += 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C += 1; } @@ -5121,11 +5121,11 @@ void func_801824D8(s32 s0) { u16 sp10[10]; func_801827A0(s0); - if (++*(s32 *)(s0 + 0x1C) >= 0x1F) { + if (++((Unkstruct_800B5CB8 *)s0)->unk1C >= 0x1F) { u16 t; - sp10[0] = *(u16 *)(s0 + 0x6); - sp10[1] = *(u16 *)(s0 + 0xA); - t = *(u16 *)(s0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)s0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)s0)->unkA; + t = CAST_ALIAS(u16, s0, 0xE); sp10[3] = 0x17F; sp10[4] = 0x8000; sp10[5] = 0; @@ -5133,7 +5133,7 @@ void func_801824D8(s32 s0) { sp10[7] = 0; sp10[6] = 0x7FFF; sp10[2] = t; - func_8012C51C((void *)sp10, *(s32 *)(s0 + 0x24)); + func_8012C51C((void *)sp10, CAST_WIDTH(s32, s0, 0x24)); func_801292C8((u8 *)s0); } } @@ -5152,18 +5152,18 @@ s32 func_80182574(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5173,12 +5173,12 @@ s32 func_80182574(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -5198,7 +5198,7 @@ s32 func_801826C8(s32 arg0, s32 arg1) s32 vec[4]; s16 *ptr; - ptr = *(s16 **)(arg0 + 0x2C); + ptr = CAST_WIDTH(s16 *, arg0, 0x2C); if (*(u16 *)ptr == 0) { return 0; } @@ -5221,10 +5221,10 @@ void func_801827A0(s32 a0) { s32 sub; s32 res; - t = func_8004787C((*(s32 *)(a0 + 0x1C) << 7) & 0x780); - w = *(s32 *)(a0 + 0x34); + t = func_8004787C((((Unkstruct_800B5CB8 *)a0)->unk1C << 7) & 0x780); + w = CAST_WIDTH(s32, a0, 0x34); q = w >> 2; - sub = *(s32 *)(a0 + 0x20); + sub = ((Unkstruct_800B5CB8 *)a0)->unk20; res = w - ((q * t) >> 12); *(s16 *)(sub + 0x1A) = res; *(s16 *)(sub + 0x18) = res; @@ -5234,7 +5234,7 @@ void func_801827A0(s32 a0) { extern void (*D_8019E2B8[])(void); void func_80182800(void *a0) { - D_8019E2B8[*(u16 *)((s32)a0 + 0x2)](); + D_8019E2B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5342,46 +5342,46 @@ void func_801828E4(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801A7970); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A7970); func_8012A828((s32)a0, (s32)&D_801AF0B4); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { ((void (*)(void *))func_8012C218)((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -5413,7 +5413,7 @@ void func_80182A68(void *a0) { extern s32 D_801A17B4; extern s32 D_801A17FC; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801A15DC + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -5421,58 +5421,58 @@ void func_80182A68(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: func_8012A828((s32)a0, (s32)D_801ADFBC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A1714; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A1714; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: func_8012A828((s32)a0, (s32)D_801AD884); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A17B4; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A17B4; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: func_8012A828((s32)a0, (s32)&D_801AEF34); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A17FC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A17FC; break; case 4: func_8012A828((s32)a0, (s32)D_801ADFBC); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A1714; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A1714; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8012A828((s32)a0, (s32)D_801AEDB4); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { func_8012A828((s32)a0, (s32)D_801ADFBC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A1714; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A1714; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -5594,61 +5594,61 @@ void func_80182C8C(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, (s32)D_801ADFBC); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { func_8012A828(a0, (s32)D_801AD92C); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -5675,8 +5675,8 @@ void func_80182C8C(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5719,34 +5719,34 @@ void func_80183040(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -5760,17 +5760,17 @@ void func_80183040(s32 a0) { func_8012A828(a0, (s32)D_801AE23C); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { func_8012A828(a0, (s32)D_801AEAC4); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5873,34 +5873,34 @@ void func_80183280(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801A1874); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -5953,39 +5953,39 @@ void func_801834E8(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801A1874); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, (s32)D_801AE57C); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -6040,10 +6040,10 @@ void func_80183690(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -6067,27 +6067,27 @@ void func_80183690(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { func_8012A828(a0, (s32)&D_801AF0CC); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801A15AC | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A15AC | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801A1880); @@ -6121,36 +6121,36 @@ void func_801838DC(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -6182,8 +6182,8 @@ void func_80183A28(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -6213,22 +6213,22 @@ void func_80183AE0(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -6238,13 +6238,13 @@ void func_80183AE0(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -6262,16 +6262,16 @@ void func_80183C34(void *a0) { u16 temp; s32 a1; - D_801A1928[*(u16 *)((s32)a0 + 0x2)](a0); + D_801A1928[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { ((void (*)(void *))func_8012C218)(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -6289,15 +6289,15 @@ void func_80183CE0(void *a0) { extern u16 D_80126B96; u16 *q; - D_801A1A88[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A1A88[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; ((void (*)(void *))func_8012C218)(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -6319,17 +6319,17 @@ void func_80183D90(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -6339,14 +6339,14 @@ void func_80183D90(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801AEE4C); - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A1714; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801A15AC | 0x40000000 | 0x20000000; - *(s16 *)((s32)a0 + 0x88) = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0x8A) = *(u16 *)((s32)a0 + 0xA); - *(s16 *)((s32)a0 + 0x8C) = *(u16 *)((s32)a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A1714; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A15AC | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } } @@ -6402,42 +6402,42 @@ void func_80183E78(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a2; buf[6] = a2; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) != 0) { - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) | 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) | 0x8000; func_80131E00(a0, 6); } else { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801AD404) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801AD404) { func_8012A828((s32)a0, (s32)&D_801AD1FC); - *(u16 *)((s32)a0 + 0x2) = 0x14; - *(u16 *)((s32)a0 + 0x34) = 1; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0xCC) = (s32)&D_801ADFBC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801ADFBC; } else { - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_8012A828((s32)a0, (s32)&D_801AEAC4); } else { func_8012A828((s32)a0, (s32)&D_801ADFBC); } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; } } @@ -6453,23 +6453,23 @@ extern void func_8012C098(void *param_1); void func_80183F94(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -6488,19 +6488,19 @@ void func_80184074(s32 a0) { V8_80184074 sp10; V8_80184074 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801A1590); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -6516,18 +6516,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_8018414C(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -6565,17 +6565,17 @@ void func_801841F0(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -6585,8 +6585,8 @@ void func_801841F0(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801AEF34); - *(u16 *)((s32)a0 + 0x2) = 6; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xA810; } } @@ -6614,9 +6614,9 @@ void func_80184294(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -6630,9 +6630,9 @@ void func_80184294(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -6644,7 +6644,7 @@ void func_80184354(s32 a0) { extern u8 D_801A15A0[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801A15A0); } @@ -6683,11 +6683,11 @@ void func_8018441C(s32 a0) { extern u8 D_801ADA9C[]; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8012A828(a0, (s32)D_801ADA9C); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } } @@ -6712,16 +6712,16 @@ void func_80184478(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)D_801ADA9C); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_801A1854, (s32)&D_801A185C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -6743,8 +6743,8 @@ void func_80184550(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -6753,12 +6753,12 @@ void func_80184550(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { func_8012A828((s32)a0, (s32)D_801ADA9C); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6783,15 +6783,15 @@ void func_801845E4(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)&D_801AE7B4); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_801A1854, (s32)&D_801A185C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -6822,20 +6822,20 @@ void func_801846B0(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801A188C); *(s16 *)(a0 + 0x16) = -0x8; func_8012A828(a0, (s32)D_801AD884); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801A1864, (s32)D_801A186C, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -6858,21 +6858,21 @@ void func_80184788(s32 a0) { extern s32 D_801A15BC; u16 temp; - if (*(s32 *)(a0 + 0x94) == 0xD) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { func_8002D4C8(0x702, 0x107F); } func_8012CBCC(a0); - temp = *(u16 *)(a0 + 0x102) + 1; - *(u16 *)(a0 + 0x102) = temp; + temp = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = temp; if ((s16)temp == 0x1E) { - *(u16 *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, (s32)&D_801AD884); - *(u16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x58) = ((s32)&D_801A15BC | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)&D_801A15BC | 0x40000000) | 0x20000000; } } @@ -6916,13 +6916,13 @@ void func_80184884(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; func_8012A828(entity, (s32)&D_801AE344); } else { func_8012A828(entity, (s32)&D_801AEAC4); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -6940,10 +6940,10 @@ void func_80184924(s32 a0) { result = func_80153BD8(a0); if (result == 0) { func_8012A828(a0, (s32)&D_801AEAC4); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -6969,11 +6969,11 @@ void func_80184978(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801AE684); } else { func_8012A828(a0, (s32)&D_801AEF34); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -6996,7 +6996,7 @@ void func_80184A0C(s32 a0) func_8012A828(a0, (s32)&D_801AE7B4); v0 = 0x6; } - *(s16 *)(a0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -7021,9 +7021,9 @@ extern void func_8012A828(s32 a0, s32 a1); void func_80184A7C(s32 a0) { - if (((*(u16 *)(a0 + 0x72) & 0x4000) != 0) || (*(s16 *)(a0 + 0x98) == 0)) { - *(s16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); - func_8012A828(a0, *(s32 *)(a0 + 0xCC)); + if (((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) || (((Unkstruct_800B5CB8 *)a0)->unk98 == 0)) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; + func_8012A828(a0, ((Unkstruct_800B5CB8 *)a0)->unkCC); } } @@ -7049,25 +7049,25 @@ void func_80184AC8(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A18EC); func_8012A828(param_1, (s32)D_801A1904); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801A191C); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -7124,7 +7124,7 @@ void func_80184C38(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -7132,26 +7132,26 @@ void func_80184C38(s32 a0) func_8001CA1C(v0, (s32)&D_801A1934); func_8012A828(a0, (s32)&D_801A19F4); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801A1A7C); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -7180,5 +7180,5 @@ void func_80184D7C(void *a0) { extern void (*D_801C2A8C[])(void); void func_80184DE8(void *a0) { - D_801C2A8C[*(u16 *)((s32)a0 + 0x2)](); + D_801C2A8C[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c b/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c index 380f2c54ff..65c4b89472 100644 --- a/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c +++ b/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.c @@ -3127,7 +3127,7 @@ void func_8017D708(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -3165,18 +3165,18 @@ void func_8017D708(s32 a0) { } } - D_801985B8[*(u16 *)(a0 + 0x2)](a0); + D_801985B8[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -3279,93 +3279,93 @@ void func_8017DB28(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801988A8[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801988AA[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801988AC[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801988A8[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801988AA[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801988AC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019860C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019860C); func_8012A828(a0, (s32)D_801986CC); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80198754); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80198754); func_8012A828(a0, (s32)D_80198814); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801988F8; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_8019891C; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801985D0; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801988F8; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_8019891C; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801985D0; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019860C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019860C); func_8012A828(a0, (s32)D_801986CC); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80198754); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80198754); func_8012A828(a0, (s32)D_80198814); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80198908); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80198908); func_8012A828(a0, (s32)D_80198914); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019860C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019860C); func_8012A828(a0, (s32)D_801986CC); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -3408,15 +3408,15 @@ void func_8017E168(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -3425,61 +3425,61 @@ void func_8017E168(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3494,20 +3494,20 @@ void func_8017E518(void *a0) { s32 t; u16 *q; - D_8019892C[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019892C[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3519,7 +3519,7 @@ void func_8017E518(void *a0) { extern void (*D_801989D8[])(void); void func_8017E604(void *a0) { - D_801989D8[*(u16 *)((s32)a0 + 0x2)](); + D_801989D8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3527,7 +3527,7 @@ void func_8017E604(void *a0) { extern void (*D_80198A8C[])(void); void func_8017E640(void *a0) { - D_80198A8C[*(u16 *)((s32)a0 + 0x2)](); + D_80198A8C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3556,17 +3556,17 @@ void func_8017E694(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_8019850C) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801984EC; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801984EC; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018374C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3594,18 +3594,18 @@ void func_8017E754(void *a0) { extern u8 D_801985D0[]; extern u8 D_801984EC[]; if (func_8012C354((s32)a0, (s32)D_801985D0) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_801984EC; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801984EC; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_8018374C); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3619,13 +3619,13 @@ void func_8017E7D8(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3682,16 +3682,16 @@ void func_8017E8C8(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019889C); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3711,18 +3711,18 @@ void func_8017E98C(void *a0) { extern u16 D_801988AC[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801988A8[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801988AA[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801988AC[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801988A8[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801988AA[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801988AC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3736,8 +3736,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_8017EA6C(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_8017EA6C *ptr = *(Struct_8017EA6C **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_8017EA6C *ptr = CAST_SIGN(Struct_8017EA6C *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3760,18 +3760,18 @@ void func_8017EADC(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019889C); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3799,18 +3799,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8017EBC0(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3837,12 +3837,12 @@ void func_8017EC78(s32 a0) { extern s16 D_8019899E[]; if (func_8012C354(a0, (s32)D_80198964) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018374C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_80198998[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019899A[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8019899C[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_8019899E[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_80198998[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019899A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019899C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_8019899E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -3982,7 +3982,7 @@ void func_8017EFBC(s32 a0) { extern void (*D_8019A980[])(void); void func_8017F094(void *a0) { - D_8019A980[*(u16 *)((s32)a0 + 0x2)](); + D_8019A980[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4000,30 +4000,30 @@ void func_8017F0D0(s32 a0) { extern u16 D_8019AAD0[]; extern u16 D_8019AAD2[]; - s32 v0 = *(u16 *)(a0 + 0x70) & 0xF; + s32 v0 = CAST_SIGN(u16, a0, 0x70) & 0xF; u16 flag; if (func_8012C438(a0, (s32)(D_8019A9C8 + v0 * 52)) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018374C); - *(u8 *)(a0 + 0x75) = 0; - *(u32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; - *(u16 *)(a0 + 0xFE) = D_8019AACC[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x100) = D_8019AACE[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x102) = D_8019AAD0[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x104) = D_8019AAD2[*(s16 *)(a0 + 0xFC) * 4]; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_8019AACC[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk100 = D_8019AACE[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk102 = D_8019AAD0[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk104 = D_8019AAD2[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); - flag = *(u16 *)(a0 + 0x70) & 0xF0; + flag = CAST_SIGN(u16, a0, 0x70) & 0xF0; switch (flag) { case 0: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; case 0x10: - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; case 0x20: - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; } func_8012C588(0x1C4, a0); @@ -4062,12 +4062,12 @@ s32 a0; if (func_8012C354(a0, (s32)D_8019A91C) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018374C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 8; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); - old_fc = *(u16 *)(a0 + 0xFC); - *(u16 *)(a0 + 0xFC) = 0x60; - *(u16 *)(a0 + 0xFE) = old_fc; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); + old_fc = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unkFE = old_fc; } } @@ -4092,16 +4092,16 @@ void func_8017F2EC(s32 a0) { s2 = a0; - sum = *(u16 *)(s2 + 0xFE) + *(u16 *)(s2 + 0xFC); - *(u16 *)(s2 + 0xFE) = sum & 0xFFF; + sum = CAST_SIGN(u16, s2, 0xFE) + CAST_SIGN(u16, s2, 0xFC); + ((Unkstruct_800B5CB8 *)s2)->unkFE = sum & 0xFFF; if ((sum & 0x7FF) < 0x61) { func_8002D4C8(0x6A5, 0); } - v0 = func_80047948(*(s16 *)(s2 + 0xFE)); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x14) = v0 >> 3; + v0 = func_80047948(((Unkstruct_800B5CB8 *)s2)->unkFE); + *(s16 *)(((Unkstruct_800B5CB8 *)s2)->unk20 + 0x14) = v0 >> 3; - if (*(s16 *)(s2 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)s2)->unk70 != 0) { func_8012B414(s2); } @@ -4244,20 +4244,20 @@ void func_8017F66C(void *arg0) { s32 t; if (((s32 (*)(s32 *, s32))func_8012C354)(arg0, &D_8019CA0C)) { - *(u8 *)((char *)arg0 + 0xC0) = 1; - *(s32 *)((char *)arg0 + 0xB4) = -1; - *(s32 **)((char *)arg0 + 0xBC) = &D_8019CA50; - *(u32 *)((char *)arg0 + 0xC4) |= 1; - *(s32 *)((char *)arg0 + 0xE4) = -((rand() % 8 + 0xC) << 16); + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -1; + CAST_SIGN(s32 *, (char *)arg0, 0xBC) = &D_8019CA50; + CAST_SIGN(u32, (char *)arg0, 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)arg0)->unkE4 = -((rand() % 8 + 0xC) << 16); func_8012A828(arg0, &D_8019EF68); func_80143994(arg0, 0x1000); - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; if (t != 0) { t = 3; } else { t = 1; } - *(s16 *)((char *)arg0 + 0x2) = t; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = t; } } @@ -4271,16 +4271,16 @@ void func_8017F72C(void *a0) { s16 t; r = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); t = r; func_8012B200(a0); - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 1800) + 0xE10; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 1800) + 0xE10; } else { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 60) + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 60) + 0x78; } - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -4300,27 +4300,27 @@ void func_8017F854(s32 a0) { func_80180200(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); - if ((*(u16 *)(a0 + 0x70) & 2) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 2) == 0) { if (func_8012BEE8(a0)) { - if (*(s32 *)(a0 + 0xE0) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 == 0) { if (((s32 (*)(s32))func_801802AC)(a0)) { - if (*(u16 *)(a0 + 0x70) & 1) { - *(s32 *)(a0 + 0x1C) = rand() % 0x708 + 0xE10; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x708 + 0xE10; } else { - *(s32 *)(a0 + 0x1C) = rand() % 0x3C + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x3C + 0x78; } } else { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } } @@ -4340,26 +4340,26 @@ void func_8017F9C4(s32 a0) { s32 val; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)auStack_18, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); tmp = *(s32 *)auStack_18; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + tmp; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (tmp >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + tmp; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (tmp >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } @@ -4381,48 +4381,48 @@ void func_8017FB58(s32 a0) { s32 t; s32 r; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x102); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x106); - q = *(u16 *)(a0 + 0x104); + *(s16 *)((s32)sp10 + 0x2) = CAST_SIGN(u16, a0, 0x102); + *(s16 *)((s32)sp10 + 0xA) = CAST_SIGN(u16, a0, 0x106); + q = CAST_SIGN(u16, a0, 0x104); *(s16 *)((s32)sp10 + 0x6) = q; - if ((*(u16 *)(a0 + 0x70) & 0x20) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0x20) == 0) { *(s16 *)((s32)sp10 + 0x6) = q + D_80126B62; } else { - *(s16 *)((s32)sp10 + 0x6) = q + *(u16 *)(a0 + 0x8A); + *(s16 *)((s32)sp10 + 0x6) = q + ((Unkstruct_800B5CB8 *)a0)->unk8A; } func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = *(s32 *)sp28; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); if (func_8012BEE8(a0)) { s32 base; s32 off; s32 val; - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)sp28, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); t = *(s32 *)sp28; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + t; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (t >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + t; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (t >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } } } @@ -4456,13 +4456,13 @@ void func_8017FDAC(s32 a0) { func_80180200(sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((void *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFFE0000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFFE0000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -4484,30 +4484,30 @@ void func_8017FEB8(s32 a0) { s32 t; s32 u; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0)) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - } else if (*(s16 *)(a0 + 0x100) < *(s16 *)(a0 + 0xA)) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + } else if (((Unkstruct_800B5CB8 *)a0)->unk100 < CAST_SIGN(s16, a0, 0xA)) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 1: t = func_8012B8E4(a0, 6); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + t; if (func_8012BEE8(a0)) { if (rand() & 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); } } @@ -4515,18 +4515,18 @@ void func_8017FEB8(s32 a0) { case 2: func_80180200(sp10, a0, (s32)D_8019CA48); u = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFF80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFF80000); func_8012CBF4(a0); if (func_801801D4(a0) == 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } break; default: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; } } @@ -4546,17 +4546,17 @@ void func_80180054(void *arg0) { if (!func_8012E778((s32)arg0, 0xA000C8)) { { s32 t; - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; - *(s16 *)((char *)arg0 + 0x2) = (t == 0) ? 1 : 3; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = (t == 0) ? 1 : 3; } - *(s16 *)((char *)arg0 + 0x5C) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); - *(s16 *)((char *)arg0 + 0x76) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78)); - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk76 = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0x10; func_8012E88C((s32)arg0); func_8012A828(arg0, &D_8019EF68); } @@ -4573,19 +4573,19 @@ extern void func_8012E8A8(u8 *a0); void func_80180110(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - s32 v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + s32 v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -4595,8 +4595,8 @@ void func_80180110(void *arg0) { extern void func_8012A828(s32 *a0, s32 a1); extern s32 D_8019EF68; void func_8018019C(void *arg0) { - *(s16 *)((char *)arg0 + 0x2) = 1; - *(s16 *)((char *)arg0 + 0x5c) = *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); func_8012A828(arg0, &D_8019EF68); } @@ -4652,11 +4652,11 @@ void func_80180200(s32 *a0, s32 a1, s32 a2) { p = (u16 *)(a1 + 0x88); *(s32 *)(a1 + 0xE0) = 1; } - *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; - t = p[1] + *(u16 *)(a2 + 2); + *(s16 *)((s32)sp10 + 0x2) = p[0] + ((Unkstruct_800B5CB8 *)a2)->unk0; + t = p[1] + CAST_SIGN(u16, a2, 2); *(s16 *)((s32)sp10 + 0x6) = t; *(s16 *)(a1 + 0x100) = t; - *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); + *(s16 *)((s32)sp10 + 0xA) = p[2] + CAST_SIGN(u16, a2, 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); rv = sp20; *a0 = rv; @@ -4755,46 +4755,46 @@ void func_80180330(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801A5498); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A5498); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801ACBDC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -4826,7 +4826,7 @@ void func_801804B4(void *a0) { extern s32 D_8019F2DC; extern s32 D_8019F324; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_8019F104 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -4834,58 +4834,58 @@ void func_801804B4(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABAE4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F23C; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F23C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AB3AC); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F2DC; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F2DC; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801ACA5C); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F324; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F324; break; case 4: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABAE4); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F23C; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F23C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AC8DC); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABAE4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F23C; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F23C; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -5007,61 +5007,61 @@ void func_801806D8(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801ABAE4); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AB454); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -5088,8 +5088,8 @@ void func_801806D8(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5132,34 +5132,34 @@ void func_80180A8C(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -5173,17 +5173,17 @@ void func_80180A8C(s32 a0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801ABD64); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AC5EC); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5286,34 +5286,34 @@ void func_80180CCC(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_8019F39C); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -5366,39 +5366,39 @@ void func_80180F34(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_8019F39C); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AC0A4); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -5454,10 +5454,10 @@ void func_801810DC(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -5477,27 +5477,27 @@ void func_801810DC(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801ACBF4); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_8019F0D4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8019F0D4 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_8019F3A8); @@ -5531,36 +5531,36 @@ void func_80181328(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -5592,8 +5592,8 @@ void func_80181474(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -5623,22 +5623,22 @@ void func_8018152C(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -5648,13 +5648,13 @@ void func_8018152C(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -5672,16 +5672,16 @@ void func_80181680(void *a0) { u16 temp; s32 a1; - D_8019F450[*(u16 *)((s32)a0 + 0x2)](a0); + D_8019F450[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -5699,15 +5699,15 @@ void func_8018172C(void *a0) { extern u16 D_80126B96; u16 *q; - D_8019F5B0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019F5B0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -5863,23 +5863,23 @@ extern void func_8012C098(void *param_1); void func_801819E0(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -5898,19 +5898,19 @@ void func_80181AC0(s32 a0) { V8_80181AC0 sp10; V8_80181AC0 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_8019F0B8); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -5926,18 +5926,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80181B98(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -6024,9 +6024,9 @@ void func_80181CE0(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -6040,9 +6040,9 @@ void func_80181CE0(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -6054,7 +6054,7 @@ void func_80181DA0(s32 a0) { extern u8 D_8019F0C8[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_8019F0C8); } @@ -6122,16 +6122,16 @@ void func_80181EC4(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AB5C4); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_8019F37C, (s32)&D_8019F384) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -6153,8 +6153,8 @@ void func_80181F9C(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -6163,12 +6163,12 @@ void func_80181F9C(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AB5C4); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6193,15 +6193,15 @@ void func_80182030(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801AC2DC); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_8019F37C, (s32)&D_8019F384) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -6232,20 +6232,20 @@ void func_801820FC(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_8019F3B4); *(s16 *)(a0 + 0x16) = -0x8; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AB3AC); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_8019F38C, (s32)D_8019F394, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -6326,13 +6326,13 @@ void func_801822D0(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801ABE6C); } else { ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801AC5EC); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -6379,11 +6379,11 @@ void func_801823C4(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801AC1AC); } else { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801ACA5C); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -6459,25 +6459,25 @@ void func_80182514(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_8019F414); ((void (*)(s32, s32))func_8012A828)(param_1, (s32)D_8019F42C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_8019F444); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -6534,7 +6534,7 @@ void func_80182684(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -6542,26 +6542,26 @@ void func_80182684(s32 a0) func_8001CA1C(v0, (s32)&D_8019F45C); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_8019F51C); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_8019F5A4); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -6578,9 +6578,9 @@ extern void func_8012C218(void *a0); void func_801827C8(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -6590,7 +6590,7 @@ void func_801827C8(void *a0) { extern void (*D_801BC61C[])(void); void func_80182834(void *a0) { - D_801BC61C[*(u16 *)((s32)a0 + 0x2)](); + D_801BC61C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6616,7 +6616,7 @@ void func_80182870(void *a0) i--; } while (i >= 0); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; func_8012AD50((void *)a0); } @@ -6636,13 +6636,13 @@ void func_801828E8(s32 a0) { if (func_8012BEE8(a0)) { r = rand(); p = &D_801BC62C; - w = *(u16 *)(a0 + 0xFC); + w = CAST_SIGN(u16, a0, 0xFC); t = (s16)w / 2 - (r & (w - 1)); - p[0] = *(u16 *)(a0 + 6) + t * 2; - D_801BC62E = *(u16 *)(a0 + 0xA); - D_801BC630 = *(u16 *)(a0 + 0xE) + t * 2; + p[0] = ((Unkstruct_800B5CB8 *)a0)->unk6 + t * 2; + D_801BC62E = ((Unkstruct_800B5CB8 *)a0)->unkA; + D_801BC630 = CAST_ALIAS(u16, a0, 0xE) + t * 2; func_80182998(a0, (s32)p); - *(s32 *)(a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; } } @@ -6666,7 +6666,7 @@ void func_80182998(int param_1, int param_2) if (D_801BF2E8[i] == 0) { D_801BF2E8[i] = 1; *(s32 *)(param_2 + 0x10) = i | 0x80000000; - *(u16 *)(param_2 + 8) = *(u16 *)(param_1 + 0x70); + *(u16 *)(param_2 + 8) = CAST_SIGN(u16, param_1, 0x70); func_8012C51C(param_2, param_1); return; } @@ -6689,23 +6689,23 @@ void func_80182A50(void *a0) s32 iVar2; u32 *puVar3; - *(s16 *)((s32)a0 + 0xFC) = 0x7000; - *(s16 *)((s32)a0 + 0x100) = 0; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s16 *)((s32)a0 + 0x104) = 0; - *(s16 *)((s32)a0 + 0x106) = 0; - puVar3 = (u32 *)((u8 *)&D_801BF1A8 + (*(s16 *)((s32)a0 + 0xDC) * 0x40)); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x7000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; + puVar3 = (u32 *)((u8 *)&D_801BF1A8 + (CAST_WIDTH(s16, (s32)a0, 0xDC) * 0x40)); iVar2 = func_8012C194(); - *(s32 *)((s32)a0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001CD50(iVar2, (s32)puVar3); - *(s16 *)(iVar2 + 0x10) = 0x400; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x60000000; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x400; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x60000000; func_800233CC(puVar3, 0x40); puVar3[0] = 0x808080; puVar3[1] = 0x808080; func_80182DDC((s32)a0); - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } @@ -6758,7 +6758,7 @@ void func_80182B10(void *a0) s32 p; s32 v; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; if (p != 0) { v = *(u16 *)(p + 0x1A) - 0x100; *(s16 *)(p + 0x1A) = v; @@ -6768,23 +6768,23 @@ void func_80182B10(void *a0) *(s16 *)(p + 0x18) = 0; } } - if (*(s16 *)((s32)a0 + 0xFE) >= 0x6000) { - *(s16 *)((s32)a0 + 0xFE) = 0x6000; + if (((Unkstruct_800B5CB8 *)a0)->unkFE >= 0x6000) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x6000; } else { s32 dv, sv; - dv = *(u16 *)((s32)a0 + 0x106) + 0x400; - *(s16 *)((s32)a0 + 0x106) = dv; - *(s16 *)((s32)a0 + 0xFE) = (*(u16 *)((s32)a0 + 0xFE) + dv); + dv = CAST_SIGN(u16, (s32)a0, 0x106) + 0x400; + ((Unkstruct_800B5CB8 *)a0)->unk106 = dv; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (CAST_SIGN(u16, (s32)a0, 0xFE) + dv); } { - s32 d = *(u16 *)((s32)a0 + 0x104) - 0x80; + s32 d = CAST_SIGN(u16, (s32)a0, 0x104) - 0x80; s16 s; - *(s16 *)((s32)a0 + 0x104) = d; - s = *(u16 *)((s32)a0 + 0xFC) + d; - *(s16 *)((s32)a0 + 0xFC) = s; + ((Unkstruct_800B5CB8 *)a0)->unk104 = d; + s = CAST_SIGN(u16, (s32)a0, 0xFC) + d; + ((Unkstruct_800B5CB8 *)a0)->unkFC = s; if (s < 0) { - D_801BF2E8[*(s16 *)((s32)a0 + 0xDC)] = 0; + D_801BF2E8[CAST_WIDTH(s16, (s32)a0, 0xDC)] = 0; func_8012C218(a0); } else { func_80182BDC(a0); @@ -6854,7 +6854,7 @@ void func_80182DDC(s32 a0) s32 t; s32 id; - switch (*(s16 *)(a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: func_8002D4C8(0x6D5, 0); return; @@ -6904,5 +6904,5 @@ s32 a0; extern void (*D_801BC760[])(void); void func_80182EE8(void *a0) { - D_801BC760[*(u16 *)((s32)a0 + 0x2)](); + D_801BC760[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c index 328954527c..0313788e3f 100644 --- a/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c +++ b/src/ov_SC03_100/ov_SC03_100_jr_8017D898.c @@ -3148,7 +3148,7 @@ void func_8017F134(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -3186,18 +3186,18 @@ void func_8017F134(s32 a0) { } } - D_801A0084[*(u16 *)(a0 + 0x2)](a0); + D_801A0084[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -3300,93 +3300,93 @@ void func_8017F554(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A0374[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0376[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0378[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0374[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0376[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0378[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A00D8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A00D8); func_8012A828(a0, (s32)D_801A0198); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0220); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0220); func_8012A828(a0, (s32)D_801A02E0); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A03C4; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A03E8; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A009C; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A03C4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A03E8; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A009C; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A00D8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A00D8); func_8012A828(a0, (s32)D_801A0198); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0220); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0220); func_8012A828(a0, (s32)D_801A02E0); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A03D4); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A03D4); func_8012A828(a0, (s32)D_801A03E0); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A00D8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A00D8); func_8012A828(a0, (s32)D_801A0198); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -3429,15 +3429,15 @@ void func_8017FB94(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -3446,61 +3446,61 @@ void func_8017FB94(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3515,20 +3515,20 @@ void func_8017FF44(void *a0) { s32 t; u16 *q; - D_801A03F8[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A03F8[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3542,7 +3542,7 @@ void func_8017FF44(void *a0) { extern void (*D_801A04A4[])(void); void func_80180030(void *a0) { - D_801A04A4[*(u16 *)((s32)a0 + 0x2)](); + D_801A04A4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3550,7 +3550,7 @@ void func_80180030(void *a0) { extern void (*D_801A0558[])(void); void func_8018006C(void *a0) { - D_801A0558[*(u16 *)((s32)a0 + 0x2)](); + D_801A0558[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3578,17 +3578,17 @@ void func_801800C0(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_8019FFD8) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_8019FFB8; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019FFB8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80184C18); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3614,18 +3614,18 @@ void func_80180180(void *a0) { extern u8 D_801A009C[]; extern u8 D_8019FFB8[]; if (func_8012C354((s32)a0, (s32)D_801A009C) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_8019FFB8; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019FFB8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_80184C18); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3639,13 +3639,13 @@ void func_80180204(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3702,16 +3702,16 @@ void func_801802F4(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0368); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3731,18 +3731,18 @@ void func_801803B8(void *a0) { extern u16 D_801A0378[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A0374[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A0376[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A0378[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0374[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A0376[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0378[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3756,8 +3756,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80180498(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80180498 *ptr = *(Struct_80180498 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80180498 *ptr = CAST_SIGN(Struct_80180498 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3780,18 +3780,18 @@ void func_80180508(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0368); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3819,18 +3819,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_801805EC(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3857,12 +3857,12 @@ void func_801806A4(s32 a0) { extern s16 D_801A046A[]; if (func_8012C354(a0, (s32)D_801A0430) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80184C18); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A0464[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0466[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0468[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A046A[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0464[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0466[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0468[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A046A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -4002,7 +4002,7 @@ void func_801809E8(s32 a0) { extern void (*D_801A244C[])(void); void func_80180AC0(void *a0) { - D_801A244C[*(u16 *)((s32)a0 + 0x2)](); + D_801A244C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4020,30 +4020,30 @@ void func_80180AFC(s32 a0) { extern u16 D_801A259C[]; extern u16 D_801A259E[]; - s32 v0 = *(u16 *)(a0 + 0x70) & 0xF; + s32 v0 = CAST_SIGN(u16, a0, 0x70) & 0xF; u16 flag; if (func_8012C438(a0, (s32)(D_801A2494 + v0 * 52)) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80184C18); - *(u8 *)(a0 + 0x75) = 0; - *(u32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; - *(u16 *)(a0 + 0xFE) = D_801A2598[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x100) = D_801A259A[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x102) = D_801A259C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x104) = D_801A259E[*(s16 *)(a0 + 0xFC) * 4]; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_801A2598[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk100 = D_801A259A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk102 = D_801A259C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk104 = D_801A259E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); - flag = *(u16 *)(a0 + 0x70) & 0xF0; + flag = CAST_SIGN(u16, a0, 0x70) & 0xF0; switch (flag) { case 0: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; case 0x10: - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; case 0x20: - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; } func_8012C588(0x1C4, a0); @@ -4082,12 +4082,12 @@ s32 a0; if (func_8012C354(a0, (s32)D_801A23E8) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_80184C18); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 8; - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x104, 0xDC); - old_fc = *(u16 *)(a0 + 0xFC); - *(u16 *)(a0 + 0xFC) = 0x60; - *(u16 *)(a0 + 0xFE) = old_fc; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x104, 0xDC); + old_fc = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unkFE = old_fc; } } @@ -4112,16 +4112,16 @@ void func_80180D18(s32 a0) { s2 = a0; - sum = *(u16 *)(s2 + 0xFE) + *(u16 *)(s2 + 0xFC); - *(u16 *)(s2 + 0xFE) = sum & 0xFFF; + sum = CAST_SIGN(u16, s2, 0xFE) + CAST_SIGN(u16, s2, 0xFC); + ((Unkstruct_800B5CB8 *)s2)->unkFE = sum & 0xFFF; if ((sum & 0x7FF) < 0x61) { func_8002D4C8(0x6A5, 0); } - v0 = func_80047948(*(s16 *)(s2 + 0xFE)); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x14) = v0 >> 3; + v0 = func_80047948(((Unkstruct_800B5CB8 *)s2)->unkFE); + *(s16 *)(((Unkstruct_800B5CB8 *)s2)->unk20 + 0x14) = v0 >> 3; - if (*(s16 *)(s2 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)s2)->unk70 != 0) { func_8012B414(s2); } @@ -4289,46 +4289,46 @@ void func_8018101C(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801AA8A8); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AA8A8); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801B1FEC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -4360,7 +4360,7 @@ void func_801811A0(void *a0) { extern s32 D_801A46EC; extern s32 D_801A4734; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801A4514 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -4368,58 +4368,58 @@ void func_801811A0(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B0EF4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A464C; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A464C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B07BC); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A46EC; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A46EC; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801B1E6C); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4734; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4734; break; case 4: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B0EF4); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A464C; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A464C; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B1CEC); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B0EF4); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A464C; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A464C; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -4541,61 +4541,61 @@ void func_801813C4(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B0EF4); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B0864); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -4622,8 +4622,8 @@ void func_801813C4(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -4666,34 +4666,34 @@ void func_80181778(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -4707,17 +4707,17 @@ void func_80181778(s32 a0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B1174); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B19FC); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -4820,34 +4820,34 @@ void func_801819B8(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801A47AC); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -4900,39 +4900,39 @@ void func_80181C20(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801A47AC); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B14B4); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -4988,10 +4988,10 @@ void func_80181DC8(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -5011,27 +5011,27 @@ void func_80181DC8(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B2004); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801A44E4 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A44E4 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801A47B8); @@ -5065,36 +5065,36 @@ void func_80182014(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -5126,8 +5126,8 @@ void func_80182160(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -5157,22 +5157,22 @@ void func_80182218(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -5182,13 +5182,13 @@ void func_80182218(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -5206,16 +5206,16 @@ void func_8018236C(void *a0) { u16 temp; s32 a1; - D_801A4860[*(u16 *)((s32)a0 + 0x2)](a0); + D_801A4860[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -5233,15 +5233,15 @@ void func_80182418(void *a0) { extern u16 D_80126B96; u16 *q; - D_801A49C0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A49C0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -5397,23 +5397,23 @@ extern void func_8012C098(void *param_1); void func_801826CC(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -5432,19 +5432,19 @@ void func_801827AC(s32 a0) { V8_801827AC sp10; V8_801827AC sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801A44C8); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -5460,18 +5460,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80182884(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -5558,9 +5558,9 @@ void func_801829CC(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -5574,9 +5574,9 @@ void func_801829CC(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -5588,7 +5588,7 @@ void func_80182A8C(s32 a0) { extern u8 D_801A44D8[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801A44D8); } @@ -5656,16 +5656,16 @@ void func_80182BB0(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B09D4); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_801A478C, (s32)&D_801A4794) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -5687,8 +5687,8 @@ void func_80182C88(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -5697,12 +5697,12 @@ void func_80182C88(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801B09D4); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -5727,15 +5727,15 @@ void func_80182D1C(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B16EC); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_801A478C, (s32)&D_801A4794) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -5766,20 +5766,20 @@ void func_80182DE8(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801A47C4); *(s16 *)(a0 + 0x16) = -0x8; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801B07BC); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801A479C, (s32)D_801A47A4, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -5860,13 +5860,13 @@ void func_80182FBC(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801B127C); } else { ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801B19FC); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -5913,11 +5913,11 @@ void func_801830B0(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B15BC); } else { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B1E6C); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -5993,25 +5993,25 @@ void func_80183200(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A4824); ((void (*)(s32, s32))func_8012A828)(param_1, (s32)D_801A483C); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801A4854); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -6068,7 +6068,7 @@ void func_80183370(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -6076,26 +6076,26 @@ void func_80183370(s32 a0) func_8001CA1C(v0, (s32)&D_801A486C); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801A492C); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801A49B4); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -6112,9 +6112,9 @@ extern void func_8012C218(void *a0); void func_801834B4(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -6124,7 +6124,7 @@ void func_801834B4(void *a0) { extern void (*D_801C1A2C[])(void); void func_80183520(void *a0) { - D_801C1A2C[*(u16 *)((s32)a0 + 0x2)](); + D_801C1A2C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6150,7 +6150,7 @@ void func_8018355C(void *a0) i--; } while (i >= 0); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; func_8012AD50((void *)a0); } @@ -6170,14 +6170,14 @@ void func_801835D4(void *a0) { return; } r = rand(); - w = *(u16 *)((s32)a0 + 0xFC); + w = CAST_SIGN(u16, (s32)a0, 0xFC); t = (s16)w / 2 - (r & (w - 1)); p = &D_801C1A3C; - *p = *(u16 *)((s32)a0 + 6) + t * 2; - D_801C1A3E = *(u16 *)((s32)a0 + 0xA); - D_801C1A40 = *(u16 *)((s32)a0 + 0xE) + t * 2; + *p = ((Unkstruct_800B5CB8 *)a0)->unk6 + t * 2; + D_801C1A3E = ((Unkstruct_800B5CB8 *)a0)->unkA; + D_801C1A40 = CAST_ALIAS(u16, (s32)a0, 0xE) + t * 2; func_80183684((s32)a0, (s32)p); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; } @@ -6200,7 +6200,7 @@ void func_80183684(int param_1, int param_2) if (D_801C87F0[i] == 0) { D_801C87F0[i] = 1; *(s32 *)(param_2 + 0x10) = i | 0x80000000; - *(u16 *)(param_2 + 8) = *(u16 *)(param_1 + 0x70); + *(u16 *)(param_2 + 8) = CAST_SIGN(u16, param_1, 0x70); func_8012C51C(param_2, param_1); return; } @@ -6223,23 +6223,23 @@ void func_8018373C(void *a0) s32 iVar2; u32 *puVar3; - *(s16 *)((s32)a0 + 0xFC) = 0x7000; - *(s16 *)((s32)a0 + 0x100) = 0; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s16 *)((s32)a0 + 0x104) = 0; - *(s16 *)((s32)a0 + 0x106) = 0; - puVar3 = (u32 *)((u8 *)&D_801C86B0 + (*(s16 *)((s32)a0 + 0xDC) * 0x40)); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x7000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; + puVar3 = (u32 *)((u8 *)&D_801C86B0 + (CAST_WIDTH(s16, (s32)a0, 0xDC) * 0x40)); iVar2 = func_8012C194(); - *(s32 *)((s32)a0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001CD50(iVar2, (s32)puVar3); - *(s16 *)(iVar2 + 0x10) = 0x400; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x60000000; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x400; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x60000000; func_800233CC(puVar3, 0x40); puVar3[0] = 0x808080; puVar3[1] = 0x808080; func_80183AC8((s32)a0); - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } @@ -6292,7 +6292,7 @@ void func_801837FC(void *a0) s32 p; s32 v; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; if (p != 0) { v = *(u16 *)(p + 0x1A) - 0x100; *(s16 *)(p + 0x1A) = v; @@ -6302,23 +6302,23 @@ void func_801837FC(void *a0) *(s16 *)(p + 0x18) = 0; } } - if (*(s16 *)((s32)a0 + 0xFE) >= 0x6000) { - *(s16 *)((s32)a0 + 0xFE) = 0x6000; + if (((Unkstruct_800B5CB8 *)a0)->unkFE >= 0x6000) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x6000; } else { s32 dv, sv; - dv = *(u16 *)((s32)a0 + 0x106) + 0x400; - *(s16 *)((s32)a0 + 0x106) = dv; - *(s16 *)((s32)a0 + 0xFE) = (*(u16 *)((s32)a0 + 0xFE) + dv); + dv = CAST_SIGN(u16, (s32)a0, 0x106) + 0x400; + ((Unkstruct_800B5CB8 *)a0)->unk106 = dv; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (CAST_SIGN(u16, (s32)a0, 0xFE) + dv); } { - s32 d = *(u16 *)((s32)a0 + 0x104) - 0x80; + s32 d = CAST_SIGN(u16, (s32)a0, 0x104) - 0x80; s16 s; - *(s16 *)((s32)a0 + 0x104) = d; - s = *(u16 *)((s32)a0 + 0xFC) + d; - *(s16 *)((s32)a0 + 0xFC) = s; + ((Unkstruct_800B5CB8 *)a0)->unk104 = d; + s = CAST_SIGN(u16, (s32)a0, 0xFC) + d; + ((Unkstruct_800B5CB8 *)a0)->unkFC = s; if (s < 0) { - D_801C87F0[*(s16 *)((s32)a0 + 0xDC)] = 0; + D_801C87F0[CAST_WIDTH(s16, (s32)a0, 0xDC)] = 0; func_8012C218(a0); } else { func_801838C8(a0); @@ -6390,7 +6390,7 @@ s32 a0; s32 t; s32 id; - switch (*(s16 *)(a0 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: func_8002D4C8(0x6D5, 0); return; @@ -6440,5 +6440,5 @@ s32 a0; extern void (*D_801C4FAC[])(void); void func_80183BD4(void *a0) { - D_801C4FAC[*(u16 *)((s32)a0 + 0x2)](); + D_801C4FAC[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c index 108f59b366..007bbe5bd5 100644 --- a/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c +++ b/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.c @@ -3998,7 +3998,7 @@ void func_80180964(void *a0, s32 a1) extern void (*D_80189BFC[])(void); void func_801809C4(void *a0) { - D_80189BFC[*(u16 *)((s32)a0 + 0x2)](); + D_80189BFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4087,7 +4087,7 @@ INCR: extern void (*D_80189C04[])(void); void func_80180BFC(void *a0) { - D_80189C04[*(u16 *)((s32)a0 + 0x2)](); + D_80189C04[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4153,49 +4153,49 @@ void func_80180C38(void *a0) s32 p, r, base, d, t; if (*(s16 *)&D_801270C0 != 2) { /* `lh`: the u16 global is READ SIGNED here */ - sv_a.vx = *(u16 *)((s32)a0 + 0x6); - sv_a.vy = *(u16 *)((s32)a0 + 0xA); - sv_a.vz = *(u16 *)((s32)a0 + 0xE); + sv_a.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sv_a.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sv_a.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; func_8012931C((struct vec *)a0); - sv_b.vx = *(u16 *)((s32)a0 + 0x6); - sv_b.vy = *(u16 *)((s32)a0 + 0xA); - sv_b.vz = *(u16 *)((s32)a0 + 0xE); + sv_b.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sv_b.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sv_b.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; if (func_80133784(1, &sv_a, (s32)&sv_b) != 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - *(s16 *)((s32)a0 + 0x6) = sv_b.vx; - *(s16 *)((s32)a0 + 0xA) = sv_b.vy; - *(s16 *)((s32)a0 + 0xE) = sv_b.vz; - *(s32 *)((s32)a0 + 0x10) = 0; - *(s32 *)((s32)a0 + 0x14) = 0; - *(s32 *)((s32)a0 + 0x18) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv_b.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv_b.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv_b.vz; + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + CAST_WIDTH(s32, (s32)a0, 0x18) = 0; /* (1) above: the `p = ...` statement is the to_rtx, the `base = ...` * statement is the post-call reload. Both reads are written out. */ - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; r = rand() % 256; - base = *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10); *(s16 *)(p + 0x10) = (rand() & 1) ? base + r : base - r; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; r = rand() % 256; - base = *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *(s16 *)(p + 0x12) = (rand() & 1) ? base + r : base - r; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; r = rand() % 256; - base = *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); *(s16 *)(p + 0x14) = (rand() & 1) ? base + r : base - r; return; } } m = D_800AE620; - m.w[5] = *(s16 *)((s32)a0 + 0x6); - m.w[6] = *(s16 *)((s32)a0 + 0xA); - m.w[7] = *(s16 *)((s32)a0 + 0xE); + m.w[5] = CAST_SIGN(s16, (s32)a0, 0x6); + m.w[6] = CAST_SIGN(s16, (s32)a0, 0xA); + m.w[7] = CAST_SIGN(s16, (s32)a0, 0xE); - RotMatrixY(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14), &m); gte_SetRotMatrix(&m); gte_SetTransMatrix(&m); @@ -4203,19 +4203,19 @@ void func_80180C38(void *a0) RotTransSV(&D_80189C10[8], &sv_b, flag); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&sv_a, (s32)&sv_b) != 0) { - func_8012F568(1, 1, *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) + 0x800, 30, + func_8012F568(1, 1, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + 0x800, 30, (s32)&sv_b, (s32)D_801152A8); if (func_8014A454((s32)&D_80126B58) != 0) { goto kill; } func_8012F038((s32)D_80126B78 + 0x34, (short *)&sv_b, (short *)&sv_a); - *(s16 *)((s32)a0 + 0x12) = sv_a.vx; + ((Unkstruct_800B5CB8 *)a0)->unk12 = sv_a.vx; *(s16 *)((s32)a0 + 0x16) = sv_a.vy; - *(s16 *)((s32)a0 + 0x1A) = sv_a.vz; - *(s32 *)((s32)a0 + 0x1C) = 60; - *(s16 *)((s32)a0 + 0x2) = 2; - *(s16 *)((s32)a0 + 0x2A) = *(u16 *)((u8 *)D_80126B78 + 0x12); + CAST_ALIAS(s16, (s32)a0, 0x1A) = sv_a.vz; + CAST_ALIAS(s32, (s32)a0, 0x1C) = 60; + CAST_ALIAS(s16, (s32)a0, 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2A = *(u16 *)((u8 *)D_80126B78 + 0x12); r = rand() % 256; /* (2) above: an if/else STATEMENT, not `(rand() & 1) ? r : -r` — the @@ -4226,17 +4226,17 @@ void func_80180C38(void *a0) d = -r; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) + d; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) + d; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) + d; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 + d; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + d; return; } - t = *(s32 *)((s32)a0 + 0x1C) - 1; - *(s32 *)((s32)a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { return; } @@ -4260,31 +4260,31 @@ void func_80181030(s32 a0) s32 v0; s32 tmp0; - if (*(s32 *)(a0 + 0x2C) == 0) { - sv1.vx = *(u16 *)(a0 + 0x6); - sv1.vy = *(u16 *)(a0 + 0xA); - sv1.vz = *(u16 *)(a0 + 0xE); - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) + 0x18000; + if (CAST_WIDTH(s32, a0, 0x2C) == 0) { + sv1.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sv1.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sv1.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 + 0x18000; func_8012931C((struct vec *)a0); - sv2.vx = *(u16 *)(a0 + 0x6); - sv2.vy = *(u16 *)(a0 + 0xA); - sv2.vz = *(u16 *)(a0 + 0xE); + sv2.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sv2.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sv2.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; v0 = func_80133784(1, &sv1, (s32)&sv2); if (v0 != 0) { s32 rv0; s16 rv1; - *(u16 *)(a0 + 0x6) = sv2.vx; - *(u16 *)(a0 + 0xA) = sv2.vy; - tmp0 = *(s32 *)(a0 + 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv2.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv2.vy; + tmp0 = CAST_WIDTH(s32, a0, 0x2C); rv0 = tmp0; rv1 = sv2.vz; rv0 = rv0 + 1; - *(s32 *)(a0 + 0x2C) = rv0; + CAST_WIDTH(s32, a0, 0x2C) = rv0; rv0 = 0x1E; - *(s32 *)(a0 + 0x1C) = rv0; - *(u16 *)(a0 + 0xE) = rv1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rv0; + ((Unkstruct_800B5CB8 *)a0)->unkE = rv1; } } else { func_801811F0(a0); @@ -4304,29 +4304,29 @@ void func_8018110C(s32 a0) SVECTOR svec_out; s32 obj; - svec_in.vx = *(u16 *)(a0 + 0x12); + svec_in.vx = ((Unkstruct_800B5CB8 *)a0)->unk12; svec_in.vy = *(u16 *)(a0 + 0x16); - svec_in.vz = *(u16 *)(a0 + 0x1A); + svec_in.vz = ((Unkstruct_800B5CB8 *)a0)->unk1A; func_8012F14C((s32)D_80126B78 + 0x34, (s32)&svec_in, (s32)&svec_out); - *(u16 *)(a0 + 0x6) = svec_out.vx; - *(u16 *)(a0 + 0xA) = svec_out.vy; - *(u16 *)(a0 + 0xE) = svec_out.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = svec_out.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = svec_out.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = svec_out.vz; - obj = *(s32 *)(a0 + 0x20); + obj = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(obj + 0x14) = *(u16 *)(obj + 0x14) + - (*(u16 *)(a0 + 0x2A) - *(u16 *)((u8 *)D_80126B78 + 0x12)); + (((Unkstruct_800B5CB8 *)a0)->unk2A - *(u16 *)((u8 *)D_80126B78 + 0x12)); __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus8) - *(u16 *)(a0 + 0x2A) = *(u16 *)((u8 *)D_80126B78 + 0x12); + ((Unkstruct_800B5CB8 *)a0)->unk2A = *(u16 *)((u8 *)D_80126B78 + 0x12); - if (*(s32 *)(a0 + 0x2C) == 0) { - if (--*(s32 *)(a0 + 0x1C) != 0) { + if (CAST_WIDTH(s32, a0, 0x2C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { return; } { - s32 t = *(s32 *)(a0 + 0x2C); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0x2C) = t + 1; + s32 t = CAST_WIDTH(s32, a0, 0x2C); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + CAST_WIDTH(s32, a0, 0x2C) = t + 1; } } else { func_801811F0(a0); @@ -4339,7 +4339,7 @@ extern void func_801292C8(u8 *a0); s32 func_801811F0(s32 a0) { volatile s32 pad; - u32 *p = *(u32 **)((s32)a0 + 0x20); + u32 *p = CAST_SIGN(u32 *, (s32)a0, 0x20); u32 v = p[1]; u32 w = 0x80000000; @@ -4351,7 +4351,7 @@ s32 func_801811F0(s32 a0) } p[1] = w; - if (--*(s32 *)((s32)a0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { func_801292C8((u8 *)a0); return 1; } @@ -4388,25 +4388,25 @@ s32 func_80181260(s32 param_1, s16 param_2) return 0; } - sub = *(u8 **)(obj + 0x20); + sub = CAST_SIGN(u8 *, obj, 0x20); func_8001CB6C(sub, (s32)D_80189BF0, 0x320, 0x100); v = param_2 + 0x800; - *(u8 *)(sub + 0x27) = 0x4E; - *(u16 *)(sub + 0x18) = 0x1800; - *(u16 *)(sub + 0x1A) = 0x3800; - *(u16 *)(sub + 0x10) = 0x400; - *(s16 *)(sub + 0x14) = v; - *(s16 *)(obj + 0x28) = v; + ((Unkstruct_800B5CB8 *)sub)->unk27 = 0x4E; + ((Unkstruct_800B5CB8 *)sub)->unk18 = 0x1800; + ((Unkstruct_800B5CB8 *)sub)->unk1A = 0x3800; + ((Unkstruct_800B5CB8 *)sub)->unk10 = 0x400; + CAST_WIDTH(s16, sub, 0x14) = v; + ((Unkstruct_800B5CB8 *)obj)->unk28 = v; RotMatrixY(param_2, &mtx); func_800484EC((s32)&mtx, (s32)D_80189C20, (s32)out); - *(s32 *)(obj + 0x10) = out[0]; - *(s32 *)(obj + 0x14) = out[1]; - *(s32 *)(obj + 0x18) = out[2]; - *(s32 *)(obj + 0x1C) = 0x5A; + CAST_WIDTH(s32, obj, 0x10) = out[0]; + ((Unkstruct_800B5CB8 *)obj)->unk14 = out[1]; + CAST_WIDTH(s32, obj, 0x18) = out[2]; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 0x5A; return (s32)obj; } @@ -4497,7 +4497,7 @@ void func_8018139C(s32 param_1) extern void (*D_80189CBC[])(void); void func_80181500(void *a0) { - D_80189CBC[*(u16 *)((s32)a0 + 0x2)](); + D_80189CBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4513,14 +4513,14 @@ void func_8018153C(void *a0) s32 v2; s32 s0; - v2 = D_80189CB8[*(s16 *)((u8 *)a0 + 0x70)]; + v2 = D_80189CB8[((Unkstruct_800B5CB8 *)a0)->unk70]; s0 = func_8012C194(); if (s0 != 0) { - *(s32 *)((u8 *)a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; func_8001CEC0(s0, v2); - *(s16 *)(s0 + 0x2E) = 0; - *(s16 *)(s0 + 0x30) = 0; - *(s16 *)(s0 + 0x2C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2E = 0; + CAST_WIDTH(s16, s0, 0x30) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 1; func_80015978((s32)((u8 *)a0 + 4), (s32 *)((u8 *)a0 + 0xFC)); func_801815D4(a0); func_8012AD50(a0); @@ -4551,15 +4551,15 @@ void func_801815D4(void *a0) s32 flags; u32 v; - s0 = *(u8 **)((u8 *)a0 + 0x20); + s0 = CAST_SIGN(u8 *, (u8 *)a0, 0x20); flags = ((s32 (*)(s32, s32))func_8012EF70)((s32)((u8 *)a0 + 0xFC), (s32)buf); if (flags & 0xFFFFEFFF) { u32 loaded; - loaded = *(u32 *)(s0 + 4); - *(u32 *)(s0 + 4) = (loaded | 0x80000000); + loaded = CAST_WIDTH(u32, s0, 4); + CAST_WIDTH(u32, s0, 4) = (loaded | 0x80000000); } else { - *(u32 *)(s0 + 4) = (*(u32 *)(s0 + 4) & 0x7FFFFFFF); + CAST_WIDTH(u32, s0, 4) = (CAST_WIDTH(u32, s0, 4) & 0x7FFFFFFF); } func_80015954((s32)buf, (s32)((u8 *)a0 + 4)); @@ -4621,7 +4621,7 @@ void func_80181704(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -4659,18 +4659,18 @@ void func_80181704(s32 a0) { } } - D_8019752C[*(u16 *)(a0 + 0x2)](a0); + D_8019752C[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -4773,93 +4773,93 @@ void func_80181B24(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_8019781C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019781E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_80197820[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019781C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019781E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80197820[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80197580); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80197580); func_8012A828(a0, (s32)D_80197640); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801976C8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801976C8); func_8012A828(a0, (s32)D_80197788); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_8019786C; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_80197890; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_80197544; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_8019786C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_80197890; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_80197544; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80197580); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80197580); func_8012A828(a0, (s32)D_80197640); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801976C8); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801976C8); func_8012A828(a0, (s32)D_80197788); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019787C); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019787C); func_8012A828(a0, (s32)D_80197888); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_80197580); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80197580); func_8012A828(a0, (s32)D_80197640); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -4902,15 +4902,15 @@ void func_80182164(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -4919,61 +4919,61 @@ void func_80182164(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -4988,20 +4988,20 @@ void func_80182514(void *a0) { s32 t; u16 *q; - D_801978A0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801978A0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -5014,7 +5014,7 @@ void func_80182514(void *a0) { extern void (*D_8019794C[])(void); void func_80182600(void *a0) { - D_8019794C[*(u16 *)((s32)a0 + 0x2)](); + D_8019794C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5022,7 +5022,7 @@ void func_80182600(void *a0) { extern void (*D_80197A00[])(void); void func_8018263C(void *a0) { - D_80197A00[*(u16 *)((s32)a0 + 0x2)](); + D_80197A00[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5050,17 +5050,17 @@ void func_80182690(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_80197480) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_80197460; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80197460; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_801864AC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -5088,18 +5088,18 @@ void func_80182750(void *a0) { extern u8 D_80197544[]; extern u8 D_80197460[]; if (func_8012C354((s32)a0, (s32)D_80197544) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_80197460; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80197460; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_801864AC); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -5113,13 +5113,13 @@ void func_801827D4(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -5176,16 +5176,16 @@ void func_801828C4(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_80197810); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -5205,18 +5205,18 @@ void func_80182988(void *a0) { extern u16 D_80197820[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_8019781C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_8019781E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_80197820[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019781C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_8019781E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80197820[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -5230,8 +5230,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_80182A68(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_80182A68 *ptr = *(Struct_80182A68 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_80182A68 *ptr = CAST_SIGN(Struct_80182A68 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -5254,18 +5254,18 @@ void func_80182AD8(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_80197810); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -5293,18 +5293,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_80182BBC(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -5331,12 +5331,12 @@ void func_80182C74(s32 a0) { extern s16 D_80197912[]; if (func_8012C354(a0, (s32)D_801978D8) != 0) { func_8012A828(a0, (s32)D_801864AC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_8019790C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019790E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_80197910[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_80197912[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019790C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019790E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_80197910[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_80197912[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -5401,24 +5401,24 @@ void func_80182E08(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_80197958); func_8012A828(param_1, (s32)D_801979B8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -5528,46 +5528,46 @@ void func_80183090(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_8019FC60); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_8019FC60); func_8012A828((s32)a0, (s32)&D_801A73A4); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -5599,7 +5599,7 @@ void func_80183214(void *a0) { extern s32 D_80199AA4; extern s32 D_80199AEC; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801998CC + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -5607,58 +5607,58 @@ void func_80183214(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: func_8012A828((s32)a0, (s32)D_801A62AC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199A04; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199A04; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: func_8012A828((s32)a0, (s32)D_801A5B74); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199AA4; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199AA4; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: func_8012A828((s32)a0, (s32)&D_801A7224); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199AEC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199AEC; break; case 4: func_8012A828((s32)a0, (s32)D_801A62AC); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199A04; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199A04; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8012A828((s32)a0, (s32)D_801A70A4); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { func_8012A828((s32)a0, (s32)D_801A62AC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199A04; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199A04; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -5780,61 +5780,61 @@ void func_80183438(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, (s32)D_801A62AC); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { func_8012A828(a0, (s32)D_801A5C1C); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus8) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -5861,8 +5861,8 @@ void func_80183438(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5905,34 +5905,34 @@ void func_801837EC(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -5946,17 +5946,17 @@ void func_801837EC(s32 a0) { func_8012A828(a0, (s32)D_801A652C); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { func_8012A828(a0, (s32)D_801A6DB4); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6059,34 +6059,34 @@ void func_80183A2C(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_80199B64); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -6139,39 +6139,39 @@ void func_80183C94(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_80199B64); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, (s32)D_801A686C); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -6226,10 +6226,10 @@ void func_80183E3C(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -6253,27 +6253,27 @@ void func_80183E3C(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { func_8012A828(a0, (s32)&D_801A73BC); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_8019989C | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8019989C | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_80199B70); @@ -6307,36 +6307,36 @@ void func_80184088(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -6368,8 +6368,8 @@ void func_801841D4(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -6399,22 +6399,22 @@ void func_8018428C(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -6424,13 +6424,13 @@ void func_8018428C(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -6448,16 +6448,16 @@ void func_801843E0(void *a0) { u16 temp; s32 a1; - D_80199C18[*(u16 *)((s32)a0 + 0x2)](a0); + D_80199C18[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -6475,15 +6475,15 @@ void func_8018448C(void *a0) { extern u16 D_80126B96; u16 *q; - D_80199D78[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_80199D78[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -6505,17 +6505,17 @@ void func_8018453C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -6525,14 +6525,14 @@ void func_8018453C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801A713C); - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_80199A04; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_8019989C | 0x40000000 | 0x20000000; - *(s16 *)((s32)a0 + 0x88) = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0x8A) = *(u16 *)((s32)a0 + 0xA); - *(s16 *)((s32)a0 + 0x8C) = *(u16 *)((s32)a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199A04; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8019989C | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } } @@ -6588,42 +6588,42 @@ void func_80184624(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a2; buf[6] = a2; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) != 0) { - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) | 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) | 0x8000; func_80131E00(a0, 6); } else { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801A56F4) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801A56F4) { func_8012A828((s32)a0, (s32)&D_801A54EC); - *(u16 *)((s32)a0 + 0x2) = 0x14; - *(u16 *)((s32)a0 + 0x34) = 1; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0xCC) = (s32)&D_801A62AC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801A62AC; } else { - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_8012A828((s32)a0, (s32)&D_801A6DB4); } else { func_8012A828((s32)a0, (s32)&D_801A62AC); } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; } } @@ -6639,23 +6639,23 @@ extern void func_8012C098(void *param_1); void func_80184740(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -6674,19 +6674,19 @@ void func_80184820(s32 a0) { V8_80184820 sp10; V8_80184820 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_80199880); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -6702,18 +6702,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_801848F8(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -6751,17 +6751,17 @@ void func_8018499C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -6771,8 +6771,8 @@ void func_8018499C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801A7224); - *(u16 *)((s32)a0 + 0x2) = 6; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xA810; } } @@ -6800,9 +6800,9 @@ void func_80184A40(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -6816,9 +6816,9 @@ void func_80184A40(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -6830,7 +6830,7 @@ void func_80184B00(s32 a0) { extern u8 D_80199890[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_80199890); } @@ -6869,11 +6869,11 @@ void func_80184BC8(s32 a0) { extern u8 D_801A5D8C[]; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8012A828(a0, (s32)D_801A5D8C); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } } @@ -6898,16 +6898,16 @@ void func_80184C24(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)D_801A5D8C); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_80199B44, (s32)&D_80199B4C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -6929,8 +6929,8 @@ void func_80184CFC(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -6939,12 +6939,12 @@ void func_80184CFC(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { func_8012A828((s32)a0, (s32)D_801A5D8C); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6969,15 +6969,15 @@ void func_80184D90(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)&D_801A6AA4); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_80199B44, (s32)&D_80199B4C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -7008,20 +7008,20 @@ void func_80184E5C(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_80199B7C); *(s16 *)(a0 + 0x16) = -0x8; func_8012A828(a0, (s32)D_801A5B74); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_80199B54, (s32)D_80199B5C, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -7044,21 +7044,21 @@ void func_80184F34(s32 a0) { extern s32 D_801998AC; u16 temp; - if (*(s32 *)(a0 + 0x94) == 0xD) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { func_8002D4C8(0x702, 0x107F); } func_8012CBCC(a0); - temp = *(u16 *)(a0 + 0x102) + 1; - *(u16 *)(a0 + 0x102) = temp; + temp = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = temp; if ((s16)temp == 0x1E) { - *(u16 *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, (s32)&D_801A5B74); - *(u16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x58) = ((s32)&D_801998AC | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)&D_801998AC | 0x40000000) | 0x20000000; } } @@ -7102,13 +7102,13 @@ void func_80185030(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; func_8012A828(entity, (s32)&D_801A6634); } else { func_8012A828(entity, (s32)&D_801A6DB4); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -7126,10 +7126,10 @@ void func_801850D0(s32 a0) { result = func_80153BD8(a0); if (result == 0) { func_8012A828(a0, (s32)&D_801A6DB4); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -7155,11 +7155,11 @@ void func_80185124(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801A6974); } else { func_8012A828(a0, (s32)&D_801A7224); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -7182,7 +7182,7 @@ void func_801851B8(s32 a0) func_8012A828(a0, (s32)&D_801A6AA4); v0 = 0x6; } - *(s16 *)(a0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -7207,9 +7207,9 @@ extern void func_8012A828(s32 a0, s32 a1); void func_80185228(s32 a0) { - if (((*(u16 *)(a0 + 0x72) & 0x4000) != 0) || (*(s16 *)(a0 + 0x98) == 0)) { - *(s16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); - func_8012A828(a0, *(s32 *)(a0 + 0xCC)); + if (((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) || (((Unkstruct_800B5CB8 *)a0)->unk98 == 0)) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; + func_8012A828(a0, ((Unkstruct_800B5CB8 *)a0)->unkCC); } } @@ -7235,25 +7235,25 @@ void func_80185274(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_80199BDC); func_8012A828(param_1, (s32)D_80199BF4); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_80199C0C); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -7310,7 +7310,7 @@ void func_801853E4(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -7318,26 +7318,26 @@ void func_801853E4(s32 a0) func_8001CA1C(v0, (s32)&D_80199C24); func_8012A828(a0, (s32)&D_80199CE4); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_80199D6C); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -7354,9 +7354,9 @@ extern void func_8012C218(void *a0); void func_80185528(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -7366,5 +7366,5 @@ void func_80185528(void *a0) { extern void (*D_801B6EC4[])(void); void func_80185594(void *a0) { - D_801B6EC4[*(u16 *)((s32)a0 + 0x2)](); + D_801B6EC4[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c index 7a0dda25e3..6bd849f8e5 100644 --- a/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c +++ b/src/ov_SC03_103/ov_SC03_103_jr_8017C294.c @@ -3428,7 +3428,7 @@ int func_8017E6D0(int param_1) extern void (*D_801880B8[])(void); void func_8017E700(void *a0) { - D_801880B8[*(u16 *)((s32)a0 + 0x2)](); + D_801880B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3456,7 +3456,7 @@ void func_8017E780(s32 a0) { extern void (*D_801880C0[])(void); void func_8017E7D0(void *a0) { - D_801880C0[*(u16 *)((s32)a0 + 0x2)](); + D_801880C0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3570,7 +3570,7 @@ void func_8017E974(s32 a0) { s32 y; s32 ret; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -3608,18 +3608,18 @@ void func_8017E974(s32 a0) { } } - D_801A0024[*(u16 *)(a0 + 0x2)](a0); + D_801A0024[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, CAST_SIGN(u16, a0, 0x70)); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x70)); + CAST_SIGN(u16, a0, 0x70)); } } } @@ -3722,93 +3722,93 @@ void func_8017ED94(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_801A0314[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0316[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0318[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0314[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0316[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0318[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0078); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0078); func_8012A828(a0, (s32)D_801A0138); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A01C0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A01C0); func_8012A828(a0, (s32)D_801A0280); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_801A0364; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_801A0388; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_801A003C; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_801A0364; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_801A0388; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_801A003C; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0078); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0078); func_8012A828(a0, (s32)D_801A0138); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A01C0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A01C0); func_8012A828(a0, (s32)D_801A0280); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0374); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0374); func_8012A828(a0, (s32)D_801A0380); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_801A0078); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A0078); func_8012A828(a0, (s32)D_801A0138); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -3851,15 +3851,15 @@ void func_8017F3D4(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -3868,61 +3868,61 @@ void func_8017F3D4(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3937,20 +3937,20 @@ void func_8017F784(void *a0) { s32 t; u16 *q; - D_801A0398[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A0398[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3963,7 +3963,7 @@ void func_8017F784(void *a0) { extern void (*D_801A0444[])(void); void func_8017F870(void *a0) { - D_801A0444[*(u16 *)((s32)a0 + 0x2)](); + D_801A0444[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3971,7 +3971,7 @@ void func_8017F870(void *a0) { extern void (*D_801A04F8[])(void); void func_8017F8AC(void *a0) { - D_801A04F8[*(u16 *)((s32)a0 + 0x2)](); + D_801A04F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4000,17 +4000,17 @@ void func_8017F900(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_8019FF78) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_8019FF58; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019FF58; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_8018445C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -4036,18 +4036,18 @@ void func_8017F9C0(void *a0) { extern u8 D_801A003C[]; extern u8 D_8019FF58[]; if (func_8012C354((s32)a0, (s32)D_801A003C) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_8019FF58; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019FF58; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012A828((s32)a0, (s32)D_8018445C); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -4061,13 +4061,13 @@ void func_8017FA44(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -4124,16 +4124,16 @@ void func_8017FB34(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0308); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4153,18 +4153,18 @@ void func_8017FBF8(void *a0) { extern u16 D_801A0318[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_801A0314[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_801A0316[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_801A0318[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0314[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_801A0316[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0318[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -4178,8 +4178,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_8017FCD8(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_8017FCD8 *ptr = *(Struct_8017FCD8 **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_8017FCD8 *ptr = CAST_SIGN(Struct_8017FCD8 *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -4202,18 +4202,18 @@ void func_8017FD48(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_801A0308); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -4241,18 +4241,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_8017FE2C(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -4279,12 +4279,12 @@ void func_8017FEE4(s32 a0) { extern s16 D_801A040A[]; if (func_8012C354(a0, (s32)D_801A03D0) != 0) { func_8012A828(a0, (s32)D_8018445C); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_801A0404[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_801A0406[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_801A0408[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_801A040A[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_801A0404[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_801A0406[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_801A0408[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_801A040A[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -4350,24 +4350,24 @@ void func_80180078(s32 param_1) s16 sVar1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A0450); func_8012A828(param_1, (s32)D_801A04B0); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = 0x10; - *(s32 *)(param_1 + 0x94) = rand() & 7; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x10; - if ((u32)(*(u16 *)(param_1 + 0x70) - 1) >= 0x6fff) { - *(u16 *)(param_1 + 0x70) = rand() & 0x77ff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = rand() & 7; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + if ((u32)(CAST_SIGN(u16, param_1, 0x70) - 1) >= 0x6fff) { + ((Unkstruct_800B5CB8 *)param_1)->unk70 = rand() & 0x77ff; sVar1 = 2; } else { sVar1 = 1; } - *(s16 *)(param_1 + 2) = sVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = sVar1; } } @@ -4479,16 +4479,16 @@ void func_8018043C(void *a0) { s16 t; r = rand(); - *(u16 *)((s32)a0 + 0x104) = *(u16 *)((s32)a0 + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, (s32)a0, 0xFC); t = r; func_8012B200(a0); - if (*(u16 *)((s32)a0 + 0x70) & 1) { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 1800) + 0xE10; + if (CAST_SIGN(u16, (s32)a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 1800) + 0xE10; } else { - *(s32 *)((s32)a0 + 0x1C) = (s16)(r % 60) + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (s16)(r % 60) + 0x78; } - *(s16 *)((s32)a0 + 0xFE) = t % 32 + 0xA; - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkFE = t % 32 + 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } @@ -4508,27 +4508,27 @@ void func_80180564(s32 a0) { func_80180F10(sp10, a0, a0 + 0x102); t = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); - if ((*(u16 *)(a0 + 0x70) & 2) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 2) == 0) { if (func_8012BEE8(a0)) { - if (*(s32 *)(a0 + 0xE0) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 == 0) { if (((s32 (*)(s32))func_80180FBC)(a0)) { - if (*(u16 *)(a0 + 0x70) & 1) { - *(s32 *)(a0 + 0x1C) = rand() % 0x708 + 0xE10; + if (CAST_SIGN(u16, a0, 0x70) & 1) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x708 + 0xE10; } else { - *(s32 *)(a0 + 0x1C) = rand() % 0x3C + 0x78; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 0x3C + 0x78; } } else { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } else { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } } @@ -4548,26 +4548,26 @@ void func_801806D4(s32 a0) { s32 val; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)auStack_18, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); tmp = *(s32 *)auStack_18; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + tmp; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (tmp >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + tmp; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (tmp >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } @@ -4589,48 +4589,48 @@ void func_80180868(s32 a0) { s32 t; s32 r; - *(s16 *)((s32)sp10 + 0x2) = *(u16 *)(a0 + 0x102); - *(s16 *)((s32)sp10 + 0xA) = *(u16 *)(a0 + 0x106); - q = *(u16 *)(a0 + 0x104); + *(s16 *)((s32)sp10 + 0x2) = CAST_SIGN(u16, a0, 0x102); + *(s16 *)((s32)sp10 + 0xA) = CAST_SIGN(u16, a0, 0x106); + q = CAST_SIGN(u16, a0, 0x104); *(s16 *)((s32)sp10 + 0x6) = q; - if ((*(u16 *)(a0 + 0x70) & 0x20) == 0) { + if ((CAST_SIGN(u16, a0, 0x70) & 0x20) == 0) { *(s16 *)((s32)sp10 + 0x6) = q + D_80126B62; } else { - *(s16 *)((s32)sp10 + 0x6) = q + *(u16 *)(a0 + 0x8A); + *(s16 *)((s32)sp10 + 0x6) = q + ((Unkstruct_800B5CB8 *)a0)->unk8A; } func_8012B77C((s32)sp28, a0 + 4, (s32)sp10); t = *(s32 *)sp28; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = t; - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), t >> 16, - *(s16 *)(a0 + 0xFE)); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - func_8012B178(a0, *(s32 *)(a0 + 0xE4)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = t; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), t >> 16, + ((Unkstruct_800B5CB8 *)a0)->unkFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4); func_8012CBF4(a0); if (func_8012BEE8(a0)) { s32 base; s32 off; s32 val; - *(s32 *)(a0 + 0x1C) = rand() % 128 + 0x80; - *(s16 *)(a0 + 0xFE) = rand() % 32 + 10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 128 + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() % 32 + 10; func_8012B0B4((unsigned int *)sp28, rand() % 0x1000, - rand() % *(s32 *)(a0 + 0xDC)); + rand() % ((Unkstruct_800B5CB8 *)a0)->unkDC); t = *(s32 *)sp28; - *(s16 *)(a0 + 0x102) = *(u16 *)(a0 + 0x88) + t; - *(s16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x8C) + (t >> 16); - if (*(u16 *)(a0 + 0x70) & 0x20) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk88 + t; + ((Unkstruct_800B5CB8 *)a0)->unk106 = ((Unkstruct_800B5CB8 *)a0)->unk8C + (t >> 16); + if (CAST_SIGN(u16, a0, 0x70) & 0x20) { off = rand() % 256; - base = *(s16 *)(a0 + 0xFC); + base = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (rand() & 1) { val = base + off; } else { val = base - off; } - *(s16 *)(a0 + 0x104) = val; + ((Unkstruct_800B5CB8 *)a0)->unk104 = val; } else { - *(s16 *)(a0 + 0x104) = *(u16 *)(a0 + 0xFC) - rand() % 256; + ((Unkstruct_800B5CB8 *)a0)->unk104 = CAST_SIGN(u16, a0, 0xFC) - rand() % 256; } } } @@ -4664,13 +4664,13 @@ void func_80180ABC(s32 a0) { func_80180F10(sp18, a0, (s32)sp10); u = sp18[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; func_8012B200((void *)a0); func_8012B2CC(a0); - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFFE0000); - *(s16 *)(a0 + 0x2) = 6; - *(s16 *)(a0 + 0x34) = 0; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFFE0000); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -4692,30 +4692,30 @@ void func_80180BC8(s32 a0) { s32 t; s32 u; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012CBF4)(a0)) { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; - } else if (*(s16 *)(a0 + 0x100) < *(s16 *)(a0 + 0xA)) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + } else if (((Unkstruct_800B5CB8 *)a0)->unk100 < CAST_SIGN(s16, a0, 0xA)) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 1: t = func_8012B8E4(a0, 6); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + t; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + t; if (func_8012BEE8(a0)) { if (rand() & 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else { - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012B200((void *)a0); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8002D4C8(0x6FF, 0); } } @@ -4723,18 +4723,18 @@ void func_80180BC8(s32 a0) { case 2: func_80180F10(sp10, a0, (s32)D_801A23C4); u = sp10[0]; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = u; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = u >> 16; - func_8012B178(a0, *(s32 *)(a0 + 0xE4) + 0xFFF80000); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = u; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = u >> 16; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE4 + 0xFFF80000); func_8012CBF4(a0); if (func_80180EE4(a0) == 1) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } else if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } break; default: - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; break; } } @@ -4753,17 +4753,17 @@ void func_80180D64(void *arg0) { if (!func_8012E778((s32)arg0, 0xA000C8)) { { s32 t; - t = *(u16 *)((char *)arg0 + 0x70) & 0x10; - *(s16 *)((char *)arg0 + 0x2) = (t == 0) ? 1 : 3; + t = CAST_SIGN(u16, (char *)arg0, 0x70) & 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = (t == 0) ? 1 : 3; } - *(s16 *)((char *)arg0 + 0x5C) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78) + 0x2); - *(s16 *)((char *)arg0 + 0x76) = - *(u16 *)(*(s32 *)((char *)arg0 + 0x78)); - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1A) = - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x1C) = 0x1000; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x2C) &= 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78 + 0x2); + ((Unkstruct_800B5CB8 *)arg0)->unk76 = + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk78); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk2C &= 0x10; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)(arg0, &D_801A48E4); } @@ -4780,19 +4780,19 @@ extern void func_8012E8A8(u8 *a0); void func_80180E20(void *arg0) { func_8002A04C((s32)arg0); - if ((*(s16 *)((char *)arg0 + 0x70) & 0x8000) != 0) { - s32 v1 = *(s32 *)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 0x7; - *(s8 *)((char *)arg0 + 0xC1) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x40; - *(s16 *)((char *)arg0 + 0x5E) = 0; - *(s16 *)((char *)arg0 + 0x5C) = 0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) != 0) { + s32 v1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x7; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; + CAST_WIDTH(s16, (char *)arg0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; *(s16 *)((char *)v1 + 0x12) = 0; *(s16 *)((char *)v1 + 0x10) = 0; func_8012E8A8((u8 *)arg0); - *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88); - *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A); - *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk88; + ((Unkstruct_800B5CB8 *)arg0)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unk8A; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unk8C; } else { func_8012C218(arg0); } @@ -4860,11 +4860,11 @@ void func_80180F10(s32 *a0, s32 a1, s32 a2) { p = (u16 *)(a1 + 0x88); *(s32 *)(a1 + 0xE0) = 1; } - *(s16 *)((s32)sp10 + 0x2) = p[0] + *(u16 *)a2; - t = p[1] + *(u16 *)(a2 + 2); + *(s16 *)((s32)sp10 + 0x2) = p[0] + ((Unkstruct_800B5CB8 *)a2)->unk0; + t = p[1] + CAST_SIGN(u16, a2, 2); *(s16 *)((s32)sp10 + 0x6) = t; *(s16 *)(a1 + 0x100) = t; - *(s16 *)((s32)sp10 + 0xA) = p[2] + *(u16 *)(a2 + 4); + *(s16 *)((s32)sp10 + 0xA) = p[2] + CAST_SIGN(u16, a2, 4); func_8012B77C((s32)&sp20, a1 + 4, (s32)sp10); rv = sp20; *a0 = rv; @@ -4962,46 +4962,46 @@ void func_80181040(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801AAE14); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AAE14); func_8012A828((s32)a0, (s32)&D_801B2558); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -5033,7 +5033,7 @@ void func_801811C4(void *a0) { extern s32 D_801A4C58; extern s32 D_801A4CA0; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_801A4A80 + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -5041,58 +5041,58 @@ void func_801811C4(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: func_8012A828((s32)a0, (s32)D_801B1460); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4BB8; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4BB8; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: func_8012A828((s32)a0, (s32)D_801B0D28); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4C58; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4C58; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: func_8012A828((s32)a0, (s32)&D_801B23D8); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4CA0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4CA0; break; case 4: func_8012A828((s32)a0, (s32)D_801B1460); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4BB8; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4BB8; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { func_8012A828((s32)a0, (s32)D_801B2258); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { func_8012A828((s32)a0, (s32)D_801B1460); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4BB8; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4BB8; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -5214,61 +5214,61 @@ void func_801813E8(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, (s32)D_801B1460); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { func_8012A828(a0, (s32)D_801B0DD0); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -5295,8 +5295,8 @@ void func_801813E8(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5339,34 +5339,34 @@ void func_8018179C(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -5380,17 +5380,17 @@ void func_8018179C(s32 a0) { func_8012A828(a0, (s32)D_801B16E0); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { func_8012A828(a0, (s32)D_801B1F68); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -5493,34 +5493,34 @@ void func_801819DC(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_801A4D18); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -5573,39 +5573,39 @@ void func_80181C44(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_801A4D18); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; func_8012A828(a0, (s32)D_801B1A20); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -5660,10 +5660,10 @@ void func_80181DEC(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -5687,27 +5687,27 @@ void func_80181DEC(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { func_8012A828(a0, (s32)&D_801B2570); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_801A4A50 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A4A50 | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_801A4D24); @@ -5741,36 +5741,36 @@ void func_80182038(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -5802,8 +5802,8 @@ void func_80182184(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -5833,22 +5833,22 @@ void func_8018223C(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -5858,13 +5858,13 @@ void func_8018223C(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -5882,16 +5882,16 @@ void func_80182390(void *a0) { u16 temp; s32 a1; - D_801A4DCC[*(u16 *)((s32)a0 + 0x2)](a0); + D_801A4DCC[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -5909,15 +5909,15 @@ void func_8018243C(void *a0) { extern u16 D_80126B96; u16 *q; - D_801A4F2C[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_801A4F2C[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -5939,17 +5939,17 @@ void func_801824EC(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -5959,14 +5959,14 @@ void func_801824EC(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801B22F0); - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_801A4BB8; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801A4A50 | 0x40000000 | 0x20000000; - *(s16 *)((s32)a0 + 0x88) = *(u16 *)((s32)a0 + 0x6); - *(s16 *)((s32)a0 + 0x8A) = *(u16 *)((s32)a0 + 0xA); - *(s16 *)((s32)a0 + 0x8C) = *(u16 *)((s32)a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_801A4BB8; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A4A50 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; } } @@ -6022,42 +6022,42 @@ void func_801825D4(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a2; buf[6] = a2; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) != 0) { - *(u16 *)((s32)a0 + 0x100) = *(u16 *)((s32)a0 + 0x100) | 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, (s32)a0, 0x100) | 0x8000; func_80131E00(a0, 6); } else { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801B08A8) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801B08A8) { func_8012A828((s32)a0, (s32)&D_801B06A0); - *(u16 *)((s32)a0 + 0x2) = 0x14; - *(u16 *)((s32)a0 + 0x34) = 1; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0xCC) = (s32)&D_801B1460; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)&D_801B1460; } else { - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_8012A828((s32)a0, (s32)&D_801B1F68); } else { func_8012A828((s32)a0, (s32)&D_801B1460); } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xAA10; } } @@ -6073,23 +6073,23 @@ extern void func_8012C098(void *param_1); void func_801826F0(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -6108,19 +6108,19 @@ void func_801827D0(s32 a0) { V8_801827D0 sp10; V8_801827D0 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_801A4A34); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -6136,18 +6136,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_801828A8(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -6186,17 +6186,17 @@ void func_8018294C(void *a0) { u16 a2; u16 tmp0; - tmp0 = *(u16 *)((s32)a0 + 0x6); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; *(u16 *)(&buf[0]) = v0; *(u16 *)(&buf[4]) = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; *(u16 *)(&buf[1]) = v1; *(u16 *)(&buf[5]) = v1; - a2 = *(u16 *)((s32)a0 + 0xE); + a2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(&buf[1]) = v0; *(u16 *)(&buf[5]) = (v1 + 8); *(u16 *)(&buf[2]) = a2; @@ -6206,8 +6206,8 @@ void func_8018294C(void *a0) { func_80131E00(a0, 6); } else { func_8012A828((s32)a0, (s32)&D_801B23D8); - *(u16 *)((s32)a0 + 0x2) = 6; - *(u16 *)((s32)a0 + 0x5C) = (u16)0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C = (u16)0xA810; } } @@ -6235,9 +6235,9 @@ void func_801829F0(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -6251,9 +6251,9 @@ void func_801829F0(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -6265,7 +6265,7 @@ void func_80182AB0(s32 a0) { extern u8 D_801A4A44[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_801A4A44); } @@ -6304,11 +6304,11 @@ void func_80182B78(s32 a0) { extern u8 D_801B0F40[]; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { func_8012A828(a0, (s32)D_801B0F40); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } } @@ -6333,16 +6333,16 @@ void func_80182BD4(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)D_801B0F40); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_801A4CF8, (s32)&D_801A4D00) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -6364,8 +6364,8 @@ void func_80182CAC(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -6374,12 +6374,12 @@ void func_80182CAC(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { func_8012A828((s32)a0, (s32)D_801B0F40); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -6404,15 +6404,15 @@ void func_80182D40(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); func_8012A828(a0, (s32)&D_801B1C58); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_801A4CF8, (s32)&D_801A4D00) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -6443,20 +6443,20 @@ void func_80182E0C(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_801A4D30); *(s16 *)(a0 + 0x16) = -0x8; func_8012A828(a0, (s32)D_801B0D28); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_801A4D08, (s32)D_801A4D10, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -6479,21 +6479,21 @@ void func_80182EE4(s32 a0) { extern s32 D_801A4A60; u16 temp; - if (*(s32 *)(a0 + 0x94) == 0xD) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { func_8002D4C8(0x702, 0x107F); } func_8012CBCC(a0); - temp = *(u16 *)(a0 + 0x102) + 1; - *(u16 *)(a0 + 0x102) = temp; + temp = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = temp; if ((s16)temp == 0x1E) { - *(u16 *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, (s32)&D_801B0D28); - *(u16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x14) = 0; - *(s32 *)(a0 + 0x58) = ((s32)&D_801A4A60 | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)&D_801A4A60 | 0x40000000) | 0x20000000; } } @@ -6537,13 +6537,13 @@ void func_80182FE0(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; func_8012A828(entity, (s32)&D_801B17E8); } else { func_8012A828(entity, (s32)&D_801B1F68); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -6561,10 +6561,10 @@ void func_80183080(s32 a0) { result = func_80153BD8(a0); if (result == 0) { func_8012A828(a0, (s32)&D_801B1F68); - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { - *(s16 *)(a0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -6590,11 +6590,11 @@ void func_801830D4(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801B1B28); } else { func_8012A828(a0, (s32)&D_801B23D8); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -6617,7 +6617,7 @@ void func_80183168(s32 a0) func_8012A828(a0, (s32)&D_801B1C58); v0 = 0x6; } - *(s16 *)(a0 + 0x2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -6642,9 +6642,9 @@ extern void func_8012A828(s32 a0, s32 a1); void func_801831D8(s32 a0) { - if (((*(u16 *)(a0 + 0x72) & 0x4000) != 0) || (*(s16 *)(a0 + 0x98) == 0)) { - *(s16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); - func_8012A828(a0, *(s32 *)(a0 + 0xCC)); + if (((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) || (((Unkstruct_800B5CB8 *)a0)->unk98 == 0)) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; + func_8012A828(a0, ((Unkstruct_800B5CB8 *)a0)->unkCC); } } @@ -6670,25 +6670,25 @@ void func_80183224(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_801A4D90); func_8012A828(param_1, (s32)D_801A4DA8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_801A4DC0); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -6745,7 +6745,7 @@ void func_80183394(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -6753,26 +6753,26 @@ void func_80183394(s32 a0) func_8001CA1C(v0, (s32)&D_801A4DD8); func_8012A828(a0, (s32)&D_801A4E98); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_801A4F20); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -6789,9 +6789,9 @@ extern void func_8012C218(void *a0); void func_801834D8(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -6801,7 +6801,7 @@ void func_801834D8(void *a0) { extern void (*D_801C1F98[])(void); void func_80183544(void *a0) { - D_801C1F98[*(u16 *)((s32)a0 + 0x2)](); + D_801C1F98[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6827,7 +6827,7 @@ void func_80183580(void *a0) i--; } while (i >= 0); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; func_8012AD50((void *)a0); } @@ -6850,14 +6850,14 @@ void func_801835F8(s32 a0) if (func_8012BEE8(a0) != 0) { r = rand(); - w = *(u16 *)((s32)a0 + 0xFC); + w = CAST_SIGN(u16, (s32)a0, 0xFC); p = &D_801C1FA8; t = ((s16)w / 2 - (r & (w - 1))) * 2; - *p = *(u16 *)((s32)a0 + 6) + t; - D_801C1FAA = *(u16 *)((s32)a0 + 0xA); - D_801C1FAC = *(u16 *)((s32)a0 + 0xE) + t; + *p = ((Unkstruct_800B5CB8 *)a0)->unk6 + t; + D_801C1FAA = ((Unkstruct_800B5CB8 *)a0)->unkA; + D_801C1FAC = CAST_ALIAS(u16, (s32)a0, 0xE) + t; func_801836A8(a0, p); - *(s32 *)((s32)a0 + 0x1C) = (rand() & 0x7F) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 0x7F) + 0x40; } } @@ -6881,7 +6881,7 @@ void func_801836A8(int param_1, int param_2) if (D_801C4C60[i] == 0) { D_801C4C60[i] = 1; *(s32 *)(param_2 + 0x10) = i | 0x80000000; - *(u16 *)(param_2 + 8) = *(u16 *)(param_1 + 0x70); + *(u16 *)(param_2 + 8) = CAST_SIGN(u16, param_1, 0x70); func_8012C51C(param_2, param_1); return; } @@ -6904,23 +6904,23 @@ void func_80183760(void *a0) s32 iVar2; u32 *puVar3; - *(s16 *)((s32)a0 + 0xFC) = 0x7000; - *(s16 *)((s32)a0 + 0x100) = 0; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s16 *)((s32)a0 + 0x104) = 0; - *(s16 *)((s32)a0 + 0x106) = 0; - puVar3 = (u32 *)((u8 *)&D_801C4B20 + (*(s16 *)((s32)a0 + 0xDC) * 0x40)); + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x7000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 0; + puVar3 = (u32 *)((u8 *)&D_801C4B20 + (CAST_WIDTH(s16, (s32)a0, 0xDC) * 0x40)); iVar2 = func_8012C194(); - *(s32 *)((s32)a0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = iVar2; if (iVar2 != 0) { func_8001CD50(iVar2, (s32)puVar3); - *(s16 *)(iVar2 + 0x10) = 0x400; - *(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x60000000; + ((Unkstruct_800B5CB8 *)iVar2)->unk10 = 0x400; + CAST_WIDTH(u32, iVar2, 4) = CAST_WIDTH(u32, iVar2, 4) | 0x60000000; func_800233CC(puVar3, 0x40); puVar3[0] = 0x808080; puVar3[1] = 0x808080; func_80183AEC((s32)a0); - *(s16 *)((s32)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } @@ -6973,7 +6973,7 @@ void func_80183820(void *a0) s32 p; s32 v; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; if (p != 0) { v = *(u16 *)(p + 0x1A) - 0x100; *(s16 *)(p + 0x1A) = v; @@ -6983,23 +6983,23 @@ void func_80183820(void *a0) *(s16 *)(p + 0x18) = 0; } } - if (*(s16 *)((s32)a0 + 0xFE) >= 0x6000) { - *(s16 *)((s32)a0 + 0xFE) = 0x6000; + if (((Unkstruct_800B5CB8 *)a0)->unkFE >= 0x6000) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0x6000; } else { s32 dv, sv; - dv = *(u16 *)((s32)a0 + 0x106) + 0x400; - *(s16 *)((s32)a0 + 0x106) = dv; - *(s16 *)((s32)a0 + 0xFE) = (*(u16 *)((s32)a0 + 0xFE) + dv); + dv = CAST_SIGN(u16, (s32)a0, 0x106) + 0x400; + ((Unkstruct_800B5CB8 *)a0)->unk106 = dv; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (CAST_SIGN(u16, (s32)a0, 0xFE) + dv); } { - s32 d = *(u16 *)((s32)a0 + 0x104) - 0x80; + s32 d = CAST_SIGN(u16, (s32)a0, 0x104) - 0x80; s16 s; - *(s16 *)((s32)a0 + 0x104) = d; - s = *(u16 *)((s32)a0 + 0xFC) + d; - *(s16 *)((s32)a0 + 0xFC) = s; + ((Unkstruct_800B5CB8 *)a0)->unk104 = d; + s = CAST_SIGN(u16, (s32)a0, 0xFC) + d; + ((Unkstruct_800B5CB8 *)a0)->unkFC = s; if (s < 0) { - D_801C4C60[*(s16 *)((s32)a0 + 0xDC)] = 0; + D_801C4C60[CAST_WIDTH(s16, (s32)a0, 0xDC)] = 0; func_8012C218(a0); } else { func_801838EC(a0); @@ -7110,5 +7110,5 @@ s32 a0; extern void (*D_801C20DC[])(void); void func_80183BF8(void *a0) { - D_801C20DC[*(u16 *)((s32)a0 + 0x2)](); + D_801C20DC[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_104/ov_SC03_104_jr_80186538.c b/src/ov_SC03_104/ov_SC03_104_jr_80186538.c index 83f4558a3d..a0eb2ffb19 100644 --- a/src/ov_SC03_104/ov_SC03_104_jr_80186538.c +++ b/src/ov_SC03_104/ov_SC03_104_jr_80186538.c @@ -2809,93 +2809,93 @@ void func_80186538(s32 a0) { u32 uVar5; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8012B23C((void *)a0); - *(u16 *)(a0 + 0x12) = D_8019D55C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019D55E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8019D560[*(s16 *)(a0 + 0xFC) * 4]; - switch (*(s16 *)(a0 + 0x70)) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019D55C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019D55E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019D560[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + switch (((Unkstruct_800B5CB8 *)a0)->unk70) { case 0: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D2C0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D2C0); func_8012A828(a0, (s32)D_8019D380); - *(s16 *)(a0 + 2) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 1: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D408); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D408); func_8012A828(a0, (s32)D_8019D4C8); - *(s16 *)(a0 + 2) = 4; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s32 *)(a0 + 0x1C) = 8; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(u8 *)(a0 + 0xC0) = 1; - *(u8 **)(a0 + 0x58) = D_8019D5AC; - *(u16 *)(a0 + 0x5C) = 0x8000; - *(s16 *)(a0 + 0xAE) = -9; - *(u8 **)(a0 + 0xBC) = D_8019D5D0; - *(u32 *)(a0 + 0xB4) = 0; - *(u8 **)(a0 + 0x78) = D_8019D284; - *(u32 *)(a0 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(u8 *, a0, 0x58) = D_8019D5AC; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -9; + CAST_SIGN(u8 *, a0, 0xBC) = D_8019D5D0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + CAST_SIGN(u8 *, a0, 0x78) = D_8019D284; + CAST_SIGN(u32, a0, 0xC4) |= 2; uVar3 = func_8012C658(0x12F, 4, a0); - *(u32 *)(a0 + 0xCC) = uVar3; + ((Unkstruct_800B5CB8 *)a0)->unkCC = uVar3; break; case 2: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D2C0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D2C0); func_8012A828(a0, (s32)D_8019D380); - *(s16 *)(a0 + 2) = 6; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2000; break; case 3: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D408); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D408); func_8012A828(a0, (s32)D_8019D4C8); - *(s16 *)(a0 + 2) = 7; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; break; case 4: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D5BC); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D5BC); func_8012A828(a0, (s32)D_8019D5C8); - *(s16 *)(a0 + 2) = 8; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x8000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x3C00; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3C00; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x8000000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x3C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3C00; break; case 5: - func_8001CA1C(*(s32 *)(a0 + 0x20), (s32)D_8019D2C0); + func_8001CA1C(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_8019D2C0); func_8012A828(a0, (s32)D_8019D380); - *(s16 *)(a0 + 2) = 9; - *(u16 *)(a0 + 0xFE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000; - *(s16 *)(a0 + 0x100) = *(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) * 6; - sVar1 = *(s16 *)(*(s32 *)(a0 + 0x64) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk100 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) * 6; + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); if (sVar1 == 5) { - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x60) - 0x60; sVar1 = (rand() % 0x60) - 0x40; } else { if (sVar1 != 6) { break; } - *(s16 *)(a0 + 0x12) = (rand() % 0x60) - 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() % 0x60) - 0x30; *(s16 *)(a0 + 0x16) = (rand() % 0x20) - 0x20; sVar1 = (rand() % 0x60) - 0x50; } - *(s16 *)(a0 + 0x1A) = sVar1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = sVar1; } uVar5 = rand(); - *(u32 *)(a0 + 0x94) = uVar5 & 0xF; - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk94 = uVar5 & 0xF; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; } @@ -2938,15 +2938,15 @@ void func_80186B78(void *a0) s32 tmp; s32 m; - if (*(s16 *)((s32)a0 + 0xFE) == *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { - if ((*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x100) & 0x4000) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { + if ((*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x100) & 0x4000) == 0) { goto low; } - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) - 0x200; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) - 0x200; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x200) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A - 0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x200) { goto tail; } func_80143B6C((s32)a0, 0); @@ -2955,61 +2955,61 @@ void func_80186B78(void *a0) return; low: - cnt = *(u16 *)((s32)a0 + 0x100) - 1; - *(s16 *)((s32)a0 + 0x100) = cnt; + cnt = CAST_SIGN(u16, (s32)a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = cnt; if ((s16)cnt < 9) { - *(s16 *)((s32)a0 + 0x100) = 0x18; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 5) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x18; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 96 - 0x60; - *(s16 *)((s32)a0 + 0x1A) = rand() % 56 - 0x2C; - } else if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) == 6) { - *(s16 *)((s32)a0 + 0x12) = rand() % 56 - 0x1C; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 56 - 0x2C; + } else if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) == 6) { + ((Unkstruct_800B5CB8 *)a0)->unk12 = rand() % 56 - 0x1C; *(s16 *)((s32)a0 + 0x16) = rand() % 32 - 0x20; - *(s16 *)((s32)a0 + 0x1A) = rand() % 128 - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1A = rand() % 128 - 0x60; } } - tmp = *(s16 *)((s32)a0 + 0x100); + tmp = ((Unkstruct_800B5CB8 *)a0)->unk100; if (tmp < 0x10) { s32 g1; /* per-arm local: §5a cross-jump barrier, see header */ - g1 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g1 + 0x1A) = tmp * 0x300; - *(s16 *)(g1 + 0x18) = tmp * 0x300; + g1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g1)->unk1A = tmp * 0x300; + ((Unkstruct_800B5CB8 *)g1)->unk18 = tmp * 0x300; } else { s32 g2; /* per-arm local: §5a cross-jump barrier, see header */ - g2 = *(s32 *)((s32)a0 + 0x20); - *(s16 *)(g2 + 0x1A) = (0x20 - tmp) * 0x300; - *(s16 *)(g2 + 0x18) = (0x20 - tmp) * 0x300; + g2 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)g2)->unk1A = (0x20 - tmp) * 0x300; + ((Unkstruct_800B5CB8 *)g2)->unk18 = (0x20 - tmp) * 0x300; } tail: { s32 msk; msk = 0x80000000; /* HOISTED OUT OF THE ARM ON PURPOSE — see header (3) */ - if (*(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x4) < 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= msk; + if (*(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x4) < 0) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= msk; } else { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) &= 0x7FFFFFFF; } } - *(s32 *)((s32)a0 + 0x4) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC); - sv0[0] = *(u16 *)((s32)a0 + 0x12); + sv0[0] = ((Unkstruct_800B5CB8 *)a0)->unk12; sv0[1] = *(u16 *)((s32)a0 + 0x16); - sv0[2] = *(u16 *)((s32)a0 + 0x1A); + sv0[2] = ((Unkstruct_800B5CB8 *)a0)->unk1A; - m = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34; + m = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34; gte_SetRotMatrix(m); gte_SetTransMatrix(m); RotTransSV(sv0, sv1, flag); - *(s16 *)((s32)a0 + 0x6) = sv1[0]; - *(s16 *)((s32)a0 + 0xA) = sv1[1]; - *(s16 *)((s32)a0 + 0xE) = sv1[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sv1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = sv1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = sv1[2]; } @@ -3024,20 +3024,20 @@ void func_80186F28(void *a0) { s32 t; u16 *q; - D_8019D5E0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - if (*(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) >= 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019D5E0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x1c, 0xa) == 1) { q = &D_80126B96; *q |= 0x200; } - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; - if (*(s16 *)((s32)a0 + 0x70) == 1) { - t = *(s32 *)((s32)a0 + 0x1c) - 1; - *(s32 *)((s32)a0 + 0x1c) = t; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { - *(s32 *)((s32)a0 + 0x1c) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012C658(0x12f, 3, (s32)a0); } } @@ -3050,7 +3050,7 @@ void func_80186F28(void *a0) { extern void (*D_8019D68C[])(void); void func_80187014(void *a0) { - D_8019D68C[*(u16 *)((s32)a0 + 0x2)](); + D_8019D68C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3058,7 +3058,7 @@ void func_80187014(void *a0) { extern void (*D_8019D740[])(void); void func_80187050(void *a0) { - D_8019D740[*(u16 *)((s32)a0 + 0x2)](); + D_8019D740[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3087,17 +3087,17 @@ void func_801870A4(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_8019D1C0) != 0) { - *(u8 *)(a0 + 0xC0) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_8019D1A0; - *(s32 *)(a0 + 0xC4) = t | 0x2; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019D1A0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018AFEC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012C658(0x164, 0x555, a0); func_8012C658(0x164, 0xAAA, a0); @@ -3123,18 +3123,18 @@ void func_80187164(void *a0) { extern u8 D_8019D284[]; extern u8 D_8019D1A0[]; if (func_8012C354((s32)a0, (s32)D_8019D284) != 0) { - void *a2 = *(void **)((char *)a0 + 0x20); + void *a2 = CAST_SIGN(void *, (char *)a0, 0x20); - *(s32 *)((char *)a2 + 0x4) |= 0x80000000; - *(u8 *)((char *)a0 + 0xC0) = 1; + CAST_WIDTH(s32, (char *)a2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; - *(s32 *)((char *)a0 + 0xBC) = (s32)D_8019D1A0; - *(s32 *)((char *)a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019D1A0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_8018AFEC); - *(u16 *)((char *)a0 + 0x2) = 1; - *(u8 *)((char *)a0 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; } } @@ -3148,13 +3148,13 @@ void func_801871E8(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3211,16 +3211,16 @@ void func_801872D8(s32 a0) { s32 r; if (func_8012BCCC(a0) > 0x63FFF) { - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B864(a0), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019D550); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((D_80126CB6 - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((D_80126CB6 - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0)) { *(s16 *)(a0 + 0x16) = -0x18; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3240,18 +3240,18 @@ void func_8018739C(void *a0) { extern u16 D_8019D560[]; void *a1; - if (--*(s32 *)((s32)a0 + 0x1c) == 0) { - *(u16 *)((s32)a0 + 0x6) = *(u16 *)((s32)a0 + 0x88); - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0x8a); - *(u16 *)((s32)a0 + 0xe) = *(u16 *)((s32)a0 + 0x8c); - a1 = *(void **)((s32)a0 + 0x20); - *(u32 *)((s32)a1 + 0x4) &= 0x7fffffff; + if (--((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + a1 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (s32)a1, 0x4) &= 0x7fffffff; func_8012E688(a0, 0x679, 0); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C(a0); - *(u16 *)((s32)a0 + 0x12) = D_8019D55C[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x16) = D_8019D55E[*(s16 *)((s32)a0 + 0xfc) * 4]; - *(u16 *)((s32)a0 + 0x1a) = D_8019D560[*(s16 *)((s32)a0 + 0xfc) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019D55C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)((s32)a0 + 0x16) = D_8019D55E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019D560[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; } } @@ -3265,8 +3265,8 @@ extern void func_8012E688(void *a0, s32 a1, s32 a2); void func_8018747C(s32 a0) { s32 ret = func_8012BD14(a0); if (ret <= 0x64000) { - Struct_8018747C *ptr = *(Struct_8018747C **)(a0 + 0x20); - *(s16 *)(a0 + 0x2) = 1; + Struct_8018747C *ptr = CAST_SIGN(Struct_8018747C *, a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ptr->f1 = ptr->f1 & 0x7FFFFFFF; func_80143970((void *)a0); func_8012E688((void *)a0, 0xBA2, 0); @@ -3289,18 +3289,18 @@ void func_801874EC(s32 a0) { s32 r; if (func_8012BCCC(a0) <= 0x38400) { - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[2] = *(u16 *)(a0 + 0xE); - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B70C(sp10, (s16 *)(a0 + 0x88)), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; func_8012B1B4(a0, (s32)D_8019D550); - *(s32 *)(a0 + 0x14) = - *(s32 *)(a0 + 0x14) + - ((*(s16 *)(a0 + 0x8A) - *(s16 *)(a0 + 0xA)) << 8); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((Unkstruct_800B5CB8 *)a0)->unk14 + + ((CAST_SIGN(s16, a0, 0x8A) - CAST_SIGN(s16, a0, 0xA)) << 8); if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x8000) { *(s16 *)(a0 + 0x16) = -4; ((void (*)(s32, s32, s32))func_8012E688)(a0, 0xBA2, 0); @@ -3328,18 +3328,18 @@ extern void func_8002A04C(s32 a0); extern void func_8012C218(void *a0); void func_801875D0(s32 arg0) { - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) -= 0x100; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) -= 0x100; - if (*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) < 0x81) { - if (*(s16 *)(arg0 + 0x70) == 1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 -= 0x100; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A -= 0x100; + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1A) < 0x81) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 1) { /* LOAD-BEARING: hoisting the argument load into its own local * emits `lw $a0,0xCC($s0)` ABOVE the guard branch and leaves the * beqz delay slot a nop. Inlining it at the call site instead * gives beqz/nop/lw -> 3 mismatches (class DELAY-SLOT). A/B-tested. */ - void *temp = *(void **)(arg0 + 0xCC); + void *temp = CAST_SIGN(void *, arg0, 0xCC); if (arg0 != 0) { func_8012C218(temp); } @@ -3366,12 +3366,12 @@ void func_80187688(s32 a0) { extern s16 D_8019D652[]; if (func_8012C354(a0, (s32)D_8019D618) != 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018AFEC); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(u16 *)(a0 + 0x12) = D_8019D64C[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x16) = D_8019D64E[*(s16 *)(a0 + 0xFC) * 4]; - *(u16 *)(a0 + 0x1A) = D_8019D650[*(s16 *)(a0 + 0xFC) * 4]; - *(s32 *)(a0 + 0x1C) = D_8019D652[*(s16 *)(a0 + 0xFC) * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk12 = D_8019D64C[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + *(u16 *)(a0 + 0x16) = D_8019D64E[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1A = D_8019D650[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk1C = D_8019D652[((Unkstruct_800B5CB8 *)a0)->unkFC * 4]; func_8012C588(0x1C4, a0); } } @@ -3563,46 +3563,46 @@ void func_80187AA4(void *a0) { u16 tmp0; func_8002AC00(0xD); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - tmp0 = *(u16 *)((s32)a0 + 0x6); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk6; v0 = tmp0; buf[0] = v0; buf[4] = v0; - v1 = *(u16 *)((s32)a0 + 0xA); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; v0 = v1 - 8; buf[1] = v1; buf[5] = v1; - a3 = *(u16 *)((s32)a0 + 0xE); + a3 = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[1] = v0; buf[5] = (v1 + 8); buf[2] = a3; buf[6] = a3; if ((func_8012CEB0((s32)&buf[0], (s32)&buf[4], 0) & 0x1F) == 0) { - if ((*(s16 *)((s32)a0 + 0x100) & 0x8000) == 0) { - saved = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)&D_801A59A0); + if ((((Unkstruct_800B5CB8 *)a0)->unk100 & 0x8000) == 0) { + saved = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A59A0); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801AD0E4); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = saved; ent = func_8012C658(0x12C, 1, (s32)a0); if (ent != 0) { - if (*(s16 *)((s32)a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) >= 0x10) { func_8012C218((void *)ent); } else { - *(u16 *)(*(s32 *)(ent + 0x20) + 0x12) = saved; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk12 = saved; func_8012B030((u8 *)ent); - if (*(s16 *)((s32)a0 + 0x70) == 5) { - s16 t = *(s16 *)((s32)a0 + 0x100); - *(s16 *)(ent + 0x70) = 6; - *(s16 *)(ent + 0xFE) = 1; - *(s16 *)(ent + 0x100) = t; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 5) { + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; + ((Unkstruct_800B5CB8 *)ent)->unk70 = 6; + ((Unkstruct_800B5CB8 *)ent)->unkFE = 1; + ((Unkstruct_800B5CB8 *)ent)->unk100 = t; do { func_8012C658(0x12F, 5, ent); - *(s16 *)(ent + 0xFE) = *(u16 *)(ent + 0xFE) + 3; - } while (*(s16 *)(ent + 0xFE) < 0x10); - *(s16 *)(ent + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)ent)->unkFE = CAST_SIGN(u16, ent, 0xFE) + 3; + } while (((Unkstruct_800B5CB8 *)ent)->unkFE < 0x10); + ((Unkstruct_800B5CB8 *)ent)->unkFE = 0; } } } @@ -3634,7 +3634,7 @@ void func_80187C28(void *a0) { extern s32 D_8019F7E4; extern s32 D_8019F82C; - s16 state = *(s16 *)((s32)a0 + 0x70); + s16 state = ((Unkstruct_800B5CB8 *)a0)->unk70; if (func_8012C354((s32)a0, (s32)(D_8019F60C + state * 0x34)) == 0) { func_8012CAE4((void *)a0); @@ -3642,58 +3642,58 @@ void func_80187C28(void *a0) { s16 state2; u16 saved; - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xB4) = -0x401; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x401; func_80143970((void *)a0); - state2 = *(s16 *)((s32)a0 + 0x70); + state2 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (state2) { case 0: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABFEC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B23C((void *)a0); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F744; - *(s16 *)((s32)a0 + 0xFC) = 0; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F744; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 2: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801AB8B4); - saved = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)((s32)a0 + 0x2) = 9; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F7E4; - *(u16 *)((s32)a0 + 0x100) = saved; + saved = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F7E4; + ((Unkstruct_800B5CB8 *)a0)->unk100 = saved; break; case 1: case 3: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801ACF64); - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F82C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F82C; break; case 4: ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABFEC); - *(s16 *)((s32)a0 + 0x2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F744; - *(s16 *)((s32)a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F744; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; break; case 5: - if (*(s16 *)((s32)a0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ACDE4); - *(s16 *)((s32)a0 + 0x2) = 0xE; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = rand() & 0xFFF; } else { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABFEC); - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_8012B23C((void *)a0); - *(s32 *)((s32)a0 + 0xBC) = (s32)&D_8019F744; - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019F744; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; do { func_8012C658(0x12F, 5, (s32)a0); - *(s16 *)((s32)a0 + 0xFE) = *(u16 *)((s32)a0 + 0xFE) + 1; - } while (*(s16 *)((s32)a0 + 0xFE) < 6); - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, (s32)a0, 0xFE) + 1; + } while (((Unkstruct_800B5CB8 *)a0)->unkFE < 6); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; break; } func_8012B2CC((s32)a0); @@ -3815,61 +3815,61 @@ void func_80187E4C(s32 a0) { s32 r; s32 t; - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801ABFEC); - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } anim = a0 + 0x88; - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x1000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } mv[0] = 0; mv[1] = 0; - mv[2] = -(*(s16 *)(a0 + 0xFC) << 17) / 0x18; + mv[2] = -(((Unkstruct_800B5CB8 *)a0)->unkFC << 17) / 0x18; func_8012B1B4(a0, (s32)mv); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 d; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - if (*(s16 *)(a0 + 0xFE) == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0 && func_8012BD3C(a0, 0x200, 0x40000) == 1) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AB95C); - *(s16 *)(a0 + 0x2) = 2; - v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */ { register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) { void *r4; r4 = &D_800AF648; func_800491AC(r4); } @@ -3896,8 +3896,8 @@ void func_80187E4C(s32 a0) { } } - if (*(s16 *)(a0 + 0xFC) == 0x18) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x18) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -3940,34 +3940,34 @@ void func_80188200(s32 a0) { s32 r; s32 v; - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = (*(s16 *)(a0 + 0xFC) * -0x20000) / 0x24; + sp10[2] = (((Unkstruct_800B5CB8 *)a0)->unkFC * -0x20000) / 0x24; func_8012B1B4(a0, (s32)sp10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp30.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp30.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp30.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp30.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp30.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp30.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp38.x = sp30.x; sp38.y = sp30.y + 0x60; sp38.z = sp30.z; if ((func_80133784(1, &sp30, (s32)&sp38) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); @@ -3981,17 +3981,17 @@ void func_80188200(s32 a0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AC26C); s = 0xF; } - *(s16 *)(a0 + 0x2) = s; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s; } } if (t > 0x40000) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801ACAF4); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } - if (*(s16 *)(a0 + 0xFC) == 0x24) { - *(s16 *)(a0 + 0xFC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0x24) { + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -4094,34 +4094,34 @@ void func_80188440(s32 a0) { p88 = (void *)(a0 + 0x88); if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88) >= 0x1000) { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8012B1B4(a0, (s32)D_8019F8A4); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { s32 r2; - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); - r2 = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); + r2 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 7; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* The target loads &D_800AF648 afresh (lui/addiu $a0) for EACH call. The * second call names the object through a second declaration of the same * symbol: its SYMBOL_REF string is a different pointer, so cse does not @@ -4174,39 +4174,39 @@ void func_801886A8(s32 a0) { s32 v; func_8012B1B4(a0, (s32)D_8019F8A4); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } - v = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + v = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = 0x30; - sp20.x = *(u16 *)(a0 + 0x6) - ((v * r) >> 12); - sp20.y = *(u16 *)(a0 + 0xA) - 0x20; - v = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp20.z = *(u16 *)(a0 + 0xE) - ((v * r) >> 12); + sp20.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((v * r) >> 12); + sp20.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + v = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp20.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((v * r) >> 12); sp28.x = sp20.x; sp28.y = sp20.y + 0x60; sp28.z = sp20.z; if ((func_80133784(1, &sp20, (s32)&sp28) & 0x6000) == 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } t = func_8012BCCC(a0); if (t < 0x2401) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AC5AC); } } if (t > 0x40000) { - *(s16 *)(a0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -4262,10 +4262,10 @@ void func_80188850(s32 a0) { s16 x; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xD) { - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xD) { + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; /* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised * per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg * and mis-seats every register in the function. */ @@ -4285,27 +4285,27 @@ void func_80188850(s32 a0) { if (func_8012BCCC(a0) <= 0x24000) { s16 c; - c = *(u16 *)(a0 + 0x102) + 1; - *(s16 *)(a0 + 0x102) = c; + c = CAST_SIGN(u16, a0, 0x102) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c; if (c >= 0x78) { - if ((*(u16 *)(a0 + 0x100) & 0x2000) == 0) { + if ((CAST_SIGN(u16, a0, 0x100) & 0x2000) == 0) { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801AD0FC); - *(s16 *)(a0 + 0x2) = 10; - *(s16 *)(a0 + 0x102) = 0; - *(s32 *)(a0 + 0x58) = (s32)&D_8019F5DC | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 10; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8019F5DC | 0x40000000 | 0x20000000; } } } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + CAST_ALIAS(u16, *(s32 *)(a0 + 0x20), 0x12) &= 0xFFF; - x = *(s16 *)(a0 + 0xA); + x = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (x <= y - 0x100) { - *(s16 *)(a0 + 0xA) = x + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x + 0x8; } else if (x >= y - 0x80) { - *(s16 *)(a0 + 0xA) = x - 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = x - 0x8; } func_8012B1B4(a0, (s32)&D_8019F8B0); @@ -4339,36 +4339,36 @@ void func_80188A9C(s32 a0) { s16 t; s32 y; - if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0x4) - *(s32 *)&D_80126B5C; + sp10[2] = CAST_WIDTH(s32, a0, 0x4) - *(s32 *)&D_80126B5C; if (sp10[2] > 0) { sp10[2] = -sp10[2]; } - sp10[3] = *(s32 *)(a0 + 0xC) - D_80126B64; + sp10[3] = CAST_WIDTH(s32, a0, 0xC) - D_80126B64; if (sp10[3] > 0) { sp10[3] = -sp10[3]; } sp10[2] = (sp10[2] + sp10[3]) >> 4; func_8012B1B4(a0, (s32)sp10); - t = *(s16 *)(a0 + 0xA); + t = CAST_SIGN(s16, a0, 0xA); y = *(s16 *)&D_80126B62; if (t <= y - 0xA) { - *(s16 *)(a0 + 0xA) = t + 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkA = t + 0x8; } else if (t >= y) { - *(s16 *)(a0 + 0xA) = t - 0x8; - } else if (*(s32 *)(a0 + 0x94) == 0xA) { - *(s16 *)(a0 + 0x2) = 0xB; - *(s16 *)(a0 + 0x98) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = t - 0x8; + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; } func_8012CBCC(a0); @@ -4400,8 +4400,8 @@ void func_80188BE8(u8 *s0) { // Search for entry in D_801202A0 table v1 = D_801202A0; for (a0 = 0; a0 < 0x60; a0++) { - if (*(u16 *)(v1) == 0x15E) { - s16 v1_val = *(s16 *)(v1 + 0x6); + if (((Unkstruct_800B5CB8 *)v1)->unk0 == 0x15E) { + s16 v1_val = CAST_SIGN(s16, v1, 0x6); s16 s0_val = *(s16 *)(s0 + 0x6); if (s0_val < v1_val + 0xF0) { *(s16 *)(s0 + 0x6) = v1_val + 0xF0; @@ -4431,22 +4431,22 @@ void func_80188CA0(s32 param_1) s32 v0; s32 v1; - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v1 = D_801151D4; - *(s32 *)(param_1 + 0x1C) = v0 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0 - 1; *(s16 *)((s32)sp10 + 0x2) = *(s32 *)(v1 + 0x5C); *(s16 *)((s32)sp10 + 0x6) = *(s32 *)(v1 + 0x60); *(s16 *)((s32)sp10 + 0xA) = *(s32 *)(v1 + 0x64); func_8012B77C((s32)&sp20, param_1 + 4, (s32)sp10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (sp20 + 0x400) & 0xFFF; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) += 0x55; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (sp20 + 0x400) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 += 0x55; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A += 0x55; - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; if (v1 == 0xF) { func_8002D4C8(0xCBA, 0); - v1 = *(s32 *)(param_1 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; } if (v1 < 0x10) { if (v1 == 0) { @@ -4456,13 +4456,13 @@ void func_80188CA0(s32 param_1) if (param_1 != 0) { *(s16 *)(param_1 + 0x16) = -4; v0 = rand(); - *(s16 *)(param_1 + 0x12) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (v0 & 7) - 4; v0 = rand(); - *(s16 *)(param_1 + 0x1A) = (v0 & 7) - 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (v0 & 7) - 4; v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0x6) - 0x10; *(s16 *)(param_1 + 0x6) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk6 - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unk6 = t + (v0 & 0x1F); } v0 = rand(); - { s32 t = *(u16 *)(param_1 + 0xE) - 0x10; *(s16 *)(param_1 + 0xE) = t + (v0 & 0x1F); } + { s32 t = ((Unkstruct_800B5CB8 *)param_1)->unkE - 0x10; ((Unkstruct_800B5CB8 *)param_1)->unkE = t + (v0 & 0x1F); } } } } @@ -4480,16 +4480,16 @@ void func_80188DF4(void *a0) { u16 temp; s32 a1; - D_8019F958[*(u16 *)((s32)a0 + 0x2)](a0); + D_8019F958[CAST_SIGN(u16, (s32)a0, 0x2)](a0); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; - temp = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; + temp = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18; a1 = (s32)(temp << 16) >> 24; if (func_8012D624(a0, a1, 0x14) == 1) { func_8012C218(a0); } else { - *(u16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; func_8012B370(a0); } } @@ -4507,15 +4507,15 @@ void func_80188EA0(void *a0) { extern u16 D_80126B96; u16 *q; - D_8019FAB8[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)((s32)a0 + 0x0) != 0) { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) - 0x40; + D_8019FAB8[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x10, 0x16) == 1) { q = &D_80126B96; *q |= 0x200; func_8012C218(a0); } else { - *(s16 *)((s32)a0 + 0xa) = *(u16 *)((s32)a0 + 0xa) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -4671,23 +4671,23 @@ extern void func_8012C098(void *param_1); void func_80189154(s32 a0) { s32 ent; - if (*(u16 *)a0 != 0) { - if (*(s16 *)(a0 + 0x70) == 4) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 4) { ent = func_8012C658(0x12C, 4, a0); if (ent != 0) { - *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88); - *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C); - *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400; - *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A); + ((Unkstruct_800B5CB8 *)ent)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk88; + ((Unkstruct_800B5CB8 *)ent)->unkE = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unk8C; + ((Unkstruct_800B5CB8 *)ent)->unkA = ((Unkstruct_800B5CB8 *)a0)->unk8A - 0x400; + ((Unkstruct_800B5CB8 *)ent)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unk8A; func_8012B2CC(ent); } } if (func_80153BD8(a0)) { func_80153BF0(a0); } - if (*(s32 *)(a0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk78 != 0) { func_8002A04C(a0); } func_8012C098((void *)a0); @@ -4706,19 +4706,19 @@ void func_80189234(s32 a0) { V8_80189234 sp10; V8_80189234 sp18; - if (*(s32 *)(a0 + 0x94) >= 8) { - *(s16 *)(a0 + 0xFE) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk94 >= 8) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; func_8012B1B4(a0, (s32)D_8019F5C0); if ((((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) == 0) { - sp10.x = *(u16 *)(a0 + 0x3A); - sp10.y = *(u16 *)(a0 + 0x3E); - sp10.z = *(u16 *)(a0 + 0x42); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unk42; sp18 = sp10; sp18.y += 8; if (func_80133784(1, &sp10, (s32)&sp18) != 0) { - *(s32 *)(a0 + 0x4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0x8) = *(s32 *)(a0 + 0x3C); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0x8) = *(s32 *)(a0 + 0x3C); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } } } @@ -4734,18 +4734,18 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_8018930C(s32 a0) { s32 s0 = a0; - u16 v0 = *(u16 *)(s0 + 0x100); - u16 v1 = *(u16 *)(s0 + 0x60); + u16 v0 = CAST_SIGN(u16, s0, 0x100); + u16 v1 = CAST_SIGN(u16, s0, 0x60); v0 |= 0x8000; v1 <<= 2; - *(u16 *)(s0 + 0x100) = v0; - *(u16 *)(s0 + 0x60) = v1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; + ((Unkstruct_800B5CB8 *)s0)->unk60 = v1; func_80131B14(); - *(u8 *)(s0 + 0xC2) = 0; - *(u16 *)(s0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; func_8012B23C((void *)s0); func_80131A34(s0, 0x8); @@ -4832,9 +4832,9 @@ void func_80189454(s32 *s0) { } // Load halfwords from s0 - buf_src.a = *(u16 *)((u8 *)s0 + 0x3A); - buf_src.b = *(u16 *)((u8 *)s0 + 0x3E); - buf_src.c = *(u16 *)((u8 *)s0 + 0x42); + buf_src.a = ((Unkstruct_800B5CB8 *)s0)->unk3A; + buf_src.b = ((Unkstruct_800B5CB8 *)s0)->unk3E; + buf_src.c = ((Unkstruct_800B5CB8 *)s0)->unk42; // Struct assignment generates lwl/lwr + swl/swr buf_dst = buf_src; @@ -4848,9 +4848,9 @@ void func_80189454(s32 *s0) { } // Copy three words - *(s32 *)((u8 *)s0 + 0x04) = *(s32 *)((u8 *)s0 + 0x38); - *(s32 *)((u8 *)s0 + 0x08) = *(s32 *)((u8 *)s0 + 0x3C); - *(s32 *)((u8 *)s0 + 0x0C) = *(s32 *)((u8 *)s0 + 0x40); + CAST_WIDTH(s32, (u8 *)s0, 0x04) = CAST_WIDTH(s32, (u8 *)s0, 0x38); + CAST_WIDTH(s32, (u8 *)s0, 0x08) = *(s32 *)((u8 *)s0 + 0x3C); + CAST_WIDTH(s32, (u8 *)s0, 0x0C) = *(s32 *)((u8 *)s0 + 0x40); } @@ -4862,7 +4862,7 @@ void func_80189514(s32 a0) { extern u8 D_8019F5D0[]; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) & -5; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 & -5; func_8012B14C(a0, (s32)D_8019F5D0); } @@ -4930,16 +4930,16 @@ void func_80189638(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801ABACC); - *(s16 *)(a0 + 0x2) = 0x13; - *(s16 *)(a0 + 0x34) = 3; - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if ((*(s32 *)(a0 + 0x94) == 0xA) || (*(s32 *)(a0 + 0x94) == 0x1A)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) || (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x1A)) { if (func_8012DEB8(a0, (s32)&D_8019F884, (s32)&D_8019F88C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70) - 2; + val = CAST_SIGN(u16, a0, 0x70) - 2; if ((u32)val < 2) { func_80153C74(3, 0x18); } else { @@ -4961,8 +4961,8 @@ void func_80189710(void *a0) { s16 val70; u16 val72; - if (*(s32 *)(a0 + 0x94) == 0x17) { - val70 = *(s16 *)(a0 + 0x70); + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { + val70 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (val70 == 0x2) { func_8012C588(0x1A7, (s32)a0); } else { @@ -4971,12 +4971,12 @@ void func_80189710(void *a0) { } } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0) { ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)D_801ABACC); - *(s16 *)(a0 + 0x2) = 0x3; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x3; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -5001,15 +5001,15 @@ void func_801897A4(s32 a0) { if (func_80153BD8(a0) == 0) { ((void (*)(s32))func_80153BF0)(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801AC7E4); - *(s16 *)(a0 + 0x34) = 7; - *(s16 *)(a0 + 0x2) = 0x13; - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x13; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; } - if (*(s32 *)(a0 + 0x94) == 0x17) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0x17) { if (func_8012DEB8(a0, (s32)&D_8019F884, (s32)&D_8019F88C) == 1) { func_8002D4C8(0xCB2, 0); - val = *(u16 *)(a0 + 0x70); + val = CAST_SIGN(u16, a0, 0x70); if ((u16)(val - 2) < 2u) { func_80153C74(3, 0x18); } else { @@ -5040,20 +5040,20 @@ void func_80189870(s32 a0) { u16 val70; u16 *q; - if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 0xC; + if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xC; func_8012B1B4(a0, (s32)D_8019F8BC); *(s16 *)(a0 + 0x16) = -0x8; ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_801AB8B4); - *(s16 *)(a0 + 0x98) = 0x1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0x1; } - if (*(s32 *)(a0 + 0x94) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { result = func_8012D5E4(a0, (s32)D_8019F894, (s32)D_8019F89C, 0x14); if (result == 1) { func_8002D4C8(0xCB2, 0); - val70 = *(u16 *)(a0 + 0x70); + val70 = CAST_SIGN(u16, a0, 0x70); if (((u32)val70 - 2) < 2) { q = &D_80126B96; D_80126B98 = 0x18; @@ -5134,13 +5134,13 @@ void func_80189A44(s32 entity) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = entity; - *(u16 *)(entity + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 0x10; ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801AC374); } else { ((void (*)(s32, s32))func_8012A828)(entity, (s32)&D_801ACAF4); - *(u16 *)(entity + 0x2) = 3; - *(u16 *)(entity + 0xFC) = 0; - *(u16 *)(entity + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)entity)->unk2 = 3; + ((Unkstruct_800B5CB8 *)entity)->unkFC = 0; + ((Unkstruct_800B5CB8 *)entity)->unkFE = 1; } } @@ -5187,11 +5187,11 @@ void func_80189B38(s32 a0) { D_80126B96 = 0x400F; D_80126B98 = 0; D_80127078 = a0; - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801AC6B4); } else { ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801ACF64); - *(u16 *)(a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; } } @@ -5267,25 +5267,25 @@ void func_80189C88(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001CA1C(v0, (s32)D_8019F91C); ((void (*)(s32, s32))func_8012A828)(param_1, (s32)D_8019F934); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C((void *)param_1); func_8012B2CC(param_1); func_8012B14C(param_1, (s32)D_8019F94C); - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x90; - *(s16 *)(param_1 + 6) = - *(u16 *)(param_1 + 6) - - (func_8004787C(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); - *(s16 *)(param_1 + 0xE) = - *(u16 *)(param_1 + 0xE) - - (func_80047948(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x90; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = + ((Unkstruct_800B5CB8 *)param_1)->unk6 - + (func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); + ((Unkstruct_800B5CB8 *)param_1)->unkE = + ((Unkstruct_800B5CB8 *)param_1)->unkE - + (func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12)) >> 8); } } @@ -5342,7 +5342,7 @@ void func_80189DF8(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); @@ -5350,26 +5350,26 @@ void func_80189DF8(s32 a0) func_8001CA1C(v0, (s32)&D_8019F964); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_8019FA24); v0 = rand(); - *(u32 *)(a0 + 0x94) = v0 & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk94 = v0 & 0xF; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B23C((void *)a0); func_8012B2CC(a0); func_8012B14C(a0, (s32)&D_8019FAAC); - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; - *(s16 *)(a0 + 0xA) -= 0x90; + CAST_SIGN(s16, a0, 0xA) -= 0x90; - v0 = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0x6) -= (s16)(v0 >> 8); + v0 = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0x6) -= (s16)(v0 >> 8); - v0 = func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); - *(s16 *)(a0 + 0xE) -= (s16)(v0 >> 8); + v0 = func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); + CAST_SIGN(s16, a0, 0xE) -= (s16)(v0 >> 8); } } @@ -5386,9 +5386,9 @@ extern void func_8012C218(void *a0); void func_80189F3C(void *a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) + -0x200; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x401) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) + -0x200; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1a) < 0x401) { func_8012C218(a0); } } @@ -5398,5 +5398,5 @@ void func_80189F3C(void *a0) { extern void (*D_801BCC04[])(void); void func_80189FA8(void *a0) { - D_801BCC04[*(u16 *)((s32)a0 + 0x2)](); + D_801BCC04[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c index fd3e67e2b9..7ead667638 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c @@ -4885,34 +4885,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_8019BCA4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_8019BC98+0xC == &D_8019BCA4; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -4923,9 +4923,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -4934,11 +4934,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_8019BCA4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (((s32 (*)(s32, u16 *))func_8012BE98)(pv, (u16 *)((s32)&D_8019BC98 + 0xC)) < 0x101) { @@ -6351,7 +6351,7 @@ void func_8017D51C(s32 *a0, s32 *a1, s32 *a2) { void func_8017D540(void *a0) { extern void (*D_801860C0[])(void); - D_801860C0[*(u16 *)((s32)a0 + 0x2)](); + D_801860C0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6398,7 +6398,7 @@ void func_8017D5C4(void *a0) { s1 = func_80029504(); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -6406,17 +6406,17 @@ void func_8017D5C4(void *a0) { func_8001C214(v0, 0); ad = (s32)&D_801860B0; - *(s32 *)((s32)a0 + 0x58) = ad; - t = *(u16 *)((s32)a0 + 0x2); - *(s16 *)((s32)a0 + 0x5C) = 0x80; - *(u16 *)((s32)a0 + 0x2) = t + 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ad; + t = CAST_SIGN(u16, (s32)a0, 0x2); + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk2 = t + 1; if (s1 >= 0x384) { - *(s32 *)((s32)a0 + 0xDC) = func_8017D57C(a0, (s32 *)D_801860A0); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_8017D57C(a0, (s32 *)D_801860A0); } else if (s1 >= 0x258) { - *(s32 *)((s32)a0 + 0xDC) = func_8017D57C(a0, (s32 *)D_80186090); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_8017D57C(a0, (s32 *)D_80186090); } else if (s1 >= 0xC8) { - *(s32 *)((s32)a0 + 0xDC) = func_8017D57C(a0, (s32 *)D_80186080); + ((Unkstruct_800B5CB8 *)a0)->unkDC = func_8017D57C(a0, (s32 *)D_80186080); } } @@ -6435,19 +6435,19 @@ void func_8017D698(s32 a0) { s32 r; s32 v1; - if (*(u16 *)(a0 + 0x2) == 0) { + if (CAST_SIGN(u16, a0, 0x2) == 0) { r = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = r; + ((Unkstruct_800B5CB8 *)a0)->unk20 = r; if (r == 0) { func_8012CAE4((void *)a0); return; } ((void (*)(s32))func_8001C2C4)(r); - *(s16 *)(a0 + 0x5C) = 0x40; - *(u8 *)(a0 + 0x75) = 0x4; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; - v1 = *(s16 *)(a0 + 0x70) << 4; - *(s32 *)(a0 + 0x58) = (s32)&D_801860C8 + v1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0x4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70 << 4; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801860C8 + v1; } } @@ -6463,7 +6463,7 @@ s32 func_8017D728(void) { void func_8017D730(void *a0) { extern void (*D_8018614C[])(void); - D_8018614C[*(u16 *)((s32)a0 + 0x2)](); + D_8018614C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6502,8 +6502,8 @@ void func_8017D76C(s32 a0) { extern u8 D_801827D4[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_801860E8)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32*, s32))func_8012A828)((s32 *)s0, (s32)D_801827D4); func_801788B8(s0, (s32)func_8017D878); } @@ -6625,14 +6625,14 @@ extern s32 D_80191F80; extern s32 D_80191FB4; void func_8017D9B8(s32 a0) { if (func_8012C354(a0, (s32)&D_80191F80) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)&D_80191FB4; - *(s32 *)(a0 + 0xB4) = 0xFFFBDFD9; - *(s32 *)(a0 + 0xDC) = 0; - *(s16 *)(a0 + 0x100) = 0x1000; - *(s32 *)(a0 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80191FB4; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFBDFD9; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x1000; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 1; func_80143970(a0); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -6685,18 +6685,18 @@ void func_8017DA64(s32 a0) { extern u8 D_80196E10[]; s32 v; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BCCC(a0) <= 0x10000) { - func_8001C924(*(s32 *)(a0 + 0x20), (void *)&D_80193CE4); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, (void *)&D_80193CE4); func_8012A828(a0, (void *)&(*(u8 *)D_80196E10)); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } } else { v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (func_8012BEE8(a0) != 0 || v == 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } } @@ -6706,9 +6706,9 @@ extern u8 D_80196E10[]; extern void func_8012A828(s32 a0, void *a1); void func_8017DB34(s32 a0) { - *(s16 *)(a0 + 2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012A828(a0, (void *)&(*(u8 *)D_80196E10)); - *(s32 *)(a0 + 0x1C) = rand() % 17 + 0x28; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() % 17 + 0x28; *(u16 *)(a0 + 0x52) = 0; } @@ -6717,7 +6717,7 @@ void func_8017DB34(s32 a0) { extern s32 func_8012BEE8(s32 arg); void func_8017DBA8(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s16 *)((u8 *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; } } @@ -6740,21 +6740,21 @@ void *a0; r = rand(); p = D_80078E78; rem = r % 1024; - h = *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); + h = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if (rand() & 1) { val = h + rem; } else { val = h - rem; } - *(s32 *)((s32)a0 + 0xE0) = val; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = val; func_8012B23C((s32)a0); func_8012A828((s32 *)a0, (s32)D_80196F00); - *(s32 *)((s32)a0 + 0x1C) = 0x96; - *(s32 *)((s32)a0 + 0xE4) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x96; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; if (p[0x36] == 0) { - *(s16 *)((s32)a0 + 2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; } else { - *(s16 *)((s32)a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } } @@ -6762,16 +6762,16 @@ void *a0; void func_8017DCA0(s32 arg0) { if (func_8012BD3C(arg0, 0x400, 0x20000) == 1) { if (func_8012BCCC(arg0) < 0x3001) { - *(s16 *)(arg0 + 2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; return; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) += func_8012B8E4(arg0, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 += func_8012B8E4(arg0, 8); } else { - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) += - func_8012B608(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), - *(s32 *)(arg0 + 0xE0), 0xA); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 += + func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)arg0)->unkE0, 0xA); } - func_8012B178(arg0, *(s32 *)(arg0 + 0xE8)); + func_8012B178(arg0, ((Unkstruct_800B5CB8 *)arg0)->unkE8); func_8017ED6C(arg0, 0); if ((func_8017EB70(arg0) != 0) && (func_8012BEE8(arg0) != 0)) { func_8017EAC8(arg0); @@ -6790,15 +6790,15 @@ extern s32 func_8017EB70(s32 arg0); void func_8017DD78(s32 arg0) { if (func_8012BDBC(arg0, 0x400) == 1) { if (func_8012BCCC(arg0) < 0x3001) { - *(s16 *)(arg0 + 2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; return; } - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) += func_8012B8E4(arg0, 4); - func_8012B178(arg0, *(s32 *)(arg0 + 0xE8)); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 += func_8012B8E4(arg0, 4); + func_8012B178(arg0, ((Unkstruct_800B5CB8 *)arg0)->unkE8); func_8017ED6C(arg0, 1); } else { - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12) += func_8012B608(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), *(s32 *)(arg0 + 0xE0), 0xA); - func_8012B178(arg0, *(s32 *)(arg0 + 0xE8)); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 += func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)arg0)->unkE0, 0xA); + func_8012B178(arg0, ((Unkstruct_800B5CB8 *)arg0)->unkE8); func_8017ED6C(arg0, 0); } func_8017EB70(arg0); @@ -6811,9 +6811,9 @@ extern char D_80196FC0[]; void func_8017DE58(s32 a0) { - *(short *)(a0 + 0x2) = 0x9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9; func_8012A828(a0, &D_80196FC0); - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_8017EB04(a0); } @@ -6832,31 +6832,31 @@ void func_8017DEA0(s32 a0) { s32 flags; v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; - if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) { - if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x20) != 0) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk1C - 10) < 0xD) { func_8017E960(a0); } } else { - if (*(s32 *)(a0 + 0x1C) == 0x16) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x16) { func_8017E888(a0); } - if (*(s32 *)(a0 + 0x1C) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x10) { ((void (*)(s32))func_8017E9CC)(a0); } } if (func_8012BEE8(a0) != 0) { - flags = *(s32 *)(a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (flags & 1) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (flags & 0x10) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFEF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_8017EB04(a0); } } @@ -6888,20 +6888,20 @@ void func_8017DFC8(void *a0) { s32 cleared; s32 timer; - *(s16 *)((s32)a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; func_8012A828((s32)a0, D_80196E10); - flags = *(s32 *)((s32)a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; cleared = flags & ~8; - *(s32 *)((s32)a0 + 0xDC) = cleared; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared; if (flags & 0x40) { - *(s32 *)((s32)a0 + 0xDC) = cleared & ~0x40; + ((Unkstruct_800B5CB8 *)a0)->unkDC = cleared & ~0x40; timer = 30; } else { timer = rand() % 16 + 15; } - *(s32 *)((s32)a0 + 0x1C) = timer; + ((Unkstruct_800B5CB8 *)a0)->unk1C = timer; if (func_8012BD3C((s32)a0, 0x400, 0x8000) == 0) { - *(s32 *)((s32)a0 + 0xDC) |= 8; + ((Unkstruct_800B5CB8 *)a0)->unkDC |= 8; } } @@ -6909,18 +6909,18 @@ void func_8017DFC8(void *a0) { void func_8017E080(s32 a0) { s32 v; - if ((*(s32 *)(a0 + 0xDC) & 8) != 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 0x44; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 8) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 0x44; } else { v = func_8012B8E4(a0, 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (v == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; return; } } if (func_8012BEE8(a0) != 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } @@ -7174,16 +7174,16 @@ void func_8017E524(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s32 *)(param_1 + 0xDC) & 0x80) { - p = *(s32 *)(param_1 + 0x20); - *(s16 *)(p + 0x1C) = 0x1000; - *(s16 *)(p + 0x18) = 0x1000; - *(s32 *)(param_1 + 0xDC) &= ~0x80; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 0x80) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, p, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)p)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkDC &= ~0x80; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; } a = param_1; *(s16 *)(a + 0x5C) |= 1; @@ -7193,9 +7193,9 @@ void func_8017E524(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -7208,10 +7208,10 @@ extern void func_8001C924(s32 a0, void *a1); extern void func_8012A828(s32 a0, void *a1); void func_8017E60C(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_80195694); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_80195694); func_8012A828(param_1, &D_801972F8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } @@ -7227,16 +7227,16 @@ void func_8017E668(s32 a0) { u16 v2; // Check if *(s32*)(a0 + 0x1C) < 0x11 - if (*(s32*)(a0 + 0x1C) < 0x11) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { s32 mask; s32 ptr; s32 val; mask = 0x80000000; - ptr = *(s32*)(a0 + 0x20); // Load pointer from a0+0x20 - val = *(s32*)(ptr + 0x4); // Load value from pointer+4 + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; // Load pointer from a0+0x20 + val = CAST_WIDTH(s32, ptr, 0x4); // Load value from pointer+4 val ^= mask; // XOR with mask - *(s32*)(ptr + 0x4) = val; // Store back + CAST_WIDTH(s32, ptr, 0x4) = val; // Store back } // Call func_8012BEE8 and check result @@ -7277,19 +7277,19 @@ void func_8017E6F0(s32 param_1) { s32 iVar1; s32 uVar2; - *(s16 *)(param_1 + 0x5C) = 0; - if (*(s32 *)(param_1 + 0xDC) & 2) { - *(s32 *)(param_1 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 2) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x2D; func_8012A828(param_1, &D_801973D8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - (*(u16 *)(param_1 + 0x62) + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + (((Unkstruct_800B5CB8 *)param_1)->unk62 + 0x800) & 0xFFF; *(s16 *)(param_1 + 0x52) = 0; } else { - *(s32 *)(param_1 + 0x1C) = 0x37; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_80195694); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x37; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_80195694); func_8012A828(param_1, &D_801972F8); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0x62); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)param_1)->unk62; } iVar1 = func_8012BCCC(param_1); uVar2 = 0x520; @@ -7307,15 +7307,15 @@ extern void func_8017EEA8(void*); void func_8017E7C0(s32 a0) { - if ((*(s32 *)(a0 + 0xDC) & 0x2) != 0) { - if (*(s32 *)(a0 + 0x1C) >= 0x15) { - s32 p = *(s32 *)(a0 + 0x20); + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x2) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x15) { + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(p + 0x10) = *(u16 *)(p + 0x10) - 0x1E; } } - if (*(s32 *)(a0 + 0x1C) < 0x11) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) ^= 0x80000000; } if (func_8012BEE8(a0) != 0) { @@ -7550,34 +7550,34 @@ s32 func_8017EB70(s32 arg0) { if ((v & 0x2000) == 0) { func_8012ADE4((u8 *)arg0); } - *(s32 *)(arg0 + 0xDC) &= ~0x40; - if (*(s32 *)(arg0 + 0x14) > 0xFFFFF) { - *(s32 *)(arg0 + 0x14) = 0x100000; + ((Unkstruct_800B5CB8 *)arg0)->unkDC &= ~0x40; + if (((Unkstruct_800B5CB8 *)arg0)->unk14 > 0xFFFFF) { + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0x100000; } p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { - if (*(u16 *)p != 0 && *(s32 *)(p + 0x58) != 0 && arg0 != (s32)p) { + if (((Unkstruct_800B5CB8 *)p)->unk0 != 0 && ((Unkstruct_800B5CB8 *)p)->unk58 != 0 && arg0 != (s32)p) { if (((s32 (*)(s32, s32))func_8012BC60)(arg0 + 4, (s32)(p + 4)) < 0x2400) { bp = (unsigned int *)&buf; func_8012B0B4(bp, func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(p + 4)), 0x61); d = *(s32 *)&buf; - px = *(u16 *)(p + 6); + px = ((Unkstruct_800B5CB8 *)p)->unk6; out.vx = px; - out.vy = *(u16 *)(p + 0xA); - pz = *(u16 *)(p + 0xE); + out.vy = ((Unkstruct_800B5CB8 *)p)->unkA; + pz = ((Unkstruct_800B5CB8 *)p)->unkE; out.vz = pz; out.vx = px + d; out.vz = pz + (d >> 16); - in.vx = *(u16 *)(arg0 + 0x3A); - in.vy = *(u16 *)(arg0 + 0x3E); - in.vz = *(u16 *)(arg0 + 0x42); + in.vx = ((Unkstruct_800B5CB8 *)arg0)->unk3A; + in.vy = ((Unkstruct_800B5CB8 *)arg0)->unk3E; + in.vz = ((Unkstruct_800B5CB8 *)arg0)->unk42; if ((func_8012CEB0((s32)&in, (s32)&out, 0) & 0x2000) == 0) { goto lose; } - *(s16 *)(arg0 + 6) = out.vx; - *(s16 *)(arg0 + 0xA) = out.vy; - *(s16 *)(arg0 + 0xE) = out.vz; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out.vx; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out.vy; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out.vz; break; } } @@ -7639,14 +7639,14 @@ void func_8017EEA8(void *a0) { s32 v1; - if (*(short *)((char *)a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { func_8002A04C((s32)a0); func_8002AC00(0x1A); } - if (!((*(short *)((char *)a0 + 0x70) & 0x8000))) { - v1 = *(s32 *)((char *)a0 + 0x68); - if (v1 != 0 && ((*(short *)((char *)a0 + 0x72) & 0x8000))) { + if (!((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000))) { + v1 = ((Unkstruct_800B5CB8 *)a0)->unk68; + if (v1 != 0 && ((CAST_SIGN(short, (char *)a0, 0x72) & 0x8000))) { *(unsigned short *)(v1 + 0xA) = *(unsigned short *)(v1 + 0xA) & 0x7FFF; } } @@ -7720,7 +7720,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = (s32)(D_8019BA48 + *(s16 *)(e + 0xFC) * 8); o = func_8012C658(0x1EA, 1, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); } return; @@ -7744,7 +7744,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = cc; o = func_8012C658(0x1EA, 2, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); } return; @@ -7792,7 +7792,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = (s32)(D_8019BA48 + sv * 8); o = func_8012C658(0x1EA, 8, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); } return; @@ -7816,7 +7816,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = cc; o = func_8012C658(0x1EA, 9, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); } *(u16 *)(e + 0x106) = (rand() & 0x1F) + 0x20; *(u16 *)(e + 0x100) = (rand() & 0x1F) + 0x20; @@ -7859,9 +7859,9 @@ void func_8017EF3C(void *a0v) func_8012A828(e, D_80197488); *(s16 *)(e + 0x2) = 0xC; *(u16 *)(*(s32 *)(e + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(e + 0x64) + 0x20) + 0x10); + CAST_NONSTRUCT(u16, *(s32 *)(*(s32 *)(e + 0x64) + 0x20), 0x10); *(u16 *)(*(s32 *)(e + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(e + 0x64) + 0x20) + 0x12); + CAST_NONSTRUCT(u16, *(s32 *)(*(s32 *)(e + 0x64) + 0x20), 0x12); *(s32 *)(e + 0x14) = func_8004787C(*(s16 *)(*(s32 *)(e + 0x20) + 0x10)) << 9; { s32 t1 = func_8004787C(*(s16 *)(*(s32 *)(e + 0x20) + 0x12)); @@ -7891,7 +7891,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = (s32)(D_8019BA48 + *(s16 *)(e + 0xFC) * 8); o = func_8012C658(0x1EA, 0x11, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); *(s32 *)(e + 0x6C) = o; } *(s16 *)(e + 0xFC) = 0xA; @@ -7923,7 +7923,7 @@ void func_8017EF3C(void *a0v) *(s32 *)(e + 0xCC) = cc; o = func_8012C658(0x1EA, 0x12, e); if (o != 0) { - *(u16 *)(o + 0xFE) = *(u16 *)(e + 0x36); + ((Unkstruct_800B5CB8 *)o)->unkFE = *(u16 *)(e + 0x36); *(s32 *)(e + 0x6C) = o; } *(u16 *)(e + 0x106) = (rand() & 0x1F) + 0x20; @@ -8138,8 +8138,8 @@ void func_8017FCF0(s32 a0) s16 pos2[4]; s32 s1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; func_8012B1B4(a0, (s32)D_80197498); { @@ -8147,13 +8147,13 @@ void func_8017FCF0(s32 a0) s16 *p2 = pos2; s32 x, y, z; - x = *(u16 *)(a0 + 0x6); + x = ((Unkstruct_800B5CB8 *)a0)->unk6; p2[0] = x; p1[0] = x; - y = *(u16 *)(a0 + 0xA); + y = CAST_ALIAS(u16, a0, 0xA); p2[1] = y; p1[1] = y; - z = *(u16 *)(a0 + 0xE); + z = ((Unkstruct_800B5CB8 *)a0)->unkE; p2[1] = y + 0x40; p2[2] = z; p1[2] = z; @@ -8165,19 +8165,19 @@ void func_8017FCF0(s32 a0) s1 = func_8012BCCC(a0); if (s1 < 0x4001) { if (func_8012BDBC(a0, 0x200) == 1) { - *(s16 *)(a0 + 0x2) = 4; - *(s16 *)(a0 + 0xFC) = 0; - *(s16 *)(a0 + 0x100) = *(u16 *)(a0 + 0xA); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unkA; } } } } if (s1 > 0x40000) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } if ((((s32 (*)(s32, s32))func_8012CC40)(a0, (s32)&D_801974B4) & 0x1000) != 0) { - *(s16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; } } @@ -8199,7 +8199,7 @@ void func_8017FE24(s32 e) { s32 n; s32 dir; - if (--*(s16 *)(e + 0xFC) == 0) { + if (--((Unkstruct_800B5CB8 *)e)->unkFC == 0) { n = 0; p = e; do { @@ -8220,12 +8220,12 @@ void func_8017FE24(s32 e) { { s32 f; - *(s16 *)(*(s32 *)(e + 0x20) + 0x14) += 0x40; - *(s16 *)(*(s32 *)(e + 0x20) + 0x14) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)e)->unk20 + 0x14) += 0x40; + *(s16 *)(((Unkstruct_800B5CB8 *)e)->unk20 + 0x14) &= 0xFFF; f = ((s32 (*)(s32, void *))func_8012CC64)(e, &D_801974B4); if (f & 0x1000) { - *(s16 *)(e + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)e)->unk2 = 0x12; return; } @@ -8241,25 +8241,25 @@ void func_8017FE24(s32 e) { s32 z; *(s16 *)(e + 0x16) = -(rand() & 3) - 8; - x = *(u16 *)(e + 6); + x = ((Unkstruct_800B5CB8 *)e)->unk6; p1[0] = x - 0x20; - y = *(u16 *)(e + 0xA) + 0x10; + y = ((Unkstruct_800B5CB8 *)e)->unkA + 0x10; p1[1] = y; - z = *(u16 *)(e + 0xE) + 0x20; + z = ((Unkstruct_800B5CB8 *)e)->unkE + 0x20; p1[2] = z; q[0] = x + 0x20; q[1] = y; q[2] = z; if (func_80133784(1, p1, (s32)q) != 0) { - *(s16 *)(e + 0x12) = -(rand() & 3) - 4; + ((Unkstruct_800B5CB8 *)e)->unk12 = -(rand() & 3) - 4; n = 1; } else { q[0] = p1[0] + 0x40; q[1] = p1[1]; q[2] = p1[2]; if (func_80133784(1, q, (s32)p1) != 0) { - *(s16 *)(e + 0x12) = (rand() & 3) + 4; + ((Unkstruct_800B5CB8 *)e)->unk12 = (rand() & 3) + 4; n = 2; } } @@ -8270,25 +8270,25 @@ void func_8017FE24(s32 e) { s32 y; s32 z; - x = *(u16 *)(e + 6); + x = ((Unkstruct_800B5CB8 *)e)->unk6; p1[0] = x; - y = *(u16 *)(e + 0xA) + 0x10; + y = ((Unkstruct_800B5CB8 *)e)->unkA + 0x10; p1[1] = y; - z = *(u16 *)(e + 0xE); + z = ((Unkstruct_800B5CB8 *)e)->unkE; p1[2] = z; q[0] = x; q[1] = y; q[2] = z + 0x40; if (func_80133784(1, p1, (s32)q) != 0) { - *(s16 *)(e + 0x1A) = -(rand() & 3) - 4; + ((Unkstruct_800B5CB8 *)e)->unk1A = -(rand() & 3) - 4; n += 4; } else { q[0] = p1[0]; q[1] = p1[1]; q[2] = p1[2] + 0x40; if (func_80133784(1, q, (s32)p1) != 0) { - *(s16 *)(e + 0x1A) = (rand() & 3) + 4; + ((Unkstruct_800B5CB8 *)e)->unk1A = (rand() & 3) + 4; n += 8; } } @@ -8320,7 +8320,7 @@ void func_8017FE24(s32 e) { dir = 0xE00; break; } - *(s16 *)(*(s32 *)(e + 0x20) + 0x12) = dir; + ((Unkstruct_800B5CB8 *)*(s32 *)(e + 0x20))->unk12 = dir; } else if (f & 0x2000) { ((void (*)(s32, s32, s32))func_8012E688)(e, 0x833, 0); if ((rand() & 0xF) == 0) { @@ -8328,19 +8328,19 @@ void func_8017FE24(s32 e) { s32 t2; s32 t3; - *(s16 *)(*(s32 *)(e + 0x20) + 0x14) = 0; - t1 = *(u16 *)(e + 6); - t2 = *(u16 *)(e + 0xA); - t3 = *(u16 *)(e + 0xE); - *(s16 *)(e + 0x2) = 1; - *(s16 *)(e + 0x34) = 1; - *(s16 *)(e + 0x70) = 0; - *(s16 *)(e + 0x88) = t1; - *(s16 *)(e + 0x8A) = t2; - *(s16 *)(e + 0x8C) = t3; + *(s16 *)(((Unkstruct_800B5CB8 *)e)->unk20 + 0x14) = 0; + t1 = ((Unkstruct_800B5CB8 *)e)->unk6; + t2 = ((Unkstruct_800B5CB8 *)e)->unkA; + t3 = ((Unkstruct_800B5CB8 *)e)->unkE; + ((Unkstruct_800B5CB8 *)e)->unk2 = 1; + ((Unkstruct_800B5CB8 *)e)->unk34 = 1; + ((Unkstruct_800B5CB8 *)e)->unk70 = 0; + ((Unkstruct_800B5CB8 *)e)->unk88 = t1; + ((Unkstruct_800B5CB8 *)e)->unk8A = t2; + ((Unkstruct_800B5CB8 *)e)->unk8C = t3; func_8012B23C(e); func_8012B1B4(e, (s32)&D_80197498); - p = *(s32 *)(e + 0x6C); + p = ((Unkstruct_800B5CB8 *)e)->unk6C; if (p != 0) { do { *(s16 *)(p + 0x2) = 2; @@ -8349,14 +8349,14 @@ void func_8017FE24(s32 e) { p = *(s32 *)(p + 0x6C); } while (p != 0); } - *(s16 *)(e + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)e)->unkFC = 0; } else { *(s16 *)(e + 0x16) = -(rand() & 3) - 8; } } } - if (*(s16 *)(e + 0xA) >= 0x65) { + if (CAST_SIGN(s16, e, 0xA) >= 0x65) { func_8012C218((void *)e); } } @@ -8497,7 +8497,7 @@ void func_801804D8(s32 a0) { void func_801805BC(void *a0) { extern void (*D_8019754C[])(void); - D_8019754C[*(u16 *)((s32)a0 + 0x2)](); + D_8019754C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8514,10 +8514,10 @@ s32 a0; result = func_8012913C(0x7C); if (result != 0) { - *(u16 *)(result + 0x6) = *(u16 *)(a0 + 0x6); - *(u16 *)(result + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(result + 0xE) = *(u16 *)(a0 + 0xE); - func_8001CD50(*(s32 *)(result + 0x20), (s32)D_8019BA88); + ((Unkstruct_800B5CB8 *)result)->unk6 = *(u16 *)(a0 + 0x6); + ((Unkstruct_800B5CB8 *)result)->unkA = *(u16 *)(a0 + 0xA); + ((Unkstruct_800B5CB8 *)result)->unkE = *(u16 *)(a0 + 0xE); + func_8001CD50(((Unkstruct_800B5CB8 *)result)->unk20, (s32)D_8019BA88); } } @@ -8554,39 +8554,39 @@ void func_801806F0(s32 a0) u16 pos[4]; u16 t0, t1, t2; - *(u16 *)(a0 + 0x5C) = 0xA810; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x34); + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xA810; + ((Unkstruct_800B5CB8 *)a0)->unk2 = ((Unkstruct_800B5CB8 *)a0)->unk34; - t0 = *(u16 *)(a0 + 0x6); + t0 = ((Unkstruct_800B5CB8 *)a0)->unk6; pos[0] = t0; out[0] = t0; - t1 = *(u16 *)(a0 + 0xA); + t1 = ((Unkstruct_800B5CB8 *)a0)->unkA; pos[1] = t1; out[1] = t1 - 0x18; - t2 = *(u16 *)(a0 + 0xE); + t2 = ((Unkstruct_800B5CB8 *)a0)->unkE; pos[2] = t2; out[2] = t2; func_8012CEB0((s32)out, (s32)pos, 1); - *(u16 *)(a0 + 0xA) = pos[1] - 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkA = pos[1] - 0x10; - if (*(s16 *)(a0 + 0x70) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0xF) { s32 c; - c = *(s32 *)(a0 + 0x20); + c = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(c + 0x14) = 0; - *(u16 *)(a0 + 0x2) = 1; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0x70) = 0; - *(u16 *)(a0 + 0x88) = *(u16 *)(a0 + 0x6); - *(u16 *)(a0 + 0x8A) = *(u16 *)(a0 + 0xA); - *(u16 *)(a0 + 0x8C) = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk70 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk88 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)a0)->unk8A = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk8C = ((Unkstruct_800B5CB8 *)a0)->unkE; func_8012B23C(a0); func_8012B1B4(a0, (s32)D_80197498); { - s32 n = *(s32 *)(a0 + 0x6C); + s32 n = ((Unkstruct_800B5CB8 *)a0)->unk6C; while (n != 0) { *(u16 *)(n + 0x2) = 2; *(u16 *)(n + 0x70) = *(u16 *)(n + 0x70) - 0x10; @@ -8594,7 +8594,7 @@ void func_801806F0(s32 a0) n = *(s32 *)(n + 0x6C); } } - *(u16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } else { func_8012B23C(a0); func_8012B1B4(a0, (s32)D_80197498); @@ -8642,21 +8642,21 @@ void func_8018087C(s32 a0) s32 anim = a0 + 0x88; if (((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)anim) >= 0x4000) { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)anim), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, (s32)D_80197498); } else { if (func_8012BD3C(a0, 0x200, 0x40000) == 1) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } if ((((s32 (*)(s32, s32))func_8012CC40)(a0, (s32)&D_801974B4) & 0x1000) != 0) { - *(s16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; } else { func_8012C0EC(a0); } @@ -8668,13 +8668,13 @@ extern void func_8012E688(s32, u16, u16); void func_80180968(s32 a0) { - *(u16 *)(a0 + 0xFC) += 0x20; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0x100); - *(s32 *)(a0 + 0x8) -= func_8004787C(*(s16 *)(a0 + 0xFC)) << 10; + CAST_SIGN(u16, a0, 0xFC) += 0x20; + ((Unkstruct_800B5CB8 *)a0)->unkA = CAST_SIGN(u16, a0, 0x100); + CAST_WIDTH(s32, a0, 0x8) -= func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 10; - if (*(s16 *)(a0 + 0xFC) >= 0x400) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0xFE) = 4; + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x400) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8012E688(a0, 0x98F, 0); } } @@ -8783,12 +8783,12 @@ extern void func_8002D4C8(s32 a0, s32 a1); extern void func_801804D8(s32); void func_80180CD4(void *a0) { - s16 v = *(u16 *)((s32)a0 + 0xFC) - 1; - *(u16 *)((s32)a0 + 0xFC) = v; + s16 v = CAST_SIGN(u16, (s32)a0, 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v; if (v == 0) { - *(u16 *)((s32)a0 + 2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; } - if (*(s16 *)((s32)a0 + 0xFC) == 6) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 6) { func_8012C658(0x1EA, 0xE, (s32)a0); func_8002D4C8(0xC5D, 0); } @@ -8863,7 +8863,7 @@ void func_80180E18(void *a0) { o = func_8012C658(0x1EA, 0xF, e); *(s32 *)(e + 0x1C) = (rand() & 0x1F) + 0x2D; if (*(s16 *)(e + 0x70) == 0x18 && o != 0) { - *(u16 *)(*(s32 *)(o + 0x20) + 0x12) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(o + 0x20))->unk12 = 0x400; } } @@ -8877,7 +8877,7 @@ void func_80180EB8(int a0) short cnt; int v1; - *(short *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; cnt = *(unsigned short *)(a0 + 0x70) + 1; *(unsigned short *)(a0 + 0x70) = cnt; @@ -8889,7 +8889,7 @@ void func_80180EB8(int a0) } } - cnt = *(short *)(a0 + 0x70); + cnt = ((Unkstruct_800B5CB8 *)a0)->unk70; if (cnt >= 8) { if (cnt < 14) { v1 = func_8012C658(0x1EA, cnt, a0); @@ -8913,7 +8913,7 @@ void func_80180F88(int a0) short cnt; int v1; - *(short *)(a0 + 0x2) = 0x11; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x11; cnt = *(unsigned short *)(a0 + 0x70) + 1; *(unsigned short *)(a0 + 0x70) = cnt; @@ -8921,7 +8921,7 @@ void func_80180F88(int a0) v1 = func_8012C658(0x1EA, cnt, a0); if (v1 != 0) { *(unsigned short *)(v1 + 0xFE) = *(unsigned short *)(a0 + 0x36); - *(s32 *)(a0 + 0x6C) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk6C = v1; *(unsigned short *)(v1 + 0x108) = (*(unsigned short *)(a0 + 0x70) - 0x11) << 9; } } @@ -9075,8 +9075,8 @@ void func_80181204(void *a0) { s32 a2; u8 *v1ptr; - v0 = *(s32 *)((s32)a0 + 0x1C); - do { v1 = *(s32 *)((s32)a0 + 0x2C); } while (0); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; + do { v1 = CAST_WIDTH(s32, (s32)a0, 0x2C); } while (0); a1 = v0 - 1; /* §21 zero-byte re-tie barrier: without it gcc's scheduler hoists the 0x2C load * (and its sll) ahead of the 0x1C load + addiu pair -- the 4-slot SCHEDULE-REORDER @@ -9086,16 +9086,16 @@ void func_80181204(void *a0) { * two loads. Emits no code. */ v1 = v1 << 6; a2 = (s32)D_8019BAC8 + v1; - v1ptr = *(u8 **)((s32)a0 + 0x20); + v1ptr = CAST_SIGN(u8 *, (s32)a0, 0x20); - *(s32 *)((s32)a0 + 0x1C) = a1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = a1; if (!(a1 == -1)) { v0 = 0x10 - a1; - *(u16 *)((s32)v1ptr + 0x1A) = v0 << 8; - *(u16 *)((s32)v1ptr + 0x18) = v0 << 8; + ((Unkstruct_800B5CB8 *)v1ptr)->unk1A = v0 << 8; + ((Unkstruct_800B5CB8 *)v1ptr)->unk18 = v0 << 8; - v1 = *(s32 *)((s32)a0 + 0x1C); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C; v0 = (v1 << 8) - v1; if (v0 < 0) { v0 = v0 + 0xF; @@ -9106,11 +9106,11 @@ void func_80181204(void *a0) { *(u8 *)(a2 + 0x1) = v0; *(u8 *)(a2 + 0x0) = v0; - v0 = *(s32 *)((s32)a0 + 0x1C) << 2; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C << 2; *(u8 *)(a2 + 0x5) = v0; *(u8 *)(a2 + 0x4) = v0; - *(u8 *)(a2 + 0x6) = *(s32 *)((s32)a0 + 0x1C) << 3; + *(u8 *)(a2 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk1C << 3; } else { func_801292C8((u8 *)a0); } @@ -9136,10 +9136,10 @@ void func_801812F8(void *a0) { s32 v0; s32 s0; - v0 = *(s32 *)((s32)a0 + 0x2C); - s0 = *(s32 *)((s32)a0 + 0x20); + v0 = CAST_WIDTH(s32, (s32)a0, 0x2C); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = v0 - 0x80; - *(s32 *)((s32)a0 + 0x2C) = v0; + CAST_WIDTH(s32, (s32)a0, 0x2C) = v0; if (v0 <= 0) { func_801292C8((u8 *)a0); } else { @@ -9232,52 +9232,52 @@ void func_80181500(s32 a0) { * the raw draft compiles vars=0. Never read, never &-taken, >=2 elements. */ s32 pad[4]; - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_80131C78(a0); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: D_8019BBC8 = ((s32 (*)(s32))func_8012CBCC)(a0); if (D_8019BBC8 & 0x6000) { if (D_8019BBC8 & 0x1000) { - *(s16 *)(a0 + 0x2) = 2; - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8002D4C8(0x531, 0); - func_800291C8(0xA, *(s16 *)(a0 + 0xFE)); + func_800291C8(0xA, ((Unkstruct_800B5CB8 *)a0)->unkFE); return; } func_80143B6C(a0, 1); func_8002D4C8(0x754, 0); - *(u8 *)(a0 + 0xC2) = 1; - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) >> 2; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) >> 2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) >> 2; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) >> 2; } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x78) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x78) { func_80131C78(a0); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } break; case 1: - D_8019BBCC = *(s32 *)(a0 + 0x14); + D_8019BBCC = ((Unkstruct_800B5CB8 *)a0)->unk14; D_8019BBC8 = ((s32 (*)(s32))func_8012CBCC)(a0); if (D_8019BBC8 & 0x6000) { if (D_8019BBC8 & 0x1000) { - *(s16 *)(a0 + 0x2) = 2; - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8002D4C8(0x531, 0); - func_800291C8(0xA, *(s16 *)(a0 + 0xFE)); + func_800291C8(0xA, ((Unkstruct_800B5CB8 *)a0)->unkFE); return; } { @@ -9290,56 +9290,56 @@ void func_80181500(s32 a0) { func_8002D4C8(0x754, 0); func_80143B6C(a0, 1); t = D_8019BBCC; - *(u8 *)(a0 + 0xC2) = 2; - *(s32 *)(a0 + 0x1C) = 0; - *(s32 *)(a0 + 0x14) = -t; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = -t; } } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x28) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x28) { func_80131C78(a0); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 1; } break; case 2: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; D_8019BBC8 = ((s32 (*)(s32))func_8012CBCC)(a0); if (D_8019BBC8 & 0x6000) { - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; if (D_8019BBC8 & 0x1000) { - *(s16 *)(a0 + 0x2) = 2; - *(u8 *)(a0 + 0xC1) = 0; - *(s16 *)(a0 + 0x5E) = 0; - *(s32 *)(a0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; func_8002D4C8(0x531, 0); - func_800291C8(0xA, *(s16 *)(a0 + 0xFE)); + func_800291C8(0xA, ((Unkstruct_800B5CB8 *)a0)->unkFE); return; } - if (!(*(u16 *)(a0 + 0x84) & 1)) { - *(u16 *)(a0 + 0x84) |= 1; + if (!(CAST_SIGN(u16, a0, 0x84) & 1)) { + CAST_SIGN(u16, a0, 0x84) |= 1; func_8002D4C8(0x754, 0); } - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x11) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x11) { func_80131C78(a0); func_8012B030((u8 *)a0); - *(s16 *)(a0 + 0x2) = 1; - *(u16 *)(a0 + 0x84) &= 0xFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + CAST_SIGN(u16, a0, 0x84) &= 0xFFFE; } } break; } func_8018134C(a0, -0x28, 1); - *(s16 *)(a0 + 0x108) = *(u16 *)(a0 + 0x108) - 1; - if (*(s16 *)(a0 + 0x108) == 0) { - func_800291C8(0xA, *(s16 *)(a0 + 0xFE)); + ((Unkstruct_800B5CB8 *)a0)->unk108 = ((Unkstruct_800B5CB8 *)a0)->unk108 - 1; + if (CAST_SIGN(s16, a0, 0x108) == 0) { + func_800291C8(0xA, ((Unkstruct_800B5CB8 *)a0)->unkFE); } } @@ -9385,24 +9385,24 @@ void func_80181850(s32 a0) { func_80029514(0x1D6); } v0 = *(u16 *)(p + 0xA3D8); - *(s16 *)(a0 + 0xFE) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v0; func_800291C8(0xA, (s16)v0); - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x489; - *(s32 *)(a0 + 0xBC) = (s32)&D_80198BB8; - *(u8 *)(a0 + 0xC1) = 0; - *(s32 *)(a0 + 0xC4) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x489; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80198BB8; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = 1; func_8012B23C(a0); func_80143970(a0); func_8012B030((u8 *)a0); - v1 = *(u16 *)(a0 + 0x6); - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xAE) = -1; - *(u8 *)(a0 + 0x75) = 8; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk6; + CAST_ALIAS(s16, a0, 0x2) = 1; + CAST_ALIAS(s16, a0, 0xAE) = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; D_80198BB0 = v1; - D_80198BB2 = *(u16 *)(a0 + 0xA); - D_80198BB4 = *(u16 *)(a0 + 0xE); + D_80198BB2 = CAST_ALIAS(u16, a0, 0xA); + D_80198BB4 = CAST_ALIAS(u16, a0, 0xE); if (*(s16 *)(p + 0xA3D8) == 0x1052) { func_80181A70(a0); @@ -9440,10 +9440,10 @@ void func_80181A70(s32 arg0) { s32 v1; - *(short *)(arg0 + 0x2) = 3; - *(short *)(arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0(arg0, (s32)&D_80198C08); - v1 = *(s32 *)(arg0 + 0x68); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk68; *(short *)(v1 + 0xC) = 0x7FFF; } @@ -9454,7 +9454,7 @@ void func_80181AB8(s32 arg0) { s32 t; v = func_8012E544(0x17E); - switch (*(u16 *)(arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: break; case 1: @@ -9464,8 +9464,8 @@ void func_80181AB8(s32 arg0) { func_8012B6D4((s16 *)(arg0 + 4), (s16 *)(v + 4)), 0x60); t = *(s32 *)&buf; - *(u16 *)(arg0 + 6) = *(u16 *)(v + 6) + t; - *(u16 *)(arg0 + 0xE) = *(u16 *)(v + 0xE) + (t >> 16); + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)v)->unk6 + t; + ((Unkstruct_800B5CB8 *)arg0)->unkE = ((Unkstruct_800B5CB8 *)v)->unkE + (t >> 16); } } break; @@ -9489,12 +9489,12 @@ extern s32 func_8018134C(s32 a0, s16 a1, s16 a2); extern s32 D_80198BA4; void func_80181BB8(void *arg0) { - *(u8 *)((char *)arg0 + 0xC1) = 4; - *(u8 *)((char *)arg0 + 0xC2) = 0; - *(u16 *)((char *)arg0 + 0x5C) &= ~1; + ((Unkstruct_800B5CB8 *)arg0)->unkC1 = 4; + ((Unkstruct_800B5CB8 *)arg0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C &= ~1; func_8012B14C((s32)arg0, (s32)&D_80198BA4); - *(s32 *)((char *)arg0 + 0x1C) = 0; - *(s16 *)((char *)arg0 + 0x108) = 0x28; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk108 = 0x28; func_8018134C((s32)arg0, -0x28, 1); } @@ -9531,27 +9531,27 @@ extern u16 D_80198BB4; extern s32 func_8012B030(u8 *a0); void func_80181CC0(void *a0) { - s32 v1 = *(s32 *)((s32)a0 + 0x20); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; u16 v0; *(u16 *)(v1 + 0x10) = *(u16 *)(v1 + 0x10) - 0x30; - v0 = *(u16 *)((s32)a0 + 0xA) + 2; - v1 = *(s32 *)((s32)a0 + 0x1C) - 1; - *(u16 *)((s32)a0 + 0xA) = v0; - *(s32 *)((s32)a0 + 0x1C) = v1; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA + 2; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v1; if (v1 == 0) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = 0; - *(s16 *)((s32)a0 + 0x2) = 1; - *(s32 *)((s32)a0 + 0x1C) = 2; - *(u16 *)((s32)a0 + 0xFC) = 0x3C; - *(u16 *)((s32)a0 + 0x6) = D_80198BB0; - *(u16 *)((s32)a0 + 0xA) = D_80198BB2; - *(u16 *)((s32)a0 + 0xE) = D_80198BB4; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = 0; + CAST_ALIAS(s16, (s32)a0, 0x2) = 1; + CAST_ALIAS(s32, (s32)a0, 0x1C) = 2; + CAST_ALIAS(u16, (s32)a0, 0xFC) = 0x3C; + CAST_ALIAS(u16, (s32)a0, 0x6) = D_80198BB0; + CAST_ALIAS(u16, (s32)a0, 0xA) = D_80198BB2; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_80198BB4; func_8012B030(a0); - *(u16 *)((s32)a0 + 0x5C) = 0x8E10; - if (*(s16 *)((s32)a0 + 0x76) < 0x320) { - *(u16 *)((s32)a0 + 0x76) = 0x384; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8E10; + if (((Unkstruct_800B5CB8 *)a0)->unk76 < 0x320) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x384; } } } @@ -9562,7 +9562,7 @@ void func_80181CC0(void *a0) { void func_80181D88(void *a0) { extern void (*D_80198FEC[])(void); - D_80198FEC[*(u16 *)((s32)a0 + 0x2)](); + D_80198FEC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9588,24 +9588,24 @@ void func_80181DC4(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_80198FA0, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_80198FAC); func_8018233C(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -9634,20 +9634,20 @@ void func_80181EC0(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -9666,19 +9666,19 @@ void func_80181EC0(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { ((s32 (*)(void *, void *))func_80128ED8)((void *)r, (void *)(arg0 + 0xDC)); func_8018233C(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); + *(u16 *)(r + 0x8) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(r + 0xA) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; *(u16 *)(r + 0x18) += 0x15; *(u16 *)(r + 0x1A) += 0x15; *(u16 *)(r + 0xC) = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -9708,13 +9708,13 @@ void func_80182150(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { ((s32 (*)(void *, void *))func_80128ED8)((void *)p, (void *)(arg0 + 0xDC)); func_8018233C(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x8) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0xA) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0xC) = ((Unkstruct_800B5CB8 *)arg0)->unkE; *(u16 *)(p + 0x18) -= 0x200; *(u16 *)(p + 0x1A) -= 0x200; if (*(s16 *)(p + 0x18) >= 0) { @@ -9757,7 +9757,7 @@ s32 func_801822E4(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -9776,13 +9776,13 @@ void func_8018233C(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -9798,7 +9798,7 @@ extern void func_8012C218(void *a0); void func_801823B8(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c index be67eabfd9..68e5e16481 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.c @@ -2599,34 +2599,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801E2534); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801E2528+0xC == &D_801E2534; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2637,9 +2637,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2648,11 +2648,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801E2534); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801E2528 + 0xC)) < 0x101) { @@ -3283,7 +3283,7 @@ void func_8017BE60(void *a0) { extern void (*D_8018E630[])(void); void func_8017BE9C(void *a0) { - D_8018E630[*(u16 *)((s32)a0 + 0x2)](); + D_8018E630[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3291,7 +3291,7 @@ void func_8017BE9C(void *a0) { extern void (*D_8018E638[])(void); void func_8017BED8(void *a0) { - D_8018E638[*(u16 *)((s32)a0 + 0x2)](); + D_8018E638[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3299,7 +3299,7 @@ void func_8017BED8(void *a0) { extern void (*D_8018E640[])(void); void func_8017BF14(void *a0) { - D_8018E640[*(u16 *)((s32)a0 + 0x2)](); + D_8018E640[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3411,11 +3411,11 @@ void func_8017C100(s32 param_1) } else { func_8001CC3C(s0, (s32)D_8018E59C, 0x3c0, 0xa0); } - *(u8 *)(s0 + 0x27) = 0xfc; - *(u16 *)(s0 + 0x1a) = 0x3c00; - *(u16 *)(s0 + 0x18) = 0x3c00; - *(u32 *)(s0 + 0x4) |= 0x01000000; - *(u32 *)(s0 + 0x34) = *(u32 *)(param_1 + 0x30); + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0xfc; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x3c00; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x3c00; + CAST_WIDTH(u32, s0, 0x4) |= 0x01000000; + CAST_WIDTH(u32, s0, 0x34) = *(u32 *)(param_1 + 0x30); (*(u16 *)(param_1 + 0x2))++; } @@ -3466,18 +3466,18 @@ void func_8017C1EC(s32 a0) func_8001C810(s0, (s32)D_8018E618); func_8012A828(a0, (s32)D_8018AEDC); - *(s32 *)(a0 + 0x20) = s0; - *(s16 *)(s0 + 0x1A) = 0x3C00; - *(s16 *)(s0 + 0x18) = 0x3C00; - *(s16 *)(s0 + 0x10) = -0x20; - *(s16 *)(s0 + 0x12) = -1; - *(s32 *)(s0 + 0x4) |= 0x8040; - *(u16 *)(s0 + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x3C00; + CAST_ALIAS(s16, s0, 0x10) = -0x20; + CAST_ALIAS(s16, s0, 0x12) = -1; + CAST_WIDTH(s32, s0, 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)s0)->unk2C |= 0x10; ((void (*)(s32))func_8012B260)(a0); - *(s32 *)(a0 + 0x58) = (s32)D_8018E620; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018E620; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -3512,7 +3512,7 @@ void func_8017C2B0(s32 a0) extern void (*D_8018E660[])(void); void func_8017C338(void *a0) { - D_8018E660[*(u16 *)((s32)a0 + 0x2)](); + D_8018E660[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3588,7 +3588,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_8018E668[])(void); void func_8017C5CC(void *a0) { - D_8018E668[*(u16 *)((s32)a0 + 0x2)](); + D_8018E668[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4068,8 +4068,8 @@ void func_8017DFE4(void *arg0) extern short D_801BEA50; extern u8 D_801B94EC[]; - *(short *)((char *)arg0 + 0x2) = 2; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801BEA50); func_801843B8((s32)arg0); @@ -4132,15 +4132,15 @@ void func_8017E098(void *arg0) { } else { stage = 5; } - if ((u32)(stage - 2) < 2 && *(u16 *)((s32)arg0 + 0x34) == 0) { + if ((u32)(stage - 2) < 2 && ((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { t = func_801789AC(arg0); if (t == 1) { - *(u16 *)((s32)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; func_80178CBC((s32 *)arg0, (s32)&D_8018EE04); func_80029124(0xF7, 1); func_80029124(0xF8, 0); } else if (t == 2) { - *(u16 *)((s32)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; func_80178CBC((s32 *)arg0, (s32)&D_8018EE2C); func_80029124(0xF7, 0); func_80029124(0xF8, 1); @@ -4151,7 +4151,7 @@ void func_8017E098(void *arg0) { func_800D0F4C(0x56); } else if (((s32 (*)(void *))func_80178970)(arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(u16 *)((s32)arg0 + 2) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; func_8012E8E0((s32)arg0, (s32)&D_8018E960); func_8012E88C((s32)arg0); func_80183F80(arg0); @@ -4234,7 +4234,7 @@ void func_8017E228(void *a0) { extern void (*D_8018F01C[])(void); void func_8017E380(void *a0) { - D_8018F01C[*(u16 *)((s32)a0 + 0x2)](); + D_8018F01C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4267,8 +4267,8 @@ extern void (*D_8018EFFC[])(void *); void func_8017E408(s32 a0) { s32 var; - *(s16 *)(a0 + 2) = 6; - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012E8E0(a0, (s32)&D_8018E960); func_8012E88C(a0); func_80183F80((void *)a0); @@ -4304,7 +4304,7 @@ void func_8017E4E4(void) { extern s32 func_8012E544(s32 arg); void func_8017E510(void) { s32 r = func_8012E544(0x17B); - *(s16 *)(r + 0xFC) = 0x2; + ((Unkstruct_800B5CB8 *)r)->unkFC = 0x2; } @@ -4312,7 +4312,7 @@ extern s32 func_8012E544(s32 arg); extern s32 func_8012E544(s32 arg); void func_8017E534(void) { s32 r = func_8012E544(0x17B); - *(s16 *)(r + 0xFC) = 0x1; + ((Unkstruct_800B5CB8 *)r)->unkFC = 0x1; } @@ -4320,7 +4320,7 @@ extern s32 func_8012E544(s32 arg); extern s32 func_8012E544(s32 arg); void func_8017E558(void) { s32 r = func_8012E544(0x17B); - *(s16 *)(r + 0xFC) = 0x4; + ((Unkstruct_800B5CB8 *)r)->unkFC = 0x4; } @@ -4328,7 +4328,7 @@ extern s32 func_8012E544(s32 arg); extern s32 func_8012E544(s32 arg); void func_8017E57C(void) { s32 r = func_8012E544(0x17B); - *(s16 *)(r + 0xFC) = 0x3; + ((Unkstruct_800B5CB8 *)r)->unkFC = 0x3; } @@ -4336,7 +4336,7 @@ extern s32 func_8012E544(s32 arg); extern s32 func_8012E544(s32 arg); void func_8017E5A0(void) { s32 r = func_8012E544(0x17B); - *(s16 *)(r + 0xFC) = 0x5; + ((Unkstruct_800B5CB8 *)r)->unkFC = 0x5; } @@ -4370,7 +4370,7 @@ extern u8 D_8018F01B; void func_8017E62C(void *arg0) { u8 a = D_8018F018; - *(s32 *)(*(s32 *)((char *)arg0 + 0xCC) + 0xB0) = 2; + CAST_ALIAS(s32, *(s32 *)((char *)arg0 + 0xCC), 0xB0) = 2; if (func_801842F8(a, D_8018F019, D_8018F01A, D_8018F01B) != 0) { func_8017DFE4(arg0); } @@ -4387,7 +4387,7 @@ void func_8017E694(void *a0) { u16 v1; - v1 = *(u16 *)((s32)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; if (v1 == 0) { goto case0; @@ -4407,11 +4407,11 @@ case0: return; } ((void (*)(void *, void *, s32, s32))func_801845FC)(a0, D_801B94F8, 0, 0x60); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; case1: - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_801846CC((s32)a0) != 0) { func_8017E048((s32)a0); } @@ -4467,13 +4467,13 @@ extern u8 D_801B94F8[]; void func_8017E7E0(void *arg0) { u8 a = D_8018F018; - *(s32 *)(*(s32 *)((char *)arg0 + 0xCC) + 0xB0) = 2; + CAST_ALIAS(s32, *(s32 *)((char *)arg0 + 0xCC), 0xB0) = 2; if (func_801842F8(a, D_8018F019, D_8018F01A, D_8018F01B) == 0) { - *(s16 *)((char *)arg0 + 2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801BEA50); func_801843B8((s32)arg0); - *(s16 *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_801845FC((s32)arg0, (s32)D_801B94F8, 1, 0x60); } } @@ -4492,7 +4492,7 @@ extern void func_801843E0(s32 *a0, s32 a1); extern void (*D_8018F1C8[])(void); void func_8017E8AC(void *a0) { - D_8018F1C8[*(u16 *)((s32)a0 + 0x2)](); + D_8018F1C8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4561,9 +4561,9 @@ void func_8017EA5C(void *arg0) { extern s32 func_801842D4(s32 a0, s32 a1); extern void func_801843E0(s32 *a0, s32 a1); extern short D_8018F038; - *(s32 *)(*(s32 *)((s32)arg0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0xCC))->unkB0 = 2; if (func_801842D4(11, 23) != 0) { - *(short *)((char *)arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_801843E0(arg0, &D_8018F038); } } @@ -4600,13 +4600,13 @@ void func_8017EB04(void *a0) { return; } if (func_801842D4(0xB, 0x17) != 0) { - *(s16 *)((char *)s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } else { - *(s16 *)((char *)s0 + 2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; } func_801843E0(s0, (s32)&D_8018F038); - *(s16 *)((char *)*(void **)((char *)s0 + 0x68) + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)func_8017EB84); + CAST_NONSTRUCT(s16, (char *)*(void **)((char *)s0 + 0x68), 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)func_8017EB84); } @@ -4649,8 +4649,8 @@ void func_8017EBEC(void *a0) { extern short D_801D4814; extern short D_801B95A4; - *(short *)((char *)a0 + 0x2) = 2; - *(u16 *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801D4814); func_801843B8((s32)a0); @@ -4693,18 +4693,18 @@ void func_8017ECA0(void *arg0) { s32 s0; s0 = 3; - *(s16 *)((char *)arg0 + 0x2) = s0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = s0; func_8012E8E0((s32)arg0, (s32)&D_8018F1E4); func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801D414C); - *(s16 *)((char *)arg0 + 0x84) = s0; + ((Unkstruct_800B5CB8 *)arg0)->unk84 = s0; } extern void func_801843E0(s32 *a0, s32 a1); extern short D_8018F1DC; void func_8017ECFC(s16 *a0) { - *(short *)((char *)a0 + 0x2) = 0x7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7; func_801843E0(a0, &D_8018F1DC); } @@ -4713,7 +4713,7 @@ extern void func_801843E0(s32 *a0, s32 a1); extern void (*D_8018F330[])(void); void func_8017ED28(void *a0) { - D_8018F330[*(u16 *)((s32)a0 + 0x2)](); + D_8018F330[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4750,7 +4750,7 @@ void func_8017EDE8(void *a0) { u16 v1; - v1 = *(u16 *)((s32)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: if (D_80078EBA == 3) { @@ -4771,17 +4771,17 @@ void func_8017EDE8(void *a0) * The range is lw..sw inside this block and crosses no call, so * the §74 caller-saved hazard does not apply. */ s32 *p; - p = *(s32 **)((s32)a0 + 0xCC); - *(s32 *)((s32)p + 0xB0) = 2; + p = CAST_SIGN(s32 *, (s32)a0, 0xCC); + ((Unkstruct_800B5CB8 *)p)->unkB0 = 2; } func_801845FC((s32)a0, (s32)&D_801B95B0, 0, 0x60); - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } else { if (func_801846CC((s32)a0) == 0) { return; } func_801845FC((s32)a0, (s32)&D_801B95B0, 0, 0x60); - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: @@ -4805,13 +4805,13 @@ void func_8017EED4(void *a0) { u16 v1; s32 v0; - v1 = *(u16 *)((u8 *)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: v0 = func_801846CC((s32)a0); if (v0 != 0) { func_801845FC((s32)a0, (s32)&D_801B95A4, 1, 0x60); - *(u16 *)((u8 *)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: @@ -4820,8 +4820,8 @@ void func_8017EED4(void *a0) { if (v0 != 0) { v0 = func_801846CC((s32)a0); if (v0 != 0) { - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; - *(u16 *)((u8 *)a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_801843E0(a0, (s32)&D_8018F1DC); } } @@ -4841,22 +4841,22 @@ extern s32 D_801D4814; extern s32 D_801B95B0; void func_8017EF90(void *a0) { - u16 counter = *(u16 *)((u8 *)a0 + 0x84); + u16 counter = CAST_SIGN(u16, (u8 *)a0, 0x84); counter++; - *(u16 *)((u8 *)a0 + 0x84) = counter; + ((Unkstruct_800B5CB8 *)a0)->unk84 = counter; if ((s16)counter >= 0x10) { func_8012E688(a0, 0x6B5, 0); - *(u16 *)((u8 *)a0 + 0x84) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0; } if ((D_800B99DA & 0x3) == 0) { if (func_801842F8(0x11, 0x23, 0x17, 0) == 0) { - *(u16 *)((u8 *)a0 + 0x2) = 0x6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x6; func_8012E88C((s32)a0); func_8012A828((s32)a0, (s32)&D_801D4814); func_801843B8((s32)a0); - *(u16 *)((u8 *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_801845FC((s32)a0, (s32)&D_801B95B0, 1, 0x60); } } @@ -4905,19 +4905,19 @@ void func_8017F0A4(void *arg0) { if (func_801842F8(0x12, 0, 0x17, 0) != 0) { s0 = 3; - *(s16 *)((char *)arg0 + 0x2) = s0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = s0; func_8012E8E0((s32)arg0, (s32)&D_8018F1E4); func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801D414C); - *(s16 *)((char *)arg0 + 0x84) = s0; + ((Unkstruct_800B5CB8 *)arg0)->unk84 = s0; } else { - *(s16 *)((char *)arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_801843E0(arg0, &D_8018F1DC); } - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; t = func_801788B8((s32)arg0, (s32)func_8017F1A0); - *(s32 *)((char *)arg0 + 0xD4) = t; + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = t; func_8012E8E0(t, (s32)&D_8018F1DC); } @@ -4959,7 +4959,7 @@ succ: extern void (*D_8018F46C[])(void); void func_8017F20C(void *a0) { - D_8018F46C[*(u16 *)((s32)a0 + 0x2)](); + D_8018F46C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5015,8 +5015,8 @@ void func_8017F2E8(void *arg0) { if (func_80183EE4(arg0, &D_8018F358) == 0) { return; } - *(short *)(*(int *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; - *(short *)((char *)arg0 + 2) = 1; + *(short *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8012E8E0((s32)arg0, (s32)&D_8018F350); func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801BF488); @@ -5042,7 +5042,7 @@ extern void func_8012E88C(s32); extern void func_8012E8E0(s32 a0, s32 a1); void func_8017F3BC(s32 a0) { - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012E8E0(a0, (s32)&(*(s32 *)&D_8018F498)); func_8012E88C(a0); func_8012A828(a0, (s32)&D_8018F478); @@ -5164,39 +5164,39 @@ void func_8017F63C(void *s1) { s32 e1; s32 cnt; - if (*(u16 *)((s32)s1 + 2) == 0) { - *(s32 *)(*(s32 *)((s32)s1 + 0x20) + 0x20) = (s32)&D_8018FBAC; - do { t = *(s32 *)((s32)s1 + 0x20); } while (0); + if (CAST_SIGN(u16, (s32)s1, 2) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)s1 + 0x20))->unk20 = (s32)&D_8018FBAC; + do { t = ((Unkstruct_800B5CB8 *)s1)->unk20; } while (0); base = (s32)s1 + 0x24; - *(s32 *)(t + 4) |= 0x50000000; - x = *(s32 *)((s32)s1 + 0x20); - *(u8 *)(x + 0x27) = 0x65; - y = *(s32 *)((s32)s1 + 0x20); + CAST_WIDTH(s32, t, 4) |= 0x50000000; + x = ((Unkstruct_800B5CB8 *)s1)->unk20; + ((Unkstruct_800B5CB8 *)x)->unk27 = 0x65; + y = ((Unkstruct_800B5CB8 *)s1)->unk20; *(u16 *)(y + 0x1A) = 0; *(u16 *)(y + 0x18) = 0; - do { func_80128EA8(*(s32 *)((s32)s1 + 0x20), base, (s32)&D_8018FBB8); } while (0); - node = *(s32 *)((s32)s1 + 0x20); + do { func_80128EA8(((Unkstruct_800B5CB8 *)s1)->unk20, base, (s32)&D_8018FBB8); } while (0); + node = ((Unkstruct_800B5CB8 *)s1)->unk20; delta = D_8018FBC4; - h = *(u16 *)((s32)s1 + 2); - *(s32 *)((s32)s1 + 0x2C) = 0x8000000; - f = *(s32 *)((s32)s1 + 0x14); - *(s32 *)((s32)s1 + 0x1C) = 0; + h = CAST_SIGN(u16, (s32)s1, 2); + CAST_WIDTH(s32, (s32)s1, 0x2C) = 0x8000000; + f = ((Unkstruct_800B5CB8 *)s1)->unk14; + ((Unkstruct_800B5CB8 *)s1)->unk1C = 0; h = h + 1; g = f + delta; - *(s32 *)((s32)s1 + 0x14) = g; - *(u16 *)((s32)s1 + 2) = h; + ((Unkstruct_800B5CB8 *)s1)->unk14 = g; + ((Unkstruct_800B5CB8 *)s1)->unk2 = h; func_80128ED8(node, (s32 *)base); } else { e1 = D_8018FBC8; - e0 = *(s32 *)((s32)s1 + 0x2C); + e0 = CAST_WIDTH(s32, (s32)s1, 0x2C); e0 = e0 + e1; - *(s32 *)((s32)s1 + 0x2C) = e0; - e1 = *(s32 *)((s32)s1 + 0x20); + CAST_WIDTH(s32, (s32)s1, 0x2C) = e0; + e1 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(u16 *)(e1 + 0x1A) = e0; *(u16 *)(e1 + 0x18) = e0; func_8012931C(s1); - cnt = *(s32 *)((s32)s1 + 0x1C) + 1; - *(s32 *)((s32)s1 + 0x1C) = cnt; + cnt = ((Unkstruct_800B5CB8 *)s1)->unk1C + 1; + CAST_ALIAS(s32, (s32)s1, 0x1C) = cnt; if (D_8018FBC2 < cnt) { func_801292C8((u8 *)s1); } @@ -5248,7 +5248,7 @@ void func_8017F840(void) { extern void (*D_8018FBE4[])(void); void func_8017F848(void *a0) { - D_8018FBE4[*(u16 *)((s32)a0 + 0x2)](); + D_8018FBE4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5285,11 +5285,11 @@ extern void func_8012C218(void *a0); void func_8017F90C(void *a0) { u16 v1; - v1 = *(u16 *)((u8 *)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 1: @@ -5299,8 +5299,8 @@ void func_8017F90C(void *a0) { * leaving the canonical decl alone — gcc-2.7.2 folds the cast to a * direct `jal`. */ if (((s32 (*)(void))func_80174774)() != 0) { - *(s32 *)((u8 *)a0 + 0x1C) = 0x10; - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8012E8A8((u8 *)a0); } break; @@ -5408,7 +5408,7 @@ void func_8017FB74(void *arg0) { extern s32 func_80029504(void); extern void func_80178CBC(s32*, s32); - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_8012E8E0((s32)arg0, (s32)&D_8018F498); func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_8018F478); @@ -5444,7 +5444,7 @@ void func_8017FC58(void *arg0) { } if (((s32 (*)(void *))func_80178970)(arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_8018F498); func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_8018F478); @@ -5470,7 +5470,7 @@ extern s32 func_8012E57C(s32 arg0, s32 arg1); s32 p; r = func_8012E57C(0x61, 0x7); if (r != 0) { - *(s16 *)(r + 0xE8) = 1; + CAST_WIDTH(s16, r, 0xE8) = 1; } } @@ -5523,7 +5523,7 @@ extern s32 func_8012E544(s32 arg); void func_8017FE3C(void) { s32 p = func_8012E544(0x224); if (p != 0) { - *(u16*)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } } @@ -5532,7 +5532,7 @@ extern s32 func_8012E544(s32 arg); void func_8017FE78(void) { s32 p = func_8012E544(0x224); if (p != 0) { - *(u16*)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } } @@ -5548,10 +5548,10 @@ void func_8017FEB4(s32 arg0) { extern short D_8018F498; extern int func_80178970(); extern void func_80178D18(); - switch (*(u16 *)(arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: if (D_80126B9C & 0x8000000) { - *(u16 *)(arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; func_80178B18(arg0, &D_8018FA9C); } break; @@ -5559,7 +5559,7 @@ void func_8017FEB4(s32 arg0) { if (((s32 (*)(s32))func_80178970)(arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); func_80029514(0x1E0); - *(u16 *)(arg0 + 2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_801843E0((void *)arg0, &D_8018F498); } break; @@ -5576,8 +5576,8 @@ void func_8017FF64(void *a0) { extern short D_801BEA50; extern short D_801B9550; - *(short *)((char *)a0 + 0x2) = 2; - *(u16 *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801BEA50); func_801843B8((s32)a0); @@ -5597,7 +5597,7 @@ void func_8017FFC8(void *a0) { extern short D_8018FBF4; extern short D_801D3BC4; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_8018FBF4); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801D3BC4); @@ -5622,7 +5622,7 @@ extern void func_8012E88C(s32); extern void func_8012E8E0(s32 a0, s32 a1); void func_8018004C(s32 a0) { - *(s16 *)(a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; func_8012E8E0(a0, (s32)&D_8018FBF4); func_8012E88C(a0); func_8012A828(a0, (s32)&D_801D3BC4); @@ -5642,12 +5642,12 @@ void func_8018009C(s32 param_1) s32 t1; s32 r; - switch ((s16)(*(u16 *)(param_1 + 0xFC) - 1)) { + switch ((s16)(CAST_SIGN(u16, param_1, 0xFC) - 1)) { case 1: - if (*(s32 *)(param_1 + 0x90) != (s32)&D_801D3BC4) { + if (((Unkstruct_800B5CB8 *)param_1)->unk90 != (s32)&D_801D3BC4) { func_8012A828(param_1, (s32)&D_801D3BC4); } - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; /* §5a cross-jump barrier, placed between the two tail stores (not immediately before the jump) so reorg can still fill the branch delay slot with `a1 = 0xC00`; @@ -5656,29 +5656,29 @@ void func_8018009C(s32 param_1) a1 = 0xC00; goto common; case 0: - if (*(s32 *)(param_1 + 0x90) != (s32)&D_801BEAF8) { + if (((Unkstruct_800B5CB8 *)param_1)->unk90 != (s32)&D_801BEAF8) { func_8012A828(param_1, (s32)&D_801BEAF8); } a1 = 0xC00; - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; goto common; case 3: - t0 = *(s32 *)(param_1 + 0x90); + t0 = ((Unkstruct_800B5CB8 *)param_1)->unk90; t1 = (s32)&D_801D3BC4; goto LAB_80180154; case 2: - t0 = *(s32 *)(param_1 + 0x90); + t0 = ((Unkstruct_800B5CB8 *)param_1)->unk90; t1 = (s32)&D_801BEAF8; LAB_80180154: if (t0 != t1) { func_8012A828(param_1, t1); } - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; a1 = 0xE00; common: r = func_8012B608((s32)*(s16 *)(v0 + 0x12), a1, 8); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + r; return; case 4: func_801801B0(param_1); @@ -5695,10 +5695,10 @@ extern void func_8012A828(s32, s32); void func_801801B0(param_1) int param_1; { - *(short *)(param_1 + 2) = 9; - *(short *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8012A828(param_1, &D_801BEA50); - *(int *)(param_1 + 0x1c) = 0xf; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xf; } @@ -5706,7 +5706,7 @@ int param_1; extern void (*D_8018FC14[])(void); void func_801801F4(void *a0) { - D_8018FC14[*(u16 *)((s32)a0 + 0x2)](); + D_8018FC14[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5739,13 +5739,13 @@ void func_801802A8(void *a0) { s32 v0; u16 v1; - v1 = *(u16 *)((u8 *)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: v0 = func_801846CC((s32)a0); if (v0 != 0) { func_801845FC((s32)a0, (s32)&D_801B9560, 1, 0x60); - *(u16 *)((u8 *)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: @@ -5768,19 +5768,19 @@ void func_80180334(void *a0) { s32 v0; u16 v1; - v1 = *(u16 *)((u8 *)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: v0 = func_801846CC((s32)a0); if (v0 != 0) { func_801845FC((s32)a0, (s32)&D_801B9550, 1, 0x60); - *(u16 *)((u8 *)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } break; case 1: v0 = func_801846CC((s32)a0); if (v0 != 0) { - *(u16 *)((u8 *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_801843E0(a0, (s32)&D_8018FBEC); } break; @@ -5800,15 +5800,15 @@ extern void func_8018004C(s32 a0); void func_801803CC(void *arg0) { - if (*(s16 *)((char *)arg0 + 0xFC) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unkFC != 0) { func_8018004C((s32)arg0); } if ((D_800B99DA & 3) == 0 && func_801842F8(9, 4, 0x12, 0) == 0) { - *(s16 *)((char *)arg0 + 2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E88C((s32)arg0); func_8012A828((s32)arg0, (s32)&D_801BEA50); func_801843B8((s32)arg0); - *(s16 *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_801845FC((s32)arg0, (s32)&D_801B9560, 0, 0x60); } } @@ -5840,24 +5840,24 @@ void func_801804C0(void *a0) { extern short D_8018FBEC; - v1 = *(u16 *)((u8 *)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (v1) { case 0: - v0 = func_8012B608(*(s16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12), 0x400, 8); - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) += v0; + v0 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 0x400, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 += v0; if (func_8012BEE8((s32)a0) != 0) { - w = *(u16 *)((u8 *)a0 + 0x34); - *(s32 *)((u8 *)a0 + 0x1C) = 0x2D; - *(u16 *)((u8 *)a0 + 0x34) = w + 1; + w = ((Unkstruct_800B5CB8 *)a0)->unk34; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk34 = w + 1; } break; case 1: - v0 = func_8012B608(*(s16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12), 0x400, 8); - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x12) += v0; + v0 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 0x400, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk12 += v0; func_8012B178((s32)a0, 0xFFFA0000); func_8012CBA4((s32)a0); if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; ((void (*)(s32, s32))func_801843E0)((int)a0, (int)&D_8018FBEC); } break; @@ -5890,16 +5890,16 @@ void func_801805AC(void *a0) { } if (func_80183EE4(a0, &D_8018FBFC) != 0) { if (func_801842F8(9, 4, 0x12, 0) != 0) { - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_8018FBF4); func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801D3BC4); func_801843B8((s32)a0); } else { - *(short *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32, s32))func_801843E0)((int)a0, (int)&D_8018FBEC); } - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(short *)((char *)v1 + 0xC) = 0x7FFF; } } @@ -5912,7 +5912,7 @@ void func_80180684(void) { extern void (*D_8018FDFC[])(void); void func_8018068C(void *a0) { - D_8018FDFC[*(u16 *)((s32)a0 + 0x2)](); + D_8018FDFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6041,16 +6041,16 @@ void *arg0; return; } v = ((s32 (*)())func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v; if (v == 0) { func_8012CAE4(arg0); } - func_8001C214(*(s32 *)((char *)arg0 + 0x20), 0); - *(s16 *)((char *)arg0 + 2) = 1; + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, 0); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; ((void (*)(s32*, s32))func_801843E0)((s32 *)arg0, (s32)&D_8018FC3C); - v1 = *(void **)((char *)arg0 + 0x68); + v1 = CAST_SIGN(void *, (char *)arg0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)&func_8018095C); + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)&func_8018095C); } @@ -6100,7 +6100,7 @@ chain_fail: extern void (*D_8018FE1C[])(void); void func_80180A24(void *a0) { - D_8018FE1C[*(u16 *)((s32)a0 + 0x2)](); + D_8018FE1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6161,7 +6161,7 @@ init: extern void (*D_8018FEA4[])(void); void func_80180B40(void *a0) { - D_8018FEA4[*(u16 *)((s32)a0 + 0x2)](); + D_8018FEA4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6211,18 +6211,18 @@ void func_80180C0C(void *a0) { return; } v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, (s32)&D_801BA0BC); - *(s16 *)(*(s32 *)((char *)a0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk68 + 0xC) = 0x7FFF; func_8012E8E0((s32)a0, (s32)&D_8018FE24); - *(s16 *)((char *)a0 + 0x2) = 1; - *(s32 *)((char *)a0 + 0x58) = (s32)&D_8018FE2C | 0x40000000; - *(s16 *)((char *)a0 + 0x5C) = 0x800; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)func_80180CC8); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_8018FE2C | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)func_80180CC8); } @@ -6396,7 +6396,7 @@ void func_80180E40(void *param_1) { extern void (*D_8018FF38[])(void); void func_80181040(void *a0) { - D_8018FF38[*(u16 *)((s32)a0 + 0x2)](); + D_8018FF38[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6418,13 +6418,13 @@ s32 func_8018107C() u8 a3v; s0 = t; - *(u16 *)((s32)s0 + 2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; func_8012A828(t, (s32)D_801DE0E8); func_8012E8E0((s32)s0, (s32)&D_80190018[0]); a1v = (s32)&D_801B95F0; zv = 0; a3v = D_80190020; - *(u16 *)((s32)s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; func_801845FC((s32)s0, a1v, zv, a3v); } @@ -6452,31 +6452,31 @@ void func_801810E4(void *a0) s32 t2; s32 a3v; - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_801846CC((s32)a0) != 0) { a3v = D_80190020; - *(s16 *)((s32)a0 + 0x34) = 1; - func_801845FC((s32)a0, D_80190024[*(s16 *)((s32)a0 + 0x70)], 0, a3v); + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + func_801845FC((s32)a0, D_80190024[((Unkstruct_800B5CB8 *)a0)->unk70], 0, a3v); } if (func_801842D4(7, 0x17) != 0) { - *(s16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } break; case 1: if (func_801846CC((s32)a0) != 0) { a3v = D_80190020; - *(s16 *)((s32)a0 + 0x34) = 0; - func_801845FC((s32)a0, D_80190024[*(s16 *)((s32)a0 + 0x70)], 1, a3v); + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + func_801845FC((s32)a0, D_80190024[((Unkstruct_800B5CB8 *)a0)->unk70], 1, a3v); } if (func_801842D4(7, 0x17) != 0) { - *(s16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } break; case 2: - *(s16 *)((s32)a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; func_8012A828((s32)a0, (s32)&D_8018FF68); - *(s32 *)((s32)a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; break; case 3: if (func_8012BEE8((s32)a0) != 0) { @@ -6487,17 +6487,17 @@ void func_801810E4(void *a0) func_8012C588(0x25F, (s32)a0); } func_8012E8A8((u8 *)a0); - *(s32 *)((s32)a0 + 0x1C) = 0xA; - *(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } break; case 4: - if ((*(s32 *)((s32)a0 + 0x1C) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 1) == 0) { t = func_80132EF4((s32)a0, 0x22); if (t != 0) { - *(s16 *)(t + 0x34) = 0x5001; - *(s32 *)(t + 0x14) = 0xFFFA0000; + ((Unkstruct_800B5CB8 *)t)->unk34 = 0x5001; + ((Unkstruct_800B5CB8 *)t)->unk14 = 0xFFFA0000; } } if (func_8012BEE8((s32)a0) != 0) { @@ -6512,7 +6512,7 @@ void func_801810E4(void *a0) extern void (*D_8019003C[])(void); void func_801812D0(void *a0) { - D_8019003C[*(u16 *)((s32)a0 + 0x2)](); + D_8019003C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6540,20 +6540,20 @@ void func_8018130C(void *a0p) arg0 = a0p; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(arg0); } else { - func_8001C214(*(s32 *)((char *)arg0 + 0x20), D_80190048[rand() & 0xF]); - *(u16 *)((char *)arg0 + 0x2) += 1; - *(u16 *)((char *)arg0 + 0xA) -= D_8018FEE6; - *(s32 *)((char *)arg0 + 0x1C) = D_8018FEE8; + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, D_80190048[rand() & 0xF]); + CAST_SIGN(u16, (char *)arg0, 0x2) += 1; + CAST_ALIAS(u16, (char *)arg0, 0xA) -= D_8018FEE6; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = D_8018FEE8; func_8012B2CC((s32)arg0); func_8012B23C((s32)arg0); s2 = D_8018FEEA; s2 = (rand() & 0xFFF) * -s2; - *(s32 *)((char *)arg0 + 0x14) = s2; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = s2; s2 = D_8018FEEC; do { s0 = rand() & 0xFFF; } while (0); // !FAKE: do-while — a LOOP-note scheduling barrier (sched.c:2058-2074; P36 R7) @@ -6561,12 +6561,12 @@ void func_8018130C(void *a0p) s0 = func_8004787C(s0) * s2; s3 = (s3 * (rand() & 0xFF)) >> 4; s0 = (s0 * (rand() & 0xFF)) >> 4; - *(s32 *)((char *)arg0 + 0x10) = s3; - *(s32 *)((char *)arg0 + 0x18) = s0; + CAST_WIDTH(s32, (char *)arg0, 0x10) = s3; + CAST_WIDTH(s32, (char *)arg0, 0x18) = s0; - *(u16 *)((char *)arg0 + 0xFC) = D_8018FEEE & rand(); - *(u16 *)((char *)arg0 + 0xFE) = D_8018FEEE & rand(); - *(u16 *)((char *)arg0 + 0x100) = D_8018FEEE & rand(); + ((Unkstruct_800B5CB8 *)arg0)->unkFC = D_8018FEEE & rand(); + ((Unkstruct_800B5CB8 *)arg0)->unkFE = D_8018FEEE & rand(); + ((Unkstruct_800B5CB8 *)arg0)->unk100 = D_8018FEEE & rand(); } } @@ -6575,7 +6575,7 @@ void func_8018130C(void *a0p) extern void (*D_80190088[])(void); void func_801814A4(void *a0) { - D_80190088[*(u16 *)((s32)a0 + 0x2)](); + D_80190088[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6598,8 +6598,8 @@ void func_801814E0(void *arg0) { for (v = 0x28; v >= 0; v -= 8) { *(s16 *)((char *)&D_8018FEB4 + v) = 0; } - *(s16 *)((s32)arg0 + 2) = 1; - *(s16 *)((s32)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; D_801E1A24 = 0; func_801788B8((s32)arg0, (s32)func_801816C8); } @@ -6631,18 +6631,18 @@ void func_8018158C(void *arg0) { return; } v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(arg0); return; } func_8001C214(v0, (s32)D_801D71F0); func_8012A828((s32)arg0, (s32)D_801DE0E8); - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; func_8012E8E0((s32)arg0, (s32)&D_80190018); - *(s32 *)((char *)arg0 + 0x58) = (s32)&D_80190008 | 0x40000000; - *(s16 *)((char *)arg0 + 0x5C) = 0x810; - *(s16 *)((char *)arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)&D_80190008 | 0x40000000; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x810; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; } @@ -6659,14 +6659,14 @@ void func_80181644(void *a0) func_8012AD80((s32)a0); s0 = a0; - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x10) + *(u16 *)((char *)s0 + 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)s0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)s0 + 0x20))->unk10 + CAST_SIGN(u16, (char *)s0, 0xFC); - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x12) + *(u16 *)((char *)s0 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)s0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)s0 + 0x20))->unk12 + CAST_SIGN(u16, (char *)s0, 0xFE); - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)((char *)s0 + 0x20) + 0x14) + *(u16 *)((char *)s0 + 0x100); + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) + CAST_SIGN(u16, (char *)s0, 0x100); if (func_8012BEE8((s32)s0) != 0) { func_8012C218(s0); @@ -6790,8 +6790,8 @@ s32 func_801817AC(void) extern void func_8012B2CC(s32 a0); void func_80181810(void * arg0) { - s32 *p = *(s32 **)((char *)arg0 + 0x20); - *(short *)((char *)arg0 + 0x2) = 0x2; + s32 *p = CAST_SIGN(s32 *, (char *)arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x2; *(short *)((char *)p + 0x12) = -0x600; func_8012B2CC((s32)arg0); } @@ -6799,8 +6799,8 @@ extern void func_8012B2CC(s32 a0); extern void func_8012B2CC(s32 a0); void func_80181840(void *arg0) { - s32 *p = *(s32 **)((char *)arg0 + 0x20); - *(short *)((char *)arg0 + 0x2) = 0x4; + s32 *p = CAST_SIGN(s32 *, (char *)arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x4; *(short *)((char *)p + 0x12) = 0x600; func_8012B2CC((s32)arg0); } @@ -6828,38 +6828,38 @@ void func_80181870(void *arg0) { s32 *p; v0 = ((s32 (*)(void *))func_8012C1B8)(arg0); - *(s32 *)((char *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(arg0); } else { - func_8001C214(v0, *(s16 *)((char *)arg0 + 0x70) == 0 ? (s32)&D_801BA7F4[0] : (s32)&D_801BA8E4[0]); - *(s16 *)((char *)arg0 + 0x5C) = 0x800; - *(s32 *)((char *)arg0 + 0x58) = - (s32)&D_801900A0[*(s16 *)((char *)arg0 + 0x70) * 0x10] | 0x40000000; - func_8012E8E0((s32)arg0, (s32)&D_80190090[*(s16 *)((char *)arg0 + 0x70) * 8]); - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; + func_8001C214(v0, ((Unkstruct_800B5CB8 *)arg0)->unk70 == 0 ? (s32)&D_801BA7F4[0] : (s32)&D_801BA8E4[0]); + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = + (s32)&D_801900A0[((Unkstruct_800B5CB8 *)arg0)->unk70 * 0x10] | 0x40000000; + func_8012E8E0((s32)arg0, (s32)&D_80190090[((Unkstruct_800B5CB8 *)arg0)->unk70 * 8]); + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; t = func_80029504(); if ((func_80029178(0xF6) & 0xFF) == 0 && t < 0xE6) { - if (*(s16 *)((char *)arg0 + 0x70) == 0) { - *(s16 *)((char *)arg0 + 0x2) = 1; - *(s16 *)((char *)arg0 + 0x34) = 0; + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_801788B8((s32)arg0, (s32)func_80181A1C); } else { - s32 *q = *(s32 **)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 3; - *(s16 *)((char *)arg0 + 0x34) = 0; + s32 *q = CAST_SIGN(s32 *, (char *)arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; *(s16 *)((char *)q + 0x12) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0x30; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x30; } } else { - if (*(s16 *)((char *)arg0 + 0x70) == 0) { - p = *(s32 **)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 2; + if (((Unkstruct_800B5CB8 *)arg0)->unk70 == 0) { + p = CAST_SIGN(s32 *, (char *)arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; *(s16 *)((char *)p + 0x12) = -0x600; func_8012B2CC((s32)arg0); } else { - p = *(s32 **)((char *)arg0 + 0x20); - *(s16 *)((char *)arg0 + 0x2) = 4; + p = CAST_SIGN(s32 *, (char *)arg0, 0x20); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; *(s16 *)((char *)p + 0x12) = 0x600; func_8012B2CC((s32)arg0); } @@ -6872,7 +6872,7 @@ void func_80181870(void *arg0) { extern void (*D_801901D0[])(void); void func_801819E0(void *a0) { - D_801901D0[*(u16 *)((s32)a0 + 0x2)](); + D_801901D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6943,7 +6943,7 @@ void func_80181A98(void *a0) result = func_8012E57C(0x1F2, 1); if (result) { - *(u16 *)(result + 0x34) = *(u16 *)(result + 0x34) + 1; + ((Unkstruct_800B5CB8 *)result)->unk34 = ((Unkstruct_800B5CB8 *)result)->unk34 + 1; } } diff --git a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c index 8ec2fbbd1f..37fefb6e61 100644 --- a/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c +++ b/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.c @@ -3071,19 +3071,19 @@ void func_8017CE3C(s32 a0) { s32 v1; s32 a3; - v1 = *(s32 *)(s0 + 0x20); - v0 = (*(u16 *)(s0 + 0xF4) + 0x800) & 0xFFF; + v1 = ((Unkstruct_80126B58 *)s0)->unk20; + v0 = (CAST_SIGN(u16, s0, 0xF4) + 0x800) & 0xFFF; *(s16 *)(v1 + 0x12) = v0; - *(s16 *)(s0 + 0x244) = v0; + ((Unkstruct_80126B58 *)s0)->unk244 = v0; func_80154274((s32 *)s0, (s32)&D_8018BE24); - *(s32 *)(s0 + 0x234) = 0; + ((Unkstruct_80126B58 *)s0)->unk234 = 0; func_80154A74(s0, 0x1C); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; a3 = *(s32 *)((s32)&D_8018BDDC + v0); func_80146DE8((s32 *)s0, 0, 0, a3); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; func_801477E8((s32 *)s0, (s32)*(void **)((s32)&D_8018BDE0 + v0)); func_80149020((s32 *)s0); @@ -3121,24 +3121,24 @@ void func_8017CEF4(s32 a0) { s16 s1; s32 ret; - s0 = *(s32 *)(a0 + 0x20); + s0 = ((Unkstruct_80126B58 *)a0)->unk20; func_80149020((s32 *)a0); s1 = *(s16 *)(s0 + 0x12); - *(s16 *)(s0 + 0x12) = *(u16 *)(a0 + 0x244); + *(s16 *)(s0 + 0x12) = ((Unkstruct_80126B58 *)a0)->unk244; func_80147A84(a0); func_801473EC((s32 *)a0); - func_80148038(a0, D_8018BDE4[*(s16 *)(a0 + 0xF2)].next); + func_80148038(a0, D_8018BDE4[((Unkstruct_80126B58 *)a0)->unkF2].next); func_80147460(a0); *(s16 *)(s0 + 0x12) = s1; - if (*(s32 *)(a0 + 0x234) == 0) { - if (*(s32 *)(a0 + 0x34) >= 0) { - if ((*(u16 *)(a0 + 0xB8) & 0x8000) != 0) { - *(u16 *)(a0 + 0xB8) = *(u16 *)(a0 + 0xBA); - *(s32 *)(a0 + 0x234) = *(s32 *)(a0 + 0x234) + 1; + if (((Unkstruct_80126B58 *)a0)->unk234 == 0) { + if (((Unkstruct_80126B58 *)a0)->unk34 >= 0) { + if ((((Unkstruct_80126B58 *)a0)->unkB8 & 0x8000) != 0) { + ((Unkstruct_80126B58 *)a0)->unkB8 = ((Unkstruct_80126B58 *)a0)->unkBA; + ((Unkstruct_80126B58 *)a0)->unk234 = ((Unkstruct_80126B58 *)a0)->unk234 + 1; } } } @@ -3379,22 +3379,22 @@ void func_8017D1E8(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_8018BEA8) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801B1C8C); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B1C8C); func_8012A828(a0, (void *)&D_8018BEE4[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801C0D78; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801C0D78; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3403,7 +3403,7 @@ void func_8017D1E8(s32 a0) { } p = &D_801C0DA8; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801C0DAA = 0x80; @@ -3418,11 +3418,11 @@ void func_8017D1E8(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801C0DA6 = 0xFF; @@ -3439,7 +3439,7 @@ void func_8017D1E8(s32 a0) { i = 5; tbl2 = D_801C0E28; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3448,14 +3448,14 @@ void func_8017D1E8(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -3688,7 +3688,7 @@ void func_8017D934(s32 a0) { extern void (*D_8018BF90[])(void); void func_8017DAB4(void *a0) { - D_8018BF90[*(u16 *)((s32)a0 + 0x2)](); + D_8018BF90[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3756,9 +3756,9 @@ void func_8017DCB0(s32 a0) { s32 *s0_ptr; u16 sp[8]; - s0_ptr = *(s32 **)(a0 + 0xDC); + s0_ptr = CAST_SIGN(s32 *, a0, 0xDC); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { return; } @@ -3766,18 +3766,18 @@ void func_8017DCB0(s32 a0) { func_8001C214(v0, s0_ptr[1]); func_8012A828(a0, (void *)s0_ptr[2]); - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0 + 0x58) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = 0; - sp[0] = *(u16 *)(a0 + 0x6); - sp[1] = *(u16 *)(a0 + 0xA); - sp[2] = *(u16 *)(a0 + 0xE); + sp[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; func_800D20C0(&sp[0], &sp[4], 0); func_800D23D0(&sp[4]); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = sp[5] + 0x800; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = sp[5] + 0x800; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -3847,7 +3847,7 @@ void func_8017DED0(void *a0) { extern void (*D_8018BFE8[])(void); void func_8017DF0C(void *a0) { - D_8018BFE8[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFE8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4016,7 +4016,7 @@ void func_8017E22C(int param_1) extern void (*D_8018BFFC[])(void); void func_8017E538(void *a0) { - D_8018BFFC[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4075,7 +4075,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_8018C010[])(void); void func_8017E7D8(void *a0) { - D_8018C010[*(u16 *)((s32)a0 + 0x2)](); + D_8018C010[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4170,7 +4170,7 @@ void func_8017EB34(s32 a0) func_80147324(0x451); func_801511E0(s0); func_80154274((s32 *)s0, (s32)&D_8018C020); - *(u8 *)(s0 + 0xDE) = 0x5A; + ((Unkstruct_80126B58 *)s0)->unkDE = 0x5A; func_80147324(0x7EB); a2 = 0; @@ -4192,8 +4192,8 @@ void func_8017EBBC(s32 param_1) u8 cnt; func_80149020((s32 *)param_1); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017EC20(param_1); func_80159B3C((void *)param_1); @@ -4213,8 +4213,8 @@ void func_8017EC20(s32 a0) { s32 s0 = a0; ((void (*)(s32))func_80019064)((s32)&(*(s32 *)D_80062C04)); - func_8014BC44(s0, *(s16 *)(s0 + 0xF2)); - *(u8 *)(s0 + 0xA8) = 0x20; + func_8014BC44(s0, ((Unkstruct_80126B58 *)s0)->unkF2); + ((Unkstruct_80126B58 *)s0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(s0); } @@ -4223,7 +4223,7 @@ void func_8017EC20(s32 a0) extern void (*D_8018C074[])(void); void func_8017EC70(void *a0) { - D_8018C074[*(u16 *)((s32)a0 + 0x2)](); + D_8018C074[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4239,7 +4239,7 @@ void func_8017ECAC(s32 a0) { s32 pad[12]; a1 = func_800D21C4(a0, (s32)&D_8018C048, 0x2B); - *(s32 *)(a0 + 0x20) = a1; + ((Unkstruct_80126B58 *)a0)->unk20 = a1; if (a1 != 0) { *(s16 *)(a1 + 0x28) = 0x224; @@ -4254,12 +4254,12 @@ void func_8017ECAC(s32 a0) { func_8017F104((s32 *)a0); func_8017F120((s32 *)a0); - *(s32 *)(a0 + 0x2C) = 0; - *(s32 *)(a0 + 0x30) = 0; + ((Unkstruct_80126B58 *)a0)->unk2C = 0; + ((Unkstruct_80126B58 *)a0)->unk30 = 0; func_80146E90((s32 *)a0, 0x5A); - *(u16 *)(a0 + 0x02) += 1; + ((Unkstruct_80126B58 *)a0)->unk2 += 1; } else { ((void (*)(s32))func_80146C3C)(a0); } @@ -4286,25 +4286,25 @@ void func_8017ED68(s32 param_1) { s32 iVar3; void *puVar2; - iVar3 = *(s32 *)(param_1 + 0x20); + iVar3 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8017F120((s32 *)param_1); - if (*(s32 *)(param_1 + 0x30) == 0) { - puVar2 = D_8018C084[*(s32 *)(param_1 + 0x2c)]; - if (D_8018C084[*(s32 *)(param_1 + 0x2c)] == 0) { - *(s32 *)(param_1 + 0x30) = 0x20; - *(s32 *)(param_1 + 0x2c) = 0; + if (((Unkstruct_80126B58 *)param_1)->unk30 == 0) { + puVar2 = D_8018C084[((Unkstruct_80126B58 *)param_1)->unk2C]; + if (D_8018C084[((Unkstruct_80126B58 *)param_1)->unk2C] == 0) { + ((Unkstruct_80126B58 *)param_1)->unk30 = 0x20; + ((Unkstruct_80126B58 *)param_1)->unk2C = 0; puVar2 = D_8018C084[0]; } func_800183E0((s32)puVar2); - *(s32 *)(param_1 + 0x2c) = *(s32 *)(param_1 + 0x2c) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2C = ((Unkstruct_80126B58 *)param_1)->unk2C + 1; } else { - s32 iVar0 = *(s32 *)(param_1 + 0x30) - 1; - *(s32 *)(param_1 + 0x30) = iVar0; - if ((iVar0 == 0) && (*(s32 *)(param_1 + 0x1c) != 0)) { + s32 iVar0 = ((Unkstruct_80126B58 *)param_1)->unk30 - 1; + ((Unkstruct_80126B58 *)param_1)->unk30 = iVar0; + if ((iVar0 == 0) && (((Unkstruct_80126B58 *)param_1)->unk1C != 0)) { func_80147324(0x7EC); } } - if (*(s32 *)(param_1 + 0x1c) == 1) { + if (((Unkstruct_80126B58 *)param_1)->unk1C == 1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 0, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 1, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 2, 0); @@ -4325,7 +4325,7 @@ void func_8017ED68(s32 param_1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 5, 1); func_8017F72C(D_8018C06C); func_80147324(0x7F4); - *(u32 *)(iVar3 + 4) = *(u32 *)(iVar3 + 4) | 0x80000000; + CAST_WIDTH(u32, iVar3, 4) = CAST_WIDTH(u32, iVar3, 4) | 0x80000000; } iVar1 = func_80146E98(param_1); if ((iVar1 != 0) && (iVar1 = func_8017F73C((void *)D_8018C06C), iVar1 != 0)) { @@ -4336,9 +4336,9 @@ void func_8017ED68(s32 param_1) { void func_8017F104(s32 *a0) { - *(s32 *)((s32)a0 + 0x10) = *(s32 *)((s32)a0 + 0x4); - *(s32 *)((s32)a0 + 0x14) = *(s32 *)((s32)a0 + 0x8); - *(s32 *)((s32)a0 + 0x18) = *(s32 *)((s32)a0 + 0xC); + ((Unkstruct_80126B58 *)a0)->unk10 = CAST_WIDTH(s32, (s32)a0, 0x4); + ((Unkstruct_80126B58 *)a0)->unk14 = CAST_WIDTH(s32, (s32)a0, 0x8); + ((Unkstruct_80126B58 *)a0)->unk18 = CAST_WIDTH(s32, (s32)a0, 0xC); } @@ -4366,7 +4366,7 @@ void func_8017F120(s32 *a0) extern void (*D_8018C0AC[])(void); void func_8017F160(void *a0) { - D_8018C0AC[*(u16 *)((s32)a0 + 0x2)](); + D_8018C0AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4425,9 +4425,9 @@ void func_8017F19C(s32 param_1) { s32 i; u16 sc; - obj = *(s32 *)(param_1 + 0x34); + obj = ((Unkstruct_80126B58 *)param_1)->unk34; p = ((s32 (*)(void))func_801465C0)(); - *(s32 *)(param_1 + 0x20) = p; + ((Unkstruct_80126B58 *)param_1)->unk20 = p; if (p != 0) { func_8001CF00(p); @@ -4435,13 +4435,13 @@ void func_8017F19C(s32 param_1) { func_80015978(obj + 4, (s32 *)buf); func_80015954((s32)buf, param_1 + 4); - sc = D_8018C0F8[*(s32 *)(param_1 + 0x30)]; + sc = D_8018C0F8[((Unkstruct_80126B58 *)param_1)->unk30]; *(u16 *)(p + 0x18) = *(u16 *)(p + 0x1a) = *(u16 *)(p + 0x1c) = sc; vel = D_8018C0E8; - rot = D_8018C0B8[*(s32 *)(param_1 + 0x2c)]; + rot = D_8018C0B8[((Unkstruct_80126B58 *)param_1)->unk2C]; - if (*(s32 *)(param_1 + 0x30) != 0) { + if (((Unkstruct_80126B58 *)param_1)->unk30 != 0) { /* LEVER: the compound `+=` is load-bearing. Spelled out as * `rot.vx = rot.vx - 0x200 + ((rand() & 0x3f) << 4);` gcc-2.7.2 folds * the -0x200 onto the JITTER term (addiu $v0 after the sll) instead of @@ -4459,15 +4459,15 @@ void func_8017F19C(s32 param_1) { func_80049CAC((s32)&rot, (s32)&m); func_800484EC((s32)&m, (s32)&vel, (s32)&vel); - *(s32 *)(param_1 + 0x10) = vel.vx; - *(s32 *)(param_1 + 0x14) = vel.vy; - *(s32 *)(param_1 + 0x18) = vel.vz; + ((Unkstruct_80126B58 *)param_1)->unk10 = vel.vx; + ((Unkstruct_80126B58 *)param_1)->unk14 = vel.vy; + ((Unkstruct_80126B58 *)param_1)->unk18 = vel.vz; q = (s16 *)(param_1 + 0x38); i = 0; *(s32 *)(param_1 + 0x4c) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x50) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x54) = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk50 = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk54 = ((rand() & 0x1f) - 0x10) * 11; do { i++; @@ -4477,7 +4477,7 @@ void func_8017F19C(s32 param_1) { } while (i < 3); func_80146E90((s32 *)param_1, 2); - *(s16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } else { ((void (*)(s32))func_80146C3C)(param_1); } @@ -4495,11 +4495,11 @@ void func_8017F470(s32 param_1) { func_8017F534(param_1); func_8017F6B8(param_1); if (func_80146E98(param_1) != 0) { - *(s32 *)(param_1 + 0x10) >>= 2; - *(s32 *)(param_1 + 0x14) >>= 2; - *(s32 *)(param_1 + 0x18) >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk10 >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk14 >>= 2; + ((Unkstruct_80126B58 *)param_1)->unk18 >>= 2; func_80146E90((s32 *)param_1, 0x40); - *(s16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } } @@ -4570,18 +4570,18 @@ void func_8017F55C(s32 a0, s32 a1) void func_8017F6B8(s32 a0) { s32 p; - *(s32 *)(a0 + 0x4) += *(s32 *)(a0 + 0x10); - *(s32 *)(a0 + 0x8) += *(s32 *)(a0 + 0x14); - *(s32 *)(a0 + 0xC) += *(s32 *)(a0 + 0x18); - p = *(s32 *)(a0 + 0x20); - *(u16 *)(p + 0x10) += *(s32 *)(a0 + 0x4C); - *(u16 *)(p + 0x12) += *(s32 *)(a0 + 0x50); - *(u16 *)(p + 0x14) += *(s32 *)(a0 + 0x54); + CAST_WIDTH(s32, a0, 0x4) += ((Unkstruct_80126B58 *)a0)->unk10; + CAST_WIDTH(s32, a0, 0x8) += ((Unkstruct_80126B58 *)a0)->unk14; + CAST_WIDTH(s32, a0, 0xC) += ((Unkstruct_80126B58 *)a0)->unk18; + p = ((Unkstruct_80126B58 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk10 += *(s32 *)(a0 + 0x4C); + ((Unkstruct_800B5CB8 *)p)->unk12 += ((Unkstruct_80126B58 *)a0)->unk50; + CAST_WIDTH(u16, p, 0x14) += ((Unkstruct_80126B58 *)a0)->unk54; } void func_8017F72C(s32 *a0) { - *(s32 *)((s32)a0 + 0x0) = 0x80404080; + CAST_WIDTH(s32, (s32)a0, 0x0) = 0x80404080; } @@ -4618,7 +4618,7 @@ joinpt: cmp = result + 0; - *(u8 *)((s32)a0 + 2) = result; + CAST_WIDTH(u8, (s32)a0, 2) = result; if (cmp < (s32)*(u8 *)a0) { *(u8 *)a0 = result; } @@ -4991,7 +4991,7 @@ void func_8017FFF0(s32 a0) s32 s0 = a0; s16 *p; - if (*(u16 *)(s0 + 2) != 0) { + if (CAST_SIGN(u16, s0, 2) != 0) { func_8012B2CC(a0); } @@ -5000,7 +5000,7 @@ void func_8017FFF0(s32 a0) *p = -0x580; } - D_8018C560[*(u16 *)(s0 + 2)](s0); + D_8018C560[CAST_SIGN(u16, s0, 2)](s0); } @@ -5027,15 +5027,15 @@ void func_80180090(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(u8 *)(a0 + 0x75) = 2; - *(s16 *)(a0 + 0xAE) = -1; - *(s32 *)(a0 + 0xB4) = 0; - *(s16 *)(a0 + 0x2) = 1; - *(s32 *)(a0 + 0xC4) |= 3; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; func_8012A828(a0, D_8018C4E8); - *(s32 *)(a0 + 0x6C) = func_801788B8(a0, (s32)func_80180258); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x1000000; + ((Unkstruct_800B5CB8 *)a0)->unk6C = func_801788B8(a0, (s32)func_80180258); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x1000000; } @@ -5105,7 +5105,7 @@ s32 func_801802B4(void) { extern void (*D_8018C570[])(void); void func_801802BC(void *a0) { - D_8018C570[*(u16 *)((s32)a0 + 0x2)](); + D_8018C570[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5240,7 +5240,7 @@ void func_8018047C(void *a0) { extern void (*D_8018C5AC[])(void); void func_80180568(void *a0) { - D_8018C5AC[*(u16 *)((s32)a0 + 0x2)](); + D_8018C5AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5287,22 +5287,22 @@ extern s32 func_80146E98(s32 a0); void func_80180688(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -5342,7 +5342,7 @@ void func_801806F4(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -5529,8 +5529,8 @@ void func_801808F4(s32 param_1) i++; } while (i < 3); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_80180A48(param_1); func_80159B3C((void *)param_1); @@ -5586,8 +5586,8 @@ void func_80180A48(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5639,7 +5639,7 @@ done: extern void (*D_80198D20[])(void); void func_80180B04(void *a0) { - D_80198D20[*(u16 *)((s32)a0 + 0x2)](); + D_80198D20[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5810,7 +5810,7 @@ s32 func_80180D48(s32 *a0, s32 a1) { extern void (*D_80198D58[])(void); void func_80180DB0(void *a0) { - D_80198D58[*(u16 *)((s32)a0 + 0x2)](); + D_80198D58[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5819,9 +5819,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_80180DEC(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -6109,20 +6109,20 @@ void func_8018167C(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = -(func_8004787C(*(s16 *)(a0 + 0xFC)) << 7); + sp10[2] = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 7); - v0 = (*(u16 *)(a0 + 0xFC) + 0x80) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0x80) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801A176C); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B8E4(a0, 8); - p = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (u16)(*p + ret); - p2 = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p2 = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); v0 = *p2 & 0xFFF; *p2 = v0; func_8012B1B4(a0, (s32)sp10); @@ -6131,13 +6131,13 @@ void func_8018167C(s32 a0) { if (func_801814F4(a0, 0x48) != 0) { func_8012A828(a0, D_801A16C4); - *(s16 *)(a0 + 0xFC) = 1; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, D_801A1874); } } @@ -6166,14 +6166,14 @@ extern u8 D_801A1C04[]; extern u8 D_801A1D24[]; void func_80181810(s32 a0) { - if (*(s32 *)(a0 + 0x90) == (s32)&D_801A1C04) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801A1C04) { func_8012A828(a0, D_801A1D24); } else { - *(s16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s16 *)(a0 + 0x2) = 1; - *(s16 *)(a0 + 0xFC) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; } @@ -6197,10 +6197,10 @@ extern void func_8012C218(void *a0); void func_801818DC(void *arg0) { void *s0 = arg0; - if ((*(u8 *)((u8 *)s0 + 0x5E) == 0x33) && (*(s16 *)((u8 *)s0 + 0x70) == 3)) { + if ((((Unkstruct_800B5CB8 *)s0)->unk5E == 0x33) && (((Unkstruct_800B5CB8 *)s0)->unk70 == 3)) { func_80165988(); } - if (*(s32 *)((u8 *)s0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk78 != 0) { func_8002A04C((s32)s0); } func_8012C218(s0); @@ -6229,17 +6229,17 @@ s32 a0; extern void func_8012B23C(s32 a0); if (func_8012C354(a0, (s32)D_80198E1C) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_80143970(a0); func_8012A828(a0, D_801A16C4); - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; func_8012B23C(a0); - if (*(s16 *)(a0 + 0x70) == 3) { - *(s32 *)(a0 + 0xBC) = (s32)D_80198E90; - *(u16 *)(a0 + 0x76) = 0x280; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 3) { + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80198E90; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x280; } else { - *(s32 *)(a0 + 0xBC) = (s32)D_80198E50; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80198E50; } } } @@ -6264,7 +6264,7 @@ void func_801819EC(s32 a0) unsigned short *p; s16 t; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801A16C4); } @@ -6273,20 +6273,20 @@ void func_801819EC(s32 a0) } v0 = func_8012B8E4(a0, 8); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p + v0); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p & 0xFFF); - t = *(s16 *)(a0 + 0xFC); + t = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (t != 0) { - *(s16 *)(a0 + 0xFC) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t - 1; return; } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, D_801A1874); } else { if (func_80181368(a0, 0x48) != 0) { @@ -6295,7 +6295,7 @@ void func_801819EC(s32 a0) if (0x40000 < func_8012BCCC(a0)) { return; } - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, D_801A176C); } } @@ -6321,16 +6321,16 @@ void func_80181B0C(s32 a0) { s32 p; s16 v1b; - v1 = *(s32 *)(a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; if ((u32)(v1 - 0xF) < 6) { if (v1 == 0xF) { func_8002D4C8(0x7E4, 0); } if (func_8012DEB8(a0, (s32)&D_80198ED8, (s32)&D_80198EE0) == 1) { D_80126B96 = 0x4012; - p = *(s32 *)(a0 + 0x20); + p = CAST_ALIAS(s32, a0, 0x20); D_80126B9A = *(u16 *)(p + 0x12); - v1b = *(s16 *)(a0 + 0x70); + v1b = CAST_ALIAS(s16, a0, 0x70); if (v1b == 2) { goto case_eq2; } @@ -6353,10 +6353,10 @@ void func_80181B0C(s32 a0) { } } after_switch: - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, (void *)&D_801A16C4); - *(s16 *)(a0 + 0xFC) = 0x1E; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } } @@ -6375,8 +6375,8 @@ void func_80181C20(void *arg0) { void *s0 = arg0; func_8012A8B0((u8 *)s0, (s32)&D_801A87CC); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801A8844; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_801A8844; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } @@ -6390,11 +6390,11 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern M2C_UNK D_801A88C4; void func_80181C7C(void *a0) { - if ((*(u16 *)((u8 *)a0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) != 0) { func_80181F40(a0); } else { func_8012A8B0((u8 *)a0, (s32)&D_801A88C4); - *(s32 *)((u8 *)a0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x60; func_8012AD44((s32 *)a0, 3); } } @@ -6405,11 +6405,11 @@ extern void func_8012B23C(s32 a0); extern void func_8012AD44(s32 *a0, s16 a1); void func_80181CE8(void *arg0, s16 a1) { - *(s32 *)(*(s32 *)((char *)arg0 + 0x20) + 0x20) = D_801A883C; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x12) = a1; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk20 = D_801A883C; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk12 = a1; func_8012B23C((s32)arg0); - *(s32 *)((char *)arg0 + 0x1C) = 8; - *(u16 *)((char *)arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; func_8012AD44((s32 *)arg0, 4); } @@ -6463,41 +6463,41 @@ void func_80181D44(s32 param_1) { s32 out; s32 flag = 0; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; func_8012A8B0((u8 *)param_1, (s32)&D_801A90AC); func_8012B2CC(param_1); func_8012B178(param_1, 0xFFF80000); - *(s32 *)(param_1 + 0x14) = 0xFFF40000; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFF40000; } func_80182BA4(param_1, 0); break; case 1: flag = ((s32 (*)(s32))func_8012CBF4)(param_1); - if (*(s16 *)(param_1 + 0xA) > 0) { + if (CAST_SIGN(s16, param_1, 0xA) > 0) { func_8012C218((void *)param_1); return; } if (func_801826E8(param_1) != 0) { - *(s32 *)(param_1 + 0x10) = 0; - *(s32 *)(param_1 + 0x18) = 0; - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x38); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0x40); + CAST_WIDTH(s32, param_1, 0x10) = 0; + CAST_WIDTH(s32, param_1, 0x18) = 0; + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x38); + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(param_1 + 0x40); } if (flag & 0x2000) { func_8012B23C(param_1); func_8012B2CC(param_1); func_8012B178(param_1, 0xFFF20000); func_8012A8B0((u8 *)param_1, (s32)&D_801A8B94); - *(s32 *)(param_1 + 0x1C) = 0x30; - *(u16 *)(param_1 + 0x34) += 1; - pos.a = *(s16 *)(param_1 + 0x6); - pos.b = *(s16 *)(param_1 + 0xA); - pos.c = *(s16 *)(param_1 + 0xE); - func_8002D59C(0x7E5, 0, *(u16 *)(param_1 + 0x36)); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; + pos.a = CAST_SIGN(s16, param_1, 0x6); + pos.b = CAST_SIGN(s16, param_1, 0xA); + pos.c = CAST_SIGN(s16, param_1, 0xE); + func_8002D59C(0x7E5, 0, ((Unkstruct_800B5CB8 *)param_1)->unk36); } func_80182BA4(param_1, 0); break; @@ -6512,7 +6512,7 @@ void func_80181D44(s32 param_1) { func_80182BA4(param_1, 2); if (flag != 0) { func_80181FA4((void *)param_1); - func_8002D59C(4, 0x7E5, *(u16 *)(param_1 + 0x36)); + func_8002D59C(4, 0x7E5, ((Unkstruct_800B5CB8 *)param_1)->unk36); } break; } @@ -6530,10 +6530,10 @@ void func_80181F40(void *arg0) { s32 *s0 = (s32 *)arg0; func_8012A8B0((u8 *)arg0, (s32)D_801A89A4); - *(s16 *)((u8 *)s0 + 0x102) = 8; - *(s16 *)((u8 *)s0 + 0x104) = 3; - *(s16 *)((u8 *)s0 + 0x106) = (rand() & 0x20) - 0x10; - *(s32 *)((u8 *)s0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk102 = 8; + ((Unkstruct_800B5CB8 *)s0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)s0)->unk106 = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; func_8012AD44(s0, 5); } @@ -6560,9 +6560,9 @@ s32 func_80181FE0(void *arg0) { extern M2C_UNK D_801A86E4; - *(u16 *)((u8 *)arg0 + 0x100) = 0; - *(u16 *)((u8 *)arg0 + 0xFE) = *(u16 *)(*(u32 *)((u8 *)arg0 + 0x20) + 0x12) + 0x200; - if (*(u16 *)((u8 *)arg0 + 2) != 1) { + ((Unkstruct_800B5CB8 *)arg0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = ((Unkstruct_800B5CB8 *)*(u32 *)((u8 *)arg0 + 0x20))->unk12 + 0x200; + if (CAST_SIGN(u16, (u8 *)arg0, 2) != 1) { func_8012A8B0((u8 *)arg0, (s32)&D_801A86E4); } func_8012AD44((s32 *)arg0, 8); @@ -6585,19 +6585,19 @@ extern s32 D_801A8844; void func_80182044(void *arg0) { void *s0 = arg0; - void *a1 = *(void **)((u8 *)s0 + 0x20); + void *a1 = CAST_SIGN(void *, (u8 *)s0, 0x20); - if (*(s16 *)((u8 *)s0 + 0xFE) == *(s16 *)((u8 *)a1 + 0x12)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE == *(s16 *)((u8 *)a1 + 0x12)) { s32 buf[2]; if (func_80182618(s0, buf) == 1) { - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) != 0) { goto L_C0; } if ((rand() & 1) == 0) { goto L_FC; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0) { goto L_D0; } L_C0: @@ -6605,23 +6605,23 @@ L_C0: goto tail; L_D0: func_8012A8B0((u8 *)s0, (s32)&D_801A88C4); - *(s32 *)((u8 *)s0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; func_8012AD44((s32 *)s0, 3); goto tail; L_FC: func_8012A8B0((u8 *)s0, (s32)&D_801A87CC); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801A8844; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_801A8844; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(u16 *)((u8 *)s0 + 0xFE) += 0x200; + CAST_SIGN(u16, (u8 *)s0, 0xFE) += 0x200; } tail: - *(u16 *)((u8 *)s0 + 0x100) += 1; + CAST_SIGN(u16, (u8 *)s0, 0x100) += 1; } else { - func_801829E8(*(s16 *)((u8 *)s0 + 0xFE), (u16 *)((u8 *)a1 + 0x12), 0x20); + func_801829E8(((Unkstruct_800B5CB8 *)s0)->unkFE, (u16 *)((u8 *)a1 + 0x12), 0x20); } } @@ -6677,24 +6677,24 @@ void *func_801821C4(void *a0) vec[1] = 0x1800; vec[0] = 0x1800; - RotMatrixY(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &m); func_80020F34((s32)&m, (s32)vec); func_8004914C(&m); - func_800491AC((void *)(*(s32 *)((s32)a0 + 0x20) + 0x34)); + func_800491AC((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); rv[1] = -0x200; rv[0] = 0; rv[2] = -0x48; RotTransSV(rv, rv, out); - *(u16 *)((u8 *)s1 + 0x6) = *(u16 *)&rv[0]; - *(u16 *)((u8 *)s1 + 0xA) = *(u16 *)&rv[1]; - *(u16 *)((u8 *)s1 + 0xE) = *(u16 *)&rv[2]; + CAST_ALIAS(u16, (u8 *)s1, 0x6) = *(u16 *)&rv[0]; + CAST_ALIAS(u16, (u8 *)s1, 0xA) = *(u16 *)&rv[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = *(u16 *)&rv[2]; - *(s32 *)((s32)a0 + 0xCC) = (s32)s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)s1; } return s1; } @@ -6771,14 +6771,14 @@ extern M2C_UNK D_801A8C44; void func_80182424(void *a0) { s32 s0 = (s32)a0; func_80131B14(); - *(u8 *)((s32)a0 + 0xC2) = 0; - *(u8 *)((s32)a0 + 0xC3) = 0; - *(u16 *)((s32)a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012B23C(s0); func_8012B2CC(s0); func_8012B178(s0, 0x00080000); func_8012A8B0((u8 *)s0, (s32)&D_801A8C44); - if (*(s16 *)((s32)a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80130088((void *)a0); func_8002AC00(0x13); } @@ -6811,8 +6811,8 @@ void func_801824A4(s32 param_1) { } else if (flag != 0x2000) { func_8012ADE4((u8 *)param_1); } - if (*(s16 *)(param_1 + 0x98) == 0) { - if (*(s16 *)(param_1 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk98 == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk76 <= 0) { func_80131E00((void *)param_1, 6); } else { func_80131C78(param_1); @@ -6841,7 +6841,7 @@ s32 func_80182564(s32 a0, s32 a1, s32 *a2) { if (cba4 == 0x2000) goto zeroret; fail: func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_801A86E4); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); @@ -6862,18 +6862,18 @@ s32 func_80182618(s32 a0, s32 *a1) { S_80182618 tmp; s32 cba4; - tmp.f0 = *(s32 *)(a0 + 0x10); - tmp.f1 = *(s32 *)(a0 + 0x14); - tmp.f2 = *(s32 *)(a0 + 0x18); + tmp.f0 = CAST_WIDTH(s32, a0, 0x10); + tmp.f1 = ((Unkstruct_800B5CB8 *)a0)->unk14; + tmp.f2 = CAST_WIDTH(s32, a0, 0x18); func_8012B2CC(a0); func_8012B178(a0, 0xFFF10000); cba4 = ((s32 (*)(s32))func_8012CBA4)(a0); - *(s32 *)(a0 + 0x10) = tmp.f0; - *(s32 *)(a0 + 0x14) = tmp.f1; - *(s32 *)(a0 + 0x18) = tmp.f2; + CAST_WIDTH(s32, a0, 0x10) = tmp.f0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = tmp.f1; + CAST_WIDTH(s32, a0, 0x18) = tmp.f2; *a1 = func_801826E8(a0); func_8012ADE4((u8 *)a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) &= ~1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C &= ~1; if (*a1 != 0) { return 0; } @@ -6945,7 +6945,7 @@ s32 func_801826E8(s32 arg0) { if ((s32) pe == arg0) { goto next; } - state = *(u16 *) pe; + state = ((Unkstruct_800B5CB8 *)pe)->unk0; if (state == 0x1FC) { goto do_1fc; } @@ -6955,17 +6955,17 @@ s32 func_801826E8(s32 arg0) { goto next; do_1fc: - buf[0] = *(u16 *) (pe + 6); + buf[0] = ((Unkstruct_800B5CB8 *)pe)->unk6; buf[1] = 0; - buf[2] = *(u16 *) (pe + 0xE); + buf[2] = ((Unkstruct_800B5CB8 *)pe)->unkE; if (((s32 (*)(s32, u16 *)) func_8012BE98)(arg0, buf) < 0x900) { return (s32) pe; } goto next; do_239: - f20 = *(s32 *) (pe + 0x20); - { d = *(s16 *) (pe + 6) - *(s16 *) (arg0 + 6); } + f20 = ((Unkstruct_800B5CB8 *)pe)->unk20; + { d = CAST_SIGN(s16, pe, 6) - *(s16 *) (arg0 + 6); } t = (*(s16 *) (f20 + 0x18) * 9) >> 9; if (d < 0) { d = -d; @@ -6974,7 +6974,7 @@ s32 func_801826E8(s32 arg0) { if (thresh < d) { goto next; } - d = *(s16 *) (pe + 0xE) - *(s16 *) (arg0 + 0xE); + d = CAST_SIGN(s16, pe, 0xE) - *(s16 *) (arg0 + 0xE); if (d < 0) { d = -d; } @@ -7004,7 +7004,7 @@ s32 func_80182808(s32 a0) { } t = func_8012B864(a0); r = t; - sd = t - (*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + sd = t - (((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); if (sd < 0) { sd = -sd; } @@ -7028,17 +7028,17 @@ void func_801828A4(s32 param_1) { s32 i; s32 p20; - if ((*(u16 *)(param_1 + 0x86) & 1) == 0) { - if (*(s16 *)(param_1 + 0x76) < 0xB5) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk86 & 1) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 0xB5) { if (func_8012C588(0x22D, param_1) != 0) { - *(u16 *)(param_1 + 0x86) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unk86 |= 1; for (i = 0; i < 0x20; i += 4) { *(s32 *)((u8 *)D_801C1560 + i) = *(s32 *)((u8 *)D_801A42F4 + i); } D_801C1560[0] = 0x1000000; D_801C1570 = 0x1000000; - p20 = *(s32 *)(param_1 + 0x20); - *(s32 *)(p20 + 0x24) = (s32)D_801C1560; + p20 = CAST_ALIAS(s32, param_1, 0x20); + CAST_WIDTH(s32, p20, 0x24) = (s32)D_801C1560; func_8002D4C8(0x83B, 0); } } @@ -7055,13 +7055,13 @@ extern M2C_UNK D_801A86E4; extern M2C_UNK D_801A8FC4; void func_80182960(void *arg0) { - *(u16 *)((u8 *)arg0 + 0x5C) = 0x8A10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x8A10; *(u16 *)((u8 *)arg0 + 0x52) = 0; - if ((*(s32 *)((u8 *)arg0 + 0xC4) & 4) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC4 & 4) != 0) { func_8012A8B0((u8 *)arg0, (s32)&D_801A8FC4); func_8012AD44((s32 *)arg0, 6); } else { - *(s32 *)((u8 *)arg0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; func_8012A8B0((u8 *)arg0, (s32)&D_801A86E4); func_8012B23C((s32)arg0); func_8012AD44((s32 *)arg0, 1); @@ -7142,7 +7142,7 @@ void func_80182A6C(void *arg0) { tv0 = func_8012C51C(&prim, s0); if (tv0 != 0) { - *(u16 *)(*(s32 *)(tv0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(tv0 + 0x20))->unk12 = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); func_8012B2CC(tv0); func_8002D4C8(0x83A, 0); } @@ -7161,7 +7161,7 @@ void func_80182BA4(s32 a0, s32 a1) { s16 vec[3]; s32 q; - if ((*(u16 *)(a0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) == 0) { q = a1 * 8; vec[0] = *(u16 *)((s32)D_801A1F0C + q); vec[1] = *(u16 *)((s32)D_801A1F0E + q); @@ -7243,7 +7243,7 @@ void func_80182D2C(s32 param_1) { u16 v1; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { func_8012CAE4((void *)param_1); return; @@ -7260,19 +7260,19 @@ void func_80182D2C(s32 param_1) { D_801C1580[0] = *(s32 *)D_801A42F4; D_801C1590[0] = D_801A4304; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x24) = (s32)D_801C1580; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = D_801A883C; + CAST_WIDTH(s32, *(s32 *)(param_1 + 0x20), 0x24) = (s32)D_801C1580; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = D_801A883C; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C(param_1); func_8012B2CC(param_1); func_8012B178(param_1, 0x00080000); - v1 = *(u16 *)(param_1 + 0x2) + 1; - *(s32 *)(param_1 + 0x14) = 0xFFE40000; - *(u16 *)(param_1 + 0xFE) = *(u16 *)(param_1 + 0xA) + 0x30; - *(u16 *)(param_1 + 0x2) = v1; + v1 = CAST_SIGN(u16, param_1, 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFE40000; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = ((Unkstruct_800B5CB8 *)param_1)->unkA + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v1; q = func_80132EF4(param_1, 0x23); if (q != 0) { *(u16 *)(q + 0x34) = 0x2001; @@ -7285,7 +7285,7 @@ void func_80182D2C(s32 param_1) { extern void (*D_801A1F2C[])(void); void func_80182E64(void *a0) { - D_801A1F2C[*(u16 *)((s32)a0 + 0x2)](); + D_801A1F2C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7314,25 +7314,25 @@ void func_80182EA0(void *arg0) { } *(s32 *)((u8 *)D_801C1540 + 0x14) = 0x1000000; - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s32 *)(p20 + 0x24) = (s32)D_801C1540; - *(u8 *)((u8 *)arg0 + 0xC0) = 1; - *(s32 *)((u8 *)arg0 + 0xB4) = -0x801; - *(s32 *)((u8 *)arg0 + 0xBC) = (s32)D_801A1E60; + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -0x801; + ((Unkstruct_800B5CB8 *)arg0)->unkBC = (s32)D_801A1E60; func_80143970((s32)arg0); func_8012B030((u8 *)arg0); - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)(p20 + 0x1c) = 0x1800; *(s16 *)(p20 + 0x1a) = 0x1800; *(s16 *)(p20 + 0x18) = 0x1800; - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(p20 + 0x2c) |= 0x10; - if (*(s16 *)((u8 *)arg0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 != 0) { func_80182180(arg0); } else if (rand() & 1) { func_80181C20(arg0); @@ -7367,12 +7367,12 @@ void func_80183008(s32 param_1) { s16 ret; s32 buf[2]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - if ((*(s32 *)(param_1 + 0x94) == 0xE) && ((*(u16 *)(param_1 + 0x72) & 0x400) == 0)) { - *(u16 *)(param_1 + 0x98) = 0; - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) += 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk94 == 0xE) && ((((Unkstruct_800B5CB8 *)param_1)->unk72 & 0x400) == 0)) { + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } else { ret = func_80182808(param_1); if ((ret != 0) && (func_80182618((void *)param_1, buf) != 0)) { @@ -7410,17 +7410,17 @@ void func_801830EC(s32 param_1) { if (func_80182564(param_1, 0xFFFB0000, &out) == 1) { func_8012ADE4((u8 *)param_1); - *(s32 *)(param_1 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; func_8012A8B0((u8 *)param_1, (s32)&D_801A86E4); func_8012B23C(param_1); func_8012AD44((s32 *)param_1, 1); } else if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; func_8012A8B0((u8 *)param_1, (s32)&D_801A86E4); func_8012B23C(param_1); func_8012AD44((s32 *)param_1, 1); } else { - if ((*(u16 *)(param_1 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk86 & 1) == 0) { s16 r = func_80182808(param_1); if (r != 0) { func_80181CE8((void *)param_1, r); @@ -7457,28 +7457,28 @@ void func_801831B8(s32 a0) { if (func_80182564(a0, 0xFFFB0000, &local) == 1) { func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_801A86E4); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); } else { - if (*(s16 *)(a0 + 0x102) != 0) { - (*(s16 *)(a0 + 0x102))--; + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { + (((Unkstruct_800B5CB8 *)a0)->unk102)--; } else { - if (*(s16 *)(a0 + 0xAA) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { func_80182A6C((void *)a0); } - if (--(*(s16 *)(a0 + 0x104)) != 0) { - *(s16 *)(a0 + 0x102) = 4; + if (--(((Unkstruct_800B5CB8 *)a0)->unk104) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = 4; } else { - *(s16 *)(a0 + 0x104) = 3; - *(s16 *)(a0 + 0x102) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0x20; } } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += *(u16 *)(a0 + 0x106); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += CAST_SIGN(u16, a0, 0x106); if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x80; - *(s16 *)(a0 + 0x106) = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk106 = (rand() & 0x20) - 0x10; } } } @@ -7490,8 +7490,8 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern M2C_UNK D_801A86E4; void func_801832C4(s32 a0) { - if (*(s16 *)(a0 + 0x98) == 0) { - *(s32 *)(a0 + 0x1C) = 8; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_801A86E4); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); @@ -7513,17 +7513,17 @@ void func_8018331C(void *arg0) { void *s0 = arg0; s32 buf[2]; - if (*(s16 *)((u8 *)s0 + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk98 != 0) { return; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0 && func_80182618(s0, buf) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0 && func_80182618(s0, buf) != 0) { func_8012A8B0((u8 *)s0, (s32)&D_801A87CC); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801A8844; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_801A8844; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(s32 *)((u8 *)s0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 8; func_8012A8B0((u8 *)s0, (s32)&D_801A86E4); func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 1); @@ -7539,15 +7539,15 @@ extern void func_801822EC(void *a0); extern void func_80182BA4(s32 a0, s32 a1); void func_801833DC(s32 param_1) { - if (*(s16 *)(param_1 + 0xAA) == 0) { - switch (*(u16 *)(param_1 + 0x34)) { + if (((Unkstruct_800B5CB8 *)param_1)->unkAA == 0) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { if (func_801821C4((void *)param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0x30; - *(u16 *)(param_1 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } else { - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; } } break; @@ -7575,7 +7575,7 @@ extern M2C_UNK D_801A86E4; void func_80183494(void *arg0) { u16 v1; - v1 = *(u16 *)((s32)arg0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (v1 == 0) { goto case0; @@ -7588,16 +7588,16 @@ void func_80183494(void *arg0) { goto tail; case0: - if (*(s32 *)((s32)arg0 + 0x94) == 0x18) { - func_80183648(*(s32 *)((s32)arg0 + 0xCC)); - *(u16 *)((s32)arg0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0x18) { + func_80183648(((Unkstruct_800B5CB8 *)arg0)->unkCC); + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } goto tail; case1: - if (*(s16 *)((s32)arg0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { func_8012A8B0((u8 *)arg0, (s32)&D_801A86E4); - *(s32 *)((s32)arg0 + 0x1C) = 0x40; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; func_8012AD44((s32 *)arg0, 9); } @@ -7616,12 +7616,12 @@ void func_80183548(s32 param_1) { s0 = param_1; func_8012AD80(s0); - ta = *(s16 *)(s0 + 0xA); - if (*(s16 *)(s0 + 0xFE) < ta || ta > 0) { + ta = CAST_SIGN(s16, s0, 0xA); + if (((Unkstruct_800B5CB8 *)s0)->unkFE < ta || ta > 0) { func_8012C218((void *)s0); } else { - (*(s32 *)(s0 + 0x1C))++; - if ((*(s32 *)(s0 + 0x1C) & 3) == 0) { + (((Unkstruct_800B5CB8 *)s0)->unk1C)++; + if ((((Unkstruct_800B5CB8 *)s0)->unk1C & 3) == 0) { s32 p = func_80132EF4(s0, 0x22); if (p != 0) { *(u16 *)(p + 0x34) = 0x1000; @@ -7666,7 +7666,7 @@ void func_80183648(s32 a0) vel[1] = 0; vel[0] = 0; vel[2] = 0xFFF20000; - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12), &m); func_800484EC((s32)&m, (s32)&vel[0], a0 + 0x10); func_8002D4C8(0xB3F, 0); func_8012AD44((s32 *)a0, 3); @@ -7679,9 +7679,9 @@ extern void func_80183A88(s32 a0, s32 a1); extern s32 D_801A1F34; void func_80183710(void *a0) { - D_801A1F44[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { - if (*(u8 *)((s32)a0 + 0x74) != 0) { + D_801A1F44[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { func_8012E014(a0); func_80183A88((s32)a0, (s32)&D_801A1F34); } @@ -7822,7 +7822,7 @@ void func_80183A88(s32 arg0, s32 arg1) { s16 t1; s16 a3; - if (*(u16 *)&D_80126B58 == 0x1A) { + if (((Unkstruct_80126B58 *)&D_80126B58)->unk0 == 0x1A) { return; } w5e = D_80126B5E; @@ -7951,7 +7951,7 @@ void func_80183D94(void *param_1) { s32 v1; 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; @@ -7959,20 +7959,20 @@ void func_80183D94(void *param_1) { func_8001C810(v0, (s32)&D_801C16BC); - *(u16 *)(*(s32 *)((s32)param_1 + 0x20) + 0x2C) |= 0x10; - *(s32 *)(*(s32 *)((s32)param_1 + 0x20) + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)param_1 + 0x20))->unk2C |= 0x10; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x4) |= 0x8040; - *(u16 *)((s32)param_1 + 0x5C) = 0xCC00; - *(u8 *)((s32)param_1 + 0x75) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 2; - *(s32 *)((s32)param_1 + 0x58) = (s32)&D_801A1F34 | 0x20000000; - if (*(s16 *)((s32)param_1 + 0x70) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)&D_801A1F34 | 0x20000000; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_80183614((s32)param_1); return; } func_801835E0((s32)param_1); v1 = ((s32 (*)(s32, s32))func_80143994)((s32)param_1, 0x3000); - *(s32 *)((s32)param_1 + 0xD0) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = v1; } @@ -7991,8 +7991,8 @@ void func_80183E68(s32 param_1) { s32 v; flag = ((s32 (*)(s32))func_8012CBF4)(param_1); - h = *(s16 *)(param_1 + 0xA); - d0 = *(s32 *)(param_1 + 0xD0); + h = CAST_SIGN(s16, param_1, 0xA); + d0 = ((Unkstruct_800B5CB8 *)param_1)->unkD0; if (h >= 0x81) { if (d0 != 0) { func_801439C0((u8 *)d0); @@ -8000,7 +8000,7 @@ void func_80183E68(s32 param_1) { func_8012C218((void *)param_1); return; } - q = *(s32 *)(d0 + 0xCC); + q = ((Unkstruct_800B5CB8 *)d0)->unkCC; v = (h << 4) + 0x5800; *(u16 *)(q + 0x18) = v; *(u16 *)(q + 0x1A) = v; @@ -8092,20 +8092,20 @@ void func_80183FE8(s32 param_1) { s32 o; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, void *))func_8001C214)(iVar1, &(*(u8 *)&D_801A939C)); - if ((*(u16 *)(param_1 + 0x70) & 0x1000) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x1000) == 0) { func_8002D4C8(0x43A, 0); } else { func_8002D4C8(0x6D6, 0); } func_8012A828(param_1, &D_801A9174); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 100; + CAST_ALIAS(s16, param_1, 2) = 1; + CAST_ALIAS(s32, param_1, 0x1C) = 100; *(s32 *)&in.lo = D_80126B60; in.hi -= 0x20; @@ -8114,22 +8114,22 @@ void func_80183FE8(s32 param_1) { func_8012B77C(out, param_1 + 4, &in); o = out[0]; - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; switch (t) { case 0: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; break; case 1: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; case 3: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = (s16)(o >> 16); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = (s16)(o >> 16); break; case 2: break; } - if (*(u16 *)(param_1 + 0x70) & 0x1000) { - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) << 1; + if (CAST_SIGN(u16, param_1, 0x70) & 0x1000) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C << 1; } func_8012B2CC(param_1); ((void (*)(s32, s32))func_8012C588)(0xBC, param_1); @@ -8140,14 +8140,14 @@ void func_80183FE8(s32 param_1) { extern void (*D_801A9210[])(void); void func_80184160(void *a0) { - D_801A9210[*(u16 *)((s32)a0 + 0x2)](); + D_801A9210[((Unkstruct_80126B58 *)a0)->unk2](); } extern void (*D_801A9224[])(void); void func_8018419C(void *a0) { - D_801A9224[*(u16 *)((s32)a0 + 0x2)](); + D_801A9224[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8178,7 +8178,7 @@ void func_801841D8(s32 param_1) { *(s16 *)(s0 + 0xE), 0, 0); v = func_80132EF4(s0, 0x22); if (v != 0) { - *(s16 *)(v + 0x34) = 0x2000; + ((Unkstruct_800B5CB8 *)v)->unk34 = 0x2000; } } else { if (func_8012D5E4(s0, (s32)&D_801A9208, (s32)&D_800D3918, 0x19) == 0 && @@ -8212,8 +8212,8 @@ void func_801842B8(int param_1) short c; if (*(unsigned short *)(param_1 + 0x34) == 0) { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); ((void (*)(void))func_8012B2CC)(); func_8012B23C(param_1); ((void (*)(int, void *))func_8012B14C)(param_1, &D_801A9218); @@ -8221,19 +8221,19 @@ void func_801842B8(int param_1) in.b = 0; in.c = 0x10; ((void (*)(int, void *, void *))func_8012F214)(param_1, &in, &out); - *(short *)(param_1 + 6) = out.a; - *(short *)(param_1 + 0xa) = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; c = out.c; - *(int *)(param_1 + 0x1c) = 0x5a; - *(short *)(param_1 + 0x34) = 1; - *(short *)(param_1 + 0xe) = c; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = c; } - *(short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(short *)(*(int *)(param_1 + 0x20) + 0x10) - 0x80; - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(param_1 + 0x20) + 0x12) + 4; - *(short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(short *)(*(int *)(param_1 + 0x20) + 0x14) + 5; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk10 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) - 0x80; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 4; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + 5; func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { ((void (*)(int))func_8012C218)(param_1); @@ -8272,17 +8272,17 @@ extern void func_8012C098(void *param_1); extern void func_8012E8A8(u8 *a0); void func_80184430(void *a0) { - *(s16 *)((s32)a0 + 0x76) = 0; - if (*(s16 *)((s32)a0 + 0x100) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_8002A04C((s32)a0); } - if (*(s16 *)((s32)a0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { ((void (*)(void *))func_8012C098)(a0); } else { - *(s16 *)((s32)a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E8A8((u8 *)a0); - *(s16 *)((s32)a0 + 0x5C) = 0; - *(u8 *)((s32)a0 + 0xC1) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; } } @@ -8295,7 +8295,7 @@ extern void D_801B10C4; void func_801844A0(s32 arg0) { - if ((M2C_FIELD(arg0, u8 *, 0xC3) & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801B10C4)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC3 & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801B10C4)) { func_8012A828(arg0, &D_801B10C4); } } @@ -8336,9 +8336,9 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801B154C; void func_80184574(s32 a0) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, &D_801B154C); - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; } @@ -8348,12 +8348,12 @@ extern void func_8012A828(s32 a0, void *a1); void func_801845B4(s32 a0) { extern void D_801B10C4; - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, &D_801B10C4); - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0xDC) = 0; - *(s32 *)(a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, a0, 0x5E) = 0; + CAST_WIDTH(s16, a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } @@ -8374,15 +8374,15 @@ s32 func_80184604(s32 param_1, s32 param_2, s32 param_3) { func_801846B4(param_1); return 1; } - sVar1 = *(s16 *)(param_1 + 0xdc) + 1; - *(s16 *)(param_1 + 0xdc) = sVar1; + sVar1 = CAST_WIDTH(s16, param_1, 0xdc) + 1; + CAST_WIDTH(s16, param_1, 0xdc) = sVar1; if (sVar1 < 0x79) { return 0; } if (param_3 >= iVar2) { return 0; } - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, &D_801B14A4); return 1; } @@ -8396,11 +8396,11 @@ extern void func_80142414(s32 a0, s16 a1); extern u8 D_801B1264; void func_801846B4(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012A828(param_1, &D_801B1264); - *(s32 *)(param_1 + 0x1c) = 0x1e; - if (*(s16 *)(param_1 + 0xfc) == 0) { - *(s16 *)(param_1 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; ((void (*)(s32, s32))func_80142414)(param_1, -0x96); } } @@ -8425,13 +8425,13 @@ extern void func_8012A828(s32 a0, void *a1); extern void D_801B10C4; void func_80184724(void *a0) { - if (*(s32 *)((char *)a0 + 0x1C) == 9) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 9) { extern u8 D_801A95C8[]; extern u8 D_801A95D8[]; func_8012D5E4((s32)a0, (s32)D_801A95C8, (s32)(D_801A95C8 + 8), 0x10); - if (*(s16 *)((char *)a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { u16 out[4]; struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } s; s32 buf[8]; @@ -8446,11 +8446,11 @@ void func_80184724(void *a0) { s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) + 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 + 0x100; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) - 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 - 0x100; func_8012C51C(&s, (s32)a0); } @@ -8459,9 +8459,9 @@ void func_80184724(void *a0) { s16 out2[2]; s32 v; - in3[0] = *(u16 *)((char *)a0 + 0x6); - in3[1] = *(u16 *)((char *)a0 + 0xA); - in3[2] = *(u16 *)((char *)a0 + 0xE); + in3[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + in3[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + in3[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; ((u32 (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); @@ -8482,12 +8482,12 @@ void func_80184724(void *a0) { } if (func_8012BEE8((s32)a0) != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828((s32)a0, &D_801B10C4); - *(u16 *)((char *)a0 + 0x5C) = 0xAA10; - *(s16 *)((char *)a0 + 0x5E) = 0; - *(s16 *)((char *)a0 + 0xDC) = 0; - *(s32 *)((char *)a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, (char *)a0, 0x5E) = 0; + CAST_WIDTH(s16, (char *)a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } } @@ -8569,7 +8569,7 @@ void func_80184920(void *a0) { extern void (*D_801A9604[])(void); void func_80184A6C(void *a0) { - D_801A9604[*(u16 *)((s32)a0 + 0x2)](); + D_801A9604[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8601,13 +8601,13 @@ void func_80184B30(s32 param_1) { u16 tmp; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); return; } func_8001C214(v0, 0); - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(v0 + 0x1A) = 0x1800; *(s16 *)(v0 + 0x18) = 0x1800; s0 = ((s32 (*)(void))func_8012C194)(); @@ -8615,16 +8615,16 @@ void func_80184B30(s32 param_1) { func_8012CAE4((void *)param_1); return; } - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CB6C((u8 *)s0, D_801A960C, 0x2E0, 0x100); - *(u8 *)(s0 + 0x27) = 0x37; - *(u16 *)(s0 + 0x10) = 0x400; - *(s32 *)(s0 + 0x4) |= 0x50000000; - tmp = *(u16 *)(param_1 + 0xFC); - *(s16 *)(s0 + 0x1A) = 0x1800; - *(s16 *)(s0 + 0x18) = 0x1800; - *(u16 *)(s0 + 0x14) = tmp; - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x37; + ((Unkstruct_800B5CB8 *)s0)->unk10 = 0x400; + CAST_WIDTH(s32, s0, 0x4) |= 0x50000000; + tmp = CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x1800; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x1800; + CAST_WIDTH(u16, s0, 0x14) = tmp; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_80143994(param_1, 0x1000); } @@ -8635,11 +8635,11 @@ extern void func_8012B200(u8 *a0); extern void func_8012B178(s32 a0, s32 a1); void func_80184C08(u8 *a0) { - u8 *p = *(u8 **)(a0 + 0x20); - u16 v = *(u16 *)(a0 + 0xFC); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x50; - *(s16 *)(p + 0x12) = v; + u8 *p = CAST_SIGN(u8 *, a0, 0x20); + u16 v = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)p)->unk12 = v; func_8012B2CC((s32)a0); func_8012B200(a0); func_8012B178((s32)a0, 0xFFF00000); @@ -8687,7 +8687,7 @@ void func_80184D24(s32 a0) { s32 result; s32 threshold; - if (*(s16 *)(a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { result = func_8012BCCC(a0); threshold = 0x90000; } else { @@ -8718,7 +8718,7 @@ extern s32 func_8012BEE8(s32 a0); void func_80184DC8(s32 param_1) { if (func_8012BEE8(param_1) == 1) { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_80184604(param_1, 0x40000, 0xC4000); } else { func_80184604(param_1, 0x9000, 0x24000); @@ -8741,7 +8741,7 @@ void func_80184E2C(int param_1) unsigned short *p; v = func_8012B8E4(param_1, 4); - p = (unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); if (func_8012BEE8(param_1) != 0) { ((void (*)(s32))func_80184710)(param_1); @@ -8768,23 +8768,23 @@ void func_80184E8C(s32 s0) { return; } - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s32 *)(s0 + 0xBC) = (s32)&D_801A9528; - *(s32 *)(s0 + 0xC4) = 1; - *(s16 *)(s0 + 0xAE) = 8; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_801A9528; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = 8; - v0 = func_8012C658(0x23F, *(s16 *)(s0 + 0x70), s0); - *(s32 *)(s0 + 0x6C) = v0; + v0 = func_8012C658(0x23F, ((Unkstruct_800B5CB8 *)s0)->unk70, s0); + ((Unkstruct_800B5CB8 *)s0)->unk6C = v0; if (v0 == 0) { func_8012CAE4((void *)s0); return; } if (func_8012E504(s0, 0x23D) == 0) { - *(s16 *)(s0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 1; } - *(s16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, &D_801B14A4); } @@ -8831,35 +8831,35 @@ void func_80184FB4(void *a0) { s32 s1; SV3x out; - s1 = *(s32 *)(s0 + 0x64); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk64; - if (*(s16 *)(s0 + 0xFE) == 0x7FFF) { - *(s16 *)(s0 + 0xFE) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)s0)->unkFE == 0x7FFF) { + ((Unkstruct_800B5CB8 *)s0)->unkFE = ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12; } - if (*(s16 *)(s0 + 0xFC) != *(s16 *)(s1 + 0x36)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFC != *(s16 *)(s1 + 0x36)) { func_8012C218((void *)s0); return; } - *(SV4x *)(*(s32 *)(s0 + 0x20) + 0x10) = *(SV4x *)(*(s32 *)(s1 + 0x20) + 0x10); + *(SV4x *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x10) = *(SV4x *)(*(s32 *)(s1 + 0x20) + 0x10); if (*(s32 *)(s1 + 0x90) != (s32)&D_801B169C) { - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = *(s16 *)(s0 + 0xFE); - *(s32 *)(s0 + 0x4) = *(s32 *)(s1 + 0x4); - *(s32 *)(s0 + 0x8) = *(s32 *)(s1 + 0x8); - *(s32 *)(s0 + 0xC) = *(s32 *)(s1 + 0xC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)s0)->unkFE; + CAST_WIDTH(s32, s0, 0x4) = *(s32 *)(s1 + 0x4); + CAST_WIDTH(s32, s0, 0x8) = *(s32 *)(s1 + 0x8); + CAST_WIDTH(s32, s0, 0xC) = *(s32 *)(s1 + 0xC); } else { func_8012F214(s1, (s32)&D_801A95FC, (s32)&out); - *(s16 *)(s0 + 0x6) = out.a; - *(s16 *)(s0 + 0xA) = out.b; - *(s16 *)(s0 + 0xE) = out.c; + ((Unkstruct_800B5CB8 *)s0)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)s0)->unkA = out.b; + ((Unkstruct_800B5CB8 *)s0)->unkE = out.c; } - *(SV4x *)(*(s32 *)(s0 + 0x20) + 0x18) = *(SV4x *)(*(s32 *)(s1 + 0x20) + 0x18); + *(SV4x *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x18) = *(SV4x *)(*(s32 *)(s1 + 0x20) + 0x18); - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = *(s16 *)(*(s32 *)(s1 + 0x20) + 0x2C); - *(s32 *)(*(s32 *)(s0 + 0x20) + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C = *(s16 *)(*(s32 *)(s1 + 0x20) + 0x2C); + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); } @@ -8878,25 +8878,25 @@ void func_80185128(s32 param_1) { s32 v0; s32 rem; - D_801B50A4[*(u16 *)(param_1 + 2)](); - if (*(u16 *)(param_1) != 0) { + D_801B50A4[CAST_SIGN(u16, param_1, 2)](); + if (((Unkstruct_800B5CB8 *)param_1)->unk0 != 0) { func_8018615C(param_1); func_801862F0(param_1); func_80186638(param_1); - v1 = *(s32 *)(param_1 + 0xEC) + 1; - v0 = *(s32 *)(param_1 + 0xF0); + v1 = CAST_WIDTH(s32, param_1, 0xEC) + 1; + v0 = CAST_WIDTH(s32, param_1, 0xF0); rem = v1 % v0; - *(s32 *)(param_1 + 0xEC) = v1; + CAST_WIDTH(s32, param_1, 0xEC) = v1; if (rem == 0 || (rand() & 0xFFF) == 0) { func_801867A0(param_1); - *(s32 *)(param_1 + 0xF0) = rand() % 32 + 0x10; + CAST_WIDTH(s32, param_1, 0xF0) = rand() % 32 + 0x10; } - if (*(s16 *)(param_1 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, param_1, 0xA) >= 0x10) { func_8018612C(param_1); } else { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8012C0EC(param_1); } } @@ -8916,15 +8916,15 @@ void func_80185264(s32 a0) { extern s32 D_801BD950; if (func_8012C354(a0, (s32)D_801B4F00) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801B501C; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801B501C; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_8012A828(a0, (void *)&D_801BD950); func_80143994(a0, 0x2000); - *(s16 *)(a0 + 0x2) = 3; - *(s32 *)(a0 + 0xEC) = rand(); - *(s32 *)(a0 + 0xF0) = (rand() % 32) + 0x10; - *(s32 *)(a0 + 0xF4) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + CAST_WIDTH(s32, a0, 0xEC) = rand(); + CAST_WIDTH(s32, a0, 0xF0) = (rand() % 32) + 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkF4 = 2; func_8012B2CC(a0); } } @@ -8937,7 +8937,7 @@ void func_80185314(s32 a0) { extern s32 func_80186544(s32 a0); func_8012A828(a0, &D_801BD950); - *(u16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80186544(a0); } @@ -8956,8 +8956,8 @@ void func_8018535C(s32 a0) { s32 v0; s32 v1; - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } func_8012CBA4(a0); v0 = func_8012BCCC(a0); @@ -8978,7 +8978,7 @@ void func_8018535C(s32 a0) { v0 = 5; } } - *(s16 *)(a0 + 2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; } @@ -8987,9 +8987,9 @@ extern M2C_UNK D_801BD9F8; void func_801853F8(void *arg0) { func_8012A828((s32)arg0, &D_801BD9F8); - *(s16 *)((char *)arg0 + 0x2) = 4; - *(s32 *)((char *)arg0 + 0x1C) = 0x5A; - *(s32 *)((char *)arg0 + 0xE8) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 = 0; } @@ -9012,56 +9012,56 @@ void func_8018543C(s32 a0) { s32 c; if (func_8012BCCC(a0) <= 0x24000) { - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; return; } - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0)) { s32 r; s32 base; s32 v; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; r = rand() % 0x400; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if (rand() & 1) { v = base + r; } else { v = base - r; } - *(s32 *)(a0 + 0xE4) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = v; } } else { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE4), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE4, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; } } func_8012B178(a0, 0xFFFC0000); c = ((s32 (*)(s32))func_8012CBA4)(a0); - if ((c & 0x8000) && *(s32 *)(a0 + 0xE8) == 0) { + if ((c & 0x8000) && ((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { s32 t1; - sp10[0] = *(s32 *)(a0 + 0x10) >> 8; - sp10[2] = *(s32 *)(a0 + 0x18) >> 8; + sp10[0] = CAST_WIDTH(s32, a0, 0x10) >> 8; + sp10[2] = CAST_WIDTH(s32, a0, 0x18) >> 8; t1 = func_8012B70C((s16 *)D_800D3918, &D_801152B0); - *(s32 *)(a0 + 0xE4) = + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (t1 * 2 - func_8012B70C(sp10, (s16 *)D_800D3918)) & 0xFFF; - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0xE8) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x10; } else if ((c & 0x2000) == 0) { func_8012ADE4((u8 *)a0); } - if (*(s32 *)(a0 + 0xE8) != 0) { - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkE8 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 - 1; } } @@ -9074,9 +9074,9 @@ void func_80185620(arg0) void *arg0; { func_8012A828((s32)arg0, &D_801BDAA0); - *(s16 *)((char *)arg0 + 0x2) = 6; - *(s16 *)((char *)arg0 + 0x34) = 0; - *(s32 *)((char *)arg0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkD0 = 0; func_8012B200((u8 *)arg0); } @@ -9152,43 +9152,43 @@ void func_80185668(s32 a0) { s32 *base = &D_80126B58; s32 temp; - if (*(u16 *)(a0 + 0x34) == 0 && D_80126B84 < -0x94000 && - *(s16 *)(a0 + 0x98) != 0 && *(u8 **)(a0 + 0x90) != D_801BDF60) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0 && D_80126B84 < -0x94000 && + ((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && CAST_SIGN(u8 *, a0, 0x90) != D_801BDF60) { func_8012A828(a0, D_801BDB28); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } func_801863A4(a0); if (((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) { if (base[4] == 0 && base[6] == 0) { if (func_80186544(a0) == 0) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - } else if (*(u8 **)(a0 + 0x90) == D_801BDF60) { - temp = *(s32 *)(a0 + 0xD0); + } else if (CAST_SIGN(u8 *, a0, 0x90) == D_801BDF60) { + temp = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (temp != 0) { func_8012A828(a0, (void *)temp); - *(s32 *)(a0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = 0; } - } else if (*(s16 *)(a0 + 0x98) == 0) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32))func_8012A8E8)(a0); } } else if (D_8011F730 == 2) { - *(s32 *)(a0 + 0xD0) = *(s32 *)(a0 + 0x90); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = ((Unkstruct_800B5CB8 *)a0)->unk90; func_8012A828(a0, D_801BDF60); } else if (D_8011F730 == 1) { - if (*(s32 *)(a0 + 0xD0) == 0) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkD0 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - } else if (*(s16 *)(a0 + 0x98) != 0 && base[13] == 0) { - sp10.x = *(u16 *)(a0 + 0x6); - sp10.y = *(u16 *)(a0 + 0xA); - sp10.z = *(u16 *)(a0 + 0xE); + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && base[13] == 0) { + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18 = sp10; sp18.y += 0x10; func_80133784(1, &sp10, (s32)&sp18); - *(u16 *)(a0 + 0x6) = sp18.x; - *(u16 *)(a0 + 0xA) = sp18.y; - *(u16 *)(a0 + 0xE) = sp18.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.y; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.z; } } @@ -9200,8 +9200,8 @@ extern void func_8012B200(u8 *a0); void func_801858A0(s32 a0) { func_8012B200((u8 *)a0); func_8012A828(a0, &D_801BDD38); - *(s16 *)((char *)a0 + 0x2) = 0x8; - *(s16 *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -9231,21 +9231,21 @@ void func_801858E4(s32 a0) { s32 arg0, arg1; func_801863A4(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: g = D_8011F730; if (g == 2) { - *(u16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; func_8012A828(a0, D_801BDF60); return; } else if (g == 3) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_8012A828(a0, &D_801BDBB0); return; } else if (g == 4) { - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_8012A828(a0, &D_801BDC18); return; } @@ -9269,13 +9269,13 @@ void func_801858E4(s32 a0) { } func_8012C658(arg0, arg1, a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, &D_801BDE00); } tail_short: if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x2000) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -9287,7 +9287,7 @@ extern u8 D_801BE120[]; void func_80185A68(s32 a0) { func_8012B23C(a0); func_8012A828(a0, &D_801BE120); - *(s16 *)((char *)a0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; } @@ -9311,10 +9311,10 @@ void func_80185AE0(s32 a0) { func_8012B200((u8 *)a0); v0 = 0xD000; - *(s32 *)(s0 + 0x48) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk48 = v0; func_8012B14C(s0, (s32)&D_801B4F34); func_8012A828(s0, &D_801BE018); - *(s16 *)(s0 + 0x2) = 0xC; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xC; } @@ -9368,18 +9368,18 @@ void func_80185BD8(s32 a0) { v0 = func_80029DB4(); func_801861D0(a0, (s32)D_801B4F44, 7, v0); - if (*(s32 *)(a0 + 0x94) < 9) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 < 9) { func_8012C658(0x1EB, 0, a0); } if (D_8011F730 == 3) { - *(u16 *)(a0 + 2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; return; } - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, &D_801BD950); - *(u16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80186544(a0); } @@ -9415,13 +9415,13 @@ void func_80185CC8(s32 a0) { state = func_80029E30(); func_801861D0(a0, (s32)D_801B4F64, 6, state); - if ((u32)(*(s32 *)(a0 + 0x94) - 4) < 10) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk94 - 4) < 10) { func_8012C658(0x1EB, 1, a0); } - val72 = *(u16 *)(a0 + 0x72); + val72 = ((Unkstruct_800B5CB8 *)a0)->unk72; if ((val72 & 0x4000) != 0 && D_8011F730 != 4) { func_8012A828(a0, D_801BD950); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80186544(a0); } @@ -9468,11 +9468,11 @@ void func_80185DA8(s32 a0) { u16 sv[4]; s32 temp; - if (*(s32 *)(a0 + 0x94) == 6) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 6) { sv[1] = 0; sv[0] = 0; sv[2] = 0x20; - ApplyMatrixSV((void *)(*(s32 *)(a0 + 0x20) + 0x34), sv, sv); + ApplyMatrixSV((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34), sv, sv); func_8012EC04(a0, 7, buf); ((void (*)(s32 *, u8 *, u16 *))func_8012F14C)(buf, D_800D3918, out); s.f0 = out[0] + sv[0]; @@ -9482,31 +9482,31 @@ void func_80185DA8(s32 a0) { s.f8 = 0; s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; s.f10 = 0; temp = func_8012C51C(&s, a0); - *(s32 *)(a0 + 0xCC) = temp; + ((Unkstruct_800B5CB8 *)a0)->unkCC = temp; if (temp != 0) { - func_8001C924(*(s32 *)(a0 + 0x20), D_801B765C); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801B765C); func_8012A828(a0, D_801B500C); - *(s32 *)(a0 + 0xE0) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 |= 1; } } - if (*(s32 *)(a0 + 0xE0) & 1) { - if (*(s32 *)(a0 + 0xE0) & 2) { - if (func_80013350(a0 + 4, (void *)(*(s32 *)(a0 + 0xCC) + 4)) < 0x1801) { - func_8012C218(*(void **)(a0 + 0xCC)); - func_8001C924(*(s32 *)(a0 + 0x20), D_801B7624); + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 2) { + if (func_80013350(a0 + 4, (void *)(((Unkstruct_800B5CB8 *)a0)->unkCC + 4)) < 0x1801) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801B7624); func_8012A828(a0, &D_801BDCD0); - *(s32 *)(a0 + 0x94) = 7; - *(s32 *)(a0 + 0xCC) = 0; - *(s32 *)(a0 + 0xE0) &= ~3; + ((Unkstruct_800B5CB8 *)a0)->unk94 = 7; + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 &= ~3; } } } - if (*(s32 *)(a0 + 0x90) == (s32)&D_801BDCD0 && (*(u16 *)(a0 + 0x72) & 0x4000)) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801BDCD0 && (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000)) { func_8012A828(a0, D_801BD950); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80186544(a0); } @@ -9518,7 +9518,7 @@ extern void func_8012B23C(s32 a0); extern u8 D_801BE288[]; void func_80185F98(s32 arg0) { - *(s16 *)(arg0 + 2) = 0x14; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x14; func_8012A828(arg0, D_801BE288); func_8012B23C(arg0); } @@ -9533,9 +9533,9 @@ extern M2C_UNK D_801BD950; void func_80185FD8(s32 a0) { func_8012CBCC(a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, ((u8 *)&D_801BD950)); - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80186544(a0); } @@ -9549,7 +9549,7 @@ extern M2C_UNK D_801BD950; void func_8018603C(void *arg0) { func_80186078((s32)arg0); ((void (*)(s32 *, s32 *))func_8012A828)((s32)arg0, &D_801BD950); - *(s16 *)((char *)arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; } @@ -9561,13 +9561,13 @@ extern void func_8018615C(s32 a0); void func_80186078(a0) s32 a0; { - if (*(s32 *)(a0 + 0xE0) & 1) { - func_8001C924(*(s32 *)(a0 + 0x20), D_801B7624); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218((void *)*(s32 *)(a0 + 0xCC)); - *(s32 *)(a0 + 0xCC) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) { + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801B7624); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218((void *)((Unkstruct_800B5CB8 *)a0)->unkCC); + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; } - *(s32 *)(a0 + 0xE0) &= ~3; + ((Unkstruct_800B5CB8 *)a0)->unkE0 &= ~3; } func_8018615C(a0); } @@ -9601,12 +9601,12 @@ extern u8 D_801B4F44[]; extern u8 D_801B4F64[]; void func_8018615C(s32 a0) { - s32 t = *(s32 *)(a0 + 0xF4); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkF4; if (t != 0) { - *(s32 *)(a0 + 0xF4) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unkF4 = t - 1; return; } - if ((*(u32 *)(a0 + 0xE0) & 1) == 0) { + if ((CAST_SIGN(u32, a0, 0xE0) & 1) == 0) { func_8018739C(a0, (void *)D_801B4F44, 7); } func_80187604(a0, (s32)D_801B4F64, 6); @@ -9639,8 +9639,8 @@ s32 func_801861D0(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { func_8012F14C((s32)buf1, arg1, (s32)&vecA); func_8012F14C((s32)buf1, arg1 + 8, (s32)&vecB); func_8012F14C((s32)buf1, arg1 + 0x10, (s32)&vecC); - *(SVec_801861D0 *)(arg0 + 0xFC) = vecC; - *(SVec_801861D0 *)(arg0 + 0x104) = vecB; + CAST_WIDTH(SVec_801861D0, arg0, 0xFC) = vecC; + CAST_WIDTH(SVec_801861D0, arg0, 0x104) = vecB; if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&vecA, (s32)&vecB) != 0) { func_8012F568(1, 1, 0, arg3, (s32)&vecB, (s32)D_801152A8); return 1; @@ -9815,22 +9815,22 @@ s32 func_80186544(s32 a0) { case 1: func_8012B200((u8 *)a0); func_8012A828(a0, &D_801BDD38); - *(u16 *)(a0 + 0x2) = 8; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; break; case 2: - *(u16 *)(a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; break; case 3: func_8012A828(a0, &D_801BDBB0); - *(u16 *)(a0 + 0x2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; break; case 4: func_8012A828(a0, &D_801BDC18); - *(u16 *)(a0 + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; break; case 5: - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, &D_801BDCD0); break; default: @@ -9874,13 +9874,13 @@ void func_80186638(s32 a0) { v18[2] = *(u16 *)(p + 0xE); v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if (func_8012CEB0(v10, v18, 0) & 0x2000) { - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - *(u16 *)(a0 + 0xE) = v18[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; return; } func_8012ADE4((u8 *)a0); @@ -10053,7 +10053,7 @@ s32 func_8018691C(s32 a0, u16 a1) { extern void (*D_801B5108[])(void); void func_80186AD8(void *a0) { - D_801B5108[*(u16 *)((s32)a0 + 0x2)](); + D_801B5108[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10303,22 +10303,22 @@ void func_80187174(s32 *s0) u16 uVar2; iVar2 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)s0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)s0)->unk20 = iVar2; if (iVar2 == 0) { func_8012CAE4(s0); } else { ((void (*)(s32, void*))func_8001C214)(iVar2, &D_801B7690); - v1 = *(s32 **)((u8 *)s0 + 0x20); - uVar1 = *(u16 *)((u8 *)s0 + 0xFC); + v1 = CAST_SIGN(s32 *, (u8 *)s0, 0x20); + uVar1 = CAST_SIGN(u16, (u8 *)s0, 0xFC); *(u16 *)((u8 *)v1 + 0x12) = uVar1; func_8012B2CC(s0); - uVar2 = *(u16 *)((u8 *)s0 + 0x2); - *(s32 *)((u8 *)s0 + 0xE8) = 0xFFE00000; + uVar2 = CAST_SIGN(u16, (u8 *)s0, 0x2); + ((Unkstruct_800B5CB8 *)s0)->unkE8 = 0xFFE00000; uVar2 = uVar2 + 1; - *(u16 *)((u8 *)s0 + 0x2) = uVar2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = uVar2; } } @@ -10349,44 +10349,44 @@ void func_801871EC(s32 a0) s16 sp10[4]; s32 v0; - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - if (func_8012BDBC(*(s32 *)(a0 + 0x64), 0x200) == 0) { + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + if (func_8012BDBC(((Unkstruct_800B5CB8 *)a0)->unk64, 0x200) == 0) { goto skip_update; } - v0 = func_8012B6D4((s16 *)(*(s32 *)(a0 + 0x64) + 4), (s16 *)&D_80126B5C); + v0 = func_8012B6D4((s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 4), (s16 *)&D_80126B5C); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 1); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 1); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(u16 *)(a0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; v0 = func_8012B70C((s16 *)(a0 + 0x88), sp10); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } skip_update: - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) + 0x18000; - if (*(u16 *)(a0 + 0x34) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 + 0x18000; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - *(s32 *)(a0 + 0xE8) = 0; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) |= 2; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 obj2 = *(s32 *)(a0 + 0x64); + s32 obj2 = ((Unkstruct_800B5CB8 *)a0)->unk64; s32 flags2 = *(s32 *)(obj2 + 0xE0); - if ((flags2 & 2) == 0 && *(s32 *)(a0 + 0x1C) == 0x15) { + if ((flags2 & 2) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk1C == 0x15) { *(s32 *)(obj2 + 0xE0) = flags2 | 2; } } @@ -10395,7 +10395,7 @@ skip_update: } func_8012D5E4(a0, (s32)D_801B4F44, (s32)D_801B4F44 + 8, 0xA); - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; } @@ -10721,7 +10721,7 @@ void func_801879FC(void *a0) extern void (*D_801B5160[])(void); void func_80187BD8(void *a0) { - D_801B5160[*(u16 *)((s32)a0 + 0x2)](); + D_801B5160[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10759,7 +10759,7 @@ void func_80187C90(s32 a0) { extern void (*D_801BE37C[])(void); void func_80187CD0(void *a0) { - D_801BE37C[*(u16 *)((s32)a0 + 0x2)](); + D_801BE37C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10785,24 +10785,24 @@ void func_80187D0C(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801BE330, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801BE33C); func_80188284(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -10831,20 +10831,20 @@ void func_80187E08(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -10863,19 +10863,19 @@ void func_80187E08(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_80188284(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -10904,16 +10904,16 @@ void func_80188098(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_80188284(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -10953,7 +10953,7 @@ s32 func_8018822C(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -10972,13 +10972,13 @@ void func_80188284(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -10994,7 +10994,7 @@ extern void func_8012C218(void *a0); void func_80188300(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c index 9c03a0bfdf..8241e71da8 100644 --- a/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c +++ b/src/ov_SC04_003/ov_SC04_003_jr_8017BEBC.c @@ -2973,7 +2973,7 @@ s32 func_8017D570(void) { extern void (*D_80185CBC[])(void); void func_8017D578(void *a0) { - D_80185CBC[*(u16 *)((s32)a0 + 0x2)](); + D_80185CBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3010,8 +3010,8 @@ void func_8017D5B4(s32 a0) { extern u8 D_801824B8[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_80185C70)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32*, s32))func_8012A828)((s32 *)s0, (s32)D_801824B8); func_801788B8(s0, (s32)func_8017D698); } @@ -3069,7 +3069,7 @@ s32 func_8017D698_x(s32 a0) { extern void (*D_80185CCC[])(void); void func_8017D6FC(void *a0) { - D_80185CCC[*(u16 *)((s32)a0 + 0x2)](); + D_80185CCC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3202,7 +3202,7 @@ void func_8017D8BC(void *a0) { extern void (*D_80185D08[])(void); void func_8017D9A8(void *a0) { - D_80185D08[*(u16 *)((s32)a0 + 0x2)](); + D_80185D08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3249,22 +3249,22 @@ extern s32 func_80146E98(s32 a0); void func_8017DAC8(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -3304,7 +3304,7 @@ void func_8017DB34(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -3371,32 +3371,32 @@ void func_8017DC20(void *a0) { s2 = (void *)D_8019B9E0; - *(s32 *)((s32)s1 + 0xCC) = (s32)s0; + ((Unkstruct_800B5CB8 *)s1)->unkCC = (s32)s0; *(s16 *)((s32)s0 + 0x28) = 0x300; *(s16 *)((s32)s0 + 0x2A) = 0x110; *(s32 *)((s32)s0 + 0x20) = (s32)s2; *(u8 *)((s32)s0 + 0x27) = 0x78; *(s16 *)((s32)s0 + 0x10) = 0x400; - *(s16 *)((s32)s0 + 0x8) = *(u16 *)((s32)s1 + 0x6); - *(s16 *)((s32)s0 + 0xA) = *(u16 *)((s32)s1 + 0xA); + *(s16 *)((s32)s0 + 0x8) = ((Unkstruct_800B5CB8 *)s1)->unk6; + *(s16 *)((s32)s0 + 0xA) = ((Unkstruct_800B5CB8 *)s1)->unkA; { - u16 v1 = *(u16 *)((s32)s1 + 0xE); + u16 v1 = ((Unkstruct_800B5CB8 *)s1)->unkE; *(s16 *)((s32)s0 + 0x1A) = 0; *(s16 *)((s32)s0 + 0x18) = 0; *(u16 *)((s32)s0 + 0x2C) = 0xC004; *(s16 *)((s32)s0 + 0xC) = v1; } - if (*(s16 *)((s32)s1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)s1)->unk70 & 0x8000) { D_80190C88 = 0x10; D_80190C8A = 0x20; *(s16 *)((s32)s0 + 0x14) = 0x400; } else { - s32 *ptr = *(s32 **)((s32)s1 + 0xDC); + s32 *ptr = CAST_SIGN(s32 *, (s32)s1, 0xDC); s16 idx = *(u16 *)((s32)ptr + 0xA) - 9; s32 v0; - *(s16 *)((s32)s1 + 0x108) = idx; + ((Unkstruct_800B5CB8 *)s1)->unk108 = idx; v0 = func_80029178(D_80190C90[idx]) & 0xFF; if (v0 != 0) { @@ -3407,7 +3407,7 @@ void func_8017DC20(void *a0) { } v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)s1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)s1)->unk20 = v0; if (v0 == 0) { func_8012CAE4(s1); func_80016714(s0, 0x38); @@ -3421,7 +3421,7 @@ void func_8017DC20(void *a0) { *(s32 *)((s32)s0 + 0x4) |= 0x40000000; - func_8012C658(0x1F9, *(s16 *)((s32)s1 + 0x70) | 0x8000, (s32)s1); + func_8012C658(0x1F9, ((Unkstruct_800B5CB8 *)s1)->unk70 | 0x8000, (s32)s1); func_800233CC(s2, 0x80); } @@ -3440,11 +3440,11 @@ void func_8017DDDC(s32 *arg0) { s32 *s0 = arg0; void (**v1)(void); - *(s16 *)((s32)s0 + 0x10A) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk10A = 0; func_8012AD44(arg0, 2); - func_80029124(D_80190C90[*(s16 *)((s32)s0 + 0x108)], 1); + func_80029124(D_80190C90[CAST_SIGN(s16, (s32)s0, 0x108)], 1); v1 = &D_80190CE4; - *v1 = D_80190CCC[*(s16 *)((s32)s0 + 0x108)]; + *v1 = D_80190CCC[CAST_SIGN(s16, (s32)s0, 0x108)]; func_80178B18((s32)s0, (s32)v1 - 0xC); } @@ -3462,15 +3462,15 @@ extern u8 D_80190C78[]; void func_8017DE58(void *arg0) { u8 *s2 = D_80190C78; - void *s1 = *(void **)((s32)arg0 + 0xCC); - register u16 state __asm__("$4") = *(u16 *)((s32)arg0 + 0x34); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) + void *s1 = CAST_SIGN(void *, (s32)arg0, 0xCC); + register u16 state __asm__("$4") = ((Unkstruct_800B5CB8 *)arg0)->unk34; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) s16 v0; switch (state) { case 0: - if (*(s16 *)((s32)arg0 + 0x10A) != 0) { - *(u16 *)((s32)arg0 + 0x34) = state + 1; - *(s32 *)((s32)arg0 + 0x1C) = 0x30; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk34 = state + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x30; func_8002D4C8(0x7F5, 0); } break; @@ -3484,9 +3484,9 @@ void func_8017DE58(void *arg0) { } else { ((void (*)(void *))func_8017EE38)(arg0); if (func_8012BEE8((s32)arg0) != 0) { - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; func_8017E07C(arg0, 0); - } else if (*(s32 *)((s32)arg0 + 0x1C) == 0x20) { + } else if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0x20) { func_8002D4C8(0x7F6, 0); } } @@ -3538,7 +3538,7 @@ s32 func_8017E02C(s32 arg0) { extern void (*D_80190D18[])(void); void func_8017E040(void *a0) { - D_80190D18[*(u16 *)((s32)a0 + 0x2)](); + D_80190D18[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3712,19 +3712,19 @@ void func_8017E39C(s32 a0) { s32 p; s16 v1; - if (*(s16 *)(a0 + 0x70) & 0x8000) { - t = *(s32 *)(a0 + 0x64); + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { + t = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(u16 *)(t + 0x2) == 3) { func_8012C218((void *)a0); } else { p = *(s32 *)(t + 0xCC); v1 = *(s16 *)(p + 0x18); if (v1 != 0) { - a0 = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x18) = v1; - *(u16 *)(a0 + 0x1A) = *(u16 *)(p + 0x1A); + a0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk18 = v1; + ((Unkstruct_800B5CB8 *)a0)->unk1A = *(u16 *)(p + 0x1A); func_8017E4F4((void *)a0, D_80190C84); - *(u16 *)(a0 + 0x14) = *(u16 *)(a0 + 0x14) - 4; + CAST_WIDTH(u16, a0, 0x14) = CAST_WIDTH(u16, a0, 0x14) - 4; D_80190C88 = D_80190C88 + 1; if (D_80190C88 >= 0x30) { D_80190C88 = 0x10; @@ -4119,8 +4119,8 @@ void func_8017F150(void *arg0) { void *s0 = arg0; func_8012A8B0((u8 *)s0, (s32)&D_801976F4); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_8019776C; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_8019776C; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } @@ -4132,11 +4132,11 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8017F470(void *a0); void func_8017F1AC(void *a0) { - if ((*(u16 *)((u8 *)a0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) != 0) { func_8017F470(a0); } else { func_8012A8B0((u8 *)a0, (s32)&D_801977EC); - *(s32 *)((u8 *)a0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x60; func_8012AD44((s32 *)a0, 3); } } @@ -4147,11 +4147,11 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B23C(s32 a0); void func_8017F218(void *arg0, s16 a1) { - *(s32 *)(*(s32 *)((char *)arg0 + 0x20) + 0x20) = D_80197764; - *(u16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x12) = a1; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk20 = D_80197764; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk12 = a1; func_8012B23C((s32)arg0); - *(s32 *)((char *)arg0 + 0x1C) = 8; - *(u16 *)((char *)arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; func_8012AD44((s32 *)arg0, 4); } @@ -4178,40 +4178,40 @@ void func_8017F274(s32 a0) { s32 s1; s1 = 0; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8012A8B0((u8 *)a0, (s32)&D_80197FD4); func_8012B2CC(a0); func_8012B178(a0, 0xFFF80000); - *(s32 *)(a0 + 0x14) = 0xFFF40000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF40000; } func_801800D4(a0, 0); break; case 1: s1 = ((s32 (*)(s32))func_8012CBF4)(a0); - if (*(s16 *)(a0 + 0xA) > 0) { + if (CAST_SIGN(s16, a0, 0xA) > 0) { func_8012C218((void *)a0); return; } if (func_8017FC18(a0) != 0) { - *(s32 *)(a0 + 0x10) = 0; - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 0x38); - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0x40); + CAST_WIDTH(s32, a0, 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 0x38); + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(a0 + 0x40); } if (s1 & 0x2000) { func_8012B23C(a0); func_8012B2CC(a0); func_8012B178(a0, 0xFFF20000); func_8012A8B0((u8 *)a0, (s32)&D_80197ABC); - *(s32 *)(a0 + 0x1C) = 0x30; - *(u16 *)(a0 + 0x34) += 1; - tmp[0] = *(u16 *)(a0 + 6); - tmp[1] = *(u16 *)(a0 + 0xA); - tmp[2] = *(u16 *)(a0 + 0xE); - func_8002D59C(0x7E5, 0, *(u16 *)(a0 + 0x36)); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; + tmp[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + tmp[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + tmp[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; + func_8002D59C(0x7E5, 0, ((Unkstruct_800B5CB8 *)a0)->unk36); } func_801800D4(a0, 0); break; @@ -4225,7 +4225,7 @@ void func_8017F274(s32 a0) { func_801800D4(a0, 2); if (s1 != 0) { func_8017F4D4((void *)a0); - func_8002D59C(4, 0x7E5, *(u16 *)(a0 + 0x36)); + func_8002D59C(4, 0x7E5, ((Unkstruct_800B5CB8 *)a0)->unk36); } break; } @@ -4240,10 +4240,10 @@ void func_8017F470(void *arg0) { s32 *s0 = (s32 *)arg0; func_8012A8B0((u8 *)arg0, (s32)D_801978CC); - *(s16 *)((u8 *)s0 + 0x102) = 8; - *(s16 *)((u8 *)s0 + 0x104) = 3; - *(s16 *)((u8 *)s0 + 0x106) = (rand() & 0x20) - 0x10; - *(s32 *)((u8 *)s0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk102 = 8; + ((Unkstruct_800B5CB8 *)s0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)s0)->unk106 = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; func_8012AD44(s0, 5); } @@ -4269,9 +4269,9 @@ s32 func_8017F510(void *arg0) { extern M2C_UNK D_8019760C; - *(u16 *)((u8 *)arg0 + 0x100) = 0; - *(u16 *)((u8 *)arg0 + 0xFE) = *(u16 *)(*(u32 *)((u8 *)arg0 + 0x20) + 0x12) + 0x200; - if (*(u16 *)((u8 *)arg0 + 2) != 1) { + ((Unkstruct_800B5CB8 *)arg0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = ((Unkstruct_800B5CB8 *)*(u32 *)((u8 *)arg0 + 0x20))->unk12 + 0x200; + if (CAST_SIGN(u16, (u8 *)arg0, 2) != 1) { func_8012A8B0((u8 *)arg0, (s32)&D_8019760C); } func_8012AD44((s32 *)arg0, 8); @@ -4294,19 +4294,19 @@ extern M2C_UNK D_801977EC; void func_8017F574(void *arg0) { void *s0 = arg0; - void *a1 = *(void **)((u8 *)s0 + 0x20); + void *a1 = CAST_SIGN(void *, (u8 *)s0, 0x20); - if (*(s16 *)((u8 *)s0 + 0xFE) == *(s16 *)((u8 *)a1 + 0x12)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE == *(s16 *)((u8 *)a1 + 0x12)) { s32 buf[2]; if (func_8017FB48(s0, buf) == 1) { - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) != 0) { goto L_C0; } if ((rand() & 1) == 0) { goto L_FC; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0) { goto L_D0; } L_C0: @@ -4314,23 +4314,23 @@ void func_8017F574(void *arg0) { goto tail; L_D0: func_8012A8B0((u8 *)s0, (s32)&D_801977EC); - *(s32 *)((u8 *)s0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; func_8012AD44((s32 *)s0, 3); goto tail; L_FC: func_8012A8B0((u8 *)s0, (s32)&D_801976F4); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_8019776C; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_8019776C; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(u16 *)((u8 *)s0 + 0xFE) += 0x200; + CAST_SIGN(u16, (u8 *)s0, 0xFE) += 0x200; } tail: - *(u16 *)((u8 *)s0 + 0x100) += 1; + CAST_SIGN(u16, (u8 *)s0, 0x100) += 1; } else { - func_8017FF18(*(s16 *)((u8 *)s0 + 0xFE), (u16 *)((u8 *)a1 + 0x12), 0x20); + func_8017FF18(((Unkstruct_800B5CB8 *)s0)->unkFE, (u16 *)((u8 *)a1 + 0x12), 0x20); } } @@ -4370,24 +4370,24 @@ s32 func_8017F6F4(s32 a0) vec[1] = 0x1800; vec[0] = 0x1800; - RotMatrixY(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &m); func_80020F34((s32)&m, (s32)vec); func_8004914C(&m); - func_800491AC((void *)(*(s32 *)(a0 + 0x20) + 0x34)); + func_800491AC((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); rv[1] = -0x200; rv[0] = 0; rv[2] = -0x48; RotTransSV(rv, rv, out); - *(u16 *)((u8 *)s1 + 0x6) = *(u16 *)&rv[0]; - *(u16 *)((u8 *)s1 + 0xA) = *(u16 *)&rv[1]; - *(u16 *)((u8 *)s1 + 0xE) = *(u16 *)&rv[2]; + CAST_ALIAS(u16, (u8 *)s1, 0x6) = *(u16 *)&rv[0]; + CAST_ALIAS(u16, (u8 *)s1, 0xA) = *(u16 *)&rv[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = *(u16 *)&rv[2]; - *(s32 *)(a0 + 0xCC) = (s32)s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)s1; } return s1; } @@ -4455,14 +4455,14 @@ extern void func_80131B14(); void func_8017F954(void *a0) { s32 s0 = (s32)a0; func_80131B14(); - *(u8 *)((s32)a0 + 0xC2) = 0; - *(u8 *)((s32)a0 + 0xC3) = 0; - *(u16 *)((s32)a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012B23C(s0); func_8012B2CC(s0); func_8012B178(s0, 0x00080000); func_8012A8B0((u8 *)s0, (s32)&D_80197B6C); - if (*(s16 *)((s32)a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80130088((void *)a0); func_8002AC00(0x13); } @@ -4527,7 +4527,7 @@ s32 func_8017FA94(s32 a0, s32 a1, s32 *a2) { if (cba4 == 0x2000) goto zeroret; fail: func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_8019760C); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); @@ -4589,7 +4589,7 @@ s32 func_8017FC18(s32 arg0) { if ((s32) pe == arg0) { goto next; } - state = *(u16 *) pe; + state = ((Unkstruct_800B5CB8 *)pe)->unk0; if (state == 0x1FC) { goto do_1fc; } @@ -4599,17 +4599,17 @@ s32 func_8017FC18(s32 arg0) { goto next; do_1fc: - buf[0] = *(u16 *) (pe + 6); + buf[0] = ((Unkstruct_800B5CB8 *)pe)->unk6; buf[1] = 0; - buf[2] = *(u16 *) (pe + 0xE); + buf[2] = ((Unkstruct_800B5CB8 *)pe)->unkE; if (((s32 (*)(s32, u16 *)) func_8012BE98)(arg0, buf) < 0x900) { return (s32) pe; } goto next; do_239: - f20 = *(s32 *) (pe + 0x20); - { d = *(s16 *) (pe + 6) - *(s16 *) (arg0 + 6); } + f20 = ((Unkstruct_800B5CB8 *)pe)->unk20; + { d = CAST_SIGN(s16, pe, 6) - *(s16 *) (arg0 + 6); } t = (*(s16 *) (f20 + 0x18) * 9) >> 9; if (d < 0) { d = -d; @@ -4618,7 +4618,7 @@ s32 func_8017FC18(s32 arg0) { if (thresh < d) { goto next; } - d = *(s16 *) (pe + 0xE) - *(s16 *) (arg0 + 0xE); + d = CAST_SIGN(s16, pe, 0xE) - *(s16 *) (arg0 + 0xE); if (d < 0) { d = -d; } @@ -4651,7 +4651,7 @@ s32 func_8017FD38(s32 a0) { } t = func_8012B864(a0); r = t; - sd = t - (*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + sd = t - (((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); if (sd < 0) { sd = -sd; } @@ -4675,20 +4675,20 @@ void func_8017FDD4(void *param_1) { s32 i; - if ((*(u16 *)((u8 *)param_1 + 0x86) & 1) == 0) { - if (*(s16 *)((u8 *)param_1 + 0x76) >= 0xB5) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk86 & 1) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk76 >= 0xB5) { return; } if (func_8012C588(0x22D, (s32)param_1) == 0) { return; } - *(u16 *)((u8 *)param_1 + 0x86) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unk86 |= 1; for (i = 0; i < 0x20; i += 4) { *(s32 *)((u8 *)D_8019BA40 + i) = *(s32 *)(D_8019321C + i); } *(s32 *)D_8019BA40 = 0x1000000; *(s32 *)D_8019BA50 = 0x1000000; - *(s32 *)(*(s32 *)((u8 *)param_1 + 0x20) + 0x24) = (s32)D_8019BA40; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x24) = (s32)D_8019BA40; func_8002D4C8(0x83B, 0); } } @@ -4701,13 +4701,13 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B23C(s32 a0); void func_8017FE90(void *arg0) { - *(u16 *)((u8 *)arg0 + 0x5C) = 0x8A10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x8A10; *(u16 *)((u8 *)arg0 + 0x52) = 0; - if ((*(s32 *)((u8 *)arg0 + 0xC4) & 4) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC4 & 4) != 0) { func_8012A8B0((u8 *)arg0, (s32)&D_80197EEC); func_8012AD44((s32 *)arg0, 6); } else { - *(s32 *)((u8 *)arg0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; func_8012A8B0((u8 *)arg0, (s32)&D_8019760C); func_8012B23C((s32)arg0); func_8012AD44((s32 *)arg0, 1); @@ -4780,7 +4780,7 @@ void func_8017FF9C(void *a0) { ret = func_8012C51C(&sp, (s32)a0); if (ret != 0) { - *(u16 *)(*(s32 *)(ret + 0x20) + 0x12) = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(ret + 0x20))->unk12 = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); func_8012B2CC(ret); func_8002D4C8(0x83A, 0); } @@ -4798,7 +4798,7 @@ void func_801800D4(s32 a0, s32 a1) { s16 vec[3]; s32 q; - if ((*(u16 *)(a0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) == 0) { q = a1 * 8; vec[0] = *(u16 *)((s32)D_80190E34 + q); vec[1] = *(u16 *)((s32)D_80190E36 + q); @@ -4839,12 +4839,12 @@ void func_8018018C(void *a0) extern s32 func_8012B6D4(s16 *a0, s16 *a1); void func_801801EC(s32 a0, s32 a1) { - if ((*(u16 *)(a1 + 0x5C) & 0x8000) != 0) { - if (*(u16 *)(a1 + 0x5E) != 0x1D) { - *(u16 *)(a1 + 0x5C) = *(u16 *)(a1 + 0x5C) | 1; - *(u16 *)(a1 + 0x60) = 0xa; - *(u16 *)(a1 + 0x62) = func_8012B6D4((s16 *)(a1 + 4), (s16 *)(a0 + 4)); - *(u16 *)(a1 + 0x5E) = 0x1D; + if ((((Unkstruct_800B5CB8 *)a1)->unk5C & 0x8000) != 0) { + if (CAST_WIDTH(u16, a1, 0x5E) != 0x1D) { + ((Unkstruct_800B5CB8 *)a1)->unk5C = ((Unkstruct_800B5CB8 *)a1)->unk5C | 1; + ((Unkstruct_800B5CB8 *)a1)->unk60 = 0xa; + ((Unkstruct_800B5CB8 *)a1)->unk62 = func_8012B6D4((s16 *)(a1 + 4), (s16 *)(a0 + 4)); + CAST_WIDTH(u16, a1, 0x5E) = 0x1D; } } } @@ -4872,7 +4872,7 @@ void func_8018025C(s32 param_1) { u16 v1; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { func_8012CAE4((void *)param_1); return; @@ -4889,19 +4889,19 @@ void func_8018025C(s32 param_1) { D_8019BA60[0] = *(s32 *)D_8019321C; D_8019BA70[0] = D_8019322C; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x24) = (s32)D_8019BA60; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = D_80197764; + CAST_WIDTH(s32, *(s32 *)(param_1 + 0x20), 0x24) = (s32)D_8019BA60; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = D_80197764; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C(param_1); func_8012B2CC(param_1); func_8012B178(param_1, 0x00080000); - v1 = *(u16 *)(param_1 + 0x2) + 1; - *(s32 *)(param_1 + 0x14) = 0xFFE40000; - *(u16 *)(param_1 + 0xFE) = *(u16 *)(param_1 + 0xA) + 0x30; - *(u16 *)(param_1 + 0x2) = v1; + v1 = CAST_SIGN(u16, param_1, 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFE40000; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = ((Unkstruct_800B5CB8 *)param_1)->unkA + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v1; q = func_80132EF4(param_1, 0x23); if (q != 0) { *(u16 *)(q + 0x34) = 0x2001; @@ -4914,7 +4914,7 @@ void func_8018025C(s32 param_1) { extern void (*D_80190E54[])(void); void func_80180394(void *a0) { - D_80190E54[*(u16 *)((s32)a0 + 0x2)](); + D_80190E54[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4939,21 +4939,21 @@ void func_801803D0(void *param_1) *(s32 *)((u8 *)D_8019BA20 + i) = *(s32 *)(D_8019321C + i); *(s32 *)D_8019BA34 = 0x1000000; - *(s32 *)(*(s32 *)((u8 *)param_1 + 0x20) + 0x24) = (s32)(D_8019BA34 - 0x14); - *(u8 *)((u8 *)param_1 + 0xC0) = 1; - *(s32 *)((u8 *)param_1 + 0xB4) = -0x801; - *(s32 *)((u8 *)param_1 + 0xBC) = (s32)&D_80190D88; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x24) = (s32)(D_8019BA34 - 0x14); + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -0x801; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_80190D88; func_80143970((s32)param_1); func_8012B030((u8 *)param_1); - sub = *(s32 *)((u8 *)param_1 + 0x20); + sub = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(sub + 0x1C) = 0x1800; *(s16 *)(sub + 0x1A) = 0x1800; *(s16 *)(sub + 0x18) = 0x1800; - sub = *(s32 *)((u8 *)param_1 + 0x20); + sub = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(sub + 0x2C) = *(u16 *)(sub + 0x2C) | 0x10; - if (*(s16 *)((u8 *)param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_8017F6B0(param_1); } else if ((rand() & 1) != 0) { func_8017F150(param_1); @@ -4992,12 +4992,12 @@ s32 param_1; s16 ret; s32 buf[2]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - if ((*(s32 *)(param_1 + 0x94) == 0xE) && ((*(u16 *)(param_1 + 0x72) & 0x400) == 0)) { - *(u16 *)(param_1 + 0x98) = 0; - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) += 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk94 == 0xE) && ((((Unkstruct_800B5CB8 *)param_1)->unk72 & 0x400) == 0)) { + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } else { ret = func_8017FD38(param_1); if ((ret != 0) && (func_8017FB48((void *)param_1, buf) != 0)) { @@ -5033,16 +5033,16 @@ void func_8018061C(s32 a0) { if (func_8017FA94(a0, 0xFFFB0000, local) == 1) { func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_8019760C); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); } else if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_8019760C); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); - } else if ((*(u16 *)(a0 + 0x86) & 1) == 0) { + } else if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) == 0) { s32 v0 = func_8017FD38(a0); if ((s16)v0 != 0) { func_8017F218((void *)a0, (s16)v0); @@ -5066,28 +5066,28 @@ void func_801806E8(s32 a0) { if (func_8017FA94(a0, 0xFFFB0000, &local) == 1) { func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_8019760C); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); } else { - if (*(s16 *)(a0 + 0x102) != 0) { - (*(s16 *)(a0 + 0x102))--; + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { + (((Unkstruct_800B5CB8 *)a0)->unk102)--; } else { - if (*(s16 *)(a0 + 0xAA) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { func_8017FF9C((void *)a0); } - if (--(*(s16 *)(a0 + 0x104)) != 0) { - *(s16 *)(a0 + 0x102) = 4; + if (--(((Unkstruct_800B5CB8 *)a0)->unk104) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = 4; } else { - *(s16 *)(a0 + 0x104) = 3; - *(s16 *)(a0 + 0x102) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0x20; } } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += *(u16 *)(a0 + 0x106); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += CAST_SIGN(u16, a0, 0x106); if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x80; - *(s16 *)(a0 + 0x106) = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk106 = (rand() & 0x20) - 0x10; } } } @@ -5099,8 +5099,8 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B23C(s32 a0); void func_801807F4(s32 a0) { - if (*(s16 *)(a0 + 0x98) == 0) { - *(s32 *)(a0 + 0x1C) = 8; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_8019760C); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); @@ -5120,17 +5120,17 @@ void func_8018084C(void *arg0) { void *s0 = arg0; s32 buf[2]; - if (*(s16 *)((u8 *)s0 + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk98 != 0) { return; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0 && func_8017FB48(s0, buf) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0 && func_8017FB48(s0, buf) != 0) { func_8012A8B0((u8 *)s0, (s32)&D_801976F4); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_8019776C; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_8019776C; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(s32 *)((u8 *)s0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 8; func_8012A8B0((u8 *)s0, (s32)&D_8019760C); func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 1); @@ -5182,7 +5182,7 @@ extern void func_80180B78(s32 a0); void func_801809C4(void *arg0) { u16 v1; - v1 = *(u16 *)((s32)arg0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (v1 == 0) { goto case0; @@ -5195,16 +5195,16 @@ void func_801809C4(void *arg0) { goto tail; case0: - if (*(s32 *)((s32)arg0 + 0x94) == 0x18) { - func_80180B78(*(s32 *)((s32)arg0 + 0xCC)); - *(u16 *)((s32)arg0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0x18) { + func_80180B78(((Unkstruct_800B5CB8 *)arg0)->unkCC); + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } goto tail; case1: - if (*(s16 *)((s32)arg0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { func_8012A8B0((u8 *)arg0, (s32)&D_8019760C); - *(s32 *)((s32)arg0 + 0x1C) = 0x40; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; func_8012AD44((s32 *)arg0, 9); } @@ -5223,12 +5223,12 @@ void func_80180A78(s32 param_1) { s0 = param_1; func_8012AD80(s0); - ta = *(s16 *)(s0 + 0xA); - if (*(s16 *)(s0 + 0xFE) < ta || ta > 0) { + ta = CAST_SIGN(s16, s0, 0xA); + if (((Unkstruct_800B5CB8 *)s0)->unkFE < ta || ta > 0) { func_8012C218((void *)s0); } else { - (*(s32 *)(s0 + 0x1C))++; - if ((*(s32 *)(s0 + 0x1C) & 3) == 0) { + (((Unkstruct_800B5CB8 *)s0)->unk1C)++; + if ((((Unkstruct_800B5CB8 *)s0)->unk1C & 3) == 0) { s32 p = func_80132EF4(s0, 0x22); if (p != 0) { *(u16 *)(p + 0x34) = 0x1000; @@ -5270,7 +5270,7 @@ void func_80180B78(s32 arg0) vel[1] = 0; vel[0] = 0; vel[2] = 0xFFF20000; - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)(arg0 + 0x64) + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x20) + 0x12), &m); func_800484EC((s32)&m, (s32)&vel[0], arg0 + 0x10); func_8002D4C8(0xB3F, 0); func_8012AD44((s32 *)arg0, 3); @@ -5283,9 +5283,9 @@ extern void func_8012E014(void *a0); extern void func_80180FB8(s32 a0, s32 a1); void func_80180C40(void *a0) { - D_80190E6C[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { - if (*(u8 *)((s32)a0 + 0x74) != 0) { + D_80190E6C[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { func_8012E014(a0); func_80180FB8((s32)a0, (s32)&D_80190E5C); } @@ -5426,7 +5426,7 @@ void func_80180FB8(s32 arg0, s32 arg1) { s16 t1; s16 a3; - if (*(u16 *)&D_80126B58 == 0x1A) { + if (((Unkstruct_80126B58 *)&D_80126B58)->unk0 == 0x1A) { return; } w5e = D_80126B5E; @@ -5650,9 +5650,9 @@ void func_80181454(s32 a0) { s32 ret; result = ((s32 (*)(s32))func_8012CBF4)(a0); - field_a = *(s16 *)(a0 + 0xA); + field_a = CAST_SIGN(s16, a0, 0xA); if (field_a >= 0x81) { - d0 = *(s32 *)(a0 + 0xD0); + d0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (d0 != 0) { func_801439C0((u8 *)d0); } @@ -5707,20 +5707,20 @@ void func_80181518(s32 param_1) { s32 o; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, void *))func_8001C214)(iVar1, &(*(u8 *)&D_801983FC)); - if ((*(u16 *)(param_1 + 0x70) & 0x1000) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x1000) == 0) { func_8002D4C8(0x43A, 0); } else { func_8002D4C8(0x6D6, 0); } func_8012A828(param_1, &D_801981D4); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 100; + CAST_ALIAS(s16, param_1, 2) = 1; + CAST_ALIAS(s32, param_1, 0x1C) = 100; *(s32 *)&in.lo = D_80126B60; in.hi -= 0x20; @@ -5729,22 +5729,22 @@ void func_80181518(s32 param_1) { func_8012B77C(out, param_1 + 4, &in); o = out[0]; - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; switch (t) { case 0: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; break; case 1: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; case 3: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = (s16)(o >> 16); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = (s16)(o >> 16); break; case 2: break; } - if (*(u16 *)(param_1 + 0x70) & 0x1000) { - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) << 1; + if (CAST_SIGN(u16, param_1, 0x70) & 0x1000) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C << 1; } func_8012B2CC(param_1); ((void (*)(s32, s32))func_8012C588)(0xBC, param_1); @@ -5755,7 +5755,7 @@ void func_80181518(s32 param_1) { extern void (*D_80198270[])(void); void func_80181690(void *a0) { - D_80198270[*(u16 *)((s32)a0 + 0x2)](); + D_80198270[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5763,7 +5763,7 @@ void func_80181690(void *a0) { extern void (*D_80198284[])(void); void func_801816CC(void *a0) { - D_80198284[*(u16 *)((s32)a0 + 0x2)](); + D_80198284[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5787,15 +5787,15 @@ void func_80181708(s32 param_1) { func_8012B14C(s0, (s32)&D_8019825C); if (((s32 (*)(s32))func_8012CBF4)(s0) != 0) { - func_80146A6C(6, (void *)s0, *(s16 *)(s0 + 0x6), *(s16 *)(s0 + 0xA), - *(s16 *)(s0 + 0xE), 0, 0); + func_80146A6C(6, (void *)s0, CAST_SIGN(s16, s0, 0x6), CAST_SIGN(s16, s0, 0xA), + CAST_SIGN(s16, s0, 0xE), 0, 0); v = func_80132EF4(s0, 0x22); if (v != 0) { - *(s16 *)(v + 0x34) = 0x2000; + ((Unkstruct_800B5CB8 *)v)->unk34 = 0x2000; } } else { if (func_8012D5E4(s0, (s32)&D_80198268, (s32)&D_800D3918, 0x19) == 0 && - (*(s16 *)(s0 + 0x70) == 2 || D_80126D50 == 0) && + (((Unkstruct_800B5CB8 *)s0)->unk70 == 2 || D_80126D50 == 0) && func_8012BEE8(s0) == 0) { return; } @@ -5825,8 +5825,8 @@ void func_801817E8(int param_1) short c; if (*(unsigned short *)(param_1 + 0x34) == 0) { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); ((void (*)(void))func_8012B2CC)(); func_8012B23C(param_1); ((void (*)(int, void *))func_8012B14C)(param_1, &D_80198278); @@ -5834,19 +5834,19 @@ void func_801817E8(int param_1) in.b = 0; in.c = 0x10; ((void (*)(int, void *, void *))func_8012F214)(param_1, &in, &out); - *(short *)(param_1 + 6) = out.a; - *(short *)(param_1 + 0xa) = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; c = out.c; - *(int *)(param_1 + 0x1c) = 0x5a; - *(short *)(param_1 + 0x34) = 1; - *(short *)(param_1 + 0xe) = c; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = c; } - *(short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(short *)(*(int *)(param_1 + 0x20) + 0x10) - 0x80; - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(param_1 + 0x20) + 0x12) + 4; - *(short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(short *)(*(int *)(param_1 + 0x20) + 0x14) + 5; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk10 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) - 0x80; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 4; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + 5; func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { ((void (*)(int))func_8012C218)(param_1); @@ -5884,7 +5884,7 @@ void func_80181904(int param_1) extern void (*D_80198864[])(void); void func_80181960(void *a0) { - D_80198864[*(u16 *)((s32)a0 + 0x2)](); + D_80198864[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5917,7 +5917,7 @@ void func_8018199C(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801985BC[idx]; @@ -5925,21 +5925,21 @@ void func_8018199C(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_80182048); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_801824B8); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -6149,7 +6149,7 @@ s32 func_80181DF0(void) { extern void (*D_8019888C[])(void); void func_80181E54(void *a0) { - D_8019888C[*(u16 *)((s32)a0 + 0x2)](); + D_8019888C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6171,7 +6171,7 @@ void func_80181E90(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -6199,23 +6199,23 @@ void func_80181F18(void *a0) { extern u8 D_80198E44[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_80198D3C); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_80198E44); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -6237,14 +6237,14 @@ void func_80181FD8(void *a0) { extern u8 D_80198F4C[]; extern u8 D_80198D2C[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_80198F4C); } else { func_8012A828((s32)a0, D_80198D2C); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } diff --git a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c index 826291ee39..3a866c4afa 100644 --- a/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c +++ b/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c @@ -2610,34 +2610,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801B3BB4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801B3BA8+0xC == &D_801B3BB4; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2648,9 +2648,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2659,11 +2659,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801B3BB4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801B3BA8 + 0xC)) < 0x101) { @@ -3841,22 +3841,22 @@ void func_8017CECC(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_801880D4) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_8019A9B4); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_8019A9B4); func_8012A828(a0, (void *)&D_80188110[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801B37E0; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801B37E0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3865,7 +3865,7 @@ void func_8017CECC(s32 a0) { } p = &D_801B3810; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801B3812 = 0x80; @@ -3880,11 +3880,11 @@ void func_8017CECC(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801B380E = 0xFF; @@ -3901,7 +3901,7 @@ void func_8017CECC(s32 a0) { i = 5; tbl2 = D_801B3890; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3910,14 +3910,14 @@ void func_8017CECC(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -4150,7 +4150,7 @@ void func_8017D618(s32 a0) { extern void (*D_801881BC[])(void); void func_8017D798(void *a0) { - D_801881BC[*(u16 *)((s32)a0 + 0x2)](); + D_801881BC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4218,9 +4218,9 @@ void func_8017D994(s32 a0) { s32 *s0_ptr; u16 sp[8]; - s0_ptr = *(s32 **)(a0 + 0xDC); + s0_ptr = CAST_SIGN(s32 *, a0, 0xDC); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { return; } @@ -4228,18 +4228,18 @@ void func_8017D994(s32 a0) { func_8001C214(v0, s0_ptr[1]); func_8012A828(a0, (void *)s0_ptr[2]); - *(s16 *)(a0 + 0x5C) = 0; - *(s32 *)(a0 + 0x58) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = 0; - sp[0] = *(u16 *)(a0 + 0x6); - sp[1] = *(u16 *)(a0 + 0xA); - sp[2] = *(u16 *)(a0 + 0xE); + sp[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; func_800D20C0(&sp[0], &sp[4], 0); func_800D23D0(&sp[4]); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = sp[5] + 0x800; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = sp[5] + 0x800; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -4309,7 +4309,7 @@ void func_8017DBB4(void *a0) { extern void (*D_80188214[])(void); void func_8017DBF0(void *a0) { - D_80188214[*(u16 *)((s32)a0 + 0x2)](); + D_80188214[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4475,7 +4475,7 @@ void func_8017DF10(int param_1) extern void (*D_80188228[])(void); void func_8017E21C(void *a0) { - D_80188228[*(u16 *)((s32)a0 + 0x2)](); + D_80188228[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4534,7 +4534,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_8018823C[])(void); void func_8017E4BC(void *a0) { - D_8018823C[*(u16 *)((s32)a0 + 0x2)](); + D_8018823C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4962,7 +4962,7 @@ void func_8017EFF4(s32 a0) func_80147324(0x451); func_801511E0(s0); func_80154274((s32 *)s0, (s32)&D_8018835C); - *(u8 *)(s0 + 0xDE) = 0x5A; + ((Unkstruct_80126B58 *)s0)->unkDE = 0x5A; func_80147324(0x7EB); a2 = 0; @@ -5000,8 +5000,8 @@ void func_8017F0E0(s32 a0) { s32 s0 = a0; ((void (*)(s32))func_80019064)((s32)&(*(s32 *)D_80062C04)); - func_8014BC44(s0, *(s16 *)(s0 + 0xF2)); - *(u8 *)(s0 + 0xA8) = 0x20; + func_8014BC44(s0, ((Unkstruct_80126B58 *)s0)->unkF2); + ((Unkstruct_80126B58 *)s0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(s0); } @@ -5010,7 +5010,7 @@ void func_8017F0E0(s32 a0) extern void (*D_801883B0[])(void); void func_8017F130(void *a0) { - D_801883B0[*(u16 *)((s32)a0 + 0x2)](); + D_801883B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5024,7 +5024,7 @@ void func_8017F16C(s32 a0) { s32 pad[12]; a1 = func_800D21C4(a0, (s32)&D_80188384, 0x2B); - *(s32 *)(a0 + 0x20) = a1; + ((Unkstruct_80126B58 *)a0)->unk20 = a1; if (a1 != 0) { *(s16 *)(a1 + 0x28) = 0x224; @@ -5039,12 +5039,12 @@ void func_8017F16C(s32 a0) { func_8017F5C4((s32 *)a0); func_8017F5E0((s32 *)a0); - *(s32 *)(a0 + 0x2C) = 0; - *(s32 *)(a0 + 0x30) = 0; + ((Unkstruct_80126B58 *)a0)->unk2C = 0; + ((Unkstruct_80126B58 *)a0)->unk30 = 0; func_80146E90((s32 *)a0, 0x5A); - *(u16 *)(a0 + 0x02) += 1; + ((Unkstruct_80126B58 *)a0)->unk2 += 1; } else { ((void (*)(s32))func_80146C3C)(a0); } @@ -5071,25 +5071,25 @@ void func_8017F228(s32 param_1) { s32 iVar3; void *puVar2; - iVar3 = *(s32 *)(param_1 + 0x20); + iVar3 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8017F5E0((s32 *)param_1); - if (*(s32 *)(param_1 + 0x30) == 0) { - puVar2 = D_801883C0[*(s32 *)(param_1 + 0x2c)]; - if (D_801883C0[*(s32 *)(param_1 + 0x2c)] == 0) { - *(s32 *)(param_1 + 0x30) = 0x20; - *(s32 *)(param_1 + 0x2c) = 0; + if (((Unkstruct_80126B58 *)param_1)->unk30 == 0) { + puVar2 = D_801883C0[((Unkstruct_80126B58 *)param_1)->unk2C]; + if (D_801883C0[((Unkstruct_80126B58 *)param_1)->unk2C] == 0) { + ((Unkstruct_80126B58 *)param_1)->unk30 = 0x20; + ((Unkstruct_80126B58 *)param_1)->unk2C = 0; puVar2 = D_801883C0[0]; } func_800183E0((s32)puVar2); - *(s32 *)(param_1 + 0x2c) = *(s32 *)(param_1 + 0x2c) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2C = ((Unkstruct_80126B58 *)param_1)->unk2C + 1; } else { - s32 iVar0 = *(s32 *)(param_1 + 0x30) - 1; - *(s32 *)(param_1 + 0x30) = iVar0; - if ((iVar0 == 0) && (*(s32 *)(param_1 + 0x1c) != 0)) { + s32 iVar0 = ((Unkstruct_80126B58 *)param_1)->unk30 - 1; + ((Unkstruct_80126B58 *)param_1)->unk30 = iVar0; + if ((iVar0 == 0) && (((Unkstruct_80126B58 *)param_1)->unk1C != 0)) { func_80147324(0x7EC); } } - if (*(s32 *)(param_1 + 0x1c) == 1) { + if (((Unkstruct_80126B58 *)param_1)->unk1C == 1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 0, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 1, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 2, 0); @@ -5110,7 +5110,7 @@ void func_8017F228(s32 param_1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 5, 1); func_8017FBEC(D_801883A8); func_80147324(0x7F4); - *(u32 *)(iVar3 + 4) = *(u32 *)(iVar3 + 4) | 0x80000000; + CAST_WIDTH(u32, iVar3, 4) = CAST_WIDTH(u32, iVar3, 4) | 0x80000000; } iVar1 = func_80146E98(param_1); if ((iVar1 != 0) && (iVar1 = func_8017FBFC((void *)D_801883A8), iVar1 != 0)) { @@ -5121,9 +5121,9 @@ void func_8017F228(s32 param_1) { void func_8017F5C4(s32 *a0) { - *(s32 *)((s32)a0 + 0x10) = *(s32 *)((s32)a0 + 0x4); - *(s32 *)((s32)a0 + 0x14) = *(s32 *)((s32)a0 + 0x8); - *(s32 *)((s32)a0 + 0x18) = *(s32 *)((s32)a0 + 0xC); + ((Unkstruct_80126B58 *)a0)->unk10 = CAST_WIDTH(s32, (s32)a0, 0x4); + ((Unkstruct_80126B58 *)a0)->unk14 = CAST_WIDTH(s32, (s32)a0, 0x8); + ((Unkstruct_80126B58 *)a0)->unk18 = CAST_WIDTH(s32, (s32)a0, 0xC); } @@ -5149,7 +5149,7 @@ void func_8017F5E0(s32 *a0) extern void (*D_801883E8[])(void); void func_8017F620(void *a0) { - D_801883E8[*(u16 *)((s32)a0 + 0x2)](); + D_801883E8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5208,9 +5208,9 @@ void func_8017F65C(s32 param_1) { s32 i; u16 sc; - obj = *(s32 *)(param_1 + 0x34); + obj = ((Unkstruct_80126B58 *)param_1)->unk34; p = ((s32 (*)(void))func_801465C0)(); - *(s32 *)(param_1 + 0x20) = p; + ((Unkstruct_80126B58 *)param_1)->unk20 = p; if (p != 0) { func_8001CF00(p); @@ -5218,13 +5218,13 @@ void func_8017F65C(s32 param_1) { func_80015978(obj + 4, (s32 *)buf); func_80015954((s32)buf, param_1 + 4); - sc = D_80188434[*(s32 *)(param_1 + 0x30)]; + sc = D_80188434[((Unkstruct_80126B58 *)param_1)->unk30]; *(u16 *)(p + 0x18) = *(u16 *)(p + 0x1a) = *(u16 *)(p + 0x1c) = sc; vel = D_80188424; - rot = D_801883F4[*(s32 *)(param_1 + 0x2c)]; + rot = D_801883F4[((Unkstruct_80126B58 *)param_1)->unk2C]; - if (*(s32 *)(param_1 + 0x30) != 0) { + if (((Unkstruct_80126B58 *)param_1)->unk30 != 0) { /* LEVER: the compound `+=` is load-bearing. Spelled out as * `rot.vx = rot.vx - 0x200 + ((rand() & 0x3f) << 4);` gcc-2.7.2 folds * the -0x200 onto the JITTER term (addiu $v0 after the sll) instead of @@ -5242,15 +5242,15 @@ void func_8017F65C(s32 param_1) { func_80049CAC((s32)&rot, (s32)&m); func_800484EC((s32)&m, (s32)&vel, (s32)&vel); - *(s32 *)(param_1 + 0x10) = vel.vx; - *(s32 *)(param_1 + 0x14) = vel.vy; - *(s32 *)(param_1 + 0x18) = vel.vz; + ((Unkstruct_80126B58 *)param_1)->unk10 = vel.vx; + ((Unkstruct_80126B58 *)param_1)->unk14 = vel.vy; + ((Unkstruct_80126B58 *)param_1)->unk18 = vel.vz; q = (s16 *)(param_1 + 0x38); i = 0; *(s32 *)(param_1 + 0x4c) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x50) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x54) = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk50 = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk54 = ((rand() & 0x1f) - 0x10) * 11; do { i++; @@ -5260,7 +5260,7 @@ void func_8017F65C(s32 param_1) { } while (i < 3); func_80146E90((s32 *)param_1, 2); - *(s16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } else { ((void (*)(s32))func_80146C3C)(param_1); } @@ -5276,11 +5276,11 @@ void func_8017F930(s32 *a0) { func_8017F9F4(); ((void (*)(void *))func_8017FB78)(a0); if (func_80146E98((s32)a0) != 0) { - *(s32 *)(a0 + 4) >>= 2; - *(s32 *)(a0 + 5) >>= 2; - *(s32 *)(a0 + 6) >>= 2; + CAST_WIDTH(s32, a0, 4) >>= 2; + CAST_MISALIGNED(s32, a0, 5) >>= 2; + CAST_MISALIGNED(s32, a0, 6) >>= 2; func_80146E90(a0, 0x40); - *(u16 *)((s32)a0 + 2) = *(u16 *)((s32)a0 + 2) + 1; + ((Unkstruct_80126B58 *)a0)->unk2 = ((Unkstruct_80126B58 *)a0)->unk2 + 1; } } @@ -5369,7 +5369,7 @@ void func_8017FB78(s32 *a0) { void func_8017FBEC(s32 *a0) { - *(s32 *)((s32)a0 + 0x0) = 0x80404080; + CAST_WIDTH(s32, (s32)a0, 0x0) = 0x80404080; } @@ -5406,7 +5406,7 @@ joinpt: cmp = result + 0; - *(u8 *)((s32)a0 + 2) = result; + CAST_WIDTH(u8, (s32)a0, 2) = result; if (cmp < (s32)*(u8 *)a0) { *(u8 *)a0 = result; } @@ -5426,7 +5426,7 @@ ret1: extern void (*D_801886F8[])(void); void func_8017FC88(void *a0) { - D_801886F8[*(u16 *)((s32)a0 + 0x2)](); + D_801886F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5561,7 +5561,7 @@ void func_8017FE48(void *a0) { extern void (*D_80188734[])(void); void func_8017FF34(void *a0) { - D_80188734[*(u16 *)((s32)a0 + 0x2)](); + D_80188734[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5609,22 +5609,22 @@ extern s32 func_80146E98(s32 a0); void func_80180054(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -5664,7 +5664,7 @@ void func_801800C0(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -5699,9 +5699,9 @@ void func_801801AC(s32 a0) { s32 *v1; func_8012A8B0((u8 *)a0, (s32)&D_8019972C); - v1 = *(s32 **)(a0 + 0x20); - *(s32 *)(a0 + 0x94) = 0xF; - *(s32 *)((s32)v1 + 0x20) = D_801997A4; + v1 = CAST_SIGN(s32 *, a0, 0x20); + CAST_ALIAS(s32, a0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)v1)->unk20 = D_801997A4; func_8012B23C(a0); func_8012AD44((s32 *)a0, 2); } @@ -5713,11 +5713,11 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_801804CC(void *a0); void func_80180208(void *a0) { - if ((*(u16 *)((u8 *)a0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) != 0) { func_801804CC(a0); } else { func_8012A8B0((u8 *)a0, (s32)&D_80199824); - *(s32 *)((u8 *)a0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x60; func_8012AD44((s32 *)a0, 3); } } @@ -5729,11 +5729,11 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_80180274(s32 param_1, u16 param_2) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = D_8019979C; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = param_2; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = D_8019979C; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = param_2; func_8012B23C(param_1); - *(s32 *)(param_1 + 0x1C) = 8; - *(s16 *)(param_1 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; func_8012AD44((s32 *)param_1, 4); } @@ -5761,41 +5761,41 @@ void func_801802D0(s32 param_1) { s32 out; s32 flag = 0; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; func_8012A8B0((u8 *)param_1, (s32)&D_8019A00C); func_8012B2CC(param_1); func_8012B178(param_1, 0xFFF80000); - *(s32 *)(param_1 + 0x14) = 0xFFF40000; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFF40000; } func_80181130(param_1, 0); break; case 1: flag = ((s32 (*)(s32))func_8012CBF4)(param_1); - if (*(s16 *)(param_1 + 0xA) > 0) { + if (CAST_SIGN(s16, param_1, 0xA) > 0) { func_8012C218((void *)param_1); return; } if (func_80180C74(param_1) != 0) { - *(s32 *)(param_1 + 0x10) = 0; - *(s32 *)(param_1 + 0x18) = 0; - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x38); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0x40); + CAST_WIDTH(s32, param_1, 0x10) = 0; + CAST_WIDTH(s32, param_1, 0x18) = 0; + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x38); + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(param_1 + 0x40); } if (flag & 0x2000) { func_8012B23C(param_1); func_8012B2CC(param_1); func_8012B178(param_1, 0xFFF20000); func_8012A8B0((u8 *)param_1, (s32)&D_80199AF4); - *(s32 *)(param_1 + 0x1C) = 0x30; - *(u16 *)(param_1 + 0x34) += 1; - pos.a = *(s16 *)(param_1 + 0x6); - pos.b = *(s16 *)(param_1 + 0xA); - pos.c = *(s16 *)(param_1 + 0xE); - func_8002D59C(0x7E5, 0, *(u16 *)(param_1 + 0x36)); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; + pos.a = CAST_SIGN(s16, param_1, 0x6); + pos.b = CAST_SIGN(s16, param_1, 0xA); + pos.c = CAST_SIGN(s16, param_1, 0xE); + func_8002D59C(0x7E5, 0, ((Unkstruct_800B5CB8 *)param_1)->unk36); } func_80181130(param_1, 0); break; @@ -5810,7 +5810,7 @@ void func_801802D0(s32 param_1) { func_80181130(param_1, 2); if (flag != 0) { func_80180530((void *)param_1); - func_8002D59C(4, 0x7E5, *(u16 *)(param_1 + 0x36)); + func_8002D59C(4, 0x7E5, ((Unkstruct_800B5CB8 *)param_1)->unk36); } break; } @@ -5822,9 +5822,9 @@ void func_801804CC(void *arg0) { extern M2C_UNK D_80199904; func_8012A8B0((u8 *)arg0, (s32)&D_80199904); - *(u16 *)((u8 *)s0 + 0x102) = 8; - *(u16 *)((u8 *)s0 + 0x104) = 3; - *(u16 *)((u8 *)s0 + 0x106) = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk102 = 8; + ((Unkstruct_800B5CB8 *)s0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)s0)->unk106 = (rand() & 0x20) - 0x10; s0[7] = 0x60; func_8012AD44(s0, 5); } @@ -5864,19 +5864,19 @@ extern s32 D_801997A4; void func_801805D0(void *arg0) { void *s0 = arg0; - void *a1 = *(void **)((u8 *)s0 + 0x20); + void *a1 = CAST_SIGN(void *, (u8 *)s0, 0x20); - if (*(s16 *)((u8 *)s0 + 0xFE) == *(s16 *)((u8 *)a1 + 0x12)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE == *(s16 *)((u8 *)a1 + 0x12)) { s32 buf[2]; if (func_80180BA4(s0, buf) == 1) { - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) != 0) { goto L_C0; } if ((rand() & 1) == 0) { goto L_FC; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0) { goto L_D0; } L_C0: @@ -5884,23 +5884,23 @@ L_C0: goto tail; L_D0: func_8012A8B0((u8 *)s0, (s32)&D_80199824); - *(s32 *)((u8 *)s0 + 0x1C) = 0x60; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x60; func_8012AD44((s32 *)s0, 3); goto tail; L_FC: func_8012A8B0((u8 *)s0, (s32)&D_8019972C); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801997A4; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_801997A4; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(u16 *)((u8 *)s0 + 0xFE) += 0x200; + CAST_SIGN(u16, (u8 *)s0, 0xFE) += 0x200; } tail: - *(u16 *)((u8 *)s0 + 0x100) += 1; + CAST_SIGN(u16, (u8 *)s0, 0x100) += 1; } else { - func_80180F74(*(s16 *)((u8 *)s0 + 0xFE), (u16 *)((u8 *)a1 + 0x12), 0x20); + func_80180F74(((Unkstruct_800B5CB8 *)s0)->unkFE, (u16 *)((u8 *)a1 + 0x12), 0x20); } } @@ -5943,24 +5943,24 @@ s32 func_80180750(s32 a0) vec[1] = 0x1800; vec[0] = 0x1800; - RotMatrixY(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), &m); func_80020F34((s32)&m, (s32)vec); func_8004914C(&m); - func_800491AC((void *)(*(s32 *)(a0 + 0x20) + 0x34)); + func_800491AC((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34)); rv[1] = -0x200; rv[0] = 0; rv[2] = -0x48; RotTransSV(rv, rv, out); - *(u16 *)((u8 *)s1 + 0x6) = *(u16 *)&rv[0]; - *(u16 *)((u8 *)s1 + 0xA) = *(u16 *)&rv[1]; - *(u16 *)((u8 *)s1 + 0xE) = *(u16 *)&rv[2]; + CAST_ALIAS(u16, (u8 *)s1, 0x6) = *(u16 *)&rv[0]; + CAST_ALIAS(u16, (u8 *)s1, 0xA) = *(u16 *)&rv[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = *(u16 *)&rv[2]; - *(s32 *)(a0 + 0xCC) = (s32)s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)s1; } return (s32)s1; } @@ -6023,14 +6023,14 @@ extern void func_80131B14(); void func_801809B0(void *a0) { s32 s0 = (s32)a0; func_80131B14(); - *(u8 *)((s32)a0 + 0xC2) = 0; - *(u8 *)((s32)a0 + 0xC3) = 0; - *(u16 *)((s32)a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC3 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012B23C(s0); func_8012B2CC(s0); func_8012B178(s0, 0x00080000); func_8012A8B0((u8 *)s0, (s32)&D_80199BA4); - if (*(s16 *)((s32)a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80130088((void *)a0); func_8002AC00(0x13); } @@ -6093,7 +6093,7 @@ s32 func_80180AF0(s32 a0, s32 a1, s32 *a2) { if (cba4 == 0x2000) goto zeroret; fail: func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_80199644); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); @@ -6113,18 +6113,18 @@ s32 func_80180BA4(void *a0, void *a1) { s32 arr[3]; s32 cba4; - arr[0] = *(s32 *)((u8 *)a0 + 0x10); - arr[1] = *(s32 *)((u8 *)a0 + 0x14); - arr[2] = *(s32 *)((u8 *)a0 + 0x18); + arr[0] = CAST_WIDTH(s32, (u8 *)a0, 0x10); + arr[1] = ((Unkstruct_800B5CB8 *)a0)->unk14; + arr[2] = CAST_WIDTH(s32, (u8 *)a0, 0x18); func_8012B2CC((s32)a0); func_8012B178((s32)a0, 0xFFF10000); cba4 = ((s32 (*)(s32))func_8012CBA4)((s32)a0); - *(s32 *)((u8 *)a0 + 0x10) = arr[0]; - *(s32 *)((u8 *)a0 + 0x14) = arr[1]; - *(s32 *)((u8 *)a0 + 0x18) = arr[2]; + CAST_WIDTH(s32, (u8 *)a0, 0x10) = arr[0]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = arr[1]; + CAST_WIDTH(s32, (u8 *)a0, 0x18) = arr[2]; *(s32 *)a1 = func_80180C74((s32)a0); func_8012ADE4((u8 *)a0); - *(u16 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x2C) &= 0xFFFE; + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)a0 + 0x20))->unk2C &= 0xFFFE; if (*(s32 *)a1 != 0) { goto ret0; } @@ -6154,7 +6154,7 @@ s32 func_80180C74(s32 arg0) { if ((s32) pe == arg0) { goto next; } - state = *(u16 *) pe; + state = ((Unkstruct_800B5CB8 *)pe)->unk0; if (state == 0x1FC) { goto do_1fc; } @@ -6164,17 +6164,17 @@ s32 func_80180C74(s32 arg0) { goto next; do_1fc: - buf[0] = *(u16 *) (pe + 6); + buf[0] = ((Unkstruct_800B5CB8 *)pe)->unk6; buf[1] = 0; - buf[2] = *(u16 *) (pe + 0xE); + buf[2] = ((Unkstruct_800B5CB8 *)pe)->unkE; if (((s32 (*)(s32, u16 *)) func_8012BE98)(arg0, buf) < 0x900) { return (s32) pe; } goto next; do_239: - f20 = *(s32 *) (pe + 0x20); - { d = *(s16 *) (pe + 6) - *(s16 *) (arg0 + 6); } + f20 = ((Unkstruct_800B5CB8 *)pe)->unk20; + { d = CAST_SIGN(s16, pe, 6) - *(s16 *) (arg0 + 6); } t = (*(s16 *) (f20 + 0x18) * 9) >> 9; if (d < 0) { d = -d; @@ -6183,7 +6183,7 @@ s32 func_80180C74(s32 arg0) { if (thresh < d) { goto next; } - d = *(s16 *) (pe + 0xE) - *(s16 *) (arg0 + 0xE); + d = CAST_SIGN(s16, pe, 0xE) - *(s16 *) (arg0 + 0xE); if (d < 0) { d = -d; } @@ -6213,7 +6213,7 @@ s32 func_80180D94(s32 a0) { return 0; } ret = func_8012B864(a0); - val = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + val = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; result = ret; t = ret - (val & 0xFFF); if (t < 0) { @@ -6262,13 +6262,13 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B23C(s32 a0); void func_80180EEC(void *arg0) { - *(u16 *)((u8 *)arg0 + 0x5C) = 0x8A10; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x8A10; *(u16 *)((u8 *)arg0 + 0x52) = 0; - if ((*(s32 *)((u8 *)arg0 + 0xC4) & 4) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC4 & 4) != 0) { func_8012A8B0((u8 *)arg0, (s32)&D_80199F24); func_8012AD44((s32 *)arg0, 6); } else { - *(s32 *)((u8 *)arg0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; func_8012A8B0((u8 *)arg0, (s32)&D_80199644); func_8012B23C((s32)arg0); func_8012AD44((s32 *)arg0, 1); @@ -6366,7 +6366,7 @@ void func_80180FF8(void *param_1) { ret = func_8012C51C(pkt, param_1); if (ret != 0) { p = *(s32 *)(param_1 + 0x20); - q = *(s32 *)(ret + 0x20); + q = ((Unkstruct_800B5CB8 *)ret)->unk20; *(u16 *)(q + 0x12) = *(u16 *)(p + 0x12); func_8012B2CC(ret); func_8002D4C8(0x83A, 0); @@ -6383,7 +6383,7 @@ s32 func_8012DEB8(s32 a0, s32 a1, s32 a2); void func_80181130(s32 a0, s32 a1) { u16 buf[4]; - if ((*(u16 *)(a0 + 0x86) & 1) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) == 0) { s32 off = a1 << 3; buf[0] = *(u16 *)(D_80192E6C + off); buf[1] = *(u16 *)(D_80192E6E + off); @@ -6425,12 +6425,12 @@ void func_801811E8(u8 *a0) extern s32 func_8012B6D4(s16 *a0, s16 *a1); void func_80181248(s32 a0, s32 a1) { - if ((*(u16 *)(a1 + 0x5C) & 0x8000) != 0) { - if (*(u16 *)(a1 + 0x5E) != 0x1D) { - *(u16 *)(a1 + 0x5C) = *(u16 *)(a1 + 0x5C) | 1; - *(u16 *)(a1 + 0x60) = 0xa; - *(u16 *)(a1 + 0x62) = func_8012B6D4((s16 *)(a1 + 4), (s16 *)(a0 + 4)); - *(u16 *)(a1 + 0x5E) = 0x1D; + if ((((Unkstruct_800B5CB8 *)a1)->unk5C & 0x8000) != 0) { + if (CAST_WIDTH(u16, a1, 0x5E) != 0x1D) { + ((Unkstruct_800B5CB8 *)a1)->unk5C = ((Unkstruct_800B5CB8 *)a1)->unk5C | 1; + ((Unkstruct_800B5CB8 *)a1)->unk60 = 0xa; + ((Unkstruct_800B5CB8 *)a1)->unk62 = func_8012B6D4((s16 *)(a1 + 4), (s16 *)(a0 + 4)); + CAST_WIDTH(u16, a1, 0x5E) = 0x1D; } } } @@ -6458,7 +6458,7 @@ void func_801812B8(s32 param_1) { u16 v1; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { func_8012CAE4((void *)param_1); return; @@ -6475,19 +6475,19 @@ void func_801812B8(s32 param_1) { D_801B3AA0[0] = *(s32 *)D_80195254; D_801B3AB0[0] = D_80195264; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x24) = (s32)D_801B3AA0; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = D_8019979C; + CAST_WIDTH(s32, *(s32 *)(param_1 + 0x20), 0x24) = (s32)D_801B3AA0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = D_8019979C; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B23C(param_1); func_8012B2CC(param_1); func_8012B178(param_1, 0x00080000); - v1 = *(u16 *)(param_1 + 0x2) + 1; - *(s32 *)(param_1 + 0x14) = 0xFFE40000; - *(u16 *)(param_1 + 0xFE) = *(u16 *)(param_1 + 0xA) + 0x30; - *(u16 *)(param_1 + 0x2) = v1; + v1 = CAST_SIGN(u16, param_1, 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFE40000; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = ((Unkstruct_800B5CB8 *)param_1)->unkA + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v1; q = func_80132EF4(param_1, 0x23); if (q != 0) { *(u16 *)(q + 0x34) = 0x2001; @@ -6500,7 +6500,7 @@ void func_801812B8(s32 param_1) { extern void (*D_80192E8C[])(void); void func_801813F0(void *a0) { - D_80192E8C[*(u16 *)((s32)a0 + 0x2)](); + D_80192E8C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6530,25 +6530,25 @@ void func_8018142C(void *arg0) { } *(s32 *)((u8 *)D_801B3A60 + 0x14) = 0x1000000; - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s32 *)(p20 + 0x24) = (s32)D_801B3A60; - *(u8 *)((u8 *)arg0 + 0xC0) = 1; - *(s32 *)((u8 *)arg0 + 0xB4) = -0x801; - *(s32 *)((u8 *)arg0 + 0xBC) = (s32)D_80192DC0; + ((Unkstruct_800B5CB8 *)arg0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkB4 = -0x801; + ((Unkstruct_800B5CB8 *)arg0)->unkBC = (s32)D_80192DC0; func_80143970((s32)arg0); func_8012B030((u8 *)arg0); - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(s16 *)(p20 + 0x1c) = 0x1800; *(s16 *)(p20 + 0x1a) = 0x1800; *(s16 *)(p20 + 0x18) = 0x1800; - p20 = *(s32 *)((u8 *)arg0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(p20 + 0x2c) |= 0x10; - if (*(s16 *)((u8 *)arg0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 != 0) { func_8018070C(arg0); } else if (rand() & 1) { ((void (*)(void *))func_801801AC)(arg0); @@ -6589,13 +6589,13 @@ void func_80181594(s32 arg0) { s16 t; u16 state; - state = *(u16 *)(arg0 + 0x34); + state = ((Unkstruct_800B5CB8 *)arg0)->unk34; switch (state) { case 0: - if (*(s32 *)(arg0 + 0x94) == 0xE && (*(u16 *)(arg0 + 0x72) & 0x400) == 0) { - *(u16 *)(arg0 + 0x98) = 0; - *(s32 *)(arg0 + 0x1C) = 8; - *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0xE && (((Unkstruct_800B5CB8 *)arg0)->unk72 & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; } else { t = func_80180D94(arg0); if (t != 0 && func_80180BA4(arg0, buf) != 0) { @@ -6631,16 +6631,16 @@ void func_80181678(s32 a0) { v0 = func_80180AF0(a0, 0xFFFB0000, &local); if (v0 == 1) { func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_80199644); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); } else if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_80199644); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); - } else if ((*(u16 *)(a0 + 0x86) & 1) == 0) { + } else if ((((Unkstruct_800B5CB8 *)a0)->unk86 & 1) == 0) { s16 r = (s16)func_80180D94(a0); if (r != 0) { ((void (*)(s32, s16))func_80180274)(a0, r); @@ -6664,28 +6664,28 @@ void func_80181744(s32 a0) { if (func_80180AF0(a0, 0xFFFB0000, &local) == 1) { func_8012ADE4((u8 *)a0); - *(s32 *)(a0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; func_8012A8B0((u8 *)a0, (s32)&D_80199644); func_8012B23C(a0); func_8012AD44((s32 *)a0, 1); } else { - if (*(s16 *)(a0 + 0x102) != 0) { - (*(s16 *)(a0 + 0x102))--; + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { + (((Unkstruct_800B5CB8 *)a0)->unk102)--; } else { - if (*(s16 *)(a0 + 0xAA) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkAA == 0) { func_80180FF8((void *)a0); } - if (--(*(s16 *)(a0 + 0x104)) != 0) { - *(s16 *)(a0 + 0x102) = 4; + if (--(((Unkstruct_800B5CB8 *)a0)->unk104) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk102 = 4; } else { - *(s16 *)(a0 + 0x104) = 3; - *(s16 *)(a0 + 0x102) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0x20; } } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += *(u16 *)(a0 + 0x106); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += CAST_SIGN(u16, a0, 0x106); if (func_8012BEE8(a0) != 0) { - *(s32 *)(a0 + 0x1C) = 0x80; - *(s16 *)(a0 + 0x106) = (rand() & 0x20) - 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk106 = (rand() & 0x20) - 0x10; } } } @@ -6697,8 +6697,8 @@ extern void func_8012AD44(s32 *a0, s16 a1); extern void func_8012B23C(s32 a0); void func_80181850(s32 arg0) { - if (*(s16 *)(arg0 + 0x98) == 0) { - *(s32 *)(arg0 + 0x1C) = 8; + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 8; func_8012A8B0((u8 *)arg0, (s32)&D_80199644); func_8012B23C(arg0); func_8012AD44((s32 *)arg0, 1); @@ -6718,17 +6718,17 @@ void func_801818A8(void *arg0) { void *s0 = arg0; s32 buf[2]; - if (*(s16 *)((u8 *)s0 + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk98 != 0) { return; } - if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0 && func_80180BA4(s0, buf) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 1) == 0 && func_80180BA4(s0, buf) != 0) { func_8012A8B0((u8 *)s0, (s32)&D_8019972C); - *(s32 *)((u8 *)s0 + 0x94) = 0xF; - *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801997A4; + CAST_ALIAS(s32, (u8 *)s0, 0x94) = 0xF; + ((Unkstruct_800B5CB8 *)*(u8 **)((u8 *)s0 + 0x20))->unk20 = D_801997A4; func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 2); } else { - *(s32 *)((u8 *)s0 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 8; func_8012A8B0((u8 *)s0, (s32)&D_80199644); func_8012B23C((s32)s0); func_8012AD44((s32 *)s0, 1); @@ -6746,15 +6746,15 @@ extern void func_80181130(s32, s32); void func_80181968(s32 arg0) { s32 state; - if (*(s16 *)(arg0 + 0xAA) == 0) { - switch (*(u16 *)(arg0 + 0x34)) { + if (((Unkstruct_800B5CB8 *)arg0)->unkAA == 0) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: if (func_8012BEE8(arg0) != 0) { if (func_80180750(arg0) != 0) { - *(s32 *)(arg0 + 0x1C) = 0x30; - *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; } else { - *(s32 *)(arg0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; } } break; @@ -6778,7 +6778,7 @@ extern void func_80181BD4(s32 a0); void func_80181A20(void *arg0) { u16 v1; - v1 = *(u16 *)((s32)arg0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (v1 == 0) { goto case0; @@ -6791,16 +6791,16 @@ void func_80181A20(void *arg0) { goto tail; case0: - if (*(s32 *)((s32)arg0 + 0x94) == 0x18) { - func_80181BD4(*(s32 *)((s32)arg0 + 0xCC)); - *(u16 *)((s32)arg0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk94 == 0x18) { + func_80181BD4(((Unkstruct_800B5CB8 *)arg0)->unkCC); + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } goto tail; case1: - if (*(s16 *)((s32)arg0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { func_8012A8B0((u8 *)arg0, (s32)&D_80199644); - *(s32 *)((s32)arg0 + 0x1C) = 0x40; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x40; func_8012AD44((s32 *)arg0, 9); } @@ -6819,12 +6819,12 @@ void func_80181AD4(s32 param_1) { s0 = param_1; func_8012AD80(s0); - ta = *(s16 *)(s0 + 0xA); - if (*(s16 *)(s0 + 0xFE) < ta || ta > 0) { + ta = CAST_SIGN(s16, s0, 0xA); + if (((Unkstruct_800B5CB8 *)s0)->unkFE < ta || ta > 0) { func_8012C218((void *)s0); } else { - (*(s32 *)(s0 + 0x1C))++; - if ((*(s32 *)(s0 + 0x1C) & 3) == 0) { + (((Unkstruct_800B5CB8 *)s0)->unk1C)++; + if ((((Unkstruct_800B5CB8 *)s0)->unk1C & 3) == 0) { s32 p = func_80132EF4(s0, 0x22); if (p != 0) { *(u16 *)(p + 0x34) = 0x1000; @@ -6866,7 +6866,7 @@ void func_80181BD4(s32 a0) vel[1] = 0; vel[0] = 0; vel[2] = 0xFFF20000; - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12), &m); func_800484EC((s32)&m, (s32)&vel[0], a0 + 0x10); func_8002D4C8(0xB3F, 0); func_8012AD44((s32 *)a0, 3); @@ -6879,9 +6879,9 @@ extern void func_8012E014(void *a0); extern void func_80182014(s32 a0, s32 a1); void func_80181C9C(void *a0) { - D_80192EA4[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { - if (*(u8 *)((s32)a0 + 0x74) != 0) { + D_80192EA4[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { func_8012E014(a0); func_80182014((s32)a0, (s32)&D_80192E94); } @@ -7022,7 +7022,7 @@ void func_80182014(s32 arg0, s32 arg1) { s16 t1; s16 a3; - if (*(u16 *)&D_80126B58 == 0x1A) { + if (((Unkstruct_80126B58 *)&D_80126B58)->unk0 == 0x1A) { return; } w5e = D_80126B5E; @@ -7154,23 +7154,23 @@ void func_80182320(void *a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C810(v0, (s32)&D_801B3BDC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(u32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x8040; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 2; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_80192E94 | 0x20000000; - if (*(s16 *)((s32)a0 + 0x70) != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_80192E94 | 0x20000000; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { func_80181BA0(a0); return; } func_80181B6C(a0); - *(s32 *)((s32)a0 + 0xD0) = func_80143994((s32)a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = func_80143994((s32)a0, 0x3000); } @@ -7193,8 +7193,8 @@ void func_801823F4(s32 param_1) { s32 v; flag = ((s32 (*)(s32))func_8012CBF4)(param_1); - h = *(s16 *)(param_1 + 0xA); - d0 = *(s32 *)(param_1 + 0xD0); + h = CAST_SIGN(s16, param_1, 0xA); + d0 = ((Unkstruct_800B5CB8 *)param_1)->unkD0; if (h >= 0x81) { if (d0 != 0) { ((void (*)(u8 *))func_801439C0)((u8 *)d0); @@ -7202,7 +7202,7 @@ void func_801823F4(s32 param_1) { func_8012C218((void *)param_1); return; } - q = *(s32 *)(d0 + 0xCC); + q = ((Unkstruct_800B5CB8 *)d0)->unkCC; v = (h << 4) + 0x5800; *(u16 *)(q + 0x18) = v; *(u16 *)(q + 0x1A) = v; @@ -7294,20 +7294,20 @@ void func_80182574(s32 param_1) { s32 o; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, void *))func_8001C214)(iVar1, &(*(u8 *)&D_8019A2FC)); - if ((*(u16 *)(param_1 + 0x70) & 0x1000) == 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0x1000) == 0) { func_8002D4C8(0x43A, 0); } else { func_8002D4C8(0x6D6, 0); } func_8012A828(param_1, &D_8019A0D4); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 100; + CAST_ALIAS(s16, param_1, 2) = 1; + CAST_ALIAS(s32, param_1, 0x1C) = 100; *(s32 *)&in.lo = D_80126B60; in.hi -= 0x20; @@ -7316,22 +7316,22 @@ void func_80182574(s32 param_1) { func_8012B77C(out, param_1 + 4, &in); o = out[0]; - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; switch (t) { case 0: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; break; case 1: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = (s16)o; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = (s16)o; case 3: - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = (s16)(o >> 16); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = (s16)(o >> 16); break; case 2: break; } - if (*(u16 *)(param_1 + 0x70) & 0x1000) { - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) << 1; + if (CAST_SIGN(u16, param_1, 0x70) & 0x1000) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C << 1; } func_8012B2CC(param_1); ((void (*)(s32, s32))func_8012C588)(0xBC, param_1); @@ -7342,7 +7342,7 @@ void func_80182574(s32 param_1) { extern void (*D_8019A170[])(void); void func_801826EC(void *a0) { - D_8019A170[*(u16 *)((s32)a0 + 0x2)](); + D_8019A170[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7350,7 +7350,7 @@ void func_801826EC(void *a0) { extern void (*D_8019A184[])(void); void func_80182728(void *a0) { - D_8019A184[*(u16 *)((s32)a0 + 0x2)](); + D_8019A184[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7374,15 +7374,15 @@ void func_80182764(s32 param_1) { func_8012B14C(s0, (s32)&D_8019A15C); if (((s32 (*)(s32))func_8012CBF4)(s0) != 0) { - func_80146A6C(6, (void *)s0, *(s16 *)(s0 + 0x6), *(s16 *)(s0 + 0xA), - *(s16 *)(s0 + 0xE), 0, 0); + func_80146A6C(6, (void *)s0, CAST_SIGN(s16, s0, 0x6), CAST_SIGN(s16, s0, 0xA), + CAST_SIGN(s16, s0, 0xE), 0, 0); v = func_80132EF4(s0, 0x22); if (v != 0) { - *(s16 *)(v + 0x34) = 0x2000; + ((Unkstruct_800B5CB8 *)v)->unk34 = 0x2000; } } else { if (func_8012D5E4(s0, (s32)&D_8019A168, (s32)&D_800D3918, 0x19) == 0 && - (*(s16 *)(s0 + 0x70) == 2 || D_80126D50 == 0) && + (((Unkstruct_800B5CB8 *)s0)->unk70 == 2 || D_80126D50 == 0) && func_8012BEE8(s0) == 0) { return; } @@ -7412,8 +7412,8 @@ void func_80182844(int param_1) short c; if (*(unsigned short *)(param_1 + 0x34) == 0) { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); ((void (*)(void))func_8012B2CC)(); func_8012B23C(param_1); ((void (*)(int, void *))func_8012B14C)(param_1, &D_8019A178); @@ -7421,19 +7421,19 @@ void func_80182844(int param_1) in.b = 0; in.c = 0x10; ((void (*)(int, void *, void *))func_8012F214)(param_1, &in, &out); - *(short *)(param_1 + 6) = out.a; - *(short *)(param_1 + 0xa) = out.b; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)param_1)->unkA = out.b; c = out.c; - *(int *)(param_1 + 0x1c) = 0x5a; - *(short *)(param_1 + 0x34) = 1; - *(short *)(param_1 + 0xe) = c; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE = c; } - *(short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(short *)(*(int *)(param_1 + 0x20) + 0x10) - 0x80; - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(*(int *)(param_1 + 0x20) + 0x12) + 4; - *(short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(short *)(*(int *)(param_1 + 0x20) + 0x14) + 5; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk10 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) - 0x80; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 4; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + 5; func_8012AD80(param_1); if (func_8012BEE8(param_1) != 0) { ((void (*)(int))func_8012C218)(param_1); @@ -7478,21 +7478,21 @@ s32 func_801829BC(s32 a0, s32 a1) { s32 t; s32 r; - sp10.x = *(u16 *)(a0 + 0x6); - sp10.y = *(u16 *)(a0 + 0xA) - 0x20; - sp10.z = *(u16 *)(a0 + 0xE); - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unkE; + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); r = (s16)a1; sp18.y = sp10.y; sp18.x = sp10.x - ((t * r) >> 12); - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); sp18.z = sp10.z - ((t * r) >> 12); if ((func_80133784(1, &sp10, (s32)&sp18) & 0x8000) == 0) { - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp10.x = *(u16 *)(a0 + 0x6) - ((t * r) >> 12); - sp10.y = *(u16 *)(a0 + 0xA) - 0x10; - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - sp10.z = *(u16 *)(a0 + 0xE) - ((t * r) >> 12); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6 - ((t * r) >> 12); + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x10; + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unkE - ((t * r) >> 12); sp18.x = sp10.x; sp18.y = sp10.y + 0x20; sp18.z = sp10.z; @@ -7500,10 +7500,10 @@ s32 func_801829BC(s32 a0, s32 a1) { return 0; } } - t = func_8004787C(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - *(s16 *)(a0 + 0x6) = sp18.x + ((t * r) >> 12); - t = func_80047948(*(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF); - *(s16 *)(a0 + 0xE) = sp18.z + ((t * r) >> 12); + t = func_8004787C(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.x + ((t * r) >> 12); + t = func_80047948(((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF); + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.z + ((t * r) >> 12); return 1; } @@ -7527,24 +7527,24 @@ void func_80182B9C(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = -(func_8004787C(*(s16 *)(a0 + 0xFC)) << 6); + sp10[2] = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 6); - v0 = (*(u16 *)(a0 + 0xFC) + 0xCC) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0xCC) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801A8380); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B864(a0); - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x12) = (u16)ret; func_8012B1B4(a0, sp10); func_8012CBA4(a0); - ret = func_8004787C(*(s16 *)(a0 + 0xFC)); + ret = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC); { s32 arg0 = a0; s32 arg1 = 0x30; @@ -7554,15 +7554,15 @@ void func_80182B9C(s32 a0) { ret = func_8012BCCC(a0); if (ret <= 0x9000) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; ((void (*)(s32, void *))func_8012A828)(a0, D_801A84D0); *(s16 *)(a0 + 0x52) = 0; } - if (*(s16 *)(a0 + 0xFE) != 0) { - *(s16 *)(a0 + 0x2) = 5; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; ((void (*)(s32, void *))func_8012A828)(a0, D_801A8428); - *(u16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -7584,35 +7584,35 @@ void func_80182CAC(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = func_8004787C(*(s16 *)(a0 + 0xFC)) * 96; + sp10[2] = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) * 96; - v0 = (*(u16 *)(a0 + 0xFC) + 0xCC) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0xCC) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801A8428); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B864(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = (u16)ret; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = (u16)ret; func_8012B1B4(a0, (void *)sp10); func_8012CBA4(a0); - *(s16 *)(a0 + 0x52) = -(func_8004787C(*(s16 *)(a0 + 0xFC)) >> 7); + *(s16 *)(a0 + 0x52) = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) >> 7); if (func_8012BCCC(a0) > 0x8FFF) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32, void *))func_8012A828)(a0, D_801A82F8); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; *(s16 *)(a0 + 0x52) = 0; } if (func_801829BC(a0, -0x30) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32, void *))func_8012A828)(a0, D_801A82F8); - *(s16 *)(a0 + 0xFC) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0xF; *(s16 *)(a0 + 0x52) = 0; } } @@ -7638,15 +7638,15 @@ void func_80182E34(void *a0) { extern u8 D_801A8898; extern u8 D_801A8A58; - if (*(s32 *)((char *)a0 + 0x90) == (s32)&D_801A8898) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801A8898) { func_8012A828((s32)a0, &D_801A8A58); - *(u16 *)((char *)a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; } else { - *(u16 *)((char *)a0 + 0x98) = 0; - *(u16 *)((char *)a0 + 0x5C) = 0xAA10; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; } - *(u16 *)((char *)a0 + 0x2) = 1; - *(u16 *)((char *)a0 + 0xFC) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0xF; } @@ -7714,7 +7714,7 @@ extern void func_8012C218(void *a0); void func_80182FA8(s32 arg0) { s32 s0 = arg0; do { ((void (*)(s32))func_80165988)(arg0); } while (0); - if (*(s32 *)(s0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk78 != 0) { func_8002A04C(s0); } func_8012C218((void *)s0); @@ -7735,17 +7735,17 @@ void func_80182FF0(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_80143970(a0); func_8012A828(a0, (void *)&D_801A82F8); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - if (*(s16 *)(a0 + 0x70) == 3) { - *(s32 *)(a0 + 0xBC) = (s32)&D_8019DBA8; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 3) { + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019DBA8; } else { - *(s32 *)(a0 + 0xBC) = (s32)&D_8019DB40; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_8019DB40; } } @@ -7756,15 +7756,15 @@ extern u8 D_801A82F8[]; extern u8 D_801A8380[]; void func_8018308C(s32 a0) { - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, D_801A82F8); } - if (*(s16 *)(a0 + 0xFE) != 0) { - *(s16 *)(a0 + 0xFE) = 0; - } else if (*(s16 *)(a0 + 0xFC) != 0) { - *(s16 *)(a0 + 0xFC) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + } else if (((Unkstruct_800B5CB8 *)a0)->unkFC != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFC -= 1; } else if (func_8012BCCC(a0) <= 0x40000) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, D_801A8380); } } @@ -7794,19 +7794,19 @@ s32 arg0; s0 = arg0; - if (*(s16 *)(s0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk98 == 0) { ((void (*)(s32, s32))func_8012A828)(s0, (s32)D_801A8380); - *(s16 *)(s0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; } - if (*(s32 *)(s0 + 0x94) == 15) { + if (((Unkstruct_800B5CB8 *)s0)->unk94 == 15) { func_8012B1B4(s0, (void *)&D_8019DC18); a0 = s0; a1 = (s32)&D_8019DC34; __asm__ __volatile__("" :: "r"(a1)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus7) v0 = 0xFFF60000; s0 = 4; - *(s32 *)(a0 + 0x14) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = v0; v0 = (s32)&D_8019DAFC; v1 = 0x40000000; v0 = v0 | v1; @@ -7814,8 +7814,8 @@ s32 arg0; v0 = v0 | v1; a2 = (s32)&D_8019DC3C; a3 = 0x20; - *(s16 *)(a0 + 2) = s0; - *(s32 *)(a0 + 0x58) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = v0; if (func_8012D5E4(a0, a1, a2, a3) == 1) { D_80126B96 = s0; } @@ -7834,16 +7834,16 @@ void func_801831FC(s32 a0) { extern u8 D_801A8428[]; extern u8 D_8019DAEC[]; - if (*(s32 *)(a0 + 0x94) < 0x3D) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 < 0x3D) { if (func_8012D5E4(a0, (s32)D_8019DC24, (s32)D_8019DC2C, 0x20) == 1) { D_80126B96 = 4; } } if (func_8012CBCC(a0) & 0x6000) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012A828(a0, D_801A8428); - *(s16 *)(a0 + 0xFC) = 0; - *(s32 *)(a0 + 0x58) = ((s32)D_8019DAEC | 0x40000000) | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)D_8019DAEC | 0x40000000) | 0x20000000; } } @@ -7880,7 +7880,7 @@ void func_80183318(s32 arg0) LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern void D_801B0750; - if ((M2C_FIELD(arg0, u8 *, 0xC3) & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801B0750)) { + if ((((Unkstruct_800B5CB8 *)arg0)->unkC3 & 1) && (M2C_FIELD(arg0, void **, 0x90) != &D_801B0750)) { func_8012A828(arg0, &D_801B0750); } } @@ -7922,9 +7922,9 @@ extern void func_8012A828(s32 a0, void *a1); extern u8 D_801B0BD8; void func_801833EC(s32 a0) { - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012A828(a0, &D_801B0BD8); - *(s32 *)(a0 + 0x1C) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x14; } @@ -7934,12 +7934,12 @@ extern void func_8012A828(s32 a0, void *a1); void func_8018342C(s32 a0) { extern void D_801B0750; - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828(a0, &D_801B0750); - *(u16 *)(a0 + 0x5C) = 0xAA10; - *(s16 *)(a0 + 0x5E) = 0; - *(s16 *)(a0 + 0xDC) = 0; - *(s32 *)(a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, a0, 0x5E) = 0; + CAST_WIDTH(s16, a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } @@ -7960,15 +7960,15 @@ s32 func_8018347C(s32 param_1, s32 param_2, s32 param_3) { func_8018352C(param_1); return 1; } - sVar1 = *(s16 *)(param_1 + 0xdc) + 1; - *(s16 *)(param_1 + 0xdc) = sVar1; + sVar1 = CAST_WIDTH(s16, param_1, 0xdc) + 1; + CAST_WIDTH(s16, param_1, 0xdc) = sVar1; if (sVar1 < 0x79) { return 0; } if (param_3 >= iVar2) { return 0; } - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012A828(param_1, &D_801B0B30); return 1; } @@ -7982,11 +7982,11 @@ extern void func_80142414(s32 a0, s16 a1); extern u8 D_801B08F0; void func_8018352C(s32 param_1) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; func_8012A828(param_1, &D_801B08F0); - *(s32 *)(param_1 + 0x1c) = 0x1e; - if (*(s16 *)(param_1 + 0xfc) == 0) { - *(s16 *)(param_1 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 1; ((void (*)(s32, s32))func_80142414)(param_1, -0x96); } } @@ -8012,13 +8012,13 @@ extern void func_8012A828(s32 a0, void *a1); void func_8018359C(void *a0) { extern void D_801B0750; - if (*(s32 *)((char *)a0 + 0x1C) == 9) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 9) { extern u8 D_801A8C54[]; extern u8 D_801A8C64[]; func_8012D5E4((s32)a0, (s32)D_801A8C54, (s32)(D_801A8C54 + 8), 0x10); - if (*(s16 *)((char *)a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { u16 out[4]; struct { s16 f0, f2, f4, f6, f8, fA, fC, fE; s32 f10; } s; s32 buf[8]; @@ -8033,11 +8033,11 @@ void func_8018359C(void *a0) { s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) + 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 + 0x100; func_8012C51C(&s, (s32)a0); - s.fE = *(u16 *)(*(s32 *)((char *)a0 + 0x20) + 0x12) - 0x100; + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0x20))->unk12 - 0x100; func_8012C51C(&s, (s32)a0); } @@ -8046,9 +8046,9 @@ void func_8018359C(void *a0) { s16 out2[2]; s32 v; - in3[0] = *(u16 *)((char *)a0 + 0x6); - in3[1] = *(u16 *)((char *)a0 + 0xA); - in3[2] = *(u16 *)((char *)a0 + 0xE); + in3[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + in3[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + in3[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; ((u32 (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); @@ -8069,12 +8069,12 @@ void func_8018359C(void *a0) { } if (func_8012BEE8((s32)a0) != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012A828((s32)a0, &D_801B0750); - *(u16 *)((char *)a0 + 0x5C) = 0xAA10; - *(s16 *)((char *)a0 + 0x5E) = 0; - *(s16 *)((char *)a0 + 0xDC) = 0; - *(s32 *)((char *)a0 + 0x1C) = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xAA10; + CAST_WIDTH(s16, (char *)a0, 0x5E) = 0; + CAST_WIDTH(s16, (char *)a0, 0xDC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; } } @@ -8117,25 +8117,25 @@ void func_80183798(void *a0) { extern u8 D_801A8C34[]; void *s0 = a0; - D_801A8C6C[*(u16 *)((u8 *)s0 + 0x2)](); + D_801A8C6C[CAST_SIGN(u16, (u8 *)s0, 0x2)](); if (func_8012C044((s32)s0)) { - *(s16 *)((u8 *)s0 + 0x100) = 1; - *(s16 *)((u8 *)s0 + 0x76) = 0; - if (*(s16 *)((u8 *)s0 + 0x100) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk76 = 0; + if (((Unkstruct_800B5CB8 *)s0)->unk100 == 0) { func_8002A04C((s32)s0); } - if (*(s16 *)((u8 *)s0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE == 0) { ((void (*)(void *))func_8012C098)(s0); } else { - *(s16 *)((u8 *)s0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 6; func_8012E8A8((u8 *)s0); - *(s16 *)((u8 *)s0 + 0x5C) = 0; - *(u8 *)((u8 *)s0 + 0xC1) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC1 = 0; } } - if (*(s16 *)((u8 *)s0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFE != 0) { u16 *src = D_801A8C14; s32 shift = D_800B99DA & 0xF; u16 *dst = &D_801B3AC0[shift]; @@ -8157,7 +8157,7 @@ void func_80183798(void *a0) { extern void (*D_801A8C90[])(void); void func_801838E4(void *a0) { - D_801A8C90[*(u16 *)((s32)a0 + 0x2)](); + D_801A8C90[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8190,13 +8190,13 @@ void func_801839A8(void *a0) s32 s0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, 0); - v0 = *(s32 *)((s32)a0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v0 + 0x1A) = 0x1800; *(s16 *)(v0 + 0x18) = 0x1800; s0 = ((s32 (*)(void))func_8012C194)(); @@ -8204,16 +8204,16 @@ void func_801839A8(void *a0) func_8012CAE4(a0); return; } - *(s32 *)((s32)a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CB6C((u8 *)s0, (s32)&D_801A8C98, 0x2E0, 0x100); - *(u8 *)(s0 + 0x27) = 0x37; - *(s16 *)(s0 + 0x10) = 0x400; - *(s32 *)(s0 + 0x4) |= 0x50000000; - v0 = *(u16 *)((s32)a0 + 0xFC); - *(s16 *)(s0 + 0x1A) = 0x1800; - *(s16 *)(s0 + 0x18) = 0x1800; - *(s16 *)(s0 + 0x14) = v0; - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x37; + ((Unkstruct_800B5CB8 *)s0)->unk10 = 0x400; + CAST_WIDTH(s32, s0, 0x4) |= 0x50000000; + v0 = CAST_SIGN(u16, (s32)a0, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x1800; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x1800; + CAST_WIDTH(s16, s0, 0x14) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80143994((s32)a0, 0x1000); } @@ -8224,11 +8224,11 @@ extern void func_8012B200(u8 *a0); extern void func_8012B178(s32 a0, s32 a1); void func_80183A80(u8 *a0) { - u8 *p = *(u8 **)(a0 + 0x20); - u16 v = *(u16 *)(a0 + 0xFC); - *(s16 *)(a0 + 0x2) = 2; - *(s32 *)(a0 + 0x1C) = 0x50; - *(s16 *)(p + 0x12) = v; + u8 *p = CAST_SIGN(u8 *, a0, 0x20); + u16 v = CAST_SIGN(u16, a0, 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)p)->unk12 = v; func_8012B2CC((s32)a0); func_8012B200(a0); func_8012B178((s32)a0, 0xFFF00000); @@ -8246,11 +8246,11 @@ void func_80183AD8(s32 param_1) { s32 p; - p = *(s32 *)(param_1 + 0xCC); + p = ((Unkstruct_800B5CB8 *)param_1)->unkCC; *(u16 *)(p + 0x14) = *(u16 *)(p + 0x14) + 0x80; if (((s32 (*)(s32))func_8012CBF4)(param_1) == 0) { if (func_8012D5E4(param_1, (s32)&D_801A8CB0, (s32)((u8 *)&D_801A8CB0 + 8), 0x10) == 0 && - --*(s32 *)(param_1 + 0x1C) != 0) { + --((Unkstruct_800B5CB8 *)param_1)->unk1C != 0) { return; } D_80126B96 = 0x13; @@ -8264,7 +8264,7 @@ extern void func_80016714(void *a0, s32 a1); extern void func_8012C218(void *a0); void func_80183B64(s32 param_1) { s32 iVar1; - iVar1 = *(s32 *)(param_1 + 0xcc); + iVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; ((void (*)(s32 *, s32))func_80016714)((s32 *)iVar1, 0x38); ((void (*)(s32))func_8012C218)(param_1); } @@ -8276,7 +8276,7 @@ extern void func_801833EC(s32 a0); void func_80183B9C(s32 a0) { s32 iVar1; - if (*(s16 *)(a0 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { iVar1 = func_8012BCCC(a0); if (iVar1 <= 0x90000) { func_801833EC(a0); @@ -8304,7 +8304,7 @@ extern s32 func_8012BEE8(s32 a0); void func_80183C40(s32 param_1) { if (((s32 (*)(void))func_8012BEE8)() == 1) { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8018347C(param_1, 0x40000, 0xC4000); } else { func_8018347C(param_1, 0x9000, 0x24000); @@ -8327,7 +8327,7 @@ void func_80183CA4(int param_1) unsigned short *p; v = func_8012B8E4(param_1, 4); - p = (unsigned short *)(*(int *)(param_1 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p = (unsigned short)(*p + v); if (func_8012BEE8(param_1) != 0) { ((void (*)(s32))func_80183588)(param_1); @@ -8357,24 +8357,24 @@ void func_80183D04(s32 s0) { return; } - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s32 *)(s0 + 0xBC) = (s32)&D_801A8BB4; - *(s32 *)(s0 + 0xC4) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkBC = (s32)&D_801A8BB4; + ((Unkstruct_800B5CB8 *)s0)->unkC4 = 1; - a1v = *(s16 *)(s0 + 0x70); - *(u16 *)(s0 + 0xAE) = 8; + a1v = ((Unkstruct_800B5CB8 *)s0)->unk70; + ((Unkstruct_800B5CB8 *)s0)->unkAE = 8; v0 = func_8012C658(0x23F, a1v, s0); - *(s32 *)(s0 + 0x6C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk6C = v0; if (v0 == 0) { func_8012CAE4((void *)s0); } else { if (func_8012E504(s0, 0x23D) == 0) { - *(u16 *)(s0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 1; } - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, (void *)&D_801B0B30); } } @@ -8422,35 +8422,35 @@ void func_80183E2C(void *a0) { s32 s1; SV3x_80183E2C out; - s1 = *(s32 *)(s0 + 0x64); + s1 = ((Unkstruct_800B5CB8 *)s0)->unk64; - if (*(s16 *)(s0 + 0xFE) == 0x7FFF) { - *(s16 *)(s0 + 0xFE) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)s0)->unkFE == 0x7FFF) { + ((Unkstruct_800B5CB8 *)s0)->unkFE = ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12; } - if (*(s16 *)(s0 + 0xFC) != *(s16 *)(s1 + 0x36)) { + if (((Unkstruct_800B5CB8 *)s0)->unkFC != *(s16 *)(s1 + 0x36)) { func_8012C218((void *)s0); return; } - *(SV4x_80183E2C *)(*(s32 *)(s0 + 0x20) + 0x10) = *(SV4x_80183E2C *)(*(s32 *)(s1 + 0x20) + 0x10); + *(SV4x_80183E2C *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x10) = *(SV4x_80183E2C *)(*(s32 *)(s1 + 0x20) + 0x10); if (*(s32 *)(s1 + 0x90) != (s32)&D_801B0D28) { - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = *(s16 *)(s0 + 0xFE); - *(s32 *)(s0 + 0x4) = *(s32 *)(s1 + 0x4); - *(s32 *)(s0 + 0x8) = *(s32 *)(s1 + 0x8); - *(s32 *)(s0 + 0xC) = *(s32 *)(s1 + 0xC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)s0)->unkFE; + CAST_WIDTH(s32, s0, 0x4) = *(s32 *)(s1 + 0x4); + CAST_WIDTH(s32, s0, 0x8) = *(s32 *)(s1 + 0x8); + CAST_WIDTH(s32, s0, 0xC) = *(s32 *)(s1 + 0xC); } else { func_8012F214(s1, (s32)&D_801A8C88, (s32)&out); - *(s16 *)(s0 + 0x6) = out.a; - *(s16 *)(s0 + 0xA) = out.b; - *(s16 *)(s0 + 0xE) = out.c; + ((Unkstruct_800B5CB8 *)s0)->unk6 = out.a; + ((Unkstruct_800B5CB8 *)s0)->unkA = out.b; + ((Unkstruct_800B5CB8 *)s0)->unkE = out.c; } - *(SV4x_80183E2C *)(*(s32 *)(s0 + 0x20) + 0x18) = *(SV4x_80183E2C *)(*(s32 *)(s1 + 0x20) + 0x18); + *(SV4x_80183E2C *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x18) = *(SV4x_80183E2C *)(*(s32 *)(s1 + 0x20) + 0x18); - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x2C) = *(s16 *)(*(s32 *)(s1 + 0x20) + 0x2C); - *(s32 *)(*(s32 *)(s0 + 0x20) + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk2C = *(s16 *)(*(s32 *)(s1 + 0x20) + 0x2C); + *(s32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x4) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x4); } @@ -8458,7 +8458,7 @@ void func_80183E2C(void *a0) { extern void (*D_801B0DF4[])(void); void func_80183FA0(void *a0) { - D_801B0DF4[*(u16 *)((s32)a0 + 0x2)](); + D_801B0DF4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8484,24 +8484,24 @@ void func_80183FDC(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801B0DA8, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801B0DB4); func_80184554(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -8530,20 +8530,20 @@ void func_801840D8(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -8562,19 +8562,19 @@ void func_801840D8(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_80184554(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -8603,16 +8603,16 @@ void func_80184368(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_80184554(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -8652,7 +8652,7 @@ s32 func_801844FC(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -8671,13 +8671,13 @@ void func_80184554(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -8693,7 +8693,7 @@ extern void func_8012C218(void *a0); void func_801845D0(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c index c5072d2ab3..393d4efd98 100644 --- a/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c +++ b/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c @@ -3069,19 +3069,19 @@ void func_8017CE3C(s32 a0) { s32 v1; s32 a3; - v1 = *(s32 *)(s0 + 0x20); - v0 = (*(u16 *)(s0 + 0xF4) + 0x800) & 0xFFF; + v1 = ((Unkstruct_80126B58 *)s0)->unk20; + v0 = (CAST_SIGN(u16, s0, 0xF4) + 0x800) & 0xFFF; *(s16 *)(v1 + 0x12) = v0; - *(s16 *)(s0 + 0x244) = v0; + ((Unkstruct_80126B58 *)s0)->unk244 = v0; func_80154274((s32 *)s0, (s32)&D_8018B528); - *(s32 *)(s0 + 0x234) = 0; + ((Unkstruct_80126B58 *)s0)->unk234 = 0; func_80154A74(s0, 0x1C); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; a3 = *(s32 *)((s32)&D_8018B4E0 + v0); func_80146DE8((s32 *)s0, 0, 0, a3); - v0 = *(s16 *)(s0 + 0xF2) << 4; + v0 = ((Unkstruct_80126B58 *)s0)->unkF2 << 4; func_801477E8((s32 *)s0, (s32)*(void **)((s32)&D_8018B4E4 + v0)); func_80149020((s32 *)s0); @@ -3121,24 +3121,24 @@ void func_8017CEF4(s32 a0) { s16 s1; s32 ret; - s0 = *(s32 *)(a0 + 0x20); + s0 = ((Unkstruct_80126B58 *)a0)->unk20; func_80149020((s32 *)a0); s1 = *(s16 *)(s0 + 0x12); - *(s16 *)(s0 + 0x12) = *(u16 *)(a0 + 0x244); + *(s16 *)(s0 + 0x12) = ((Unkstruct_80126B58 *)a0)->unk244; func_80147A84(a0); func_801473EC((s32 *)a0); - func_80148038(a0, D_8018B4E8[*(s16 *)(a0 + 0xF2)].next); + func_80148038(a0, D_8018B4E8[((Unkstruct_80126B58 *)a0)->unkF2].next); func_80147460(a0); *(s16 *)(s0 + 0x12) = s1; - if (*(s32 *)(a0 + 0x234) == 0) { - if (*(s32 *)(a0 + 0x34) >= 0) { - if ((*(u16 *)(a0 + 0xB8) & 0x8000) != 0) { - *(u16 *)(a0 + 0xB8) = *(u16 *)(a0 + 0xBA); - *(s32 *)(a0 + 0x234) = *(s32 *)(a0 + 0x234) + 1; + if (((Unkstruct_80126B58 *)a0)->unk234 == 0) { + if (((Unkstruct_80126B58 *)a0)->unk34 >= 0) { + if ((((Unkstruct_80126B58 *)a0)->unkB8 & 0x8000) != 0) { + ((Unkstruct_80126B58 *)a0)->unkB8 = ((Unkstruct_80126B58 *)a0)->unkBA; + ((Unkstruct_80126B58 *)a0)->unk234 = ((Unkstruct_80126B58 *)a0)->unk234 + 1; } } } @@ -3379,22 +3379,22 @@ void func_8017D1E8(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_8018B5AC) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801B1FF8); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B1FF8); ((void (*)(s32, void *))func_8012A828)(a0, (void *)&D_8018B5E8[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801C19B8; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801C19B8; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3403,7 +3403,7 @@ void func_8017D1E8(s32 a0) { } p = &D_801C19E8; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801C19EA = 0x80; @@ -3418,11 +3418,11 @@ void func_8017D1E8(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801C19E6 = 0xFF; @@ -3439,7 +3439,7 @@ void func_8017D1E8(s32 a0) { i = 5; tbl2 = D_801C1A68; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3448,14 +3448,14 @@ void func_8017D1E8(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -3688,7 +3688,7 @@ void func_8017D934(s32 a0) { extern void (*D_8018B694[])(void); void func_8017DAB4(void *a0) { - D_8018B694[*(u16 *)((s32)a0 + 0x2)](); + D_8018B694[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3849,7 +3849,7 @@ void func_8017DED0(void *a0) { extern void (*D_8018B6EC[])(void); void func_8017DF0C(void *a0) { - D_8018B6EC[*(u16 *)((s32)a0 + 0x2)](); + D_8018B6EC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4018,7 +4018,7 @@ void func_8017E22C(int param_1) extern void (*D_8018B700[])(void); void func_8017E538(void *a0) { - D_8018B700[*(u16 *)((s32)a0 + 0x2)](); + D_8018B700[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4077,7 +4077,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_8018B714[])(void); void func_8017E7D8(void *a0) { - D_8018B714[*(u16 *)((s32)a0 + 0x2)](); + D_8018B714[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4463,10 +4463,10 @@ int func_8017F1E0(int param_1) void func_8017F210(void *a0) { extern void func_8012B2CC(s32 a0); extern void (*D_8018B8B4[])(void *); - if (*(u16 *)((s32)a0 + 0x2) != 0) { + if (CAST_SIGN(u16, (s32)a0, 0x2) != 0) { func_8012B2CC((s32)a0); } - D_8018B8B4[*(u16 *)((s32)a0 + 0x2)](a0); + D_8018B8B4[CAST_SIGN(u16, (s32)a0, 0x2)](a0); } @@ -4499,15 +4499,15 @@ void func_8017F290(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(u8 *)(a0 + 0x75) = 2; - *(s16 *)(a0 + 0xAE) = -1; - *(s32 *)(a0 + 0xB4) = 0; - *(s16 *)(a0 + 0x2) = 1; - *(s32 *)(a0 + 0xC4) |= 3; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; ((void (*)(s32, void *))func_8012A828)(a0, D_80187E20); - *(s32 *)(a0 + 0x6C) = func_801788B8(a0, (s32)func_8017F458); - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x1000000; + ((Unkstruct_800B5CB8 *)a0)->unk6C = func_801788B8(a0, (s32)func_8017F458); + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x1000000; } @@ -4581,7 +4581,7 @@ s32 func_8017F4B4(void) { extern void (*D_8018B920[])(void); void func_8017F4BC(void *a0) { - D_8018B920[*(u16 *)((s32)a0 + 0x2)](); + D_8018B920[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4591,10 +4591,10 @@ void func_8017F4F8(s32 a0) { extern s32 func_8017F5E0(s32 a0); s32 s0 = a0; if (func_8012C354(a0, (s32)&D_8018B8D4)) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, (s32)D_80187E20); - *(s32 *)(s0 + 0x6C) = func_801788B8(s0, (s32)func_8017F5E0); + ((Unkstruct_800B5CB8 *)s0)->unk6C = func_801788B8(s0, (s32)func_8017F5E0); } } @@ -4672,7 +4672,7 @@ s32 func_8017F644(s32 param_1) extern void (*D_8018B930[])(void); void func_8017F6D4(void *a0) { - D_8018B930[*(u16 *)((s32)a0 + 0x2)](); + D_8018B930[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4813,7 +4813,7 @@ void func_8017F894(void *a0) { extern void (*D_8018B96C[])(void); void func_8017F980(void *a0) { - D_8018B96C[*(u16 *)((s32)a0 + 0x2)](); + D_8018B96C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4860,22 +4860,22 @@ extern s32 func_80146E98(s32 a0); void func_8017FAA0(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -4915,7 +4915,7 @@ void func_8017FB0C(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -4992,8 +4992,8 @@ void func_8017FCA0(s32 p) ((void (*)(s32))func_801511E0)(p); ((void (*)(s32, s32))func_80154274)(p, (s32)D_80199988); ((void (*)(s32))func_80149020)(p); - *(u8 *)(p + 0xDE) = 0x1E; - *(u8 *)(p + 0xDF) = 0; + ((Unkstruct_80126B58 *)p)->unkDE = 0x1E; + ((Unkstruct_80126B58 *)p)->unkDF = 0; func_8017FEB4(); ((void (*)(s32))func_80172630)(p); ((void (*)(s32))func_80146CA0)(p); @@ -5103,8 +5103,8 @@ void func_8017FD0C(s32 param_1) i++; } while (i < 3); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017FE60(param_1); func_80159B3C((void *)param_1); @@ -5160,8 +5160,8 @@ void func_8017FE60(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5213,7 +5213,7 @@ done: extern void (*D_801999B4[])(void); void func_8017FF1C(void *a0) { - D_801999B4[*(u16 *)((s32)a0 + 0x2)](); + D_801999B4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5384,7 +5384,7 @@ s32 func_80180160(s32 *a0, s32 a1) { extern void (*D_801999EC[])(void); void func_801801C8(void *a0) { - D_801999EC[*(u16 *)((s32)a0 + 0x2)](); + D_801999EC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5393,9 +5393,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_80180204(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -5679,12 +5679,12 @@ extern s32 D_80199AF4[]; extern s32 D_80199B0C; void func_8018093C(s32 *param_1) { - *(s16 *)((u8 *)param_1 + 0x10A) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk10A = 0; func_8012AD44(param_1, 2); - func_80029124(D_80199AB8[*(s16 *)((u8 *)param_1 + 0x108)], 1); + func_80029124(D_80199AB8[CAST_SIGN(s16, (u8 *)param_1, 0x108)], 1); { s32 *ptr = &D_80199B0C; - *ptr = D_80199AF4[*(s16 *)((u8 *)param_1 + 0x108)]; + *ptr = D_80199AF4[CAST_SIGN(s16, (u8 *)param_1, 0x108)]; func_80178B18((s32)param_1, (s32)ptr - 0xC); } } @@ -5704,15 +5704,15 @@ extern u8 D_80199AA0[]; void func_801809B8(void *arg0) { u8 *s2 = D_80199AA0; - void *s1 = *(void **)((s32)arg0 + 0xCC); - register u16 state __asm__("$4") = *(u16 *)((s32)arg0 + 0x34); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus8) + void *s1 = CAST_SIGN(void *, (s32)arg0, 0xCC); + register u16 state __asm__("$4") = ((Unkstruct_800B5CB8 *)arg0)->unk34; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus8) s16 v0; switch (state) { case 0: - if (*(s16 *)((s32)arg0 + 0x10A) != 0) { - *(u16 *)((s32)arg0 + 0x34) = state + 1; - *(s32 *)((s32)arg0 + 0x1C) = 0x30; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk34 = state + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x30; func_8002D4C8(0x7F5, 0); } break; @@ -5726,9 +5726,9 @@ void func_801809B8(void *arg0) { } else { ((void (*)(void *))func_80181998)(arg0); if (func_8012BEE8((s32)arg0) != 0) { - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; func_80180BDC(arg0, 0); - } else if (*(s32 *)((s32)arg0 + 0x1C) == 0x20) { + } else if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0x20) { func_8002D4C8(0x7F6, 0); } } @@ -5779,7 +5779,7 @@ s32 func_80180B8C(s32 arg0) { extern void (*D_80199B40[])(void); void func_80180BA0(void *a0) { - D_80199B40[*(u16 *)((s32)a0 + 0x2)](); + D_80199B40[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5952,18 +5952,18 @@ void func_80180EFC(void *arg0) s32 a0; u16 t; - if (*(s16 *)((s32)arg0 + 0x70) & 0x8000) { - a0 = *(s32 *)((s32)arg0 + 0x64); + if (((Unkstruct_800B5CB8 *)arg0)->unk70 & 0x8000) { + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk64; if (*(u16 *)((s32)a0 + 2) == 3) { func_8012C218(arg0); } else { a0 = *(s32 *)((s32)a0 + 0xCC); if (*(s16 *)((s32)a0 + 0x18) != 0) { - arg0 = (void *)*(s32 *)((s32)arg0 + 0xCC); - *(s16 *)((s32)arg0 + 0x18) = *(s16 *)((s32)a0 + 0x18); - *(s16 *)((s32)arg0 + 0x1A) = *(u16 *)((s32)a0 + 0x1A); + arg0 = (void *)((Unkstruct_800B5CB8 *)arg0)->unkCC; + ((Unkstruct_800B5CB8 *)arg0)->unk18 = *(s16 *)((s32)a0 + 0x18); + ((Unkstruct_800B5CB8 *)arg0)->unk1A = *(u16 *)((s32)a0 + 0x1A); func_80181054(arg0, &D_80199AAC); - *(s16 *)((s32)arg0 + 0x14) -= 4; + CAST_WIDTH(s16, (s32)arg0, 0x14) -= 4; t = *(u16 *)&D_80199AB0; t = t + 1; D_80199AB0 = t; @@ -6410,24 +6410,24 @@ void func_80181E90(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = -(func_8004787C(*(s16 *)(a0 + 0xFC)) << 6); + sp10[2] = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 6); - v0 = (*(u16 *)(a0 + 0xFC) + 0xCC) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0xCC) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801A4400); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B864(a0); - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x12) = (u16)ret; func_8012B1B4(a0, sp10); func_8012CBA4(a0); - ret = func_8004787C(*(s16 *)(a0 + 0xFC)); + ret = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC); { s32 arg0 = a0; s32 arg1 = 0x30; @@ -6437,15 +6437,15 @@ void func_80181E90(s32 a0) { ret = func_8012BCCC(a0); if (ret <= 0x9000) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; ((void (*)(s32, void *))func_8012A828)(a0, D_801A4550); *(s16 *)(a0 + 0x52) = 0; } - if (*(s16 *)(a0 + 0xFE) != 0) { - *(s16 *)(a0 + 0x2) = 5; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; ((void (*)(s32, void *))func_8012A828)(a0, D_801A44A8); - *(u16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } } @@ -6470,35 +6470,35 @@ void func_80181FA0(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = func_8004787C(*(s16 *)(a0 + 0xFC)) * 96; + sp10[2] = func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) * 96; - v0 = (*(u16 *)(a0 + 0xFC) + 0xCC) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0xCC) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801A44A8); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B864(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = (u16)ret; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = (u16)ret; func_8012B1B4(a0, (void *)sp10); func_8012CBA4(a0); - *(s16 *)(a0 + 0x52) = -(func_8004787C(*(s16 *)(a0 + 0xFC)) >> 7); + *(s16 *)(a0 + 0x52) = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) >> 7); if (func_8012BCCC(a0) > 0x8FFF) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32, void *))func_8012A828)(a0, D_801A4378); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; *(s16 *)(a0 + 0x52) = 0; } if (func_80181CB0(a0, -0x30) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32, void *))func_8012A828)(a0, D_801A4378); - *(s16 *)(a0 + 0xFC) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0xF; *(s16 *)(a0 + 0x52) = 0; } } @@ -6607,7 +6607,7 @@ extern void func_80165988(void); void func_8018229C(s32 arg0) { s32 s0 = arg0; do { ((void (*)(s32))func_80165988)(arg0); } while (0); - if (*(s32 *)(s0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk78 != 0) { func_8002A04C(s0); } func_8012C218((void *)s0); @@ -6637,17 +6637,17 @@ void func_801822E4(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_80143970(a0); ((void (*)(s32, void *))func_8012A828)(a0, (void *)&D_801A4378); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - if (*(s16 *)(a0 + 0x70) == 3) { - *(s32 *)(a0 + 0xBC) = (s32)&D_80199C28; + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 3) { + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199C28; } else { - *(s32 *)(a0 + 0xBC) = (s32)&D_80199BC0; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80199BC0; } } @@ -6696,19 +6696,19 @@ s32 arg0; s0 = arg0; - if (*(s16 *)(s0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk98 == 0) { func_8012A828(s0, (s32)D_801A4400); - *(s16 *)(s0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; } - if (*(s32 *)(s0 + 0x94) == 15) { + if (((Unkstruct_800B5CB8 *)s0)->unk94 == 15) { func_8012B1B4(s0, (void *)&D_80199C98); a0 = s0; a1 = (s32)&D_80199CB4; __asm__ __volatile__("" :: "r"(a1)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus8) v0 = 0xFFF60000; s0 = 4; - *(s32 *)(a0 + 0x14) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = v0; v0 = (s32)&D_80199B7C; v1 = 0x40000000; v0 = v0 | v1; @@ -6716,8 +6716,8 @@ s32 arg0; v0 = v0 | v1; a2 = (s32)&D_80199CBC; a3 = 0x20; - *(s16 *)(a0 + 2) = s0; - *(s32 *)(a0 + 0x58) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = s0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = v0; if (func_8012D5E4(a0, a1, a2, a3) == 1) { D_80126B96 = s0; } @@ -6874,20 +6874,20 @@ void func_801828B0(s32 a0) { sp10[0] = 0; sp10[1] = 0; - sp10[2] = -(func_8004787C(*(s16 *)(a0 + 0xFC)) << 7); + sp10[2] = -(func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 7); - v0 = (*(u16 *)(a0 + 0xFC) + 0x80) & 0x7FF; - *(u16 *)(a0 + 0xFC) = v0; - if (*(s16 *)(a0 + 0x98) == 0) { + v0 = (CAST_SIGN(u16, a0, 0xFC) + 0x80) & 0x7FF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801AD540); - *(s16 *)(a0 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; } ret = func_8012B8E4(a0, 8); - p = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (u16)(*p + ret); - p2 = (u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + p2 = (u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); v0 = *p2 & 0xFFF; *p2 = v0; func_8012B1B4(a0, (void *)sp10); @@ -6896,13 +6896,13 @@ void func_801828B0(s32 a0) { if (func_80182728(a0, 0x48) != 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801AD498); - *(s16 *)(a0 + 0xFC) = 1; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; ((void (*)(s32, void *))func_8012A828)(a0, D_801AD648); } } @@ -6961,10 +6961,10 @@ extern void func_80165988(void); void func_80182B10(void *arg0) { void *s0 = arg0; - if ((*(u8 *)((u8 *)s0 + 0x5E) == 0x33) && (*(s16 *)((u8 *)s0 + 0x70) == 3)) { + if ((((Unkstruct_800B5CB8 *)s0)->unk5E == 0x33) && (((Unkstruct_800B5CB8 *)s0)->unk70 == 3)) { func_80165988(); } - if (*(s32 *)((u8 *)s0 + 0x78) != 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk78 != 0) { func_8002A04C((s32)s0); } func_8012C218(s0); @@ -6998,21 +6998,21 @@ void func_80182B7C(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_80143970(a0); func_8012A828(a0, (s32)&D_801AD498); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - v1 = *(s16 *)(a0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (v1) { case 3: - *(s32 *)(a0 + 0xBC) = (s32)D_801A4C64; - *(u16 *)(a0 + 0x76) = 0x280; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A4C64; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 0x280; break; default: - *(s32 *)(a0 + 0xBC) = (s32)D_801A4C24; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A4C24; break; } } @@ -7035,7 +7035,7 @@ s32 a0; unsigned short *p; s16 t; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32, void *))func_8012A828)(a0, D_801AD498); } @@ -7044,20 +7044,20 @@ s32 a0; } v0 = func_8012B8E4(a0, 8); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p + v0); - p = (unsigned short *)(*(int *)(a0 + 0x20) + 0x12); + p = (unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); *p = (unsigned short)(*p & 0xFFF); - t = *(s16 *)(a0 + 0xFC); + t = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (t != 0) { - *(s16 *)(a0 + 0xFC) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t - 1; return; } if (func_8012BCCC(a0) < 0x2401) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; ((void (*)(s32, void *))func_8012A828)(a0, D_801AD648); } else { if (func_8018259C(a0, 0x48) != 0) { @@ -7066,7 +7066,7 @@ s32 a0; if (0x40000 < func_8012BCCC(a0)) { return; } - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; ((void (*)(s32, void *))func_8012A828)(a0, D_801AD540); } } @@ -7099,16 +7099,16 @@ void func_80182D40(s32 a0) { s32 p; s16 v1b; - v1 = *(s32 *)(a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; if ((u32)(v1 - 0xF) < 6) { if (v1 == 0xF) { func_8002D4C8(0x7E4, 0); } if (func_8012DEB8(a0, (s32)&D_801A4CAC, (s32)&D_801A4CB4) == 1) { D_80126B96 = 0x4012; - p = *(s32 *)(a0 + 0x20); + p = CAST_ALIAS(s32, a0, 0x20); D_80126B9A = *(u16 *)(p + 0x12); - v1b = *(s16 *)(a0 + 0x70); + v1b = CAST_ALIAS(s16, a0, 0x70); if (v1b == 2) { goto case_eq2; } @@ -7131,10 +7131,10 @@ void func_80182D40(s32 a0) { } } after_switch: - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { func_8012A828(a0, (s32)&D_801AD498); - *(s16 *)(a0 + 0xFC) = 0x1E; - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012B200((u8 *)a0); } } @@ -7320,7 +7320,7 @@ void func_80183094(s32 a0) { extern void (*D_801ADC68[])(void); void func_801831B4(void *a0) { - D_801ADC68[*(u16 *)((s32)a0 + 0x2)](); + D_801ADC68[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7356,16 +7356,16 @@ void func_8018323C(s32 a0) { extern u8 D_801ADC34[]; if (func_8012C354(a0, (s32)D_801ADC00) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x4012; - *(s32 *)(a0 + 0xC4) = 1; - *(s32 *)(a0 + 0x6C) = func_80143994(a0, 0x4000); + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x4012; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk6C = func_80143994(a0, 0x4000); func_8012A828(a0, (s32)D_801B0434); - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801ADC34; - *(s16 *)(a0 + 0xAE) = -1; - *(u8 *)(a0 + 0x75) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801ADC34; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; } } @@ -7379,10 +7379,10 @@ void func_801832E4(s32 a0) { s32 ret; ret = func_8012B8E4(a0, 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + ret; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + ret; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; if ((u32)(ret + 0x1F) < 0x3F) { - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } } @@ -7393,9 +7393,9 @@ void func_8018334C(s32 a0) { extern u16 D_80126B5E; extern u16 D_80126B66; - if ((u16)(*(u16 *)(a0 + 6) - D_80126B5E + 0x80) < 0x101 && - (u16)(*(u16 *)(a0 + 0xE) - D_80126B66 + 0x80) < 0x101) { - *(u16 *)(a0 + 2) = 4; + if ((u16)(((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E + 0x80) < 0x101 && + (u16)(((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66 + 0x80) < 0x101) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; func_8012B23C(a0); } } @@ -7411,27 +7411,27 @@ void func_801833BC(s32 a0) { for (p = D_801202A0, i = 0; i < 0x60; p += 0x10C, i++) { if (*(u16 *)p == 0x210) { - if ((u16)(*(u16 *)(p + 0x6) - *(u16 *)(a0 + 0x6) + 0x9F) < 0x13F) { - if ((u16)(*(u16 *)(p + 0xE) - *(u16 *)(a0 + 0xE) + 0x9F) < 0x11F) { + if ((u16)(*(u16 *)(p + 0x6) - ((Unkstruct_800B5CB8 *)a0)->unk6 + 0x9F) < 0x13F) { + if ((u16)(*(u16 *)(p + 0xE) - ((Unkstruct_800B5CB8 *)a0)->unkE + 0x9F) < 0x11F) { *(u16 *)(p + 0xFE) = 1; } } } } - if (*(s32 *)(a0 + 0xDC) != 0) { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) - 0x8000; - w = *(u16 *)(a0 + 0xFC) + 0x200; - *(u16 *)(a0 + 0xFC) = w; + if (((Unkstruct_800B5CB8 *)a0)->unkDC != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC - 0x8000; + w = CAST_SIGN(u16, a0, 0xFC) + 0x200; + ((Unkstruct_800B5CB8 *)a0)->unkFC = w; v = func_8004787C((s16)w); if (v < 0) { v = -v; } - *(s16 *)(a0 + 0x52) = -(s16)(v * *(s32 *)(a0 + 0xDC) >> 0x1C); + *(s16 *)(a0 + 0x52) = -(s16)(v * ((Unkstruct_800B5CB8 *)a0)->unkDC >> 0x1C); } - if (*(s16 *)(a0 + 0x98) == 0) { - *(u16 *)(a0 + 0x2) = 6; + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012B200((u8 *)a0); *(s16 *)(a0 + 0x52) = 0; } @@ -7464,22 +7464,22 @@ void func_80183564(s32 a0) extern u8 D_801ADC4C[]; { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, D_801ADC4C); } func_8012CBCC(a0); - if ((s16)(*(u16 *)(a0 + 0x6) - *(u16 *)(a0 + 0x88)) >= -0x10 && - (s16)(*(u16 *)(a0 + 0x6) - *(u16 *)(a0 + 0x88)) <= 0x10 && - (s16)(*(u16 *)(a0 + 0xE) - *(u16 *)(a0 + 0x8C)) >= -0x10 && - (s16)(*(u16 *)(a0 + 0xE) - *(u16 *)(a0 + 0x8C)) <= 0x10) { - *(u16 *)(a0 + 0x2) = 1; + if ((s16)(((Unkstruct_800B5CB8 *)a0)->unk6 - ((Unkstruct_800B5CB8 *)a0)->unk88) >= -0x10 && + (s16)(((Unkstruct_800B5CB8 *)a0)->unk6 - ((Unkstruct_800B5CB8 *)a0)->unk88) <= 0x10 && + (s16)(((Unkstruct_800B5CB8 *)a0)->unkE - ((Unkstruct_800B5CB8 *)a0)->unk8C) >= -0x10 && + (s16)(((Unkstruct_800B5CB8 *)a0)->unkE - ((Unkstruct_800B5CB8 *)a0)->unk8C) <= 0x10) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -7488,7 +7488,7 @@ void func_80183564(s32 a0) extern void (*D_801B0AF4[])(void); void func_80183634(void *a0) { - D_801B0AF4[*(u16 *)((s32)a0 + 0x2)](); + D_801B0AF4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7521,7 +7521,7 @@ void func_80183670(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801B084C[idx]; @@ -7529,21 +7529,21 @@ void func_80183670(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_80183D1C); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { ((void (*)(s32, void *))func_8012A828)((s32)a0, D_80187E20); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -7757,7 +7757,7 @@ s32 func_80183AC4(void) { extern void (*D_801B0B1C[])(void); void func_80183B28(void *a0) { - D_801B0B1C[*(u16 *)((s32)a0 + 0x2)](); + D_801B0B1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7779,7 +7779,7 @@ void func_80183B64(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -7928,41 +7928,41 @@ void func_80183E14(s32 a0) { if (func_8014CB7C() != 0) { if (func_8012BE54(a0) < 0x1000) { lim = 0x40; - if (*(s16 *)(a0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { lim = 0x80; } - d = *(u16 *)(a0 + 0xA) - D_80126B62; + d = ((Unkstruct_800B5CB8 *)a0)->unkA - D_80126B62; if ((d >= 0) && (d <= lim)) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = func_8012B8A4(a0); - *(u16 *)(a0 + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(a0 + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(a0 + 0x100) = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B8A4(a0); + ((Unkstruct_800B5CB8 *)a0)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (rand() & 0xFF) - 0x80; func_8012B2CC(a0); func_8012B1B4(a0, &D_801B1250); *(s16 *)(a0 + 0x16) = -0x18; - *(s32 *)(a0 + 0x1C) = 0x3C; - *(s16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; - if (*(s16 *)(a0 + 0x70) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { ((void (*)(s32, void *))func_8012A828)(a0, &D_801B1268); - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; func_8002D4C8(0xB41, 0); } else { - ((void (*)(s32, void *))func_8001C214)(*(s32 *)(a0 + 0x20), &D_801B1A20); + ((void (*)(s32, void *))func_8001C214)(((Unkstruct_800B5CB8 *)a0)->unk20, &D_801B1A20); i = 0; do { e = func_8012C658(0x244, 3, a0); if (e != 0) { s32 r = rand(); - s32 b = *(u16 *)(*(s32 *)(*(s32 *)(e + 0x64) + 0x20) + 0x12) - 0x200; - *(u16 *)(*(s32 *)(e + 0x20) + 0x12) = b + (r & 0x3FF); - *(u16 *)(e + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(e + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(e + 0x100) = (rand() & 0xFF) - 0x80; + s32 b = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)e)->unk64 + 0x20) + 0x12) - 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(e + 0x20))->unk12 = b + (r & 0x3FF); + ((Unkstruct_800B5CB8 *)e)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)e)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)e)->unk100 = (rand() & 0xFF) - 0x80; func_8012B2CC(e); func_8012B1B4(e, &D_801B1250); *(s16 *)(e + 0x16) = -0x18; - *(s32 *)(e + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)e)->unk1C = 0x3C; func_8002D4C8(0xB42, 0); } i++; @@ -7971,18 +7971,18 @@ void func_80183E14(s32 a0) { } } } else { - if (*(s16 *)(a0 + 0x70) != 0) { - if (*(u8 *)(a0 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { if (func_8012D624(a0, 0x100, 0xA) != 0) { D_80126B96 = 0x4007; } } } else { - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x40; if (func_8012D624(a0, 0x18, 0xA) != 0) { D_80126B96 = 0x4007; } - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x40; } } } @@ -7999,29 +7999,29 @@ void func_801840A8(s32 a0) { s32 p; s32 q; - ((void (*)(s32))D_801B13B0[*(u16 *)(a0 + 0x2)])(a0); + ((void (*)(s32))D_801B13B0[CAST_SIGN(u16, a0, 0x2)])(a0); - if (*(s16 *)(a0 + 0x102) != 0) { - q = *(s32 *)(a0 + 0x20); + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { + q = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(q + 0x18) -= 0x80; - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; if (*(s16 *)(p + 0x18) < 0x100) { func_8012C218((void *)a0); } else { *(u16 *)(p + 0x1A) -= 0x80; - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p + 0x1C) -= 0x80; - *(s16 *)(a0 + 0x102) -= 1; - if (*(s16 *)(a0 + 0x102) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk102 -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { return; } - *(s16 *)(a0 + 0x102) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 3; a0 = func_80143C74(a0, 0); if (a0 != 0) { - *(s16 *)(a0 + 0xA) -= 0x20; + CAST_SIGN(s16, a0, 0xA) -= 0x20; *(s16 *)(a0 + 0x16) = -8; - *(s16 *)(a0 + 0x12) = (rand() & 7) - 4; - *(s16 *)(a0 + 0x1A) = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)a0)->unk1A = (rand() & 7) - 4; } } } @@ -8070,34 +8070,34 @@ void func_80184200(s32 a0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0; - *(s32 *)(a0 + 0xC4) = 3; - *(s32 *)(a0 + 0xBC) = (s32)D_801B1230; - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801B1230; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; func_8012B23C(a0); - v1 = *(s16 *)(a0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70; switch (v1) { case 0: - *(s16 *)(a0 + 0xAE) = -5; - *(u8 *)(a0 + 0x75) = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -5; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0xC; break; case 1: - *(s16 *)(a0 + 0xAE) = -1; - *(u8 *)(a0 + 0x75) = 8; - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801B19A0); - *(u16 *)(a0 + 0x5C) = *(u16 *)(a0 + 0x5C) | 0xC00; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801B19A0); + ((Unkstruct_800B5CB8 *)a0)->unk5C = ((Unkstruct_800B5CB8 *)a0)->unk5C | 0xC00; break; case 2: - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x80000000; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x2) = 3; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; break; case 3: - *(u16 *)(a0 + 0x5C) = 0; - func_8001C214(*(s32 *)(a0 + 0x20), (s32)&D_801B1A20); - *(u16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B1A20); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; break; } } @@ -8116,25 +8116,25 @@ void func_80184338(s32 a0) s0 = a0; v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - *(u16 *)(s0 + 0xFC) = -*(u16 *)(s0 + 0xFC); - *(u16 *)(s0 + 0xFE) = -*(u16 *)(s0 + 0xFE); - *(u16 *)(s0 + 0x100) = -*(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)s0)->unkFC = -CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unkFE = -CAST_SIGN(u16, s0, 0xFE); + ((Unkstruct_800B5CB8 *)s0)->unk100 = -CAST_SIGN(u16, s0, 0x100); if (v0 & 0x8000) { - *(s32 *)(s0 + 0x10) = -*(s32 *)(s0 + 0x10); - *(s32 *)(s0 + 0x18) = -*(s32 *)(s0 + 0x18); + CAST_WIDTH(s32, s0, 0x10) = -CAST_WIDTH(s32, s0, 0x10); + CAST_WIDTH(s32, s0, 0x18) = -CAST_WIDTH(s32, s0, 0x18); } if (v0 & 0x6000) { - *(s32 *)(s0 + 0x14) = -8; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -8; } } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) += CAST_SIGN(u16, s0, 0x100); - if (--*(s32 *)(s0 + 0x1C) < 0x10) { - *(u32 *)(*(s32 *)(s0 + 0x20) + 4) ^= 0x80000000; - if (*(s32 *)(s0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)s0)->unk1C < 0x10) { + *(u32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)s0)->unk1C == 0) { func_8012C218((void *)s0); } } @@ -8181,25 +8181,25 @@ void func_801844F8(s32 param_1) { s32 v0; s32 rem; - D_801B5B30[*(u16 *)(param_1 + 2)](); - if (*(u16 *)(param_1) != 0) { + D_801B5B30[CAST_SIGN(u16, param_1, 2)](); + if (((Unkstruct_800B5CB8 *)param_1)->unk0 != 0) { func_8018552C(param_1); func_801856C0(param_1); func_80185A08(param_1); - v1 = *(s32 *)(param_1 + 0xEC) + 1; - v0 = *(s32 *)(param_1 + 0xF0); + v1 = CAST_WIDTH(s32, param_1, 0xEC) + 1; + v0 = CAST_WIDTH(s32, param_1, 0xF0); rem = v1 % v0; - *(s32 *)(param_1 + 0xEC) = v1; + CAST_WIDTH(s32, param_1, 0xEC) = v1; if (rem == 0 || (rand() & 0xFFF) == 0) { func_80185B70(param_1); - *(s32 *)(param_1 + 0xF0) = rand() % 32 + 0x10; + CAST_WIDTH(s32, param_1, 0xF0) = rand() % 32 + 0x10; } - if (*(s16 *)(param_1 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, param_1, 0xA) >= 0x10) { func_801854FC(param_1); } else { - if (*(s16 *)(param_1 + 0x70) & 0x8000) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) { func_8012C0EC(param_1); } } @@ -8220,17 +8220,17 @@ void func_80184634(s32 a0) { s32 r2; if (func_8012C354(a0, (s32)D_801B598C) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)D_801B5AA8; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801B5AA8; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; func_8012A828(a0, (s32)D_801BE3DC); func_80143994(a0, 0x2000); - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; r1 = rand(); - *(s32 *)(a0 + 0xEC) = r1; + CAST_WIDTH(s32, a0, 0xEC) = r1; r2 = rand(); - *(s32 *)(a0 + 0xF0) = (r2 % 0x20) + 0x10; - *(s32 *)(a0 + 0xF4) = 2; + CAST_WIDTH(s32, a0, 0xF0) = (r2 % 0x20) + 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkF4 = 2; func_8012B2CC(a0); } } @@ -8246,7 +8246,7 @@ void func_801846E4(void *a0) extern s32 D_801BE3DC; ((void (*)(s32, void *))func_8012A828)((s32)a0, ((u8 *)&D_801BE3DC)); - *(s16 *)((s32)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C((s32)a0); func_80185914((s32)a0); } @@ -8262,16 +8262,16 @@ extern s32 D_80126B68; extern s32 D_80126B70; void func_8018472C(s32 a0) { - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } func_8012CBA4(a0); if (func_8012BCCC(a0) > 0x24000) { - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_80185914(a0) != 1 && (D_80126B68 != 0 || D_80126B70 != 0)) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } @@ -8306,56 +8306,56 @@ void func_8018480C(s32 a0) { s32 c; if (func_8012BCCC(a0) <= 0x24000) { - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; return; } - if (*(s32 *)(a0 + 0x14) == 0) { - *(s32 *)(a0 + 0x14) = 0x100000; + if (((Unkstruct_800B5CB8 *)a0)->unk14 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0)) { s32 r; s32 base; s32 v; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; r = rand() % 0x400; - base = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + base = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if (rand() & 1) { v = base + r; } else { v = base - r; } - *(s32 *)(a0 + 0xE4) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = v; } } else { - s32 d = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), - *(s32 *)(a0 + 0xE4), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + d; + s32 d = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)a0)->unkE4, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + d; if (func_8012BEE8(a0)) { - *(s16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5A; } } func_8012B178(a0, 0xFFFC0000); c = ((s32 (*)(s32))func_8012CBA4)(a0); - if ((c & 0x8000) && *(s32 *)(a0 + 0xE8) == 0) { + if ((c & 0x8000) && ((Unkstruct_800B5CB8 *)a0)->unkE8 == 0) { s32 t1; - sp10[0] = *(s32 *)(a0 + 0x10) >> 8; - sp10[2] = *(s32 *)(a0 + 0x18) >> 8; + sp10[0] = CAST_WIDTH(s32, a0, 0x10) >> 8; + sp10[2] = CAST_WIDTH(s32, a0, 0x18) >> 8; t1 = func_8012B70C((s16 *)D_800D3918, &D_801152B0); - *(s32 *)(a0 + 0xE4) = + ((Unkstruct_800B5CB8 *)a0)->unkE4 = (t1 * 2 - func_8012B70C(sp10, (s16 *)D_800D3918)) & 0xFFF; - *(s16 *)(a0 + 0x34) = 1; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s32 *)(a0 + 0xE8) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x10; } else if ((c & 0x2000) == 0) { func_8012ADE4((u8 *)a0); } - if (*(s32 *)(a0 + 0xE8) != 0) { - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkE8 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 - 1; } } @@ -8369,9 +8369,9 @@ extern u8 D_801BE52C[]; void func_801849F0(void *arg0) { func_8012A828((s32)arg0, (s32)&D_801BE52C); - *(s16 *)((char *)arg0 + 0x2) = 6; - *(s16 *)((char *)arg0 + 0x34) = 0; - *(s32 *)((char *)arg0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkD0 = 0; func_8012B200((u8 *)arg0); } @@ -8447,43 +8447,43 @@ void func_80184A38(s32 a0) { s32 *base = &D_80126B58; s32 temp; - if (*(u16 *)(a0 + 0x34) == 0 && D_80126B84 < -0x94000 && - *(s16 *)(a0 + 0x98) != 0 && *(u8 **)(a0 + 0x90) != D_801BE9EC) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0 && D_80126B84 < -0x94000 && + ((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && CAST_SIGN(u8 *, a0, 0x90) != D_801BE9EC) { ((void (*)(s32, void *))func_8012A828)(a0, D_801BE5B4); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } func_80185774(a0); if (((s32 (*)(s32))func_8012CBA4)(a0) & 0x6000) { if (base[4] == 0 && base[6] == 0) { if (func_80185914(a0) == 0) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } - } else if (*(u8 **)(a0 + 0x90) == D_801BE9EC) { - temp = *(s32 *)(a0 + 0xD0); + } else if (CAST_SIGN(u8 *, a0, 0x90) == D_801BE9EC) { + temp = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (temp != 0) { ((void (*)(s32, void *))func_8012A828)(a0, (void *)temp); - *(s32 *)(a0 + 0xD0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = 0; } - } else if (*(s16 *)(a0 + 0x98) == 0) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { ((void (*)(s32))func_8012A8E8)(a0); } } else if (D_8011F730 == 2) { - *(s32 *)(a0 + 0xD0) = *(s32 *)(a0 + 0x90); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = ((Unkstruct_800B5CB8 *)a0)->unk90; ((void (*)(s32, void *))func_8012A828)(a0, D_801BE9EC); } else if (D_8011F730 == 1) { - if (*(s32 *)(a0 + 0xD0) == 0) { - *(s16 *)(a0 + 0x98) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkD0 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } - } else if (*(s16 *)(a0 + 0x98) != 0 && base[13] == 0) { - sp10.x = *(u16 *)(a0 + 0x6); - sp10.y = *(u16 *)(a0 + 0xA); - sp10.z = *(u16 *)(a0 + 0xE); + } else if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0 && base[13] == 0) { + sp10.x = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.y = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.z = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18 = sp10; sp18.y += 0x10; func_80133784(1, &sp10, (s32)&sp18); - *(u16 *)(a0 + 0x6) = sp18.x; - *(u16 *)(a0 + 0xA) = sp18.y; - *(u16 *)(a0 + 0xE) = sp18.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.x; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.y; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.z; } } @@ -8495,8 +8495,8 @@ extern void func_8012B200(u8 *a0); void func_80184C70(s32 a0) { func_8012B200((u8 *)a0); ((void (*)(s32, void *))func_8012A828)(a0, &D_801BE7C4); - *(s16 *)((char *)a0 + 0x2) = 0x8; - *(s16 *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -8525,21 +8525,21 @@ void func_80184CB4(s32 a0) { s32 arg0, arg1; func_80185774(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: g = D_8011F730; if (g == 2) { - *(u16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; ((void (*)(s32, void *))func_8012A828)(a0, D_801BE9EC); return; } else if (g == 3) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; ((void (*)(s32, void *))func_8012A828)(a0, &D_801BE63C); return; } else if (g == 4) { - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; ((void (*)(s32, void *))func_8012A828)(a0, &D_801BE6A4); return; } @@ -8563,13 +8563,13 @@ void func_80184CB4(s32 a0) { } func_8012C658(arg0, arg1, a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, void *))func_8012A828)(a0, &D_801BE88C); } tail_short: if (((s32 (*)(s32))func_8012CBCC)(a0) & 0x2000) { - *(u16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -8581,7 +8581,7 @@ extern u8 D_801BEBAC[]; void func_80184E38(s32 a0) { func_8012B23C(a0); func_8012A828(a0, (s32)&D_801BEBAC); - *(s16 *)(a0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; } @@ -8611,10 +8611,10 @@ void func_80184EB0(s32 a0) { func_8012B200((u8 *)a0); v0 = 0xD000; - *(s32 *)(s0 + 0x48) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk48 = v0; func_8012B14C(s0, (s32)&D_801B59C0); ((void (*)(s32, void *))func_8012A828)(s0, &D_801BEAA4); - *(s16 *)(s0 + 0x2) = 0xC; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xC; } @@ -8666,15 +8666,15 @@ void func_80184FA8(s32 a0) extern s32 D_8011F730; func_801855A0(a0, D_801B59D0, 7, func_80029DB4()); - if (*(s32 *)(a0 + 0x94) < 9) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 < 9) { func_8012C658(0x1EB, 0, a0); } if (D_8011F730 == 3) { - *(u16 *)(a0 + 2) = 0xD; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xD; } else { - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { func_8012A828(a0, &D_801BE3DC); - *(u16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80185914(a0); } @@ -8708,13 +8708,13 @@ void func_80185098(s32 a0) { v0 = func_80029E30(); func_801855A0(a0, (s32)D_801B59F0, 6, v0); - if ((u32)(*(s32 *)(a0 + 0x94) - 4) < 10u) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk94 - 4) < 10u) { func_8012C658(0x1EB, 1, a0); } - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { if (D_8011F730 != 4) { ((void (*)(s32, void *))func_8012A828)(a0, D_801BE3DC); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80185914(a0); } @@ -8726,7 +8726,7 @@ void func_80185098(s32 a0) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801BE75C; void func_8018514C(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 18; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 18; func_8012A828((int)arg0, (int)&D_801BE75C); } @@ -8762,11 +8762,11 @@ void func_80185178(s32 a0) { u16 sv[4]; s32 temp; - if (*(s32 *)(a0 + 0x94) == 6) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 6) { sv[1] = 0; sv[0] = 0; sv[2] = 0x20; - ApplyMatrixSV((void *)(*(s32 *)(a0 + 0x20) + 0x34), sv, sv); + ApplyMatrixSV((void *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x34), sv, sv); func_8012EC04(a0, 7, buf); ((void (*)(s32 *, u8 *, u16 *))func_8012F14C)(buf, D_800D3918, out); s.f0 = out[0] + sv[0]; @@ -8776,31 +8776,31 @@ void func_80185178(s32 a0) { s.f8 = 0; s.fA = 0; s.fC = 0x7FFF; - s.fE = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s.fE = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12; s.f10 = 0; temp = func_8012C51C(&s, a0); - *(s32 *)(a0 + 0xCC) = temp; + ((Unkstruct_800B5CB8 *)a0)->unkCC = temp; if (temp != 0) { - func_8001C924(*(s32 *)(a0 + 0x20), D_801B80E8); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801B80E8); ((void (*)(s32, void *))func_8012A828)(a0, D_801B5A98); - *(s32 *)(a0 + 0xE0) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkE0 |= 1; } } - if (*(s32 *)(a0 + 0xE0) & 1) { - if (*(s32 *)(a0 + 0xE0) & 2) { - if (func_80013350(a0 + 4, (void *)(*(s32 *)(a0 + 0xCC) + 4)) < 0x1801) { - func_8012C218(*(void **)(a0 + 0xCC)); - func_8001C924(*(s32 *)(a0 + 0x20), D_801B80B0); + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 1) { + if (((Unkstruct_800B5CB8 *)a0)->unkE0 & 2) { + if (func_80013350(a0 + 4, (void *)(((Unkstruct_800B5CB8 *)a0)->unkCC + 4)) < 0x1801) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, D_801B80B0); ((void (*)(s32, void *))func_8012A828)(a0, &D_801BE75C); - *(s32 *)(a0 + 0x94) = 7; - *(s32 *)(a0 + 0xCC) = 0; - *(s32 *)(a0 + 0xE0) &= ~3; + ((Unkstruct_800B5CB8 *)a0)->unk94 = 7; + ((Unkstruct_800B5CB8 *)a0)->unkCC = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE0 &= ~3; } } } - if (*(s32 *)(a0 + 0x90) == (s32)&D_801BE75C && (*(u16 *)(a0 + 0x72) & 0x4000)) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801BE75C && (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000)) { ((void (*)(s32, void *))func_8012A828)(a0, D_801BE3DC); - *(s16 *)(a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80185914(a0); } @@ -8812,7 +8812,7 @@ extern void func_8012B23C(s32 a0); extern s32 D_801BED14; void func_80185368(s32 a0) { - *(s16 *)(a0 + 2) = 0x14; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x14; func_8012A828(a0, (s32)&D_801BED14); func_8012B23C(a0); } @@ -8826,9 +8826,9 @@ extern void func_8012CBCC(s32 a0); void func_801853A8(s32 a0) { func_8012CBCC(a0); - if (*(u16 *)(a0 + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { ((void (*)(s32, void *))func_8012A828)(a0, ((u8 *)&D_801BE3DC)); - *(s16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012B23C(a0); func_80185914(a0); } @@ -8923,8 +8923,8 @@ s32 func_801855A0(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { func_8012F14C((s32)buf1, arg1, (s32)&vecA); func_8012F14C((s32)buf1, arg1 + 8, (s32)&vecB); func_8012F14C((s32)buf1, arg1 + 0x10, (s32)&vecC); - *(SVec_801861D0_801855A0 *)(arg0 + 0xFC) = vecC; - *(SVec_801861D0_801855A0 *)(arg0 + 0x104) = vecB; + CAST_WIDTH(SVec_801861D0_801855A0, arg0, 0xFC) = vecC; + CAST_WIDTH(SVec_801861D0_801855A0, arg0, 0x104) = vecB; if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&vecA, (s32)&vecB) != 0) { func_8012F568(1, 1, 0, arg3, (s32)&vecB, (s32)D_801152A8); return 1; @@ -9037,9 +9037,9 @@ void func_80185774(s32 a0) { if (D_80126B68 != 0 || D_80126B70 != 0) { s32 t1; - v1.vx = *(u16 *)(a0 + 0x6) - D_80126B5E; + v1.vx = ((Unkstruct_800B5CB8 *)a0)->unk6 - D_80126B5E; v1.vy = 0; - v1.vz = *(u16 *)(a0 + 0xE) - D_80126B66; + v1.vz = ((Unkstruct_800B5CB8 *)a0)->unkE - D_80126B66; VectorNormalSS(&v1, &v1); v2.vy = 0; @@ -9049,7 +9049,7 @@ void func_80185774(s32 a0) { t1 = func_8012B70C((s16 *)D_800D3918, (s16 *)&v1); s1 = (t1 * 2 - func_8012B70C((s16 *)&v2, (s16 *)D_800D3918)) & 0xFFF; } else { - s1 = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12); + s1 = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); } if (func_80149CD4((s32)base) != 0) { @@ -9064,7 +9064,7 @@ void func_80185774(s32 a0) { func_80049CAC((s32)&v1, (s32)&m); func_800484EC((s32)&m, (s32)&ref, a0 + 0x10); } else { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = s1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = s1; v1.vz = 0; v1.vx = 0; @@ -9075,9 +9075,9 @@ void func_80185774(s32 a0) { } if (func_801726B8(base)) { - *(s32 *)(a0 + 0x14) = 0x100000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x100000; } else { - *(s32 *)(a0 + 0x14) = base[13]; + ((Unkstruct_800B5CB8 *)a0)->unk14 = base[13]; } } @@ -9098,22 +9098,22 @@ s32 func_80185914(s32 a0) { case 1: func_8012B200((u8 *)a0); func_8012A828(a0, (s32)&D_801BE7C4); - *(u16 *)(a0 + 0x2) = 8; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; break; case 2: - *(u16 *)(a0 + 0x2) = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; break; case 3: func_8012A828(a0, (s32)&D_801BE63C); - *(u16 *)(a0 + 0x2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; break; case 4: func_8012A828(a0, (s32)&D_801BE6A4); - *(u16 *)(a0 + 0x2) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; break; case 5: - *(u16 *)(a0 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x12; func_8012A828(a0, (s32)&D_801BE75C); break; default: @@ -9158,13 +9158,13 @@ s32 func_80185A08(s32 a0) { v18[2] = *(u16 *)(p + 0xE); v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if (func_8012CEB0((s32)v10, (s32)v18, 0) & 0x2000) { - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - *(u16 *)(a0 + 0xE) = v18[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; return; } func_8012ADE4((u8 *)a0); @@ -9315,7 +9315,7 @@ s32 func_80185CEC(s32 a0, u16 a1) { extern void (*D_801B5B94[])(void); void func_80185EA8(void *a0) { - D_801B5B94[*(u16 *)((s32)a0 + 0x2)](); + D_801B5B94[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9567,22 +9567,22 @@ void func_80186544(s32 *s0) u16 uVar2; iVar2 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((u8 *)s0 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)s0)->unk20 = iVar2; if (iVar2 == 0) { func_8012CAE4(s0); } else { ((void (*)(s32, void*))func_8001C214)(iVar2, &D_801B811C); - v1 = *(s32 **)((u8 *)s0 + 0x20); - uVar1 = *(u16 *)((u8 *)s0 + 0xFC); + v1 = CAST_SIGN(s32 *, (u8 *)s0, 0x20); + uVar1 = CAST_SIGN(u16, (u8 *)s0, 0xFC); *(u16 *)((u8 *)v1 + 0x12) = uVar1; func_8012B2CC(s0); - uVar2 = *(u16 *)((u8 *)s0 + 0x2); - *(s32 *)((u8 *)s0 + 0xE8) = 0xFFE00000; + uVar2 = CAST_SIGN(u16, (u8 *)s0, 0x2); + ((Unkstruct_800B5CB8 *)s0)->unkE8 = 0xFFE00000; uVar2 = uVar2 + 1; - *(u16 *)((u8 *)s0 + 0x2) = uVar2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = uVar2; } } @@ -9613,44 +9613,44 @@ void func_801865BC(s32 a0) s16 sp10[4]; s32 v0; - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - if (func_8012BDBC(*(s32 *)(a0 + 0x64), 0x200) == 0) { + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + if (func_8012BDBC(((Unkstruct_800B5CB8 *)a0)->unk64, 0x200) == 0) { goto skip_update; } - v0 = func_8012B6D4((s16 *)(*(s32 *)(a0 + 0x64) + 4), (s16 *)&D_80126B5C); + v0 = func_8012B6D4((s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 4), (s16 *)&D_80126B5C); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 1); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 1); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } else { - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(u16 *)(a0 + 0xE); + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; v0 = func_8012B70C((s16 *)(a0 + 0x88), sp10); { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), v0, 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), v0, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } } skip_update: - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); - *(s32 *)(a0 + 0xE8) = *(s32 *)(a0 + 0xE8) + 0x18000; - if (*(u16 *)(a0 + 0x34) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = ((Unkstruct_800B5CB8 *)a0)->unkE8 + 0x18000; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - if ((*(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) & 2) == 0) { - *(s32 *)(a0 + 0xE8) = 0; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xE0) |= 2; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + if ((*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) & 2) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE0) |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 obj2 = *(s32 *)(a0 + 0x64); + s32 obj2 = ((Unkstruct_800B5CB8 *)a0)->unk64; s32 flags2 = *(s32 *)(obj2 + 0xE0); - if ((flags2 & 2) == 0 && *(s32 *)(a0 + 0x1C) == 0x15) { + if ((flags2 & 2) == 0 && ((Unkstruct_800B5CB8 *)a0)->unk1C == 0x15) { *(s32 *)(obj2 + 0xE0) = flags2 | 2; } } @@ -9659,7 +9659,7 @@ skip_update: } func_8012D5E4(a0, (s32)D_801B59D0, (s32)D_801B59D0 + 8, 0xA); - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; } @@ -9985,7 +9985,7 @@ void func_80186DCC(void *a0) extern void (*D_801B5BEC[])(void); void func_80186FA8(void *a0) { - D_801B5BEC[*(u16 *)((s32)a0 + 0x2)](); + D_801B5BEC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10051,7 +10051,7 @@ void func_80187108(s32 a0) vel[1] = 0; vel[0] = 0; vel[2] = 0xFFF20000; - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12), &m); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12), &m); func_800484EC((s32)&m, (s32)&vel[0], a0 + 0x10); func_8002D4C8(0xB3F, 0); func_8012AD44((s32 *)a0, 3); @@ -10064,9 +10064,9 @@ extern void func_8012E014(void *a0); extern void func_80187548(s32 a0, s32 a1); void func_801871D0(void *a0) { - D_801BEE64[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { - if (*(u8 *)((s32)a0 + 0x74) != 0) { + D_801BEE64[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { func_8012E014(a0); func_80187548((s32)a0, (s32)&D_801BEE54); } @@ -10212,7 +10212,7 @@ void func_80187548(s32 arg0, s32 arg1) { s16 t1; s16 a3; - if (*(u16 *)&D_80126B58 == 0x1A) { + if (((Unkstruct_80126B58 *)&D_80126B58)->unk0 == 0x1A) { return; } w5e = D_80126B5E; @@ -10346,7 +10346,7 @@ void func_80187854(void *a0) { s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -10354,23 +10354,23 @@ void func_80187854(void *a0) { func_8001C810(v0, (s32)&D_801BEFBC); - v1 = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(v1 + 0x2C) |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk2C |= 0x10; - v1 = *(s32 *)((s32)a0 + 0x20); - *(u32 *)(v1 + 4) |= 0x8040; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(u32, v1, 4) |= 0x8040; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 2; - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801BEE54 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801BEE54 | 0x20000000; - if (*(s16 *)((s32)a0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { func_801870D4((s32)a0); return; } func_801870A0((s32)a0); - *(s32 *)((s32)a0 + 0xD0) = ((s32 (*)(s32, s32))func_80143994)((s32)a0, 0x3000); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = ((s32 (*)(s32, s32))func_80143994)((s32)a0, 0x3000); } @@ -10393,8 +10393,8 @@ void func_80187928(s32 param_1) { s32 v; flag = ((s32 (*)(s32))func_8012CBF4)(param_1); - h = *(s16 *)(param_1 + 0xA); - d0 = *(s32 *)(param_1 + 0xD0); + h = CAST_SIGN(s16, param_1, 0xA); + d0 = ((Unkstruct_800B5CB8 *)param_1)->unkD0; if (h >= 0x81) { if (d0 != 0) { func_801439C0((u8 *)d0); @@ -10402,7 +10402,7 @@ void func_80187928(s32 param_1) { func_8012C218((void *)param_1); return; } - q = *(s32 *)(d0 + 0xCC); + q = ((Unkstruct_800B5CB8 *)d0)->unkCC; v = (h << 4) + 0x5800; *(u16 *)(q + 0x18) = v; *(u16 *)(q + 0x1A) = v; diff --git a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c index cdae39fd41..67b9afe552 100644 --- a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c +++ b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c @@ -3059,7 +3059,7 @@ void func_8017D494(s32 arg0) extern void (*D_80193ED0[])(void); void func_8017E374(void *a0) { - D_80193ED0[*(u16 *)((s32)a0 + 0x2)](); + D_80193ED0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3350,7 +3350,7 @@ void func_8017EB10(s32 *a0) s32 ret; u8 temp; func_80149020(a0); - if (*(u8 *)((char *)a0 + 0xDF) == 0) { + if (((Unkstruct_80126B58 *)a0)->unkDF == 0) { func_80147A84((s32)a0); func_801473EC(a0); func_80148038((s32)a0, 0x18000); @@ -3360,15 +3360,15 @@ void func_8017EB10(s32 *a0) if (ret != 0) if (ret >= 0) if (ret < 3) { - if (*(s32 *)((char *)a0 + 0x34) > 0) { - if (*(u8 *)((char *)a0 + 0xDF) == 0) { - *(u8 *)((char *)a0 + 0xDF) = 1; + if (((Unkstruct_80126B58 *)a0)->unk34 > 0) { + if (((Unkstruct_80126B58 *)a0)->unkDF == 0) { + ((Unkstruct_80126B58 *)a0)->unkDF = 1; func_80146D90((s32)a0); } } } - temp = *(u8 *)((char *)a0 + 0xDE); - *(u8 *)((char *)a0 + 0xDE) = temp + 0xFF; + temp = CAST_SIGN(u8, (char *)a0, 0xDE); + ((Unkstruct_80126B58 *)a0)->unkDE = temp + 0xFF; if (temp == 0) { func_8017EBE8((s32)a0); func_80159B3C(a0); @@ -3386,8 +3386,8 @@ void func_8017EBE8(s32 a0) { s32 s0 = a0; ((void (*)(s32))func_80019064)((s32)&(*(s32 *)D_80062C04)); - func_8014BC44(s0, *(s16 *)(s0 + 0xF2)); - *(u8 *)(s0 + 0xA8) = 0x20; + func_8014BC44(s0, ((Unkstruct_80126B58 *)s0)->unkF2); + ((Unkstruct_80126B58 *)s0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(s0); } @@ -3438,7 +3438,7 @@ void func_8017ECD8(s32 a0) func_80147324(0x451); func_801511E0(s0); func_80154274((s32 *)s0, (s32)&D_80193F30); - *(u8 *)(s0 + 0xDE) = 0x5A; + ((Unkstruct_80126B58 *)s0)->unkDE = 0x5A; func_80147324(0x7EB); a2 = 0; @@ -3459,8 +3459,8 @@ void func_8017ED60(s32 *a0) { u8 temp; func_80149020(a0); - temp = *(u8 *)((char *)a0 + 0xDE); - *(u8 *)((char *)a0 + 0xDE) = temp + 0xFF; + temp = CAST_SIGN(u8, (char *)a0, 0xDE); + ((Unkstruct_80126B58 *)a0)->unkDE = temp + 0xFF; if (temp == 0) { func_8017EDC4((s32)a0); func_80159B3C(a0); @@ -3480,8 +3480,8 @@ void func_8017EDC4(s32 a0) { s32 s0 = a0; ((void (*)(s32))func_80019064)((s32)&(*(s32 *)D_80062C04)); - func_8014BC44(s0, *(s16 *)(s0 + 0xF2)); - *(u8 *)(s0 + 0xA8) = 0x20; + func_8014BC44(s0, ((Unkstruct_80126B58 *)s0)->unkF2); + ((Unkstruct_80126B58 *)s0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(s0); } @@ -3490,7 +3490,7 @@ void func_8017EDC4(s32 a0) extern void (*D_80193F84[])(void); void func_8017EE14(void *a0) { - D_80193F84[*(u16 *)((s32)a0 + 0x2)](); + D_80193F84[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3508,7 +3508,7 @@ void func_8017EE50(s32 a0) { s32 pad[12]; a1 = func_800D21C4(a0, (s32)&D_80193F58, 0x2B); - *(s32 *)(a0 + 0x20) = a1; + ((Unkstruct_80126B58 *)a0)->unk20 = a1; if (a1 != 0) { *(s16 *)(a1 + 0x28) = 0x224; @@ -3523,12 +3523,12 @@ void func_8017EE50(s32 a0) { func_8017F2A8((s32 *)a0); func_8017F2C4((s32 *)a0); - *(s32 *)(a0 + 0x2C) = 0; - *(s32 *)(a0 + 0x30) = 0; + ((Unkstruct_80126B58 *)a0)->unk2C = 0; + ((Unkstruct_80126B58 *)a0)->unk30 = 0; func_80146E90((s32 *)a0, 0x5A); - *(u16 *)(a0 + 0x02) += 1; + ((Unkstruct_80126B58 *)a0)->unk2 += 1; } else { ((void (*)(s32))func_80146C3C)(a0); } @@ -3555,25 +3555,25 @@ void func_8017EF0C(s32 param_1) { s32 iVar3; void *puVar2; - iVar3 = *(s32 *)(param_1 + 0x20); + iVar3 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8017F2C4((s32 *)param_1); - if (*(s32 *)(param_1 + 0x30) == 0) { - puVar2 = D_80193F94[*(s32 *)(param_1 + 0x2c)]; - if (D_80193F94[*(s32 *)(param_1 + 0x2c)] == 0) { - *(s32 *)(param_1 + 0x30) = 0x20; - *(s32 *)(param_1 + 0x2c) = 0; + if (((Unkstruct_80126B58 *)param_1)->unk30 == 0) { + puVar2 = D_80193F94[((Unkstruct_80126B58 *)param_1)->unk2C]; + if (D_80193F94[((Unkstruct_80126B58 *)param_1)->unk2C] == 0) { + ((Unkstruct_80126B58 *)param_1)->unk30 = 0x20; + ((Unkstruct_80126B58 *)param_1)->unk2C = 0; puVar2 = D_80193F94[0]; } func_800183E0((s32)puVar2); - *(s32 *)(param_1 + 0x2c) = *(s32 *)(param_1 + 0x2c) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2C = ((Unkstruct_80126B58 *)param_1)->unk2C + 1; } else { - s32 iVar0 = *(s32 *)(param_1 + 0x30) - 1; - *(s32 *)(param_1 + 0x30) = iVar0; - if ((iVar0 == 0) && (*(s32 *)(param_1 + 0x1c) != 0)) { + s32 iVar0 = ((Unkstruct_80126B58 *)param_1)->unk30 - 1; + ((Unkstruct_80126B58 *)param_1)->unk30 = iVar0; + if ((iVar0 == 0) && (((Unkstruct_80126B58 *)param_1)->unk1C != 0)) { func_80147324(0x7EC); } } - if (*(s32 *)(param_1 + 0x1c) == 1) { + if (((Unkstruct_80126B58 *)param_1)->unk1C == 1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 0, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 1, 0); func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 2, 0); @@ -3594,7 +3594,7 @@ void func_8017EF0C(s32 param_1) { func_80146A6C(0x40, (void *)param_1, 0, 0, 0, 5, 1); func_8017F8D0(D_80193F7C); func_80147324(0x7F4); - *(u32 *)(iVar3 + 4) = *(u32 *)(iVar3 + 4) | 0x80000000; + CAST_WIDTH(u32, iVar3, 4) = CAST_WIDTH(u32, iVar3, 4) | 0x80000000; } iVar1 = func_80146E98(param_1); if ((iVar1 != 0) && (iVar1 = func_8017F8E0((void *)D_80193F7C), iVar1 != 0)) { @@ -3605,9 +3605,9 @@ void func_8017EF0C(s32 param_1) { void func_8017F2A8(s32 *a0) { - *(s32 *)((s32)a0 + 0x10) = *(s32 *)((s32)a0 + 0x4); - *(s32 *)((s32)a0 + 0x14) = *(s32 *)((s32)a0 + 0x8); - *(s32 *)((s32)a0 + 0x18) = *(s32 *)((s32)a0 + 0xC); + ((Unkstruct_80126B58 *)a0)->unk10 = CAST_WIDTH(s32, (s32)a0, 0x4); + ((Unkstruct_80126B58 *)a0)->unk14 = CAST_WIDTH(s32, (s32)a0, 0x8); + ((Unkstruct_80126B58 *)a0)->unk18 = CAST_WIDTH(s32, (s32)a0, 0xC); } @@ -3631,7 +3631,7 @@ void func_8017F2C4(s32 *a0) extern void (*D_80193FBC[])(void); void func_8017F304(void *a0) { - D_80193FBC[*(u16 *)((s32)a0 + 0x2)](); + D_80193FBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3690,9 +3690,9 @@ void func_8017F340(s32 param_1) { s32 i; u16 sc; - obj = *(s32 *)(param_1 + 0x34); + obj = ((Unkstruct_80126B58 *)param_1)->unk34; p = ((s32 (*)(void))func_801465C0)(); - *(s32 *)(param_1 + 0x20) = p; + ((Unkstruct_80126B58 *)param_1)->unk20 = p; if (p != 0) { func_8001CF00(p); @@ -3700,13 +3700,13 @@ void func_8017F340(s32 param_1) { func_80015978(obj + 4, (s32 *)buf); func_80015954((s32)buf, param_1 + 4); - sc = D_80194008[*(s32 *)(param_1 + 0x30)]; + sc = D_80194008[((Unkstruct_80126B58 *)param_1)->unk30]; *(u16 *)(p + 0x18) = *(u16 *)(p + 0x1a) = *(u16 *)(p + 0x1c) = sc; vel = D_80193FF8; - rot = D_80193FC8[*(s32 *)(param_1 + 0x2c)]; + rot = D_80193FC8[((Unkstruct_80126B58 *)param_1)->unk2C]; - if (*(s32 *)(param_1 + 0x30) != 0) { + if (((Unkstruct_80126B58 *)param_1)->unk30 != 0) { /* LEVER: the compound `+=` is load-bearing. Spelled out as * `rot.vx = rot.vx - 0x200 + ((rand() & 0x3f) << 4);` gcc-2.7.2 folds * the -0x200 onto the JITTER term (addiu $v0 after the sll) instead of @@ -3724,15 +3724,15 @@ void func_8017F340(s32 param_1) { func_80049CAC((s32)&rot, (s32)&m); func_800484EC((s32)&m, (s32)&vel, (s32)&vel); - *(s32 *)(param_1 + 0x10) = vel.vx; - *(s32 *)(param_1 + 0x14) = vel.vy; - *(s32 *)(param_1 + 0x18) = vel.vz; + ((Unkstruct_80126B58 *)param_1)->unk10 = vel.vx; + ((Unkstruct_80126B58 *)param_1)->unk14 = vel.vy; + ((Unkstruct_80126B58 *)param_1)->unk18 = vel.vz; q = (s16 *)(param_1 + 0x38); i = 0; *(s32 *)(param_1 + 0x4c) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x50) = ((rand() & 0x1f) - 0x10) * 11; - *(s32 *)(param_1 + 0x54) = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk50 = ((rand() & 0x1f) - 0x10) * 11; + ((Unkstruct_80126B58 *)param_1)->unk54 = ((rand() & 0x1f) - 0x10) * 11; do { i++; @@ -3742,7 +3742,7 @@ void func_8017F340(s32 param_1) { } while (i < 3); func_80146E90((s32 *)param_1, 2); - *(s16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } else { ((void (*)(s32))func_80146C3C)(param_1); } @@ -3760,11 +3760,11 @@ void func_8017F614(s32 param_1) { func_8017F6D8(param_1); ((void (*)(s32))func_8017F85C)(param_1); if (func_80146E98(param_1) != 0) { - *(s32 *)(param_1 + 0x10) = *(s32 *)(param_1 + 0x10) >> 2; - *(s32 *)(param_1 + 0x14) = *(s32 *)(param_1 + 0x14) >> 2; - *(s32 *)(param_1 + 0x18) = *(s32 *)(param_1 + 0x18) >> 2; + ((Unkstruct_80126B58 *)param_1)->unk10 = ((Unkstruct_80126B58 *)param_1)->unk10 >> 2; + ((Unkstruct_80126B58 *)param_1)->unk14 = ((Unkstruct_80126B58 *)param_1)->unk14 >> 2; + ((Unkstruct_80126B58 *)param_1)->unk18 = ((Unkstruct_80126B58 *)param_1)->unk18 >> 2; func_80146E90((s32 *)param_1, 0x40); - *(u16 *)(param_1 + 2) += 1; + ((Unkstruct_80126B58 *)param_1)->unk2 += 1; } } @@ -3848,7 +3848,7 @@ void func_8017F85C(s32 *a0) { void func_8017F8D0(s32 *a0) { - *(s32 *)((s32)a0 + 0x0) = 0x80404080; + CAST_WIDTH(s32, (s32)a0, 0x0) = 0x80404080; } @@ -3887,7 +3887,7 @@ joinpt: cmp = result + 0; - *(u8 *)((s32)a0 + 2) = result; + CAST_WIDTH(u8, (s32)a0, 2) = result; if (cmp < (s32)*(u8 *)a0) { *(u8 *)a0 = result; } @@ -4544,7 +4544,7 @@ void func_801806B8(void *arg0) D_801EFD40 = (D_801EFD40 | 0x20) & 0xFFF7; func_8018332C((s32)arg0, (s32)&D_80194460); v = D_801EFCA0; - *(s32 *)((s32)arg0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x20; func_8018A47C((void *)v); } @@ -4627,7 +4627,7 @@ void func_801808EC(void *arg0) extern void func_8002D4C8(s32 a0, s32 a1); func_8018332C((s32)arg0, (s32)&D_80194468); - *(s32 *)((s32)arg0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; func_8002D4C8(0x9C3, 0); } @@ -4766,7 +4766,7 @@ void func_80180B24(s32 s0) p = (struct Ent_80180B24 *)s0; s3 = (s32)&aB58_80180B24[0]; - if (*(u16 *)(s0 + 0x34) == 4) { + if (((Unkstruct_800B5CB8 *)s0)->unk34 == 4) { s1 = aFC4C[D_801EFD20]; x = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF; if (x >= 0x800) { @@ -4786,13 +4786,13 @@ void func_80180B24(s32 s0) buf[2] = *(u16 *)(s3 + 0xE); func_80183BD0((u8 *)s0); func_80183564((s32)s0, buf); - *(u16 *)(s0 + 0xE0) = 0x10; - *(u16 *)(s0 + 0x34) = 0; + CAST_WIDTH(u16, s0, 0xE0) = 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; } return; } if (((s32 (*)(int, int))func_801833D4)((int)s0, 0) != 0) { - switch (*(u16 *)(s0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)s0)->unk34) { case 0: /* Post-increments on the u16 fields: the add's destination is a SUBREG of the * field's HImode value, so sched1's birthing_insn_p (sched.c:2477-2490) gives the @@ -4812,39 +4812,39 @@ void func_80180B24(s32 s0) p->unk34++; break; case 2: - if (*(s16 *)(s0 + 0x76) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk76 == 0) { func_80180E80((u8 *)s0); return; } - *(u16 *)(s0 + 0xF4) = 0; + CAST_WIDTH(u16, s0, 0xF4) = 0; func_80183BAC((u8 *)s0); - *(u16 *)(s0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 3; break; case 3: ((void (*)(s32))func_801837C4)(s0); func_80183BAC((u8 *)s0); - *(s32 *)(s0 + 0x1C) = 0x80; - *(u16 *)(s0 + 0x100) = 0; - *(u16 *)(s0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 4; return; } - func_80183564((s32)s0, (s16 *)(D_80194470 + (*(s16 *)(s0 + 0xF4) * 8))); - *(u16 *)(s0 + 0xE0) = 0x10; + func_80183564((s32)s0, (s16 *)(D_80194470 + (CAST_WIDTH(s16, s0, 0xF4) * 8))); + CAST_WIDTH(u16, s0, 0xE0) = 0x10; } else { /* store 0xE0 in BOTH arms: cross_jump merges the sh at the join, and the s16 local * yields the un-coalesced addu $v1,$v0,$zero that stops reorg stealing the decrement. */ - s16 v0 = *(s16 *)(s0 + 0xE0); + s16 v0 = CAST_WIDTH(s16, s0, 0xE0); if (v0 != 0) { - *(s16 *)(s0 + 0xE0) = v0 - 1; + CAST_WIDTH(s16, s0, 0xE0) = v0 - 1; } else { func_80183A28((u8 *)s0); - *(s16 *)(s0 + 0xE0) = 0x10; + CAST_WIDTH(s16, s0, 0xE0) = 0x10; } - if (*(u16 *)(s0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk34 == 0) { u16 flag = D_801EFD40; if (!(flag & 1)) { s1 = aFC4C[D_801EFD20]; - if ((u16)(((*(u16 *)(s0 + 0x106) & 0xFFF) - + if ((u16)(((CAST_SIGN(u16, s0, 0x106) & 0xFFF) - (*(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF)) - 0x180) >= 0xD01) { D_801EFD40 = flag | 1; func_8002D4C8(0x7E3, 0); @@ -4876,10 +4876,10 @@ void func_80180E80(u8 *self) { *(s16 *)(vp1 + 0x12) = 0x600; vp2 = *(s32 *)(obj + 0x20); *(s16 *)(vp2 + 0x10) = 0; - *(s16 *)(self + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)self)->unkFE = 0; func_80186710(); - *(s16 *)(self + 0xF4) = 0; - *(s16 *)(self + 0xF2) = 0; + CAST_WIDTH(s16, self, 0xF4) = 0; + ((Unkstruct_800B5CB8 *)self)->unkF2 = 0; func_80183564((s32)self, (s16 *)D_80194490); D_801EFD40 = D_801EFD40 & 0xFDFF; func_8012AD44((s32 *)self, 4); @@ -4916,39 +4916,39 @@ void func_80180F30(s32 s2) s32 s1; s32 *s0; - if ((*(u16 *)(s2 + 0x34) < 4)) { + if ((((Unkstruct_800B5CB8 *)s2)->unk34 < 4)) { if (((s32 (*)(int, int))func_801833D4)(s2, 0x30) != 0) { - switch (*(u16 *)(s2 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)s2)->unk34) { case 0: - *(s16 *)(s2 + 0x84) = 0; + ((Unkstruct_800B5CB8 *)s2)->unk84 = 0; /* fallthrough */ case 1: - v1 = *(u16 *)(s2 + 0xF4) + 1; - *(u16 *)(s2 + 0xF4) = v1; + v1 = CAST_WIDTH(u16, s2, 0xF4) + 1; + CAST_WIDTH(u16, s2, 0xF4) = v1; func_80183564(s2, (s16 *)(D_80194490 + (((v1 << 16) >> 13)))); - *(u16 *)(s2 + 0x34) = *(u16 *)(s2 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)s2)->unk34 = ((Unkstruct_800B5CB8 *)s2)->unk34 + 1; break; case 2: func_8018A018(D_801EFCA4); - *(s16 *)(s2 + 0xF2) = 0x20; + ((Unkstruct_800B5CB8 *)s2)->unkF2 = 0x20; func_80183564(s2, (s16 *)D_80194470); - *(u16 *)(s2 + 0x34) = *(u16 *)(s2 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)s2)->unk34 = ((Unkstruct_800B5CB8 *)s2)->unk34 + 1; func_8012C588(0x3D8, s2); break; case 3: ((void (*)(s32))func_801837C4)(s2); ((void (*)(s32))func_80183BAC)(s2); - *(u16 *)(s2 + 0x100) = 0; - *(s32 *)(s2 + 0x1C) = 8; - *(u16 *)(s2 + 0x34) = *(u16 *)(s2 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)s2)->unk100 = 0; + ((Unkstruct_800B5CB8 *)s2)->unk1C = 8; + ((Unkstruct_800B5CB8 *)s2)->unk34 = ((Unkstruct_800B5CB8 *)s2)->unk34 + 1; func_801861D4(s2); break; } } else { func_80183A28((u8 *)s2); - if (*(u16 *)(s2 + 0x34) == 1) { - v0 = *(u16 *)(s2 + 0x84) + 1; - *(s16 *)(s2 + 0x84) = v0; + if (((Unkstruct_800B5CB8 *)s2)->unk34 == 1) { + v0 = CAST_SIGN(u16, s2, 0x84) + 1; + ((Unkstruct_800B5CB8 *)s2)->unk84 = v0; if (((v0 << 16) >> 16) == 0x50) { func_8002D4C8(0x992, 0); } @@ -4957,31 +4957,31 @@ void func_80180F30(s32 s2) } else { func_80183880(s2); func_80185960(0, (u16 *)(*(s32 *)(aFC4C[D_801EFD20] + 0x20) + 0x14), 0x40); - switch (*(u16 *)(s2 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)s2)->unk34) { case 4: if (((s32 (*)(u8 *))func_8012BEE8)((u8 *)s2) != 0) { - *(s16 *)(s2 + 0xF2) = 0xC0; + ((Unkstruct_800B5CB8 *)s2)->unkF2 = 0xC0; s1 = 0x10; s0 = D_801EFCE8; do { ((void (*)(s32))func_80189D38)(*s0++); s1++; } while (s1 < 0x14); - *(u16 *)(s2 + 0x34) = 5; + ((Unkstruct_800B5CB8 *)s2)->unk34 = 5; } break; case 5: - if (*(s16 *)(s2 + 0xF2) == 0) { + if (CAST_SIGN(s16, s2, 0xF2) == 0) { func_801811D0((s32 *)s2); } break; } } - if (*(s16 *)(s2 + 0xF2) != 0) { - if ((*(u16 *)(s2 + 0xF2) & 0xF) == 0) { + if (CAST_SIGN(s16, s2, 0xF2) != 0) { + if ((((Unkstruct_800B5CB8 *)s2)->unkF2 & 0xF) == 0) { func_8013C9C4(D_80190B88); } - *(u16 *)(s2 + 0xF2) = *(u16 *)(s2 + 0xF2) - 1; + ((Unkstruct_800B5CB8 *)s2)->unkF2 = ((Unkstruct_800B5CB8 *)s2)->unkF2 - 1; } } @@ -4993,10 +4993,10 @@ void func_801811D0(s32 *arg0) { extern void func_80186BD8(void); extern void func_8012AD44(s32 *a0, s16 a1); - *(s16 *)((s32)arg0 + 0xF4) = 0; + CAST_WIDTH(s16, (s32)arg0, 0xF4) = 0; func_8018332C((s32)arg0, (s32)&D_801944A8); func_80183BD0((u8 *)arg0); - *(u16 *)((s32)arg0 + 0xF2) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkF2 = 0; func_80186BD8(); func_8012AD44(arg0, 5); } @@ -5081,14 +5081,14 @@ void func_80181390(s32 a0) { s16 buf[3]; - *(s16 *)(a0 + 0xF4) = 0; + CAST_WIDTH(s16, a0, 0xF4) = 0; buf[0] = 0x500; buf[1] = -0xE00; buf[2] = *(u16 *)D_801944B8 + 0x200; func_8018332C(a0, (s32)buf); func_80186BD8(); func_8012AD44((s32 *)a0, 6); - *(s16 *)(a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } @@ -5130,60 +5130,60 @@ void func_801813FC(s32 s0) s1 = (u8 *)aB58_801813FC; - if (*(u16 *)(s0 + 0x34) != 7) { + if (((Unkstruct_800B5CB8 *)s0)->unk34 != 7) { if (((s32 (*)(int, int))func_801833D4)(s0, 0) != 0) { - switch (*(u16 *)(s0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)s0)->unk34) { case 0: func_80186B08(s0); func_8013C9C4(D_80190B88); buf[0] = 0x500; buf[1] = -0xB00; - buf[2] = *(u16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)) - 0x100; + buf[2] = *(u16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)) - 0x100; func_80183564(s0, buf); v7 = 1; t = D_801EFD20; - *(u16 *)(s0 + 0x34) = v7; + ((Unkstruct_800B5CB8 *)s0)->unk34 = v7; if (((s32 (*)(s32))func_8012BE54)(aFC4C[t]) <= 0x23FFF) { func_8002D4C8(0x992, 0); } break; case 1: - *(u16 *)(s0 + 0xF4) = *(u16 *)(s0 + 0xF4) + 1; - if ((s16)*(u16 *)(s0 + 0xF4) >= 8) { + CAST_WIDTH(u16, s0, 0xF4) = CAST_WIDTH(u16, s0, 0xF4) + 1; + if ((s16)CAST_WIDTH(u16, s0, 0xF4) >= 8) { func_80185FAC(); v7 = 6; t = D_801EFD40; - *(u16 *)(s0 + 0x34) = v7; + ((Unkstruct_800B5CB8 *)s0)->unk34 = v7; D_801EFD40 = t | 8; } else { buf[0] = 0x500; buf[1] = -0xB00; - a0 = *(u16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)); + a0 = *(u16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)); buf[2] = a0 + 0x580; vs1e = *(s16 *)(s1 + 0xE); - vcmp = *(s16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)) + 0xE0; + vcmp = *(s16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)) + 0xE0; if (vs1e > vcmp) { buf[2] = a0 + 0x280; } func_80183564(s0, buf); - *(u16 *)(s0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 2; } break; case 2: buf[0] = 0x600; buf[1] = -0xB00; - buf[2] = *(u16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)) + 0x180; + buf[2] = *(u16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)) + 0x180; func_80183564(s0, buf); - *(u16 *)(s0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 3; break; case 3: buf[0] = 0x500; buf[1] = -0x700; - buf[2] = *(u16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)); + buf[2] = *(u16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)); D_801EFD18 = func_80188E00(aFC4C[D_801EFD20], buf); func_80183564(s0, buf); - *(s16 *)(s0 + 0x84) = 0; - *(u16 *)(s0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)s0)->unk84 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 4; break; case 4: func_80186B08(s0); @@ -5193,33 +5193,33 @@ void func_801813FC(s32 s0) D_801EFD18 = 0; } func_80183564(s0, (s16 *)D_801944C8); - *(u16 *)(s0 + 0x34) = 5; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 5; break; case 5: ((void (*)(s32))func_801837C4)(s0); func_80183BAC((u8 *)s0); - *(u16 *)(s0 + 0x100) = 0; - tc = *(u16 *)(s0 + 0xF4) + 1; - *(u16 *)(s0 + 0xF4) = tc; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0; + tc = CAST_WIDTH(u16, s0, 0xF4) + 1; + CAST_WIDTH(u16, s0, 0xF4) = tc; vs1e = *(s16 *)(s1 + 0xE); vcmp = *(s16 *)(D_801944B8 + ((tc << 16) >> 15)) + 0xC0; if (vs1e > vcmp) { - *(s32 *)(s0 + 0x1C) = 0x18; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x18; } else { - *(s32 *)(s0 + 0x1C) = (tc == 7) ? 0x18 : 0x90; + ((Unkstruct_800B5CB8 *)s0)->unk1C = (tc == 7) ? 0x18 : 0x90; } - *(u16 *)(s0 + 0x34) = 7; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 7; break; case 6: break; } } else { ((void (*)(u8 *))func_80183A28)((u8 *)s0); - if (*(u16 *)(s0 + 0x34) == 4 && *(s16 *)(s0 + 0x84) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk34 == 4 && ((Unkstruct_800B5CB8 *)s0)->unk84 == 0) { if (((s32 (*)(s32))func_8012BE54)(aFC4C[D_801EFD20]) <= 0x23FFF && aB62_801813FC - *(s16 *)(aFC4C[D_801EFD20] + 0xA) < 0x180) { func_8002D4C8(0x992, 0); - *(s16 *)(s0 + 0x84) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk84 = 1; } } } @@ -5228,10 +5228,10 @@ void func_801813FC(s32 s0) if (((s32 (*)(u8 *))func_8012BEE8)((u8 *)s0) != 0) { buf[0] = 0x500; buf[1] = -0x700; - buf[2] = *(u16 *)(D_801944B8 + ((*(s16 *)(s0 + 0xF4) << 16) >> 15)); + buf[2] = *(u16 *)(D_801944B8 + ((CAST_WIDTH(s16, s0, 0xF4) << 16) >> 15)); func_80183BD0((u8 *)s0); func_80183564(s0, buf); - *(u16 *)(s0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; } } } @@ -5269,7 +5269,7 @@ void func_80181868(u8 *self) { *(s16 *)(vp + 0x12) = 0; vp = *(s32 *)(obj + 0x20); *(s16 *)(vp + 0x10) = 0x380; - *(s16 *)(self + 0xFE) = 0x380; + ((Unkstruct_800B5CB8 *)self)->unkFE = 0x380; func_80186710(); func_80183BD0(self); D_801EFD40 = D_801EFD40 & 0xFFF7; @@ -5320,11 +5320,11 @@ void func_80181948(s32 a0) { s32 pad[2]; u16 g = D_801EFD20; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: case 1: if (((s32 (*)(int, int))func_801833D4)((int)a0, 0) != 0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if ((D_801EFD40 & 0x400) == 0) { func_80189188(D_801EFD14); @@ -5337,17 +5337,17 @@ void func_80181948(s32 a0) { } else { func_80189270(D_801EFD14); } - *(u16 *)(a0 + 0xF4) = 0; + CAST_WIDTH(u16, a0, 0xF4) = 0; func_80183564(a0, D_801944D8); func_8013C9C4(D_80190B88); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 1: - *(u16 *)(a0 + 6) = 0; - *(u16 *)(a0 + 0xE) = 0; - *(u16 *)(a0 + 0xA) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; func_80186300(a0, D_801DF06C, 0); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; } } else { @@ -5355,13 +5355,13 @@ void func_80181948(s32 a0) { } return; case 2: - if (*(s16 *)(a0 + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 != 0) { return; } D_801EFD20 = 0xD; D_801EFD40 &= 0xFFDF; func_80184CCC(a0, D_80194C14); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 3: func_80184DB8(g); @@ -5629,31 +5629,31 @@ void func_80181F0C(s32 a0) { s16 *p58 = (s16 *)D_80126B58; u16 t; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (((s32 (*)(s32))func_8012BEE8)(a0) != 0) { func_80184CCC(a0, (s32)D_80194C64); - t = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = 8; + t = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; D_801EFD40 = D_801EFD40 & 0xFFFD; - *(u16 *)(a0 + 0x34) = t; + ((Unkstruct_800B5CB8 *)a0)->unk34 = t; } break; case 1: if (((s32 (*)(s32))func_8012BEE8)(a0) != 0) { func_80184CCC(a0, (s32)D_80194C8C); - t = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = 3; + t = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 3; D_801EFD40 = D_801EFD40 | 1; - *(u16 *)(a0 + 0x34) = t; + ((Unkstruct_800B5CB8 *)a0)->unk34 = t; } break; case 2: if (((s32 (*)(s32))func_8012BEE8)(a0) != 0) { func_80183DF8(); - t = *(u16 *)(a0 + 0x34) + 1; - *(s32 *)(a0 + 0x1C) = (*(s16 *)(a0 + 0xF6) - 1) * 2 + 1; - *(u16 *)(a0 + 0x34) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (*(s16 *)(a0 + 0xF6) - 1) * 2 + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = t; } break; case 3: @@ -5662,12 +5662,12 @@ void func_80181F0C(s32 a0) { D_801EFD40 = D_801EFD40 & 0xFFFE; if (e->unkF2 != 0) { e->unkF2 = e->unkF2 - 1; - *(s32 *)(a0 + 0x1C) = 3; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } else { - u16 n = *(u16 *)(a0 + 0x34); - *(s32 *)(a0 + 0x1C) = 0x10; - *(u16 *)(a0 + 0x34) = n + 1; + u16 n = ((Unkstruct_800B5CB8 *)a0)->unk34; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = n + 1; } } break; @@ -5758,7 +5758,7 @@ void func_801821E4(void *a0) u16 buf1[3]; u16 buf2[3]; - state = *(u16 *)((char *)a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; if (state == 0) { goto L80182214; } @@ -5768,41 +5768,41 @@ void func_801821E4(void *a0) goto L8018237C; L80182214: - func_80185960(0, (u16 *)((char *)(*(void **)((char *)a0 + 0x20)) + 0x12), 0x40); - if (*(s16 *)((char *)(*(void **)((char *)a0 + 0x20)) + 0x12) != 0) { + func_80185960(0, (u16 *)((char *)(CAST_SIGN(void *, (char *)a0, 0x20)) + 0x12), 0x40); + if (CAST_NONSTRUCT(s16, (char *)(*(void **)((char *)a0 + 0x20)), 0x12) != 0) { goto L801822C4; } if (func_80184F4C() == 0) { goto L801822C4; } { - *(s16 *)((char *)a0 + 0x6) = 0x508; - *(s16 *)((char *)a0 + 0xA) = -0x76C; - *(s16 *)((char *)a0 + 0xE) = 0x18CD; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0x508; + CAST_ALIAS(s16, (char *)a0, 0xA) = -0x76C; + ((Unkstruct_800B5CB8 *)a0)->unkE = 0x18CD; func_80186300((s32)a0, (void *)D_801944E8[*(s16 *)((char *)a0 + 0xE2)].f0, - *(s16 *)((char *)(*(void **)((char *)a0 + 0x20)) + 0x12)); + CAST_NONSTRUCT(s16, (char *)(*(void **)((char *)a0 + 0x20)), 0x12)); func_80188560(aFC4C[0], D_801EFC48); func_80185F1C(); - *(u16 *)((char *)a0 + 0x34) = *(u16 *)((char *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; goto L80182378; } L801822C4: - func_80185214(*(s16 *)((char *)(*(void **)((char *)a0 + 0x20)) + 0x12)); + func_80185214(CAST_NONSTRUCT(s16, (char *)(*(void **)((char *)a0 + 0x20)), 0x12)); func_80184DB8(D_801EFD20); goto L8018237C; L801822F0: - v0 = *(s16 *)((char *)a0 + 0x98); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk98; if (v0 == 0) { goto L80182370; } if (v0 != state) { goto L8018237C; } - v1 = *(s32 *)((char *)a0 + 0x94); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk94; if (v1 == 0x29) { - *(s32 *)((char *)a0 + 0xD0) = func_8012C588(0x2B6, aFC4C[0]); + ((Unkstruct_800B5CB8 *)a0)->unkD0 = func_8012C588(0x2B6, aFC4C[0]); func_8002D4C8(0x88B, 0); goto L8018237C; } @@ -5813,7 +5813,7 @@ L80182340: goto L8018237C; } { - s32 d0 = *(s32 *)((char *)a0 + 0xD0); + s32 d0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (d0 == 0) { goto L80182380; @@ -5987,11 +5987,11 @@ void func_80182630(s32 param_1) func_8018637C(param_1, (s32)D_80194500[(short)v1 * 3]); pp = &D_801EFC54; obj = func_8018B948(*pp); - *(s32 *)(param_1 + 0xD0) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = obj; if (obj != 0) { func_8018B9D4(*pp, obj); - *(u16 *)(obj + 0x1A) = 0x1400; - *(u16 *)(obj + 0x18) = 0x1400; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1400; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1400; } func_8012AD44((s32 *)param_1, 0xC); } @@ -6012,10 +6012,10 @@ void func_801826E4(s32 param_1) s32 *pp; s32 obj; - v1 = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 6) = 0x508; - *(s16 *)(param_1 + 0xA) = -0x76C; - *(u16 *)(param_1 + 0xE) = 0x18CD; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = 0x508; + CAST_ALIAS(s16, param_1, 0xA) = -0x76C; + ((Unkstruct_800B5CB8 *)param_1)->unkE = 0x18CD; *(u16 *)(param_1 + 0xE2) = 0; v0 = *(u16 *)(v1 + 0x12); if ((v0 & 0xFFF) < 0x800) { @@ -6025,11 +6025,11 @@ void func_801826E4(s32 param_1) func_80186300(param_1, D_80194500[(short)*(u16 *)(param_1 + 0xE2) * 3], 0); pp = &D_801EFC54; obj = func_8018B948(*pp); - *(s32 *)(param_1 + 0xD0) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = obj; if (obj != 0) { func_8018B9D4(*pp, obj); - *(u16 *)(obj + 0x1A) = 0x1400; - *(u16 *)(obj + 0x18) = 0x1400; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1400; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1400; } func_8012AD44((s32 *)param_1, 0xC); } @@ -6185,7 +6185,7 @@ void func_80182B5C(void *arg0) { extern u16 D_801EFD40; extern void func_8012AD44(s32 *a0, s16 a1); - *(s16 *)((s32)arg0 + 0xF4) = 0; + CAST_WIDTH(s16, (s32)arg0, 0xF4) = 0; func_8018332C((s32)arg0, (s32)&D_80194538); func_80186908(); D_801EFD40 |= 0x20; @@ -6220,7 +6220,7 @@ extern u8 D_801944D0[]; extern u8 D_80194538[]; void func_80182BBC(u8 *self) { - int state = *(u16 *)(self + 0x34); + int state = ((Unkstruct_800B5CB8 *)self)->unk34; s32 pad[2]; (void)pad; @@ -6239,15 +6239,15 @@ L_BF8: if (((s32 (*)(int, int))func_801833D4)((int)self, 0) == 0) { goto L_D14; } else { - s32 f = *(u16 *)(self + 0xF4); + s32 f = CAST_WIDTH(u16, self, 0xF4); s32 off; u8 *addr; f = f + 1; off = (s16)f * 8; addr = D_80194538 + off; - *(u16 *)(self + 0xF4) = f; + CAST_WIDTH(u16, self, 0xF4) = f; func_80183564((s32)self, (s16 *)addr); - *(u16 *)(self + 0x34) = *(u16 *)(self + 0x34) + 1; + ((Unkstruct_800B5CB8 *)self)->unk34 = ((Unkstruct_800B5CB8 *)self)->unk34 + 1; goto L_end; } @@ -6269,7 +6269,7 @@ L_C44: *(s16 *)(vp + 0x12) = 0; vp = *(s32 *)(obj + 0x20); *(s16 *)(vp + 0x10) = 0x380; - *(s16 *)(self + 0xFE) = 0x380; + ((Unkstruct_800B5CB8 *)self)->unkFE = 0x380; func_80186710(); func_80183BD0(self); D_801EFD40 = D_801EFD40 & 0xFFF7; @@ -6713,9 +6713,9 @@ void func_8018332C(s32 a0, s32 a1) { v0 = *(s32 *)(s1 + 0x20); v0 = *(u16 *)(v0 + 0x10); - *(u16 *)(a0 + 0x102) = 0; - *(u16 *)(a0 + 0x104) = 0; - *(u16 *)(a0 + 0xFE) = (u16)v0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (u16)v0; } @@ -6793,7 +6793,7 @@ s32 impl_801833D4(s32 a0, s32 a1) func_80183BF0(a0); *(u16 *)(*(s32 *)(obj + 0x20) + 0x10) = - *(u16 *)(a0 + 0xFE) + *(u16 *)(a0 + 0x102); + CAST_NONSTRUCT(u16, a0, 0xFE) + CAST_NONSTRUCT(u16, a0, 0x102); if (func_801836D4((void *)a0, (void *)obj) != 0) { s4 = 1; @@ -6803,8 +6803,8 @@ s32 impl_801833D4(s32 a0, s32 a1) } else { s0 = 0x20; } - func_80185960(*(s16 *)(a0 + 0x106), (u16 *)(*(s32 *)(obj + 0x20) + 0x12), s0); - func_80185960(*(s16 *)(a0 + 0x100), (u16 *)(a0 + 0xFE), s0); + func_80185960(CAST_NONSTRUCT(s16, a0, 0x106), (u16 *)(*(s32 *)(obj + 0x20) + 0x12), s0); + func_80185960(CAST_NONSTRUCT(s16, a0, 0x100), (u16 *)(a0 + 0xFE), s0); } } @@ -6817,9 +6817,9 @@ void func_80183564(s32 a0, s16 *a1) extern s32 func_80183A28(u8 *a0); extern void func_801835B0(s32 a0); - *(u16 *)(a0 + 0xE4) = *(u16 *)(a1 + 0); - *(u16 *)(a0 + 0xE6) = *(u16 *)(a1 + 1); - *(u16 *)(a0 + 0xE8) = *(u16 *)(a1 + 2); + CAST_WIDTH(u16, a0, 0xE4) = *(u16 *)(a1 + 0); + *(u16 *)(a0 + 0xE6) = CAST_MISALIGNED(u16, a1, 1); + CAST_WIDTH(u16, a0, 0xE8) = *(u16 *)(a1 + 2); func_80183A28((u8 *)a0); func_801835B0(a0); } @@ -7054,9 +7054,9 @@ void func_80183880(s32 a0) func_80183BF0(a0); *(u16 *)(*(s32 *)(obj + 0x20) + 0x10) = - *(u16 *)(a0 + 0xFE) + *(u16 *)(a0 + 0x102); + CAST_SIGN(u16, a0, 0xFE) + CAST_SIGN(u16, a0, 0x102); - func_80185960(*(s16 *)(a0 + 0x100), (u16 *)(a0 + 0xFE), 0x20); + func_80185960(((Unkstruct_800B5CB8 *)a0)->unk100, (u16 *)(a0 + 0xFE), 0x20); if (D_801EFD40 & 0x20) { step = 0x40; @@ -7066,15 +7066,15 @@ void func_80183880(s32 a0) sub = *(s32 *)(obj + 0x20); - if (*(s16 *)(sub + 0x12) < *(s16 *)(a0 + 0x106) + 0x1000) { + if (*(s16 *)(sub + 0x12) < ((Unkstruct_800B5CB8 *)a0)->unk106 + 0x1000) { *(s16 *)(sub + 0x12) += step; - if (!(*(s16 *)(*(s32 *)(obj + 0x20) + 0x12) < *(s16 *)(a0 + 0x106) + 0x1000)) { - *(s16 *)(*(s32 *)(obj + 0x20) + 0x12) = *(s16 *)(a0 + 0x106) + 0x2000; + if (!(*(s16 *)(*(s32 *)(obj + 0x20) + 0x12) < ((Unkstruct_800B5CB8 *)a0)->unk106 + 0x1000)) { + *(s16 *)(*(s32 *)(obj + 0x20) + 0x12) = ((Unkstruct_800B5CB8 *)a0)->unk106 + 0x2000; } } else { *(s16 *)(sub + 0x12) -= step; - if (!(*(s16 *)(a0 + 0x106) + 0x1000 < *(s16 *)(*(s32 *)(obj + 0x20) + 0x12))) { - *(s16 *)(*(s32 *)(obj + 0x20) + 0x12) = *(s16 *)(a0 + 0x106); + if (!(((Unkstruct_800B5CB8 *)a0)->unk106 + 0x1000 < *(s16 *)(*(s32 *)(obj + 0x20) + 0x12))) { + *(s16 *)(*(s32 *)(obj + 0x20) + 0x12) = ((Unkstruct_800B5CB8 *)a0)->unk106; } } } @@ -7121,14 +7121,14 @@ s32 func_80183A28(u8 *a0) { func_8012F038((int)mp, (short *)(a0 + 0xE4), out); v0 = ratan2(out[2], out[0]); v0 = (-v0 - 0x400) & 0xFFF; - *(s16 *)(a0 + 0x106) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk106 = v0; m = aAE620_80183A28[0]; - RotMatrixY(*(s16 *)(a0 + 0x106), mp); + RotMatrixY(((Unkstruct_800B5CB8 *)a0)->unk106, mp); func_8012F038((int)mp, out, out); v0 = ratan2(out[2], out[1]); v0 = (v0 + 0x400) & 0xFFF; - *(s16 *)(a0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v0; } @@ -7136,7 +7136,7 @@ extern u16 D_801EFD40; void func_80183BAC(u8 *a0) { u16 v = D_801EFD40; - *(s16 *)(a0 + 0x104) = -0x20; + ((Unkstruct_800B5CB8 *)a0)->unk104 = -0x20; D_801EFD40 = v | 0x40; } @@ -7147,7 +7147,7 @@ void func_80183BD0(s32 a0) { u16 f; f = D_801EFD40; - *(s16 *)(a0 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; D_801EFD40 = f & 0xFFBF; } @@ -7214,7 +7214,7 @@ void func_80183C74(s32 a0, u16 a1) void func_80183CF4(void *a0) { - *(s16 *)((s32)a0 + 0x108) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; *(s16 *)((s32)a0 + 0xE2) = 0; } @@ -7227,19 +7227,19 @@ void func_80183D00(s32 param_1) u16 *p; s32 i; - obj = *(s32 *)(param_1 + 0xCC); + obj = ((Unkstruct_800B5CB8 *)param_1)->unkCC; v = *(u16 *)(param_1 + 0xE2) + 0x20; *(s16 *)(param_1 + 0xE2) = v; - *(s16 *)(param_1 + 0x108) = func_8004787C(v) >> 3; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = func_8004787C(v) >> 3; arr[4] = 0; i = 1; - arr[3] = (*(s16 *)(param_1 + 0x108) / 4) * 3; + arr[3] = (CAST_SIGN(s16, param_1, 0x108) / 4) * 3; p = &arr[1]; - arr[2] = -(((s16)*(u16 *)(param_1 + 0x108)) >> 1); - arr[1] = *(u16 *)(param_1 + 0x108); + arr[2] = -(((s16)((Unkstruct_800B5CB8 *)param_1)->unk108) >> 1); + arr[1] = ((Unkstruct_800B5CB8 *)param_1)->unk108; do { func_80185A18(*(u8 *)(obj + i * 8 + 6), - (s16)(*(u16 *)(obj + i * 8 + 2) + *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *p)); + (s16)(*(u16 *)(obj + i * 8 + 2) + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + *p)); p++; if (*(s16 *)(obj + i * 8 + 6) & 0x8000) { return; @@ -7504,7 +7504,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_80184414(void *a0) { - if (*(s16 *)((s32)a0 + 0x70) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { func_80185FF4(a0); } func_8012AD44((s32 *)a0, 1); @@ -7599,30 +7599,30 @@ void func_801845A8(void *a0) s32 p; if (((s32 (*)(s32))func_8012BEE8)((s32)a0) != 0) { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s16 *)((s32)a0 + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; } func_80185DDC(a0); - if (*(s16 *)((s32)a0 + 0x70) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 1) { func_80186020(a0); } - if (!(*(u16 *)((s32)a0 + 0x86) & 0x10)) { + if (!(((Unkstruct_800B5CB8 *)a0)->unk86 & 0x10)) { if (!(D_801EFD40 & 0x4)) { v0 = D_801EFC48; - p = *(s32 *)((s32)a0 + 0x20); - *(s16 *)((s32)a0 + 0xE) = 0; - *(s16 *)((s32)a0 + 0xA) = 0; - *(s16 *)((s32)a0 + 0x6) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; *(s16 *)(p + 0x14) = 0; *(s16 *)(p + 0x12) = 0; *(s16 *)(p + 0x10) = 0; - func_80132784((s32)a0, v0, *(u16 *)((s32)a0 + 0x70)); + func_80132784((s32)a0, v0, CAST_SIGN(u16, (s32)a0, 0x70)); } - if (*(s16 *)((s32)a0 + 0x70) == 0 || *(s16 *)((s32)a0 + 0x70) == 2) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 || ((Unkstruct_800B5CB8 *)a0)->unk70 == 2) { if (D_801EFD40 & 0x1000) { func_8018489C(a0, 0x30, -0x20); func_8018489C(a0, 0x30, 0x20); @@ -7788,7 +7788,7 @@ void func_8018489C(s32 arg0, s32 arg1, s32 arg2) if (D_801EFD24 == 0 && !(D_801EFD40 & 0x100)) { n = -y; - p = D_801946AC + *(s16 *)(arg0 + 0x102) * 16; + p = D_801946AC + ((Unkstruct_800B5CB8 *)arg0)->unk102 * 16; sp10[2] = *(u16 *)(p + 12); sp18[2] = *(u16 *)(p + 14); sp18[1] = z; @@ -7893,14 +7893,14 @@ s32 func_80184978(s32 arg0, s32 arg1, s32 arg2) m0 = 1; m1 = 0x4017; __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B t3_tus1) - fld = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + fld = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); func_8012F568(m0, m1, fld, code, &b, D_801152A8); v0 = func_8012B8A4((s16 *)arg0); v0 = (v0 + 0x200) & 0xFFF; if (v0 < 0x800) { - *(s16 *)(outp + 0x42) = 0x200; + ((Unkstruct_80126B58 *)outp)->unk42 = 0x200; } else { - *(s16 *)(outp + 0x42) = 0xA00; + ((Unkstruct_80126B58 *)outp)->unk42 = 0xA00; } } else { register s32 m0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B t3_tus1) @@ -7909,7 +7909,7 @@ s32 func_80184978(s32 arg0, s32 arg1, s32 arg2) m0 = 1; m1 = 0x4013; __asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B t3_tus1) - fld = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + fld = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); func_8012F568(m0, m1, fld, code, &b, D_801152A8); } return 1; @@ -8663,24 +8663,24 @@ void func_80185D9C(void *a0) void func_80185DDC(void *a0) { - if (*(u16 *)((s32)a0 + 0x86) & 1) { - if (*(s16 *)((s32)a0 + 0x84) != 0) { - *(s16 *)((s32)a0 + 0x84) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 -= 1; } else { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - if (*(u16 *)((s32)a0 + 0x86) & 2) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) += *(u16 *)((s32)a0 + 0x100); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) += *(u16 *)((s32)a0 + 0x100); - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) >= 0x1380) { - *(u16 *)((s32)a0 + 0x86) &= 0xFFFD; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + if (((Unkstruct_800B5CB8 *)a0)->unk86 & 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 += CAST_SIGN(u16, (s32)a0, 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A += CAST_SIGN(u16, (s32)a0, 0x100); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) >= 0x1380) { + ((Unkstruct_800B5CB8 *)a0)->unk86 &= 0xFFFD; } } else { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) -= *(u16 *)((s32)a0 + 0x100); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) -= *(u16 *)((s32)a0 + 0x100); - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) < 0x1001) { - *(u16 *)((s32)a0 + 0x86) |= 0x2; - *(s16 *)((s32)a0 + 0x84) = *(u16 *)((s32)a0 + 0xFE); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) &= 0xFFEF; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 -= CAST_SIGN(u16, (s32)a0, 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A -= CAST_SIGN(u16, (s32)a0, 0x100); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) < 0x1001) { + ((Unkstruct_800B5CB8 *)a0)->unk86 |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk84 = CAST_SIGN(u16, (s32)a0, 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C &= 0xFFEF; } } } @@ -8737,7 +8737,7 @@ void func_80185FF4(void *a0) extern u16 D_801EFD4C; s32 obj; - obj = *(s32 *)((s32)a0 + 0x20); + obj = ((Unkstruct_800B5CB8 *)a0)->unk20; D_801EFD48 = 0; D_801EFD44 = *(u16 *)(obj + 0x10); D_801EFD4C = 0x60; @@ -8764,7 +8764,7 @@ void func_80186020(void *a0) { } a = D_801EFD48; b = D_801EFD4C; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; a = a + b; b = D_801EFD44; D_801EFD48 = a; @@ -8788,7 +8788,7 @@ void func_80186020(void *a0) { y = x - 0x60; } x = D_801EFD44; - p = *(s32 *)((s32)a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; D_801EFD48 = y; x = x + y; *(u16 *)(p + 0x10) = x; @@ -8803,9 +8803,9 @@ void func_80186110(s32 arg0) var = func_8012C588(0x214, arg0); if (var != 0) { - *(s16 *)(var + 6) = 0x60; - *(s16 *)(var + 0xA) = -0x540; - *(s16 *)(var + 0xE) = 0x900; + ((Unkstruct_800B5CB8 *)var)->unk6 = 0x60; + CAST_ALIAS(s16, var, 0xA) = -0x540; + ((Unkstruct_800B5CB8 *)var)->unkE = 0x900; } D_801EFCA0 = var; } @@ -8883,9 +8883,9 @@ void func_80186300(s32 a0, void *a1, s32 a2) { D_801EFD40 = D_801EFD40 & 0xFFFB; func_80186470((void *)a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = (u16)s1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = (u16)s1; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = 0; func_8018637C(a0, (s32)a1); } @@ -9245,7 +9245,7 @@ void func_80186B08(void *a0) { s16 idx; - idx = *(s16 *)((s32)a0 + 0xF4); + idx = CAST_WIDTH(s16, (s32)a0, 0xF4); if (idx != 0 && D_801EFCF4[idx] != 0) { func_8012C218((void *)D_801EFCF4[idx]); D_801EFCF4[idx] = 0; @@ -9658,28 +9658,28 @@ void func_801872D0(void *a0) func_80185DDC(a0); s0 = a0; - v1 = *(s16 *)((s32)s0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk70; if (v1 == 1) { func_80186020(s0); } - if ((*(u16 *)((s32)s0 + 0x86) & 0x10) != 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk86 & 0x10) != 0) { return; } if ((D_801EFD40 & 4) == 0) { a1 = D_801EFC48; - v0 = *(s32 *)((s32)s0 + 0x20); - *(s16 *)((s32)s0 + 0xE) = 0; - *(s16 *)((s32)s0 + 0xA) = 0; - *(s16 *)((s32)s0 + 0x6) = 0; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; + ((Unkstruct_800B5CB8 *)s0)->unkE = 0; + ((Unkstruct_800B5CB8 *)s0)->unkA = 0; + ((Unkstruct_800B5CB8 *)s0)->unk6 = 0; *(s16 *)(v0 + 0x14) = 0; *(s16 *)(v0 + 0x12) = 0; *(s16 *)(v0 + 0x10) = 0; - func_80132784((s32)s0, a1, *(u16 *)((s32)s0 + 0x70)); + func_80132784((s32)s0, a1, CAST_SIGN(u16, (s32)s0, 0x70)); } - v1 = *(s16 *)((s32)s0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk70; if (v1 == 0) { goto shared; } @@ -10151,10 +10151,10 @@ loop: *pp = (void *)obj; if (obj != 0) { func_8001CD9C(obj, D_801EFD80); - *(u16 *)(obj + 0x18) = sz; - *(u16 *)(obj + 0x1A) = sz; - *(u16 *)(obj + 0x2C) = 0xC060; - *(u32 *)(obj + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk18 = sz; + ((Unkstruct_800B5CB8 *)obj)->unk1A = sz; + ((Unkstruct_800B5CB8 *)obj)->unk2C = 0xC060; + CAST_WIDTH(u32, obj, 0x4) |= 0x50000000; } i++; pp++; @@ -10169,10 +10169,10 @@ loop: *(void **)((s32)s4 + 0xD0) = (void *)obj; if (obj != 0) { func_8001CD9C(obj, D_801EFDC0); - *(u16 *)(obj + 0x18) = 0x1000; - *(u16 *)(obj + 0x1A) = 0x1000; - *(u16 *)(obj + 0x2C) = 0xC060; - *(u32 *)(obj + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk2C = 0xC060; + CAST_WIDTH(u32, obj, 0x4) |= 0x50000000; } p = &D_801EFDC0[0x40]; @@ -10183,10 +10183,10 @@ loop: *(void **)((s32)s4 + 0xD4) = (void *)obj; if (obj != 0) { func_8001CD9C(obj, p); - *(u16 *)(obj + 0x18) = 0x1000; - *(u16 *)(obj + 0x1A) = 0x1000; - *(u16 *)(obj + 0x2C) = 0xC060; - *(u32 *)(obj + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk2C = 0xC060; + CAST_WIDTH(u32, obj, 0x4) |= 0x50000000; } func_80187D68(s4); @@ -10435,8 +10435,8 @@ void func_801882F8(s32 a0) s16 out[4]; s32 sub; - sub = *(s32 *)(a0 + 0x30); - if ((*(u16 *)(a0 + 0x2C) & 1) == 0) { + sub = ((Unkstruct_800B5CB8 *)a0)->unk30; + if ((((Unkstruct_800B5CB8 *)a0)->unk2C & 1) == 0) { if (*(s32 *)(sub + 0x94) < 3) { return; } @@ -10458,26 +10458,26 @@ void func_801882F8(s32 a0) D_801EFE60 = D_801EFE60 + 3; } if (*(s32 *)(sub + 0x94) == 0x19) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0; } if (*(s32 *)(sub + 0x94) == 0x29) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x800; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x800; + CAST_ALIAS(s16, *(s32 *)(a0 + 0x20), 0x1A) = 0x800; D_801EFE60 = 0xFF; D_801EFE61 = 0xFF; D_801EFE62 = 0xFF; } if (*(s32 *)(sub + 0x94) < 0x14) { - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if ((*(s32 *)(a0 + 0x1C) & 1) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 1) == 0) { u8 *r; - out[0] = *(u16 *)(a0 + 0x6); - out[1] = *(u16 *)(a0 + 0xA); - out[2] = *(u16 *)(a0 + 0xE); + out[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + out[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + out[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; r = func_801290DC(0x5C, (u8 *)out); if (r != 0) { - *(s16 *)(r + 0x2C) = 1; + ((Unkstruct_800B5CB8 *)r)->unk2C = 1; } } else { func_8018E914(rand() & 0xFF0, 0x40); @@ -10487,22 +10487,22 @@ void func_801882F8(s32 a0) return; } } else { - s16 h = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18); + s16 h = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18); s32 t; if (h < 0x1000) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = h + 0x400; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) + 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = h + 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A + 0x400; } func_8012931C((struct vec *)a0); - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (t != 0) { - *(s32 *)(a0 + 0x1C) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t - 1; return; } } - *(u16 *)(a0 + 0x2) = *(u16 *)(a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 0x2) + 1; } @@ -10510,7 +10510,7 @@ void func_801882F8(s32 a0) extern void (*D_801947F4[])(void); void func_80188524(void *a0) { - D_801947F4[*(u16 *)((s32)a0 + 0x2)](); + D_801947F4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10549,17 +10549,17 @@ void func_801885C0(s32 param_1) { s16 v[4]; u16 out[4]; - s32 p = *(s32 *)(param_1 + 0x34); + s32 p = CAST_WIDTH(s32, param_1, 0x34); v[0] = 0; v[1] = 0x40; v[2] = -0x28; - func_8004914C((void *)(*(s32 *)(p + 0x20) + 0x34)); - func_800491AC((void *)(*(s32 *)(p + 0x20) + 0x34)); + func_8004914C((void *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x34)); + func_800491AC((void *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x34)); RotTransSV(v, v, out); - *(s16 *)(param_1 + 6) = v[0]; - *(s16 *)(param_1 + 0xA) = v[1]; - *(s16 *)(param_1 + 0xE) = v[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = v[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = v[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = v[2]; } @@ -10573,9 +10573,9 @@ void func_80188650(void *arg0) { extern u16 D_80126B66; u16 t = D_80126B5E; - *(s16 *)((u8 *)arg0 + 0x100) = -0x788; - *(u16 *)((u8 *)arg0 + 0xFE) = t; - *(u16 *)((u8 *)arg0 + 0x102) = D_80126B66; + CAST_ALIAS(s16, (u8 *)arg0, 0x100) = -0x788; + CAST_ALIAS(u16, (u8 *)arg0, 0xFE) = t; + ((Unkstruct_800B5CB8 *)arg0)->unk102 = D_80126B66; func_801888B8((u8 *)arg0); func_8012B2CC((s32)arg0); func_8012B178((s32)arg0, (s32)0xFFD00000); @@ -10620,8 +10620,8 @@ void func_801886C4(s32 *a0) { extern void func_8012AD44(s32 *a0, s16 a1); void func_80188764(s32 param_1) { - *(s16 *)(param_1 + 0xAE) = -5; - *(s32 *)(param_1 + 0x1C) = 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -5; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x100; func_8012AD44((s32 *)param_1, 3); } @@ -10630,7 +10630,7 @@ void func_80188764(s32 param_1) { extern void (*D_80194840[])(void); void func_80188794(void *a0) { - D_80194840[*(u16 *)((s32)a0 + 0x2)](); + D_80194840[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10652,16 +10652,16 @@ void func_801887D0(void *a0) { extern void func_8012C218(void *a0); void func_80188818(void *a0) { - if (*(s16 *)((s32)a0 + 0x104) < *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A)) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) -= 0x10; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) -= 0x80; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) -= 0x10; + if (((Unkstruct_800B5CB8 *)a0)->unk104 < *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 -= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A -= 0x80; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) -= 0x10; } else { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s16 *)((s32)a0 + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; } - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) <= 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A) <= 0) { func_8012C218(a0); } } @@ -10687,27 +10687,27 @@ void func_801888B8(u8 *a0) s32 v0; m = D_800AE620; - m.t0 = *(s16 *)(a0 + 6); - m.t1 = *(s16 *)(a0 + 0xA); - m.t2 = *(s16 *)(a0 + 0xE); + m.t0 = CAST_SIGN(s16, a0, 6); + m.t1 = CAST_SIGN(s16, a0, 0xA); + m.t2 = CAST_SIGN(s16, a0, 0xE); mp = &m; - ang = *(u8 **)(a0 + 0x20); + ang = CAST_SIGN(u8 *, a0, 0x20); RotMatrixZ(*(s16 *)(ang + 0x14), mp); func_8012F038((int)mp, (s16 *)(a0 + 0xFE), out); v0 = -ratan2(out[2], out[0]); v0 -= 0x400; - sub = *(u8 **)(a0 + 0x20); + sub = CAST_SIGN(u8 *, a0, 0x20); *(s16 *)(sub + 0x12) = v0 & 0xFFF; m = D_800AE620; - ang = *(u8 **)(a0 + 0x20); + ang = CAST_SIGN(u8 *, a0, 0x20); RotMatrixY(*(s16 *)(ang + 0x12), mp); func_8012F038((int)mp, out, out); v0 = ratan2(out[2], out[1]); v0 += 0x400; - sub = *(u8 **)(a0 + 0x20); + sub = CAST_SIGN(u8 *, a0, 0x20); *(s16 *)(sub + 0x10) = v0 & 0xFFF; } @@ -10728,9 +10728,9 @@ s32 func_80188A30(s32 a0) { out[2] = D_80194816; if (func_8012DEB8((s32)a0, (s32)in, (s32)out) != 0) { D_80126B98 = 0x18; - if (*(s16 *)((s32)a0 + 0x106) == 0) { + if (CAST_ALIAS(s16, (s32)a0, 0x106) == 0) { u16 cnt = D_801F161E; - *(s16 *)((s32)a0 + 0x106) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk106 = 1; D_801F161E = cnt + 1; } } @@ -10796,7 +10796,7 @@ void func_80188B78(u8 *a0) m = aAE620_80188B78[0]; - v1 = *(s16 *)(*(u8 **)(a0 + 0x20) + 0x1A); + v1 = CAST_SIGN(s16, *(u8 **)(a0 + 0x20), 0x1A); count = 9; if (v1 < 0x801) { count = 4; @@ -10812,9 +10812,9 @@ void func_80188B78(u8 *a0) ApplyRotMatrix(&D_80194850[i], &rv); - buf[0] = *(u16 *)(a0 + 0x6) + rv.vx; - buf[1] = *(u16 *)(a0 + 0xA) + rv.vy; - fE = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6 + rv.vx; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA + rv.vy; + fE = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[3] = 0x10; vec[0] = rv.vx << 15; @@ -10840,7 +10840,7 @@ void func_80188B78(u8 *a0) extern void (*D_801948D0[])(void); void func_80188D18(void *a0) { - D_801948D0[*(u16 *)((s32)a0 + 0x2)](); + D_801948D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11044,7 +11044,7 @@ void func_80189108(s32 *a0) { extern void (*D_80194904[])(void); void func_8018914C(void *a0) { - D_80194904[*(u16 *)((s32)a0 + 0x2)](); + D_80194904[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11108,14 +11108,14 @@ void func_80189270(s32 arg0) { rnd[0] = *(u16 *)((u8 *)D_80194910 + off) + (rand() & 0x1F) - 0x10; rnd[1] = *(u16 *)((u8 *)D_80194912 + off); rnd[2] = *(u16 *)((u8 *)D_80194914 + off) + (rand() & 0x1F) - 0x10; - *(u16 *)(s0 + 0x6) += (u16)rnd[0]; - *(u16 *)(s0 + 0xA) += (u16)rnd[1]; - *(u16 *)(s0 + 0xE) += (u16)rnd[2]; - *(s32 *)(s0 + 0x10) = rnd[0] << 13; + ((Unkstruct_800B5CB8 *)s0)->unk6 += (u16)rnd[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA += (u16)rnd[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE += (u16)rnd[2]; + CAST_WIDTH(s32, s0, 0x10) = rnd[0] << 13; v1 = 0xFFE78000 - ((rand() & 0x3F0) << 8); - *(s32 *)(s0 + 0x14) = v1; - *(s32 *)(s0 + 0xE0) = v1; - *(s32 *)(s0 + 0x18) = rnd[2] << 13; + ((Unkstruct_800B5CB8 *)s0)->unk14 = v1; + ((Unkstruct_800B5CB8 *)s0)->unkE0 = v1; + CAST_WIDTH(s32, s0, 0x18) = rnd[2] << 13; } off += 8; i++; @@ -11226,7 +11226,7 @@ void func_80189578(void *a0) s32 v1; v0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); @@ -11235,28 +11235,28 @@ void func_80189578(void *a0) func_8001C214(v0, (s32)D_801E33A0); - v1 = *(s32 *)((s32)a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x2C) |= 0x10; - v1 = *(s32 *)((s32)a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1A) = 0x1400; - if (*(s16 *)((s32)a0 + 0x70) != 0) { - *(u16 *)((s32)a0 + 0x6) = D_80194978[*(s16 *)((s32)a0 + 0x70) - 1][0]; - *(u16 *)((s32)a0 + 0xA) = D_8019497A[*(s16 *)((s32)a0 + 0x70) - 1][0]; - *(u16 *)((s32)a0 + 0xE) = D_8019497C[*(s16 *)((s32)a0 + 0x70) - 1][0]; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_80194978[((Unkstruct_800B5CB8 *)a0)->unk70 - 1][0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_8019497A[((Unkstruct_800B5CB8 *)a0)->unk70 - 1][0]; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8019497C[((Unkstruct_800B5CB8 *)a0)->unk70 - 1][0]; } - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_80194960; - *(s16 *)((s32)a0 + 0xAE) = -5; - *(s32 *)((s32)a0 + 0x58) = (s32)D_80194940 | 0x20000000; - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; - *(s32 *)((s32)a0 + 0xB4) = 0; - *(u8 *)((s32)a0 + 0xC1) = 0; - *(u8 *)((s32)a0 + 0x75) = 0xC; - *(s32 *)((s32)a0 + 0xC4) |= 2; - *(s32 *)((s32)a0 + 0x1C) = rand() & 0xF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80194960; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -5; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_80194940 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rand() & 0xF; func_8012AD50(a0); } @@ -11265,7 +11265,7 @@ void func_80189578(void *a0) extern void (*D_801949B0[])(void); void func_801896BC(void *a0) { - D_801949B0[*(u16 *)((s32)a0 + 0x2)](); + D_801949B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11298,27 +11298,27 @@ extern void func_8012C218(void *a0); extern unsigned char D_80194950; void func_80189764(void *a0) { - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) < 0x601) { - *(s16 *)((s32)a0 + 0x100) -= 1; - if (*(s16 *)((s32)a0 + 0x100) == 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A) < 0x601) { + ((Unkstruct_800B5CB8 *)a0)->unk100 -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { func_80132EF4((s32)a0, 0x79); } } - if (*(s16 *)((s32)a0 + 0xFE) < *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A)) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) -= 0x30; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) -= 0xC; + if (((Unkstruct_800B5CB8 *)a0)->unkFE < *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A)) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A) -= 0x30; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) -= 0xC; } else { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s16 *)((s32)a0 + 0x5E) = 0; - *(s16 *)((s32)a0 + 0xAE) = -5; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -5; } - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { ((s32 (*)())func_8018985C)(a0, &D_80194950); } - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) <= 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A) <= 0) { func_8012C218(a0); } } @@ -11369,7 +11369,7 @@ s32 func_8018985C(void *a0, void *a1) extern void (*D_801949B8[])(void); void func_80189A24(void *a0) { - D_801949B8[*(u16 *)((s32)a0 + 0x2)](); + D_801949B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11433,24 +11433,24 @@ void func_80189AEC(void *a0) { s32 v0; v0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } - if (*(s16 *)((s32)a0 + 0x70) < 0x10) { - D_801F0020[*(s16 *)((s32)a0 + 0x70)].unk0 = - D_801E4928[*(s16 *)((s32)a0 + 0x70)]; - D_801F0020[*(s16 *)((s32)a0 + 0x70)].unk4 = 0; - func_8001C214(*(s32 *)((s32)a0 + 0x20), - (s32)&D_801F0020[*(s16 *)((s32)a0 + 0x70)]); + if (((Unkstruct_800B5CB8 *)a0)->unk70 < 0x10) { + D_801F0020[((Unkstruct_800B5CB8 *)a0)->unk70].unk0 = + D_801E4928[((Unkstruct_800B5CB8 *)a0)->unk70]; + D_801F0020[((Unkstruct_800B5CB8 *)a0)->unk70].unk4 = 0; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, + (s32)&D_801F0020[((Unkstruct_800B5CB8 *)a0)->unk70]); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x50000000; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x50000000; - func_8018A42C(a0, &D_801E5888[*(s16 *)((s32)a0 + 0x70) * 12]); + func_8018A42C(a0, &D_801E5888[((Unkstruct_800B5CB8 *)a0)->unk70 * 12]); - if (*(s16 *)((s32)a0 + 0x70) == 0xF) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0xF) { s32 t0; s32 t1; @@ -11462,31 +11462,31 @@ void func_80189AEC(void *a0) { t0 = t0 | t1; t1 = 0x40000000; t0 = t0 | t1; - *(s32 *)((s32)a0 + 0x58) = t0; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = t0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; } - *(s16 *)((s32)a0 + 0xFE) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; } else { - s32 j = *(s16 *)((s32)a0 + 0x70) - 0x10; + s32 j = ((Unkstruct_800B5CB8 *)a0)->unk70 - 0x10; s32 val = D_801E57E4[j]; D_801F00A0[j].unk4 = 0; D_801F00A0[j].unk0 = val; - func_8001C810(*(s32 *)((s32)a0 + 0x20), (s32)&D_801F00A0[j]); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801F00A0[j]); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x4) |= 0x8040; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) = 0x1008; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1008; - func_8018A42C(a0, &D_801E5948[*(s16 *)((s32)a0 + 0x70) * 12]); + func_8018A42C(a0, &D_801E5948[((Unkstruct_800B5CB8 *)a0)->unk70 * 12]); - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x1000180; - *(s16 *)((s32)a0 + 0xFE) = 0; - *(s32 *)((s32)a0 + 0x48) = *(s32 *)((s32)a0 + 0x48) >> 1; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x28) = 0x1000180; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk48 = ((Unkstruct_800B5CB8 *)a0)->unk48 >> 1; - if (*(s16 *)((s32)a0 + 0x70) == 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0x10) { s32 t0; s32 t1; @@ -11495,11 +11495,11 @@ void func_80189AEC(void *a0) { t0 = t0 | t1; t1 = 0x40000000; t0 = t0 | t1; - *(s32 *)((s32)a0 + 0x58) = t0; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u8 *)((s32)a0 + 0x75) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = t0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; } else { - *(u16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; } } @@ -11522,10 +11522,10 @@ void func_80189D38(void *a0) { s32 mode = 2; - if (*(s16 *)((s32)a0 + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { func_80189EAC(a0); { - u16 t = *(u16 *)((s32)a0 + 0x70); + u16 t = CAST_SIGN(u16, (s32)a0, 0x70); if (t & 1) { D_801949DC = D_801949F2[(s16)t >> 1]; } @@ -11533,10 +11533,10 @@ void func_80189D38(void *a0) func_8012C218(a0); func_8002D4C8(0x84C, 0); } else { - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801949C0 | 0x40000000; - *(u16 *)((s32)a0 + 0x5C) = 0xCC00; - *(u16 *)((s32)a0 + 0x84) = 0; - *(s32 *)((s32)a0 + 0x1C) = ((*(s16 *)((s32)a0 + 0x70) - 0x10) << 5) + 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801949C0 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((((Unkstruct_800B5CB8 *)a0)->unk70 - 0x10) << 5) + 0x10; func_8012AD44((s32 *)a0, mode); } } @@ -11558,27 +11558,27 @@ void func_80189DFC(void *a0) { s16 field_0A; // Call handler function from array indexed by value at +0x2 - index = *(u16 *)(a0 + 0x2); + index = CAST_SIGN(u16, a0, 0x2); handler = D_80194A04[index]; handler(a0); // Check if value at +0x0 is zero - if (*(u16 *)a0 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) { return; } // Check if byte at +0x74 is non-zero - if (*(u8 *)(a0 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { // Load s16 from +0xFE as index into D_801949C8 - idx = *(s16 *)(a0 + 0xFE); + idx = ((Unkstruct_800B5CB8 *)a0)->unkFE; value = D_801949C8[idx].value; - field_0A_val = *(u16 *)(a0 + 0xA); + field_0A_val = ((Unkstruct_800B5CB8 *)a0)->unkA; value--; D_80126B62 = field_0A_val + value; } // Check if value at +0xA is >= -0x3FF - field_0A = *(s16 *)(a0 + 0xA); + field_0A = CAST_SIGN(s16, a0, 0xA); if (field_0A >= -0x3FF) { func_8012C218(a0); } @@ -11639,7 +11639,7 @@ void func_80189F6C(void) { extern void (*D_80194A60[])(void); void func_80189FDC(void *a0) { - D_80194A60[*(u16 *)((s32)a0 + 0x2)](); + D_80194A60[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11655,9 +11655,9 @@ extern u8 D_801E5870[]; void func_8018A018(s32 arg0) { func_8018A074((s32)arg0); - func_8001C924(*(void **)((s32)arg0 + 0x20), (void *)&D_801E30C4); + func_8001C924(CAST_SIGN(void *, (s32)arg0, 0x20), (void *)&D_801E30C4); func_8018A42C((void *)arg0, (void *)D_801E5870); - *(s32 *)((s32)arg0 + 0x58) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = 0; func_8002D4C8(0x84C, 0); } @@ -11741,52 +11741,52 @@ void func_8018A1B4(void *a0) { s32 p; v0 = func_8012C1B8(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } - if (*(s16 *)(a0 + 0x70) < 4) { - func_8001C214(v0, D_80194A78[*(s16 *)(a0 + 0x70)]); - func_8018A42C(a0, (void *)&D_801E5810[*(s16 *)(a0 + 0x70) * 12]); + if (((Unkstruct_800B5CB8 *)a0)->unk70 < 4) { + func_8001C214(v0, D_80194A78[((Unkstruct_800B5CB8 *)a0)->unk70]); + func_8018A42C(a0, (void *)&D_801E5810[((Unkstruct_800B5CB8 *)a0)->unk70 * 12]); func_8012B23C((s32)a0); - *(s32 *)(a0 + 0x10) = - -0x60000 - ((*(s16 *)(a0 + 0x6) - *(s16 *)(*(s32 *)(a0 + 0x64) + 0x6)) << 13); - *(s32 *)(a0 + 0x14) = - ((*(s16 *)(a0 + 0xA) - *(s16 *)(*(s32 *)(a0 + 0x64) + 0xA)) << 13) - 0x180000; - *(s32 *)(a0 + 0x18) = - ((*(s16 *)(a0 + 0xE) - *(s16 *)(*(s32 *)(a0 + 0x64) + 0xE)) << 13) - 0x80000; + CAST_WIDTH(s32, a0, 0x10) = + -0x60000 - ((CAST_SIGN(s16, a0, 0x6) - *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x6)) << 13); + ((Unkstruct_800B5CB8 *)a0)->unk14 = + ((CAST_SIGN(s16, a0, 0xA) - *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA)) << 13) - 0x180000; + CAST_WIDTH(s32, a0, 0x18) = + ((CAST_SIGN(s16, a0, 0xE) - *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE)) << 13) - 0x80000; } else { - func_8001C214(v0, D_801948F0[*(s16 *)(a0 + 0x70) & 3]); + func_8001C214(v0, D_801948F0[((Unkstruct_800B5CB8 *)a0)->unk70 & 3]); - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p + 0x1C) = 0x300; *(u16 *)(p + 0x1A) = 0x300; *(u16 *)(p + 0x18) = 0x300; - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p + 0x2C) = *(u16 *)(p + 0x2C) | 0x10; r[0] = (rand() & 0x3F) - 0x20; r[1] = (rand() & 0x3F) - 0x20; r[2] = (rand() & 0x3F) - 0x20; - *(u16 *)(a0 + 0x6) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x6) + (u16)r[0]; - *(u16 *)(a0 + 0xA) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0xA) + (u16)r[1]; - *(u16 *)(a0 + 0xE) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0xE) + (u16)r[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x6) + (u16)r[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA) + (u16)r[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE) + (u16)r[2]; func_8012B23C((s32)a0); - *(s32 *)(a0 + 0x10) = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x10) + (r[0] << 14); - *(s32 *)(a0 + 0x14) = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x14) + (r[1] << 14); - *(s32 *)(a0 + 0x18) = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x18) + (r[2] << 14); + CAST_WIDTH(s32, a0, 0x10) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x10) + (r[0] << 14); + ((Unkstruct_800B5CB8 *)a0)->unk14 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x14) + (r[1] << 14); + CAST_WIDTH(s32, a0, 0x18) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x18) + (r[2] << 14); } - *(s16 *)(a0 + 0x106) = rand() & 0xF0; - *(s16 *)(a0 + 0x108) = rand() & 0xF0; - *(s32 *)(a0 + 0x1C) = *(s16 *)(a0 + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unk108 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk70; func_8012AD50(a0); } @@ -11795,7 +11795,7 @@ void func_8018A1B4(void *a0) { extern void (*D_80194A88[])(void); void func_8018A3F0(void *a0) { - D_80194A88[*(u16 *)((s32)a0 + 0x2)](); + D_80194A88[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11810,7 +11810,7 @@ void func_8018A42C(void *a0, void *a1) { void func_8018A47C(void *a0) { - *(short *)((char *)a0 + 0xfc) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 1; } @@ -11818,7 +11818,7 @@ void func_8018A47C(void *a0) { extern void (*D_80194A90[])(void); void func_8018A488(void *a0) { - D_80194A90[*(u16 *)((s32)a0 + 0x2)](); + D_80194A90[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -11892,11 +11892,11 @@ void func_8018A4C4(void *a0) func_8001C214(v0, D_801948F0[idx]); flags = *(u16 *)(tbl + 0x6) & 0xFFF0; - merged = *(u16 *)(v0 + 0x2C) | 0x10; - *(u16 *)(v0 + 0x1C) = flags; - *(u16 *)(v0 + 0x1A) = flags; - *(u16 *)(v0 + 0x18) = flags; - *(u16 *)(v0 + 0x2C) = merged; + merged = ((Unkstruct_800B5CB8 *)v0)->unk2C | 0x10; + CAST_WIDTH(u16, v0, 0x1C) = flags; + ((Unkstruct_800B5CB8 *)v0)->unk1A = flags; + ((Unkstruct_800B5CB8 *)v0)->unk18 = flags; + ((Unkstruct_800B5CB8 *)v0)->unk2C = merged; *(u16 *)(ent + 0x6) = *(u16 *)(*(s32 *)(ent + 0x64) + 0x6) + *(u16 *)(tbl + 0x0); *(u16 *)(ent + 0xA) = *(u16 *)(*(s32 *)(ent + 0x64) + 0xA) + *(u16 *)(tbl + 0x2); @@ -11912,11 +11912,11 @@ void func_8018A4C4(void *a0) func_8001C214(s0, D_801948F0[rand() & 3]); - merged = *(u16 *)(s0 + 0x2C) | 0x10; - *(u16 *)(s0 + 0x1C) = 0x600; - *(u16 *)(s0 + 0x1A) = 0x600; - *(u16 *)(s0 + 0x18) = 0x600; - *(u16 *)(s0 + 0x2C) = merged; + merged = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + CAST_WIDTH(u16, s0, 0x1C) = 0x600; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x600; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x600; + ((Unkstruct_800B5CB8 *)s0)->unk2C = merged; *(u16 *)(ent + 0x6) = *(u16 *)(*(s32 *)(ent + 0x64) + 0x6) + (rand() & 0x7F) - 0x40; *(u16 *)(ent + 0xA) = *(u16 *)(*(s32 *)(ent + 0x64) + 0xA) + (rand() & 0x7F) - 0x40; @@ -11938,7 +11938,7 @@ void func_8018A4C4(void *a0) extern void (*D_80194B18[])(void); void func_8018A748(void *a0) { - D_80194B18[*(u16 *)((s32)a0 + 0x2)](); + D_80194B18[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -12066,7 +12066,7 @@ void func_8018A8EC(void *a0) extern void (*D_80194B24[])(void); void func_8018AA34(void *a0) { - D_80194B24[*(u16 *)((s32)a0 + 0x2)](); + D_80194B24[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -12119,14 +12119,14 @@ void *func_8018AAE4(void *a0, void *a1) ent = func_8012913C(0x22); if (ent != NULL) { - *(u16 *)((s32)ent + 0x6) = (u16)pos[0]; - *(u16 *)((s32)ent + 0xA) = (u16)pos[1]; - *(u16 *)((s32)ent + 0xE) = (u16)pos[2]; - *(s32 *)((s32)ent + 0x10) = vec[0]; - *(s32 *)((s32)ent + 0x14) = vec[1]; - *(s32 *)((s32)ent + 0x18) = vec[2]; - *(u16 *)((s32)ent + 0x34) = 0x6002; - *(u16 *)((s32)(*(s32 *)((s32)ent + 0x20)) + 0x2C) = 0xC010; + ((Unkstruct_800B5CB8 *)ent)->unk6 = (u16)pos[0]; + ((Unkstruct_800B5CB8 *)ent)->unkA = (u16)pos[1]; + ((Unkstruct_800B5CB8 *)ent)->unkE = (u16)pos[2]; + CAST_WIDTH(s32, (s32)ent, 0x10) = vec[0]; + ((Unkstruct_800B5CB8 *)ent)->unk14 = vec[1]; + CAST_WIDTH(s32, (s32)ent, 0x18) = vec[2]; + ((Unkstruct_800B5CB8 *)ent)->unk34 = 0x6002; + *(u16 *)((s32)(((Unkstruct_800B5CB8 *)ent)->unk20) + 0x2C) = 0xC010; } func_8018AD3C(pos, vec, 0x20); @@ -12175,14 +12175,14 @@ void *func_8018AC50(void *a0, void *a1) ent = func_8012913C(0x22); if (ent != NULL) { - *(u16 *)((s32)ent + 0x6) = (u16)pos[0]; - *(u16 *)((s32)ent + 0xA) = (u16)pos[1]; - *(u16 *)((s32)ent + 0xE) = (u16)pos[2]; - *(s32 *)((s32)ent + 0x10) = vec[0]; - *(s32 *)((s32)ent + 0x14) = vec[1]; - *(s32 *)((s32)ent + 0x18) = vec[2]; - *(u16 *)((s32)ent + 0x34) = 0x6002; - *(u16 *)((s32)(*(s32 *)((s32)ent + 0x20)) + 0x2C) = 0xC010; + ((Unkstruct_800B5CB8 *)ent)->unk6 = (u16)pos[0]; + ((Unkstruct_800B5CB8 *)ent)->unkA = (u16)pos[1]; + ((Unkstruct_800B5CB8 *)ent)->unkE = (u16)pos[2]; + CAST_WIDTH(s32, (s32)ent, 0x10) = vec[0]; + ((Unkstruct_800B5CB8 *)ent)->unk14 = vec[1]; + CAST_WIDTH(s32, (s32)ent, 0x18) = vec[2]; + ((Unkstruct_800B5CB8 *)ent)->unk34 = 0x6002; + *(u16 *)((s32)(((Unkstruct_800B5CB8 *)ent)->unk20) + 0x2C) = 0xC010; } func_8018AD3C(pos, vec, 0x20); @@ -12248,12 +12248,12 @@ void func_8018AEA8(void *a0) s32 v0; s32 rec; - if ((*(s32 *)((s32)a0 + 0x20) = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } - rec = (s32)&D_80194B2C[*(s16 *)((s32)a0 + 0x70) * 8]; + rec = (s32)&D_80194B2C[((Unkstruct_800B5CB8 *)a0)->unk70 * 8]; func_8001C214(v0, D_801948F0[*(u16 *)(rec + 0x6) & 7]); @@ -12265,21 +12265,21 @@ void func_8018AEA8(void *a0) *(u16 *)(v0 + 0x2C) |= 0x10; } - *(u16 *)((s32)a0 + 0x6) = *(u16 *)(rec + 0x0) - + *(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x68); - *(u16 *)((s32)a0 + 0xA) = *(u16 *)(rec + 0x2) - + *(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x6C); - *(u16 *)((s32)a0 + 0xE) = *(u16 *)(rec + 0x4) - + *(s32 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk6 = *(u16 *)(rec + 0x0) + + *(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x68); + ((Unkstruct_800B5CB8 *)a0)->unkA = *(u16 *)(rec + 0x2) + + *(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x6C); + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16 *)(rec + 0x4) + + *(s32 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x70); func_8012B21C(a0); - *(s32 *)((s32)a0 + 0x10) = ((*(s16 *)(rec + 0x0) + (rand() & 0x1F)) - 0x10) << 14; - *(s32 *)((s32)a0 + 0x14) = (*(s16 *)(rec + 0x2) - 0x48) << 14; - *(s32 *)((s32)a0 + 0x18) = ((rand() & 0xF) - 8) << 14; - *(u16 *)((s32)a0 + 0x106) = rand() & 0xF0; - *(u16 *)((s32)a0 + 0x108) = rand() & 0xF0; - *(s32 *)((s32)a0 + 0x1C) = *(s16 *)((s32)a0 + 0x70); + CAST_WIDTH(s32, (s32)a0, 0x10) = ((*(s16 *)(rec + 0x0) + (rand() & 0x1F)) - 0x10) << 14; + ((Unkstruct_800B5CB8 *)a0)->unk14 = (*(s16 *)(rec + 0x2) - 0x48) << 14; + CAST_WIDTH(s32, (s32)a0, 0x18) = ((rand() & 0xF) - 8) << 14; + ((Unkstruct_800B5CB8 *)a0)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unk108 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk70; func_8012AD50(a0); } @@ -12288,7 +12288,7 @@ void func_8018AEA8(void *a0) extern void (*D_80194B5C[])(void); void func_8018B024(void *a0) { - D_80194B5C[*(u16 *)((s32)a0 + 0x2)](); + D_80194B5C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -12659,14 +12659,14 @@ s32 func_8018B4E0(s32 a0) { if (s0) { func_8001CD9C(s0, (void *)aEFD80_8018B4E0); - *(u16 *)(s0 + 0x18) = 0xC00; - *(u16 *)(s0 + 0x1A) = 0x1C00; - *(u16 *)(s0 + 0x2C) = 0xC040; - *(s32 *)(s0 + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0xC00; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x1C00; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC040; + CAST_WIDTH(s32, s0, 0x4) |= 0x50000000; - *(s16 *)(s0 + 0x8) = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x68); - *(s16 *)(s0 + 0xA) = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x6C); - *(s16 *)(s0 + 0xC) = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x70); + ((Unkstruct_800B5CB8 *)s0)->unk8 = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x68); + ((Unkstruct_800B5CB8 *)s0)->unkA = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x6C); + ((Unkstruct_800B5CB8 *)s0)->unkC = *(s32 *)(*(s32 *)(s2 + 0x20) + 0x70); } return s0; @@ -12714,13 +12714,13 @@ void func_8018B5E4(s32 a0) { obj = func_8012C194(); if (obj != 0) { func_8001CD9C(obj, (void *)aEFD80_8018B5E4); - *(u16 *)(obj + 0x2C) = 0xC040; - *(u32 *)(obj + 0x4) |= 0x50000000; - *(u16 *)(obj + 0x18) = 0x1000; - *(u16 *)(obj + 0x1A) = 0x1000; - *(u16 *)(obj + 0x8) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x68); - *(u16 *)(obj + 0xA) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x6C); - *(u16 *)(obj + 0xC) = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x70); + ((Unkstruct_800B5CB8 *)obj)->unk2C = 0xC040; + CAST_WIDTH(u32, obj, 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1000; + ((Unkstruct_800B5CB8 *)obj)->unk8 = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x68); + ((Unkstruct_800B5CB8 *)obj)->unkA = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x6C); + ((Unkstruct_800B5CB8 *)obj)->unkC = *(s32 *)(*(s32 *)(s1 + 0x20) + 0x70); } *(s32 *)(s1 + 0xCC) = obj; } @@ -12854,8 +12854,8 @@ s32 func_8018B948(void) { ptr = D_801EFEA0; func_8001CD9C(obj, ptr); - *(u16 *)(obj + 0x2C) = 0xC010; - *(u32 *)(obj + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk2C = 0xC010; + CAST_WIDTH(u32, obj, 0x4) |= 0x50000000; func_800233CC((void *)ptr, 0x40); @@ -13059,7 +13059,7 @@ void func_8018BD18(s32 a0) extern void (*D_80194C0C[])(void); void func_8018BDCC(void *a0) { - D_80194C0C[*(u16 *)((s32)a0 + 0x2)](); + D_80194C0C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -13080,22 +13080,22 @@ void func_8018BE08(void *a0) { s32 v0; v0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; } func_8001C214(v0, (s32)&D_801EA9FC); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(s16 *)((s32)a0 + 0xA) = 0x30; - *(s16 *)((s32)a0 + 0xE) = -0x28; - *(s16 *)((s32)a0 + 0x6) = 0; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) = 0xC0; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = 0x400; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0x400; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) = 0x400; - func_8001C1E4(*(void **)((s32)a0 + 0x20), - *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20)); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0x30; + CAST_ALIAS(s16, (s32)a0, 0xE) = -0x28; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 = 0xC0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A = 0x400; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x400; + func_8001C1E4(CAST_SIGN(void *, (s32)a0, 0x20), + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20)); func_801875D8(&D_801EFD50, 0x160, 0x18F); func_80187698(a0); func_8012AD50(a0); @@ -13121,26 +13121,26 @@ void func_8018BEEC(void *a0) func_8012B2CC((s32)a0); - if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) < 0x1000) { - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) += 0x400; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) += 0x400; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) += 0x400; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) < 0x1000) { + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x18) += 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk1A += 0x400; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) += 0x400; return; } - func_8001C924(*(void **)((s32)a0 + 0x20), (void *)&D_801E9634); + func_8001C924(CAST_SIGN(void *, (s32)a0, 0x20), (void *)&D_801E9634); s0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; if (s0 != 0) { func_8001C214(s0, (s32)&D_801EA2A4); - *(u16 *)(s0 + 0x2C) |= 0x10; - *(s32 *)(s0 + 0x4) |= 0x50000000; - *(u16 *)(s0 + 0x8) = *(u16 *)((s32)a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)((s32)a0 + 0xA); - *(u16 *)(s0 + 0xC) = *(u16 *)((s32)a0 + 0xE); - *(u16 *)(s0 + 0x10) = *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10); - func_8001C1E4((void *)s0, *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20)); + ((Unkstruct_800B5CB8 *)s0)->unk2C |= 0x10; + CAST_WIDTH(s32, s0, 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)s0)->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk10 = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10; + func_8001C1E4((void *)s0, *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20)); } func_80187B40(a0); @@ -13157,7 +13157,7 @@ void func_8018C024(void *a0) { s32 v1; - v1 = *(s32 *)((s32)a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v1 + 0x14) = *(u16 *)(v1 + 0x14) + 0x100; func_8012B414((int)a0); func_80187D68(a0); @@ -13182,12 +13182,12 @@ void func_8018C07C(s32 arg0) { u8 *p; func_8012931C((struct vec *)arg0); - v = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18); + v = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18); if (v >= 0x400) { - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = v - 0x400; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) - 0x400; - if ((*(u16 *)(arg0 + 0x2C) & 1) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = v - 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A - 0x400; + if ((((Unkstruct_800B5CB8 *)arg0)->unk2C & 1) == 0) { p = &D_801EFE60; *p -= 8; D_801EFE61 -= 0x20; @@ -13237,7 +13237,7 @@ void func_8018C14C(void *a0) u16 out[4]; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -13245,15 +13245,15 @@ void func_8018C14C(void *a0) func_8001C214(v0, (s32)&D_801E81A4); - v1 = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(v1 + 0x2C) |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk2C |= 0x10; - func_8004914C((void *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34)); - func_800491AC((void *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x34)); + func_8004914C((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34)); + func_800491AC((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x34)); RotTransSV(&D_80194800, v, out); - *(s16 *)((s32)a0 + 0x6) = v[0]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v[0]; { register s32 zr __asm__("$0"); // !FAKE: pin $0 ent — keeps ent a second pseudo; a plain copy is merged into the parameter by cse2 (make_regs_eqv cse.c:846-862) and the stores revert to $s0 (P36 S104 e30 minimum-lever) s32 ent = (s32)a0 + zr; @@ -13297,21 +13297,21 @@ void func_8018C260(s32 a0) { s32 obj; u16 v0; - obj = *(s32 *)(a0 + 0x20); + obj = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = *(u16 *)(obj + 0x14); *(u16 *)(obj + 0x14) = v0 + 0x100; func_8012AD80(a0); func_801888B8((u8 *)a0); - sp10[0] = *(u16 *)(a0 + 0x6); - sp10[1] = *(u16 *)(a0 + 0xA); - sp10[2] = *(s16 *)(a0 + 0xE) + 0x20; + sp10[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10[2] = CAST_SIGN(s16, a0, 0xE) + 0x20; func_8018AD3C(sp10, NULL, 8); func_8018AD3C(sp10, NULL, 8); - if (*(s16 *)(a0 + 0xA) >= -0x780) { + if (CAST_SIGN(s16, a0, 0xA) >= -0x780) { func_801886C4((s32 *)a0); } else { func_80188A30(a0); @@ -13352,15 +13352,15 @@ void func_8018C378(void *arg0) func_8012C218(arg0); return; } - if (*(s32 *)((s32)arg0 + 0x1C) < 0x18) { - *(s16 *)((s32)arg0 + 0x5C) = 0; - if (*(s32 *)((s32)arg0 + 0x1C) & 1) { - *(s32 *)(*(s32 *)((s32)arg0 + 0x20) + 4) |= 0x80000000; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x18) { + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)((s32)arg0 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) &= 0x7FFFFFFF; } } else { - if (*(u8 *)((s32)arg0 + 0x74)) { + if (((Unkstruct_800B5CB8 *)arg0)->unk74) { func_80133298((s32 *)arg0); ((s32 (*)())func_8018985C)(arg0, &D_80194818); } @@ -13449,7 +13449,7 @@ void func_8018C58C(s32 a0) { s0 = a0; - v1 = *(s16 *)(s0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk70; if (v1 < 2) { if (v1 >= 0) { return; @@ -13458,25 +13458,25 @@ void func_8018C58C(s32 a0) { func_8012AD80(a0); - ptr = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(s0 + 0x106); + ptr = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = CAST_SIGN(u16, s0, 0x106); v0 = *(u16 *)(ptr + 0x10); v0 = v0 + v1; *(u16 *)(ptr + 0x10) = (u16)v0; - ptr = *(s32 *)(s0 + 0x20); - v1 = *(u16 *)(s0 + 0x108); + ptr = ((Unkstruct_800B5CB8 *)s0)->unk20; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk108; v0 = *(u16 *)(ptr + 0x14); v0 = v0 + v1; *(u16 *)(ptr + 0x14) = (u16)v0; - if ((*(s32 *)(s0 + 0x1C) & 3) == 0) { + if ((((Unkstruct_800B5CB8 *)s0)->unk1C & 3) == 0) { func_8018A7E8(a0); } - v0 = *(s32 *)(s0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk1C; v0 = v0 + 1; - *(s32 *)(s0 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = v0; if (func_801893D4(a0) != 0) { func_80189108(a0); @@ -13496,22 +13496,22 @@ extern void func_8012C218(void *a0); void func_8018C64C(s32 param_1) { - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: func_8012AD80(param_1); func_80189478(param_1); if (func_801893D4(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; case 1: if (((s32 (*)(s32))func_8012BEE8)((s32)param_1) != 0) { func_8012C218((void *)param_1); - } else if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } break; } @@ -13546,14 +13546,14 @@ void func_8018C764(s32 arg0) { *(u8 *)(s0 + 0xB) = 1; *(Blk4_md_SC07_003 *)(s0 + 0x0) = D_801ED994; *(Blk4_md_SC07_003 *)(s0 + 0x4) = D_801ED9A8; - func_8001CD50(*(s32 *)(arg0 + 0x20), s0); - *(s32 *)(arg0 + 0x34) = s0; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 0x4) = - *(u32 *)(*(s32 *)(arg0 + 0x20) + 0x4) | 0x50000000; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = 0xC00; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = 0x400; - *(u16 *)(arg0 + 0x2) = *(u16 *)(arg0 + 0x2) + 1; + func_8001CD50(((Unkstruct_800B5CB8 *)arg0)->unk20, s0); + CAST_WIDTH(s32, arg0, 0x34) = s0; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x4) = + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x4) | 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = 0xC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x400; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 0x2) + 1; } @@ -13561,15 +13561,15 @@ void func_8018C838(s32 arg0) { s16 v; u8 *p; - p = (u8 *)*(s32 *)(arg0 + 0x34); - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) += 0xA0; - v = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18); + p = (u8 *)CAST_WIDTH(s32, arg0, 0x34); + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 += 0xA0; + v = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18); if (v >= 0x1200) { p[0xB] = 0; func_801292C8((u8 *)arg0); } else { - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = v; - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x1E) += 0x20; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = v; + *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1E) += 0x20; p[5] -= 5; p[6] -= 8; } @@ -13587,12 +13587,12 @@ extern void func_80189EFC(s32 a0); void func_8018C8D4(void *a0) { if (((s32 (*)(s32))func_8012BEE8)((s32)a0) != 0) { - if (*(s16 *)((s32)a0 + 0x84) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk84 == 0) { func_8002D4C8(0x84C, 0); - *(s16 *)((s32)a0 + 0x84) = *(u16 *)((s32)a0 + 0x84) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk84 = CAST_SIGN(u16, (s32)a0, 0x84) + 1; } func_8012AD80((s32)a0); - if (*(s16 *)((s32)a0 + 0xFE) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { func_80189EFC((s32)a0); } } @@ -13615,7 +13615,7 @@ void func_8018C94C(void *a0) { s32 t0; s32 t1; - do { *(s32 *)(a0 + 0x20) = v0 = func_8012C1B8(); } while (0); + do { ((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = func_8012C1B8(); } while (0); if (v0 == 0) { func_8012CAE4(a0); @@ -13626,16 +13626,16 @@ void func_8018C94C(void *a0) { t0 = (s32)D_80194A50; t1 = 0x40000000; t0 = t0 | t1; - *(s32 *)(a0 + 0x58) = t0; - *(u16 *)(a0 + 0x5C) = 0xCC00; - *(u8 *)(a0 + 0x75) = 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = t0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0x2; - t1 = *(s32 *)(a0 + 0x20); + t1 = ((Unkstruct_800B5CB8 *)a0)->unk20; t0 = *(u16 *)(t1 + 0x2C); t0 = t0 | 0x10; *(u16 *)(t1 + 0x2C) = t0; - t1 = *(s32 *)(a0 + 0x20); + t1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(t1 + 0x1C) = 0x1100; *(u16 *)(t1 + 0x1A) = 0x1100; *(u16 *)(t1 + 0x18) = 0x1100; @@ -13660,23 +13660,23 @@ void func_8018CA04(s32 arg0) { u16 val; // First update - a0 = *(s32 *)(arg0 + 0x20); - *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (*(u16 *)(arg0 + 0x106)); + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (CAST_SIGN(u16, arg0, 0x106)); // Second update - a1 = *(s32 *)(arg0 + 0x20); - val = *(u16 *)(arg0 + 0x108); + a1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + val = ((Unkstruct_800B5CB8 *)arg0)->unk108; *(u16 *)(a1 + 0x14) = *(u16 *)(a1 + 0x14) + val; func_8012AD80(arg0); - if ((*(s32 *)(arg0 + 0x1C) & 0x3) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 0x3) == 0) { func_8018A7E8(arg0); } - *(s32 *)(arg0 + 0x1C) = *(s32 *)(arg0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; - if (*(s16 *)(arg0 + 0xA) >= -0x3FF) { + if (CAST_SIGN(s16, arg0, 0xA) >= -0x3FF) { func_8012C218((void *)arg0); } } @@ -13694,7 +13694,7 @@ void func_8018CA98(void *a0) s32 v0; v0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); @@ -13747,24 +13747,24 @@ void func_8018CB68(s32 arg0) { s32 a1; u16 val; - a0 = *(s32 *)(arg0 + 0x20); - *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (*(u16 *)(arg0 + 0x106)); + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (CAST_SIGN(u16, arg0, 0x106)); - a1 = *(s32 *)(arg0 + 0x20); - val = *(u16 *)(arg0 + 0x108); + a1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + val = ((Unkstruct_800B5CB8 *)arg0)->unk108; *(u16 *)(a1 + 0x14) = *(u16 *)(a1 + 0x14) + val; func_8012AD80(arg0); - if (*(s16 *)(arg0 + 0x70) < 0x10) { - if (*(s32 *)(arg0 + 0x1C) & 1) { + if (((Unkstruct_800B5CB8 *)arg0)->unk70 < 0x10) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C & 1) { func_8018A7E8(arg0); } - *(s32 *)(arg0 + 0x1C) = *(s32 *)(arg0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; } - if (*(s16 *)(arg0 + 0xA) >= -0x3FF) { + if (CAST_SIGN(s16, arg0, 0xA) >= -0x3FF) { func_8012C218((void *)arg0); } } @@ -13786,20 +13786,20 @@ void func_8018CC24(s32 arg0) { func_8012AD80(arg0); - a0 = *(s32 *)(arg0 + 0x20); - *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (*(u16 *)(arg0 + 0x106)); + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (CAST_SIGN(u16, arg0, 0x106)); - a1 = *(s32 *)(arg0 + 0x20); - val = *(u16 *)(arg0 + 0x108); + a1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + val = ((Unkstruct_800B5CB8 *)arg0)->unk108; *(u16 *)(a1 + 0x14) = *(u16 *)(a1 + 0x14) + val; - if ((*(s32 *)(arg0 + 0x1C) & 0x3) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 0x3) == 0) { func_8018A7E8(arg0); } - *(s32 *)(arg0 + 0x1C) = *(s32 *)(arg0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; - if (*(s16 *)(arg0 + 0xA) >= -0x3FF) { + if (CAST_SIGN(s16, arg0, 0xA) >= -0x3FF) { func_8012C218((void *)arg0); } } @@ -13824,20 +13824,20 @@ void func_8018CCB8(s32 arg0) { func_8012AD80(arg0); - a0 = *(s32 *)(arg0 + 0x20); - *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (*(u16 *)(arg0 + 0x106)); + a0 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + *(u16 *)(a0 + 0x10) = *(u16 *)(a0 + 0x10) + (CAST_SIGN(u16, arg0, 0x106)); - a1 = *(s32 *)(arg0 + 0x20); - val = *(u16 *)(arg0 + 0x108); + a1 = ((Unkstruct_800B5CB8 *)arg0)->unk20; + val = ((Unkstruct_800B5CB8 *)arg0)->unk108; *(u16 *)(a1 + 0x14) = *(u16 *)(a1 + 0x14) + val; - if ((*(s32 *)(arg0 + 0x1C) & 0x3) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 0x3) == 0) { func_8018B0B0((void *)arg0, &sp10, (void *)0, 8); } - *(s32 *)(arg0 + 0x1C) = *(s32 *)(arg0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; - if (*(s16 *)(arg0 + 0xA) >= -0x77F) { + if (CAST_SIGN(s16, arg0, 0xA) >= -0x77F) { func_8012C218((void *)arg0); } } @@ -13856,17 +13856,17 @@ void func_8018CD8C(void *a0) { s32 *v1, *a1; v0 = func_8012C1B8(); - *(s32 *)((char *)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); } else { func_8001C214(v0, (s32)&D_801EC144); - v1 = *(s32 **)((char *)a0 + 0x20); + v1 = CAST_SIGN(s32 *, (char *)a0, 0x20); *(s16 *)((char *)v1 + 0x12) = 0x600; - a1 = *(s32 **)((char *)a0 + 0x20); - *(s32 *)((char *)a0 + 0x1C) = 0x20; - *(s32 *)((char *)a1 + 0x4) |= 0x80000000; + a1 = CAST_SIGN(s32 *, (char *)a0, 0x20); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + CAST_WIDTH(s32, (char *)a1, 0x4) |= 0x80000000; func_8012AD50(a0); } } @@ -13890,26 +13890,26 @@ void func_8018CE0C(void *a0) return; } - *(s16 *)((u8 *)a0 + 0x6) = t0; - *(s16 *)((u8 *)a0 + 0xA) = D_80126B62 - 0xE0; - *(s16 *)((u8 *)a0 + 0xE) = D_80126B66; + CAST_ALIAS(s16, (u8 *)a0, 0x6) = t0; + CAST_ALIAS(s16, (u8 *)a0, 0xA) = D_80126B62 - 0xE0; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_80126B66; { - s32 *obj0 = *(s32 **)((u8 *)a0 + 0x20); + s32 *obj0 = CAST_SIGN(s32 *, (u8 *)a0, 0x20); *(u16 *)((u8 *)obj0 + 0x10) = *(u16 *)((u8 *)obj0 + 0x10) - 0x40; } if (((s32 (*)(s32))func_8012BEE8)((s32)a0) != 0) { - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - s32 *obj1 = *(s32 **)((u8 *)a0 + 0x20); - *(s32 *)((u8 *)obj1 + 0x4) &= 0x7FFFFFFF; - *(s32 *)((u8 *)a0 + 0x1C) = 0xC; - *(u16 *)((u8 *)a0 + 0x34) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + s32 *obj1 = CAST_SIGN(s32 *, (u8 *)a0, 0x20); + CAST_WIDTH(s32, (u8 *)obj1, 0x4) &= 0x7FFFFFFF; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } else { - s32 *obj2 = *(s32 **)((u8 *)a0 + 0x20); - *(s32 *)((u8 *)obj2 + 0x4) |= 0x80000000; - *(s32 *)((u8 *)a0 + 0x1C) = 4; - *(u16 *)((u8 *)a0 + 0x34) = 0; + s32 *obj2 = CAST_SIGN(s32 *, (u8 *)a0, 0x20); + CAST_WIDTH(s32, (u8 *)obj2, 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } } } @@ -13955,7 +13955,7 @@ void func_8018CF2C(void) extern void (*D_80194CDC[])(void); void func_8018CFF4(void *a0) { - D_80194CDC[*(u16 *)((s32)a0 + 0x2)](); + D_80194CDC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -13963,7 +13963,7 @@ void func_8018CFF4(void *a0) { extern void (*D_80194CE4[])(void); void func_8018D030(void *a0) { - D_80194CE4[*(u16 *)((s32)a0 + 0x2)](); + D_80194CE4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -14098,7 +14098,7 @@ void func_8018D1F0(void *a0) { extern void (*D_80194D20[])(void); void func_8018D2DC(void *a0) { - D_80194D20[*(u16 *)((s32)a0 + 0x2)](); + D_80194D20[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -14145,22 +14145,22 @@ extern s32 func_80146E98(s32 a0); void func_8018D3FC(s32 *a0) { - s32 *s1 = *(s32 **)((s32)a0 + 0x20); + s32 *s1 = CAST_SIGN(s32 *, (s32)a0, 0x20); s32 v0; s32 v1; s32 tmp0; if (func_80146E98((s32)a0) != 0) { v1 = 0x7FFFFFFF; - tmp0 = *(s32 *)((s32)s1 + 0x4); + tmp0 = CAST_WIDTH(s32, (s32)s1, 0x4); v0 = tmp0; v0 = v0 & v1; - *(s32 *)((s32)s1 + 0x4) = v0; + CAST_WIDTH(s32, (s32)s1, 0x4) = v0; func_80146E90(a0, 0x10); - v0 = *(u16 *)((s32)a0 + 0x2); + v0 = ((Unkstruct_80126B58 *)a0)->unk2; v0 = v0 + 1; - *(u16 *)((s32)a0 + 0x2) = v0; + ((Unkstruct_80126B58 *)a0)->unk2 = v0; } } @@ -14200,7 +14200,7 @@ void func_8018D468(int param_1) int wid; int col; - p = *(int *)(param_1 + 0x20); + p = ((Unkstruct_80126B58 *)param_1)->unk20; ang = *(unsigned short *)(param_1 + 0x2c) + 0x40; *(unsigned short *)(param_1 + 0x2c) = ang; v.vz = func_8004787C(ang) / 256; @@ -14306,7 +14306,7 @@ void func_8018D66C(s32 a0) { s32 s0 = a0; if (((s32 (*)(s32))func_8012BEE8)((s32)s0) != 0) { - func_8002D4C8(*(u16 *)(D_80194D4C + *(s16 *)(s0 + 0xFC) * 8), 0); + func_8002D4C8(*(u16 *)(D_80194D4C + ((Unkstruct_800B5CB8 *)s0)->unkFC * 8), 0); func_8012AD50((void *)s0); } } @@ -14538,12 +14538,12 @@ void func_8018DBF0(s32 a0) { a0r = s2; a1r = 0x80; __asm__ volatile("addiu %0,$0,3" : "=r"(v0)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B t3_tus1) - *(s16 *)(s0 + 0x2C) = v0; - v0 = *(s32 *)(s0 + 4); - *(s16 *)(s0 + 0x1A) = 0; - *(s16 *)(s0 + 0x18) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk2C = v0; + v0 = CAST_WIDTH(s32, s0, 4); + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0; v0 |= 0x50000000; - *(s32 *)(s0 + 4) = v0; + CAST_WIDTH(s32, s0, 4) = v0; func_800233CC((void *)a0r, (unsigned short)a1r); D_801F12CC = 0; @@ -14562,7 +14562,7 @@ void func_8018DC9C(s32 a0) { u8 *s0; u16 val16; - s0 = *(u8 **)(a0 + 0x20); + s0 = CAST_SIGN(u8 *, a0, 0x20); func_8018DFDC(); val16 = *(u16 *)(s0 + 0x18); @@ -14595,7 +14595,7 @@ void func_8018DD24(s32 a0) { func_8018DFDC(); if (((s32 (*)(s32))func_8012BEE8)((s32)s0) != 0) { - func_8002D4C8(*(u16 *)(D_80194D50 + *(s16 *)(s0 + 0xFC) * 8), 0); + func_8002D4C8(*(u16 *)(D_80194D50 + ((Unkstruct_800B5CB8 *)s0)->unkFC * 8), 0); func_8012AD50((void *)s0); } } @@ -14611,7 +14611,7 @@ void func_8018DD84(s32 a0) { u8 *s0; u16 val16; - s0 = *(u8 **)(a0 + 0x20); + s0 = CAST_SIGN(u8 *, a0, 0x20); func_8018DFDC(); val16 = *(u16 *)(s0 + 0x18); @@ -14657,7 +14657,7 @@ void func_8018DE0C(s32 a0) { func_8012C098((void *)v0); } - if (*(s16 *)(s0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkFC == 0) { func_8014708C((void *)s1); func_801472C8((struct S *)s1); } else { @@ -14700,7 +14700,7 @@ void func_8018DEF4(s32 a0) { u8 *s0; u16 val16; - s0 = *(u8 **)(a0 + 0x20); + s0 = CAST_SIGN(u8 *, a0, 0x20); func_8018DFDC(); val16 = *(u16 *)(s0 + 0x1A); @@ -14725,7 +14725,7 @@ void func_8018DF6C(s32 a0) { u8 *s0; u16 val16; - s0 = *(u8 **)(a0 + 0x20); + s0 = CAST_SIGN(u8 *, a0, 0x20); func_8018DFDC(); val16 = *(u16 *)(s0 + 0x18); @@ -15707,17 +15707,17 @@ extern void func_8012931C(struct vec *a0); extern void func_801292C8(u8 *a0); void func_8018EEB0(void *a0) { - if (*(u16 *)((s32)a0 + 0x2) == 0) { + if (CAST_SIGN(u16, (s32)a0, 0x2) == 0) { func_8018EFB0(a0); return; } - if (*(s32 *)((s32)a0 + 0x1C) != 0) { - *(s32 *)((s32)a0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; func_8012931C((struct vec *)a0); if (*(s16 *)((s32)a0 + 0x32) == 0) { - u16 t = *(u16 *)((s32)a0 + 0xA) + 0x1000; + u16 t = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x1000; if (t >= 0x1001) { func_801292C8((u8 *)a0); return; @@ -15728,12 +15728,12 @@ void func_8018EEB0(void *a0) { return; } - *(s32 *)((s32)a0 + 0x14) += *(s32 *)((s32)a0 + 0x34); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += *(u16 *)((s32)a0 + 0x30); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x8) = *(u16 *)((s32)a0 + 0x6); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xA) = *(u16 *)((s32)a0 + 0xA); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xC) = *(u16 *)((s32)a0 + 0xE); - func_8018F02C((void *)*(s32 *)((s32)a0 + 0x20)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += CAST_WIDTH(s32, (s32)a0, 0x34); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_WIDTH(u16, (s32)a0, 0x30); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; + func_8018F02C((void *)((Unkstruct_800B5CB8 *)a0)->unk20); } @@ -16169,7 +16169,7 @@ void func_8018F734(s16 *arg0) extern void (*D_801EBE38[])(void); void func_8018F984(void *a0) { - D_801EBE38[*(u16 *)((s32)a0 + 0x2)](); + D_801EBE38[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -16209,8 +16209,8 @@ void func_8018F9C0(void *a0) { idx = *(s32 *)((s32)a0 + 0x2C); func_8001CBDC((s32)s1, (s32)D_801EBD28, D_801EBCC4[idx][0], D_801EBCC4[idx][1]); uVar1 = D_801EBCF0[*(s32 *)((s32)a0 + 0x2C)]; - *(s16 *)((s32)s1 + 0x2C) = 3; - *(u8 *)((s32)s1 + 0x27) = uVar1; + ((Unkstruct_800B5CB8 *)s1)->unk2C = 3; + ((Unkstruct_800B5CB8 *)s1)->unk27 = uVar1; *(s16 *)((s32)a0 + 0x6) = 0; *(s16 *)((s32)a0 + 0xA) = 0x50; @@ -16308,7 +16308,7 @@ void func_8018FC84(void) { extern void (*D_801EBE74[])(void); void func_8018FCC8(void *a0) { - D_801EBE74[*(u16 *)((s32)a0 + 0x2)](); + D_801EBE74[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -16333,18 +16333,18 @@ void func_8018FD38(s32 arg0) { u8 *s0; u8 *s1; - func_80190264(s2, *(s16 *)(s2 + 0xFE)); + func_80190264(s2, ((Unkstruct_800B5CB8 *)s2)->unkFE); s0 = &D_801EBE44[0]; s1 = s0 + 8; - func_8018FE20(s2, s0, s1, *(s16 *)(s2 + 0xFC)); + func_8018FE20(s2, s0, s1, ((Unkstruct_800B5CB8 *)s2)->unkFC); s0 += 0x10; - *(u16 *)(s2 + 0xFE) += 0xC; - func_80190264(s2, *(s16 *)(s2 + 0x100)); - func_8018FE20(s2, s0, s0 + 8, *(s16 *)(s2 + 0xFC)); - *(u16 *)(s2 + 0x100) += 0xC; - func_80190264(s2, *(s16 *)(s2 + 0x102)); - func_8018FE20(s2, s1 + 0x18, s1 + 0x20, *(s16 *)(s2 + 0xFC)); - *(u16 *)(s2 + 0x102) += 0xC; + CAST_SIGN(u16, s2, 0xFE) += 0xC; + func_80190264(s2, ((Unkstruct_800B5CB8 *)s2)->unk100); + func_8018FE20(s2, s0, s0 + 8, ((Unkstruct_800B5CB8 *)s2)->unkFC); + CAST_SIGN(u16, s2, 0x100) += 0xC; + func_80190264(s2, ((Unkstruct_800B5CB8 *)s2)->unk102); + func_8018FE20(s2, s1 + 0x18, s1 + 0x20, ((Unkstruct_800B5CB8 *)s2)->unkFC); + CAST_SIGN(u16, s2, 0x102) += 0xC; if (*(s16 *)&D_80126B66 >= 0x901) { func_8012C098((void *)s2); diff --git a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c index 04411972cd..a13c74160c 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c @@ -2621,34 +2621,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801E7A74); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801E7A68+0xC == &D_801E7A74; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2659,9 +2659,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2670,11 +2670,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801E7A74); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801E7A68 + 0xC)) < 0x101) { @@ -3299,7 +3299,7 @@ void func_8017BE60(void *a0) { extern void (*D_80190C94[])(void); void func_8017BE9C(void *a0) { - D_80190C94[*(u16 *)((s32)a0 + 0x2)](); + D_80190C94[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3307,7 +3307,7 @@ void func_8017BE9C(void *a0) { extern void (*D_80190C9C[])(void); void func_8017BED8(void *a0) { - D_80190C9C[*(u16 *)((s32)a0 + 0x2)](); + D_80190C9C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3315,7 +3315,7 @@ void func_8017BED8(void *a0) { extern void (*D_80190CA4[])(void); void func_8017BF14(void *a0) { - D_80190CA4[*(u16 *)((s32)a0 + 0x2)](); + D_80190CA4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3427,11 +3427,11 @@ void func_8017C100(s32 param_1) } else { func_8001CC3C(s0, (s32)D_80190C00, 0x3c0, 0xa0); } - *(u8 *)(s0 + 0x27) = 0xfc; - *(u16 *)(s0 + 0x1a) = 0x3c00; - *(u16 *)(s0 + 0x18) = 0x3c00; - *(u32 *)(s0 + 0x4) |= 0x01000000; - *(u32 *)(s0 + 0x34) = *(u32 *)(param_1 + 0x30); + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0xfc; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x3c00; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x3c00; + CAST_WIDTH(u32, s0, 0x4) |= 0x01000000; + CAST_WIDTH(u32, s0, 0x34) = *(u32 *)(param_1 + 0x30); (*(u16 *)(param_1 + 0x2))++; } @@ -3483,12 +3483,12 @@ void func_8017C1EC(s32 a0) ((void (*)(s32, s32))func_8012A828)(a0, (s32)D_8018D540); *(s32 *)(a0 + 0x20) = s0; - *(s16 *)(s0 + 0x1A) = 0x3C00; - *(s16 *)(s0 + 0x18) = 0x3C00; - *(s16 *)(s0 + 0x10) = -0x20; - *(s16 *)(s0 + 0x12) = -1; - *(s32 *)(s0 + 0x4) |= 0x8040; - *(u16 *)(s0 + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x3C00; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x3C00; + CAST_ALIAS(s16, s0, 0x10) = -0x20; + CAST_ALIAS(s16, s0, 0x12) = -1; + CAST_WIDTH(s32, s0, 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)s0)->unk2C |= 0x10; ((void (*)(s32))func_8012B260)(a0); @@ -3528,7 +3528,7 @@ void func_8017C2B0(s32 a0) extern void (*D_80190CC4[])(void); void func_8017C338(void *a0) { - D_80190CC4[*(u16 *)((s32)a0 + 0x2)](); + D_80190CC4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3652,7 +3652,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_80190CE4[])(void); void func_8017D5F0(void *a0) { - D_80190CE4[*(u16 *)((s32)a0 + 0x2)](); + D_80190CE4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4295,13 +4295,13 @@ void func_8017E628(void *a0) extern void func_80184ED4(s32, s32, s32, s32); extern void func_8017E5A0(void *arg0); - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80185BE0(5) == 0) { return; } func_80184ED4((s32)a0, (s32)D_801B68D4, 0, 0x70); - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; case 1: func_80185BE0(5); @@ -4309,18 +4309,18 @@ void func_8017E628(void *a0) return; } func_80184ED4((s32)a0, (s32)D_801B68E0, 1, 0x70); - *(u16 *)((s32)a0 + 0x34) = 2; - *(u16 *)(*(s32 *)((s32)a0 + 0xCC) + 0x108) = 0; - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unk108 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; return; case 2: if (func_80184FA4((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } return; case 3: if (func_80185BE0(5) != 0) { - *(u16 *)((s32)a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_80184ED4((s32)a0, (s32)D_801B68D4, 1, 0x70); } return; @@ -4338,7 +4338,7 @@ void func_8017E628(void *a0) extern void (*D_801912A8[])(void); void func_8017E760(void *a0) { - D_801912A8[*(u16 *)((s32)a0 + 0x2)](); + D_801912A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4346,8 +4346,8 @@ void func_8017E760(void *a0) { extern void func_8012A828(s32 *a0, s32 a1); extern short D_801B9B50; void func_8017E79C(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x2; - *(short *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828((s32 *)a0, (s32)&D_801B9B50); } @@ -4365,7 +4365,7 @@ void func_8017E7CC(int param_1) extern void (*D_801912C8[])(void); void func_8017E810(void *a0) { - D_801912C8[*(u16 *)((s32)a0 + 0x2)](); + D_801912C8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4395,8 +4395,8 @@ extern short D_801B99A8; void func_8017E8A4(void *a0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 5; - *(short *)((char *)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_8012A828((s32 *)a0, (s32)&D_801B99A8); } } @@ -4427,7 +4427,7 @@ extern void func_80029514(s32); void func_8017E950() { s32 v1 = func_8012E544(0x22B); if (v1 != 0) { - *(s16 *)(v1 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)v1)->unk34 = 1; } if (func_80029504() < 0x2BC) { func_80029514(0x2BC); @@ -4466,16 +4466,16 @@ void func_8017EA0C(void *arg0) { extern short D_80191074; s32 v1; - v1 = *(s32 *)((char *)arg0 + 0xCC); - *(s32 *)((char *)v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; if (func_80184BAC(8, 0x14) == 0) { - *(short *)((char *)arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_80184CB8((s32 *)arg0, (s32)&D_80191074); } if (func_80184BD0(10, 0, 10, 30) == 0 && func_80184BD0(15, 0, 15, 30) == 0) { return; } - *(u8 *)((char *)arg0 + 0x105) = *(u16 *)((char *)arg0 + 0x2); + *(u8 *)((char *)arg0 + 0x105) = CAST_SIGN(u16, (char *)arg0, 0x2); func_8017E5CC(arg0); } @@ -4516,11 +4516,11 @@ void *a0; v0 = func_801847BC(a0, &D_8019107C); if (v0 != 0) { v0 = func_80184BAC(8, 0x14); - *(s16 *)((char *)a0 + 0x2) = (v0 != 0) ? 2 : 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = (v0 != 0) ? 2 : 1; func_80184CB8((s32 *)a0, (s32)&D_80191074); - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_8017EDA4); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_8017EDA4); } } } @@ -4555,22 +4555,22 @@ extern void func_8012AD80(s32 a0); extern void func_8012E8A8(s32 a0); void func_8017EC10(void *a0) { - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) += func_8012B608(*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), 0x800, 8); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 0x800, 8); if (func_8012BEE8(a0)) { - { s32 t = *(u16 *)((s32)a0 + 0x34) + 1; *(u16 *)((s32)a0 + 0x34) = t; } - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) = 0x800; + { s32 t = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; ((Unkstruct_800B5CB8 *)a0)->unk34 = t; } + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 = 0x800; func_8012B2CC(a0); func_8012B200(a0); func_8012B178(a0, (s32)-0x40000); - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; } break; case 1: func_8012AD80(a0); if (func_8012BEE8(a0)) { - { s32 t = *(u16 *)((s32)a0 + 0x34) + 1; *(u16 *)((s32)a0 + 0x34) = t; } + { s32 t = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; ((Unkstruct_800B5CB8 *)a0)->unk34 = t; } func_8012E8A8(a0); } break; @@ -4597,21 +4597,21 @@ void func_8017ECF4(void *arg0) { s32 v; v = ((s32 (*)())func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = v; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v; if (v == 0) { func_8012CAE4(arg0); } - func_8001C214(*(s32 *)((s32)arg0 + 0x20), (s32)&D_801C7A90); - *(short *)((s32)arg0 + 2) = 1; - *(short *)((s32)arg0 + 0x34) = 0; - *(short *)(*(s32 *)((s32)arg0 + 0x68) + 0xC) = 0x7FFF; + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, (s32)&D_801C7A90); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + *(short *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; func_8012E8E0((s32)arg0, (s32)&D_80191074); func_8012B2CC((s32)arg0); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9AA8); ((void (*)(u8 *))func_8012B200)((u8 *)arg0); func_8012B178((s32)arg0, (s32)0xFFFC0000); - *(int *)(arg0 + 0x1c) = 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x20; } @@ -4821,11 +4821,11 @@ void func_8017F224(void *a0) if (flag != 0) { goto skip; } - v1 = *(s32 *)((char *)a0 + 0xCC); - *(s32 *)((char *)v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; skip: if (func_80184BAC(8, 0x14) == 0) { - *(short *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80184CB8((s32 *)a0, (s32)&D_801912D8); } } @@ -4864,14 +4864,14 @@ void *a0; if (func_801847BC(a0, &D_801912E0) != 0) { v0 = func_80184BAC(8, 0x14); if (v0 != 0) { - *(s16 *)((char *)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; } else { - *(s16 *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_80184CB8((s32 *)a0, (s32)&D_801912D8); - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_8017F35C); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_8017F35C); } } @@ -4908,7 +4908,7 @@ s32 func_8017F35C(void *a0) s32 t; s32 ok; - if (*(u16 *)((s32)*(void **)((s32)a0 + 0x64) + 2) != 2) { + if (CAST_NONSTRUCT(u16, (s32)*(void **)((s32)a0 + 0x64), 2) != 2) { return 0; } @@ -4917,8 +4917,8 @@ s32 func_8017F35C(void *a0) ok = 1; } else { ok = 1; - if (*(u16 *)(t + 2) == 5) { - ok = (*(u16 *)(t + 0x34) == 2); + if (CAST_SIGN(u16, t, 2) == 5) { + ok = (((Unkstruct_800B5CB8 *)t)->unk34 == 2); } } if (ok == 0) { @@ -4932,7 +4932,7 @@ s32 func_8017F35C(void *a0) return 0; } - *(u16 *)((s32)*(void **)((s32)a0 + 0x64) + 2) = 3; + CAST_NONSTRUCT(u16, (s32)*(void **)((s32)a0 + 0x64), 2) = 3; func_80178BF8(); return (s32)func_80172710; } @@ -5006,8 +5006,8 @@ void *arg0; extern short D_801B99A8; extern u8 D_801E396C[]; - *(short *)((char *)arg0 + 0x2) = 5; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E88C((s32)arg0); ((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); @@ -5021,7 +5021,7 @@ void func_8017F564(void *a0) { extern short D_80191578; extern short D_801B9950; s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; func_8012E8E0((s32)a0, (s32)&D_80191578); func_8012E88C((s32)a0); func_80184C90((s32)a0); @@ -5033,7 +5033,7 @@ void func_8017F564(void *a0) { extern void (*D_801916E4[])(void); void func_8017F5BC(void *a0) { - D_801916E4[*(u16 *)((s32)a0 + 0x2)](); + D_801916E4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5290,7 +5290,7 @@ void func_8017FB0C(void *a0) { u16 v1; - v1 = *(u16 *)((s32)a0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk34; if (v1 == 0) { goto case0; @@ -5310,11 +5310,11 @@ case0: return; } ((void (*)(void *, void *, s32, s32))func_80184ED4)(a0, D_801E3978, 0, 0x60); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; case1: - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_80184FA4((s32)a0) != 0) { func_8017F564((s32)a0); } @@ -5373,8 +5373,8 @@ void *arg0; if (func_80184BD0(0xB, 0, 0xE, 0xF) != 0) { return; } - *(short *)((char *)arg0 + 0x2) = 0xB; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); @@ -5421,7 +5421,7 @@ extern short D_801B9950; void func_8017FDE4(void *a0) { if (func_801789AC((s32)a0) != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; func_8012E8E0((s32)a0, (s32)&D_80191578); func_8012E88C((s32)a0); func_80184C90((s32)a0); @@ -5456,20 +5456,20 @@ void func_8017FE54(void *a0) { } if (func_80184BD0(0xB, 0, 0xE, 0xF) != 0) { - *(s16 *)(s0 + 2) = 8; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 8; func_8012E8E0(s0, (s32)&D_80191578); func_8012E88C(s0); func_80184C90(s0); func_8012A828((s32 *)s0, (s32)&D_801B9950); } else { v0 = func_80184BD0(0xE, 0xF, 0x17, 0); - *(s16 *)(s0 + 2) = (v0 == 0) ? 1 : 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = (v0 == 0) ? 1 : 2; func_80184CB8((s32 *)s0, (s32)&D_80191570); } - v1 = *(s32 *)(s0 + 0x68); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk68; *(s16 *)(v1 + 0xC) = 0x7FFF; - *(s32 *)(s0 + 0xD4) = func_801788B8(s0, (s32)&func_8017F418); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8(s0, (s32)&func_8017F418); } @@ -5477,7 +5477,7 @@ void func_8017FE54(void *a0) { extern void (*D_80191814[])(void); void func_8017FF34(void *a0) { - D_80191814[*(u16 *)((s32)a0 + 0x2)](); + D_80191814[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5547,15 +5547,15 @@ void *arg0; return; } v = ((s32 (*)())func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = v; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v; if (v == 0) { func_8012CAE4(arg0); } - func_8001C214(*(s32 *)((s32)arg0 + 0x20), (s32)&D_801C7A90); + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, (s32)&D_801C7A90); func_80184C90((s32)arg0); - v1 = *(s32 *)((s32)arg0 + 0x68); - *(short *)((s32)arg0 + 0x2) = 1; - *(short *)((s32)arg0 + 0x34) = 0; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk68; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; *(short *)(v1 + 0xC) = 0x7FFF; func_8012E8E0((s32)arg0, (s32)&(*(short *)&D_8019171C)); func_8012B2CC((s32)arg0); @@ -5620,16 +5620,16 @@ void *arg0; return; } v = ((s32 (*)())func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v; if (v == 0) { func_8012CAE4(arg0); } - func_8001C214(*(s32 *)((char *)arg0 + 0x20), 0); - *(s16 *)((char *)arg0 + 2) = 1; + func_8001C214(((Unkstruct_800B5CB8 *)arg0)->unk20, 0); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_80184CB8((s32 *)arg0, (s32)&D_8019181C); - v1 = *(void **)((char *)arg0 + 0x68); + v1 = CAST_SIGN(void *, (char *)arg0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)&func_80180284); + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)&func_80180284); } @@ -5696,7 +5696,7 @@ void func_8018034C(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern short D_801B9DF8; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_801918F4); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9DF8); @@ -5838,7 +5838,7 @@ void func_801806CC(void *arg0) { if (((s32 (*)(s32))func_80184FA4)((s32)arg0) == 0) { return; } - *(u16 *)((char *)arg0 + 2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_80184CB8((s32 *)arg0, (s32)&D_801918F4); func_80185FB8((s32)arg0, 0xC, 1); } @@ -5867,19 +5867,19 @@ void func_80180740(void *a0) { if (func_801847BC(a0, &D_80191904) != 0) { v0 = func_80184BAC(9, 0x11); if (v0 != 0) { - *(short *)((char *)s0 + 2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E88C((s32)s0); ((void (*)(s32, s32))func_8012A828)((s32)s0, (s32)&(*(short *)&D_801B9DF8)); func_80184C90((s32)s0); func_80184ED4((s32)s0, (s32)&D_801B65C8, 0, 0x40); } else { - *(short *)((char *)s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32, s32))func_80184CB8)((s32)s0, (s32)&D_801918F4); } func_80185FB8((s32)s0, 0xC, 1); - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(short *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80180814); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80180814); } } @@ -5930,12 +5930,12 @@ void func_80180888(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern short D_801B9AA8; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_801919E0); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9AA8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80184ED4((s32)arg0, (s32)&D_801B6614, 0, 0x60); } @@ -5949,7 +5949,7 @@ extern short D_801919E8; extern short D_801B9B50; void func_801808FC(void *a0) { - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_801919E8); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); @@ -6002,11 +6002,11 @@ void func_80180A08(void *arg0) { func_80184CB8((s32 *)s0, (s32)&D_801919E0); - ptr = *(void **)((u8 *)s0 + 0x68); + ptr = CAST_SIGN(void *, (u8 *)s0, 0x68); *(s16 *)((u8 *)ptr + 0xC) = 0x7FFF; - *(s32 *)((u8 *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80180CC0); - *(s32 *)((u8 *)s0 + 0xD8) = func_801788B8((s32)s0, (s32)&func_80180D38); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80180CC0); + ((Unkstruct_800B5CB8 *)s0)->unkD8 = func_801788B8((s32)s0, (s32)&func_80180D38); dd = ((s32 (*)(void))func_80184DD0)(); sel = func_80029504(); @@ -6031,7 +6031,7 @@ ladder_done: s16 next_state; switch (code) { case 0: - *(s16 *)((u8 *)s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E8E0((s32)s0, (s32)&D_801919E8); func_8012E88C((s32)s0); func_8012A828((s32)s0, (s32)&D_801B9B50); @@ -6043,7 +6043,7 @@ ladder_done: case 2: next_state = 1; set_and_notify: - *(s16 *)((u8 *)s0 + 0x2) = next_state; + ((Unkstruct_800B5CB8 *)s0)->unk2 = next_state; func_80184CB8((s32 *)s0, (s32)&D_801919E0); break; } @@ -6055,7 +6055,7 @@ ladder_done: extern void (*D_80191A80[])(void); void func_80180B6C(void *a0) { - D_80191A80[*(u16 *)((s32)a0 + 0x2)](); + D_80191A80[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6074,7 +6074,7 @@ extern short D_801B9B50; void func_80180BA8(void *a0) { s32 v0; - *(short *)((char *)a0 + 0x2) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; func_8012E8E0((s32)a0, (s32)&D_801919E8); func_8012E88C((s32)a0); ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801B9B50); @@ -6178,7 +6178,7 @@ void func_80180E28(s32 a0) { s32 sel; s2 = a0; - *(s32 *)(*(s32 *)(s2 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(s2 + 0xCC))->unkB0 = 2; dd = func_80184DD0(a0); sel = func_80029504(); @@ -6221,7 +6221,7 @@ extern u8 D_801B6620[]; void func_80180EE8(void *a0) { - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_80185BE0(6) == 0) { return; } @@ -6229,11 +6229,11 @@ void func_80180EE8(void *a0) return; } ((void (*)(void *, void *, s32, s32))func_80184ED4)(a0, D_801B6620, 0, 0x40); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; } - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_80184FA4((s32)a0) != 0) { func_801808FC(a0); } @@ -6299,7 +6299,7 @@ extern short D_801B9B50; void func_80181020(void *a0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_801919E8); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); @@ -6316,11 +6316,11 @@ extern void func_801809DC(void *); void func_80181090(void *arg0) { extern short D_801B6614; - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80184FA4)() != 0) { func_80184ED4((s32)arg0, (s32)&((u8 *)&D_801B6614)[0], 1, 0x40); - *(s16 *)((char *)arg0 + 0x34) = 1; - *(s32 *)((char *)arg0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x20; } } else if (func_80185BE0(6) != 0) { if (func_80184FA4((s32)arg0) != 0) { @@ -6447,7 +6447,7 @@ void func_801813A4(void *a0) if (temp == 0) { ok = 0; } else { - ok = *(u16 *)(temp + 2) == 3; + ok = CAST_SIGN(u16, temp, 2) == 3; } if (ok != 0) { func_801812D0(a0); @@ -6462,15 +6462,15 @@ extern short D_80191AB0; void func_80181400(s32 *arg0) { s32 res; s32 flag; - *(s32 *)(*(s32 *)((s32)arg0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0xCC))->unkB0 = 2; res = func_8012E544(0x2A0); if (res == 0) { flag = 0; } else { - flag = (*(u16 *)((char *)res + 2) == 3); + flag = (CAST_SIGN(u16, (char *)res, 2) == 3); } if (flag == 0) { - *(short *)((char *)arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_80184CB8((s32 *)arg0, (s32)&D_80191AB0); } } @@ -6514,13 +6514,13 @@ void func_801814C4(void *a0) if (res == 0) { flag = 0; } else { - flag = (*(u16 *)((char *)res + 2) == 3); + flag = (CAST_SIGN(u16, (char *)res, 2) == 3); } - *(short *)((char *)s0 + 0x2) = (flag != 0) ? 2 : 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = (flag != 0) ? 2 : 1; func_80184CB8((s32 *)s0, (s32)&D_80191AB0); - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80181564); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80181564); } } @@ -6572,11 +6572,11 @@ void func_801816A8(void* arg0) { extern s16 D_801B99A8; extern u8 D_801B6638[]; - *(short *)((char *)arg0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80184ED4((s32)arg0, (s32)&D_801B6638, 1, 0x80); } @@ -6598,12 +6598,12 @@ void func_80181738(void *arg0) { extern void func_8012A828(s32 *a0, s32 a1); extern void func_80184C90(s32); - *(short *)((char *)arg0 + 0x2) = 8; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 8; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); func_801819B0(); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } @@ -6620,11 +6620,11 @@ void func_801817B8(void* arg0) extern void func_8012A828(s32 *a0, s32 a1); extern void func_80184C90(s32); - *(short *)((char *)arg0 + 0x2) = 0xA; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0xA; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } @@ -6639,12 +6639,12 @@ extern short D_80191B34; void func_80181804(void *a0) { - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80185BE0(0xD) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80184ED4((s32)a0, (s32)D_801B66C0, 1, 0x80); return; case 1: @@ -6652,21 +6652,21 @@ void func_80181804(void *a0) if (func_80184FA4((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_80184ED4((s32)a0, (s32)D_801B6670, 1, 0x80); return; case 2: if (func_80184FA4((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 3; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; return; case 3: if (func_80185BE0(3) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_80184ED4((s32)a0, (s32)D_801B662C, 1, 0x80); return; case 4: @@ -6674,7 +6674,7 @@ void func_80181804(void *a0) if (func_80184FA4((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80184CB8((s32 *)a0, (s32)&D_80191B34); return; } @@ -6685,7 +6685,7 @@ void func_80181804(void *a0) extern void (*D_80191BDC[])(void); void func_80181924(void *a0) { - D_80191BDC[*(u16 *)((s32)a0 + 0x2)](); + D_80191BDC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6720,7 +6720,7 @@ void func_801819C8(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern s32 D_801B9A50; - *(short *)((char *)arg0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; func_8012E8E0((s32)arg0, (s32)&D_80191B3C); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9A50); @@ -6768,10 +6768,10 @@ extern u8 D_801B6638[]; void func_80181AA8(void *a0) { s32 v0; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if ((v0 = func_80185BE0(3)) != 0 && (v0 = ((s32 (*)(void *))func_80184FA4)(a0)) != 0) { ((void (*)(void *, void *, s32, s32))func_80184ED4)(a0, D_801B6638, 0, 0x80); - *(u16 *)((u8 *)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } } else { if ((v0 = ((s32 (*)(void *))func_80184FA4)(a0)) != 0) { @@ -6812,7 +6812,7 @@ void func_80181B74(void *a0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191B3C); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801C0D40); @@ -6831,10 +6831,10 @@ extern void func_8018170C(void *a0); extern u8 D_801B662C[]; void func_80181BEC(void *arg0) { - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80184FA4)() != 0) { func_80184ED4((s32)arg0, (s32)&D_801B662C[0], 1, 0x80); - *(s16 *)((char *)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; } } else if (func_80185BE0(3) != 0) { if (func_80184FA4((s32)arg0) != 0) { @@ -6870,12 +6870,12 @@ extern u8 D_801B66C0[]; void func_80181CB8(void *a0) { - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80185BE0(3) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80184ED4((s32)a0, (s32)D_801B662C, 0, 0x80); return; case 1: @@ -6883,20 +6883,20 @@ void func_80181CB8(void *a0) if (func_80184FA4((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; func_80184ED4((s32)a0, (s32)D_801B6670, 0, 0x80); return; case 2: if (func_80184FA4((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; return; case 3: if (func_80185BE0(0xD) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_80184ED4((s32)a0, (s32)D_801B66C0, 0, 0x80); return; case 4: @@ -6950,7 +6950,7 @@ void func_80181E04(void *a0) { func_80181960(); v0 = func_80184BAC(9, 0xF); if (v0 != 0) { - *(short *)((char *)s0 + 2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E8E0((s32)s0, (s32)&(*(short *)&D_80191B3C)); func_8012E88C((s32)s0); func_8012A828((s32 *)s0, (s32)&D_801C0D40); @@ -6958,17 +6958,17 @@ void func_80181E04(void *a0) { func_80181998(); } else { if (func_80184BAC(0xF, 0x11) != 0) { - *(short *)((char *)s0 + 2) = 7; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 7; } else if (func_80184BAC(0x11, 0x12) != 0) { - *(short *)((char *)s0 + 2) = 9; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 9; } else { - *(short *)((char *)s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; } func_80184CB8((s32 *)s0, (s32)&D_80191B34); } v1 = *(void **)((char *)s0 + 0xD4 - 0xD4 + 0x68); *(short *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80181EFC); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80181EFC); } } @@ -7020,12 +7020,12 @@ void func_80181F70(void *arg0) { extern short D_80191C08; extern short D_801B9AA8; extern short D_801B66CC; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_80191C08); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9AA8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80184ED4((s32)arg0, (s32)&D_801B66CC, 0, 0x40); } @@ -7041,7 +7041,7 @@ extern void func_80184C90(s32 a0); void func_80181FE4(void *a0) { extern short D_80191C10; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191C10); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); @@ -7104,7 +7104,7 @@ join: extern void func_80184CB8(s32 *a0, s32 a1); extern short D_80191C08; void func_801821A8(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; func_80184CB8((s32 *)a0, (s32)&D_80191C08); } @@ -7166,7 +7166,7 @@ void func_801821D4(void *a0) dispatch: switch (v1) { case 0: - *(s16 *)((char *)a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191C10); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); @@ -7178,16 +7178,16 @@ void func_801821D4(void *a0) case 2: v0 = 1; store: - *(s16 *)((char *)a0 + 2) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v0; func_80184CB8((s32 *)a0, (s32)&D_80191C08); break; } - ptr = *(void **)((char *)a0 + 0x68); + ptr = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)ptr + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_80182544); - func_8012E8E0(*(s32 *)((char *)a0 + 0xD4), (s32)&D_80191C08); - *(s32 *)((char *)a0 + 0xD8) = func_801788B8((s32)a0, (s32)&func_801825BC); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_80182544); + func_8012E8E0(((Unkstruct_800B5CB8 *)a0)->unkD4, (s32)&D_80191C08); + ((Unkstruct_800B5CB8 *)a0)->unkD8 = func_801788B8((s32)a0, (s32)&func_801825BC); } } @@ -7214,14 +7214,14 @@ void func_80182378(void *a0) { s32 v; s32 arg; - *(short *)((char *)a0 + 0x2) = 9; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 9; func_8012E8E0((s32)a0, (s32)&D_80191C10); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); /* The two arms end in DIFFERENT branch senses/targets, so cross_jump finds no common scheduled suffix and the two jal sites stay distinct (193-C). */ - if (*(u16 *)a0 == 0x2A0) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0x2A0) { v = func_8012E544(0x2A3); if (v == 0) { goto zero; @@ -7241,7 +7241,7 @@ chk: join: if (v == 0) { arg = (s32)&D_80191E88; - if (*(u16 *)a0 == 0x2A0) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0x2A0) { arg = (s32)&D_80191E60; } } else { @@ -7262,7 +7262,7 @@ join: extern void func_80178CBC(s32 *a0, s32 a1); extern short D_80191C48; void func_80182490(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7; func_80178CBC((s32 *)a0, (s32)&D_80191C48); } @@ -7455,7 +7455,7 @@ void func_8018276C(void *a0) { extern u8 D_801B66D8[]; - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_80185BE0(3) == 0) { return; } @@ -7463,11 +7463,11 @@ void func_8018276C(void *a0) return; } ((void (*)(void *, void *, s32, s32))func_80184ED4)(a0, D_801B66D8, 0, 0x40); - *(s16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; } - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; if (func_80184FA4((s32)a0) != 0) { func_80181FE4(a0); } @@ -7488,7 +7488,7 @@ void func_80182800(void *arg0) s32 code; s2 = (s32)arg0; - *(s32 *)(*(s32 *)(s2 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(s2 + 0xCC))->unkB0 = 2; dd = func_80184DD0(s2); sel = func_80029504(); @@ -7538,7 +7538,7 @@ void func_801828B0(void *a0) { extern short D_80191C10; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191C10); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801B9B50); @@ -7556,10 +7556,10 @@ extern void func_801821A8(short*); void func_80182920(void *arg0) { extern u8 D_801B66CC[]; - if (*(u16 *)((char *)arg0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk34 == 0) { if (((s32 (*)(void))func_80184FA4)() != 0) { func_80184ED4((s32)arg0, (s32)&D_801B66CC[0], 1, 0x40); - *(s16 *)((char *)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; } } else if (func_80185BE0(3) != 0) { if (func_80184FA4((s32)arg0) != 0) { @@ -7648,12 +7648,12 @@ void func_80182B58(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern short D_801B99A8; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_80191F14); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80184ED4((s32)arg0, (s32)&D_801B6700, 0, 0x60); } @@ -7670,7 +7670,7 @@ void func_80182BCC(void *a0) { extern short D_80191F1C; extern short D_801C0D40; - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191F1C); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801C0D40); @@ -7685,7 +7685,7 @@ void func_80182BCC(void *a0) { extern void (*D_80192014[])(void); void func_80182C98(void *a0) { - D_80192014[*(u16 *)((s32)a0 + 0x2)](); + D_80192014[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7718,7 +7718,7 @@ void func_80182D24(void *arg0) { extern s32 D_80191F1C; extern s32 D_801B9A50; extern s32 D_80191F94; - *(short *)((char *)arg0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; func_8012E8E0((s32)arg0, (s32)&D_80191F1C); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9A50); @@ -7778,12 +7778,12 @@ extern void *D_801B670C; void func_80182E40(s32 a0) { s32 v0, v1; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if ((v0 = func_80185BE0(2)) != 0 && (v0 = func_80184FA4(a0)) != 0) { - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80184ED4(a0, (s32)&D_801B670C, 0, 0x60); - v1 = *(s32 *)(a0 + 0xCC); - *(s32 *)(v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; } } else { if ((v0 = func_80184FA4(a0)) != 0) { @@ -7824,7 +7824,7 @@ void func_80182F18(void *a0) { extern short D_801C0D40; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191F1C); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801C0D40); @@ -7843,15 +7843,15 @@ extern short D_80191F14; extern short D_801B6700; void func_80182F88(s32 a0) { - if (*(u16*)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_80184FA4(a0) != 0) { - *(s16*)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; func_80184ED4(a0, (s32)&D_801B6700, 1, 0x60); } } else { if (func_80185BE0(0x2) != 0) { if (func_80184FA4(a0) != 0) { - *(s16*)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80184CB8((s32*)a0, (s32)&D_80191F14); } } @@ -7886,18 +7886,18 @@ void func_80183024(void *a0) { func_80182D0C(); v0 = func_80184BAC(7, 0xE); if (v0 != 0) { - *(s16 *)((char *)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E8E0((s32)a0, (s32)&D_80191F1C); func_8012E88C((s32)a0); func_8012A828((s32 *)a0, (s32)&D_801C0D40); func_80184C90((s32)a0); } else { - *(s16 *)((char *)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_80184CB8((s32 *)a0, (s32)&D_80191F14); } - v1 = *(void **)((char *)a0 + 0x68); + v1 = CAST_SIGN(void *, (char *)a0, 0x68); *(s16 *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)&func_801830F4); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)&func_801830F4); } } @@ -7928,7 +7928,7 @@ void *a0; other = func_8012E544(0x227); if (other != 0) { - if (*(u16 *)((s32)other + 0x2) == 8) { + if (CAST_SIGN(u16, (s32)other, 0x2) == 8) { if (func_8012BD14(other) < cur) { return 0; } @@ -7968,7 +7968,7 @@ void func_801831D8(s32* a0) extern short D_80192030; extern s32 D_801B9AA8; extern short D_801B6730; - *(u16 *)((s32)a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_8012E8E0((s32)a0, (s32)&D_80192030); func_8012E88C((s32)a0); func_8012A828(a0, (s32)&(*(short *)&D_801B9AA8)); @@ -7986,7 +7986,7 @@ extern short D_801B9AA8; /* S62 T2d: must agree with the block-scope `extern sh extern s32 D_801B673C; void func_80183248(s32 a0) { - *(u16 *)(a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&D_801B9AA8); func_80184C90(a0); @@ -8008,11 +8008,11 @@ void *arg0; { extern short D_801B9AA8; extern u8 D_801B6730[]; - *(short *)((char *)arg0 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 7; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9AA8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_80184ED4((s32)arg0, (s32)&D_801B6730, 1, 0x40); } @@ -8020,7 +8020,7 @@ void *arg0; extern void func_80184CB8(s32 *a0, s32 a1); extern short D_80192030; void func_8018330C(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; func_80184CB8((s32 *)a0, (s32)&D_80192030); } @@ -8056,7 +8056,7 @@ void func_80183338(void *param_1) v0 = func_80184BAC(0xA, 0xC); if (v0 != 0) { v0 = 6; - *(short *)((char *)s0 + 2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; func_8012E88C((s32)s0); func_8012A828((s32 *)s0, (s32)&D_801B9AA8); func_80184C90((s32)s0); @@ -8072,14 +8072,14 @@ void func_80183338(void *param_1) } set_and_cb: - *(short *)((char *)s0 + 2) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = v0; func_80184CB8((s32 *)s0, (s32)&D_80192030); tail: - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(short *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80183578); - *(s32 *)((char *)s0 + 0xD8) = func_801788B8((s32)s0, (s32)&func_80183604); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80183578); + ((Unkstruct_800B5CB8 *)s0)->unkD8 = func_801788B8((s32)s0, (s32)&func_80183604); } } @@ -8088,7 +8088,7 @@ void func_80183338(void *param_1) extern void (*D_8019211C[])(void); void func_80183438(void *a0) { - D_8019211C[*(u16 *)((s32)a0 + 0x2)](); + D_8019211C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8190,8 +8190,8 @@ extern void func_801831AC(void *arg0); void func_80183674(void *arg0) { s32 v1; - v1 = *(s32 *)((char *)arg0 + 0xCC); - *(s32 *)((char *)v1 + 0xB0) = 2; + v1 = ((Unkstruct_800B5CB8 *)arg0)->unkCC; + ((Unkstruct_800B5CB8 *)v1)->unkB0 = 2; if (func_80184BAC(7, 0x14) != 0) { func_801831AC(arg0); } @@ -8243,7 +8243,7 @@ extern s32 func_80184FA4(s32 a0); extern void func_801832A8(void * arg0); void func_801837A8(void *a0) { - *(s32 *)(*(s32 *)((char *)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)a0 + 0xCC))->unkB0 = 2; if (((s32 (*)(s32))func_80184FA4)((s32)a0)) { func_801832A8(a0); } @@ -8284,7 +8284,7 @@ void *arg0; if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9AA8); } @@ -8309,7 +8309,7 @@ void func_80183938(void *arg0) { extern short D_80192150; extern short D_801B9C50; extern short D_801B67C8; - *(short *)((char *)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E8E0((s32)arg0, (s32)&D_80192150); func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B9C50); @@ -8327,7 +8327,7 @@ extern void func_80184ED4(s32, s32, s32, s32); s32 func_801839A8(s32 a0) { - *(u16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012E88C(a0); ((void (*)(s32, s32))func_8012A828)(a0, (s32)&(*(short *)&D_801B9C50)); func_80184C90(a0); @@ -8342,7 +8342,7 @@ s32 func_801839A8(s32 a0) extern void (*D_80192230[])(void); void func_80183A68(void *a0) { - D_80192230[*(u16 *)((s32)a0 + 0x2)](); + D_80192230[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8453,7 +8453,7 @@ extern s32 D_80192150; void func_80183C78(s32 a0) { if (func_80184FA4(a0) != 0) { - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; ((void (*)(s32 *, s32 *))func_80184CB8)((s32*)a0, &D_80192150); } } @@ -8482,19 +8482,19 @@ void func_80183CBC(void *arg0) { if (func_801847BC(arg0, &D_80192160) != 0) { if (func_80184BAC(9, 0x11) != 0) { - *(short *)((char *)s0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 3; func_8012E88C((s32)s0); func_8012A828((s32 *)s0, (s32)&D_801B9C50); func_80184C90((s32)s0); func_80184ED4((s32)s0, (s32)&D_801B67DC, 0, 0x40); } else { - *(short *)((char *)s0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_80184CB8((s32 *)s0, (s32)&(*(s16 *)&D_80192150)); } - v1 = *(void **)((char *)s0 + 0x68); + v1 = CAST_SIGN(void *, (char *)s0, 0x68); *(short *)((char *)v1 + 0xC) = 0x7FFF; - *(s32 *)((char *)s0 + 0xD4) = func_801788B8((s32)s0, (s32)&func_80183D80); + ((Unkstruct_800B5CB8 *)s0)->unkD4 = func_801788B8((s32)s0, (s32)&func_80183D80); } } @@ -8553,10 +8553,10 @@ void *arg0; extern void func_8012A828(s32 *a0, s32 a1); extern void func_80184C90(s32); - *(short *)((char *)arg0 + 0x2) = 0x2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0x2; func_8012E88C((s32)arg0); func_8012A828((s32 *)arg0, (s32)&D_801B99A8); func_80184C90((s32)arg0); - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } diff --git a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c index e4f5e2c695..23107db024 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c @@ -3062,7 +3062,7 @@ void func_8017CD9C(void *a0) { extern void (*D_80189480[])(void); void func_8017CDD8(void *a0) { - D_80189480[*(u16 *)((s32)a0 + 0x2)](); + D_80189480[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3231,7 +3231,7 @@ void func_8017D0F8(int param_1) extern void (*D_80189494[])(void); void func_8017D404(void *a0) { - D_80189494[*(u16 *)((s32)a0 + 0x2)](); + D_80189494[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3285,7 +3285,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_801894A8[])(void); void func_8017D6A4(void *a0) { - D_801894A8[*(u16 *)((s32)a0 + 0x2)](); + D_801894A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3530,22 +3530,22 @@ void func_8017DA90(s32 a0) { s32 u; s32 w; - v1 = *(u8 **)(a0 + 0xDC); + v1 = CAST_SIGN(u8 *, a0, 0xDC); if ((func_800291B4(v1[0] + 0x3A) & 0xFF) != 0) { func_8012CAE4((void *)a0); return; } - if (*(s32 *)(a0 + 0x20) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk20 == 0) { if (func_8012C354(a0, (s32)D_801894D8) == 0) { return; } - func_8001C810(*(s32 *)(a0 + 0x20), (s32)&D_801AF428); + func_8001C810(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AF428); ((void (*)(s32, void *))func_8012A828)(a0, (void *)&D_80189514[(s16)D_801152BA * 16]); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x20; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x80) = (s32)&D_801B5BA8; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x40000000; - *(s16 *)(a0 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x20; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (s32)&D_801B5BA8; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -3; } s1 = ((s32 (*)(s32, s32))func_8001D074)(0x7E, 0x100); @@ -3554,7 +3554,7 @@ void func_8017DA90(s32 a0) { } p = &D_801B5BD8; - *(s32 *)(a0 + 0xCC) = s1; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; func_8001CD50(s1, (s32)p); D_801B5BDA = 0x80; @@ -3569,11 +3569,11 @@ void func_8017DA90(s32 a0) { idx = (s16)D_801152BA; dst = &tbl[idx]; *(s16 *)(s1 + 0x10) = 0x400; - *(s16 *)(s1 + 0x8) = *(u16 *)(a0 + 0x6); - t = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = t; + *(s16 *)(s1 + 0x8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + t = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = t; *(s16 *)(s1 + 0xA) = t; - *(s16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + *(s16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s1 + 0x4) |= 0x50000000; D_801B5BD6 = 0xFF; @@ -3590,7 +3590,7 @@ void func_8017DA90(s32 a0) { i = 5; tbl2 = D_801B5C58; - *(s32 *)(a0 + 0xD8) = (s32)&tbl2[(s16)D_801152BA]; + ((Unkstruct_800B5CB8 *)a0)->unkD8 = (s32)&tbl2[(s16)D_801152BA]; while (i < 0x28) { if ((func_800291B4(i + 0x3B) & 0xFF) != 0) { @@ -3599,14 +3599,14 @@ void func_8017DA90(s32 a0) { i++; } if (i != 0x28) { - *(s16 *)(a0 + 0x10A) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = 1; } w = D_801152BA + 1; - u = *(u16 *)(a0 + 0x2) + 1; + u = CAST_SIGN(u16, a0, 0x2) + 1; D_80115214 = 0; D_801152BA = w; - *(u16 *)(a0 + 0x2) = u; + ((Unkstruct_800B5CB8 *)a0)->unk2 = u; } @@ -3839,7 +3839,7 @@ void func_8017E1DC(s32 a0) { extern void (*D_801895C0[])(void); void func_8017E35C(void *a0) { - D_801895C0[*(u16 *)((s32)a0 + 0x2)](); + D_801895C0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4481,14 +4481,14 @@ extern s32 D_80189738[]; extern s32 D_801861E8; void func_8017F268(s32 a0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - if ((u16)(D_80126B5E - *(u16 *)(a0 + 6) + 0x17F) < 0xFF) { + if ((u16)(D_80126B5E - ((Unkstruct_800B5CB8 *)a0)->unk6 + 0x17F) < 0xFF) { if ((func_8014CB2C() & 0x7FFFFFFF) == 2) { func_80178B18(a0, (s32)D_80189728); - *(u16 *)(a0 + 0xFE) = 1; - *(s32 *)(a0 + 0x1C) = 0x30; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; func_8002D4C8(0xB10, 0); } } @@ -4500,13 +4500,13 @@ void func_8017F268(s32 a0) { * src/ov_SC02_027/ov_SC02_027_jr_8017D898.c:4859 (law 4 / §181.4): keep the * TU's raw declaration, cast at the use site. */ ((s32 (*)(s32))func_80178970)(a0); - if ((*(s32 *)(a0 + 0x1C) & 0xF) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0xF) == 0) { func_8013C9C4(&D_801861E8); } if (func_8012BEE8(a0) != 0) { ((void (*)(s32))func_80178D18)(a0); - func_80029124(D_80189738[*(s16 *)(a0 + 0x70)], 1); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + func_80029124(D_80189738[((Unkstruct_800B5CB8 *)a0)->unk70], 1); + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 2: @@ -4521,7 +4521,7 @@ void func_8017F268(s32 a0) { extern void (*D_80189740[])(void); void func_8017F3A8(void *a0) { - D_80189740[*(u16 *)((s32)a0 + 0x2)](); + D_80189740[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4695,27 +4695,27 @@ void func_8017F5A4(s32 a0) { s16 *row; s16 divisor; - row = D_801897B8 + (*(s16 *)(a0 + 0x70) * 4); + row = D_801897B8 + (((Unkstruct_800B5CB8 *)a0)->unk70 * 4); - sp10[0] = (*(s16 *)(*(s32 *)(a0 + 0x64) + 0x6) + row[0]) << 16; - sp10[1] = (*(s16 *)(*(s32 *)(a0 + 0x64) + 0xA) + row[1]) << 16; - sp10[2] = (*(s16 *)(*(s32 *)(a0 + 0x64) + 0xE) + row[2]) << 16; + sp10[0] = (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x6) + row[0]) << 16; + sp10[1] = (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA) + row[1]) << 16; + sp10[2] = (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xE) + row[2]) << 16; func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x10) = sp20[0]; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10) = sp20[0]; func_8012B2CC(a0); func_8012B14C(a0, (s32)D_80189828); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + ((s32)(*(s16 *)(a0 + 0x70) * 3) << 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 + ((s32)(((Unkstruct_800B5CB8 *)a0)->unk70 * 3) << 8); - p = *(s32 *)(a0 + 0x20); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; divisor = *(s16 *)(p + 0x18); if (divisor != 0) { - *(s16 *)(a0 + 0x100) = 0x40000 / divisor; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x40000 / divisor; } } @@ -4740,7 +4740,7 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_8017F710(s32 *a0) { func_8012AD44(a0, 2); - *(s16 *)((s32)a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } @@ -4757,39 +4757,39 @@ void func_8017F744(s32 param_1) { s16 idx; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 1: - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; func_8012AD80(param_1); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x100); - idx = *(s16 *)(param_1 + 0x70); - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0xE) + D_801897BC[idx].f0 < - *(s16 *)(param_1 + 0xE)) { + idx = ((Unkstruct_800B5CB8 *)param_1)->unk70; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE) + D_801897BC[idx].f0 < + CAST_SIGN(s16, param_1, 0xE)) { goto CHECK_MSG_8017F818; } - *(s32 *)(param_1 + 0x1C) = 0x18; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - if (*(s16 *)(param_1 + 0x70) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x18; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 0) { func_8002D4C8(0xB0F, 0); } break; CHECK_MSG_8017F818: - if ((*(s32 *)(param_1 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk1C & 7) == 0) { func_8017F88C(param_1); } break; case 2: - if ((*(s32 *)(param_1 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk1C & 7) == 0) { func_8017F88C(param_1); } /* fall through */ case 0: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; } @@ -4822,7 +4822,7 @@ void func_8017F88C(s32 a0) { extern void (*D_80189848[])(void); void func_8017F928(void *a0) { - D_80189848[*(u16 *)((s32)a0 + 0x2)](); + D_80189848[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4866,15 +4866,15 @@ void func_8017FA18(s32 param_1) { u16 *row; - row = D_80189854 + (*(s16 *)(param_1 + 0x70) * 4); + row = D_80189854 + (((Unkstruct_800B5CB8 *)param_1)->unk70 * 4); if ((row[0] | row[1] | row[2]) != 0) { func_8012B23C(param_1); - *(u16 *)(param_1 + 0x12) = row[0]; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = row[0]; *(u16 *)(param_1 + 0x16) = row[1]; - *(u16 *)(param_1 + 0x1A) = row[2]; - *(u16 *)(param_1 + 0x100) = 1; - *(u16 *)(param_1 + 0x102) = 0x60 - ((rand() & 3) << 4); + ((Unkstruct_800B5CB8 *)param_1)->unk1A = row[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0x60 - ((rand() & 3) << 4); } func_8012AD44((s32 *)param_1, 2); @@ -4885,7 +4885,7 @@ void func_8017FA18(s32 param_1) extern void (*D_8018989C[])(void); void func_8017FAC8(void *a0) { - D_8018989C[*(u16 *)((s32)a0 + 0x2)](); + D_8018989C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4894,15 +4894,15 @@ extern void func_8012931C(struct vec *a0); extern void func_801292C8(u8 *a0); void func_8017FB04(s32 a0) { - if (*(u16 *)(a0 + 2) == 0) { + if (CAST_SIGN(u16, a0, 2) == 0) { func_8017FB98((void *)a0); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0xA); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; } else { func_8012931C((struct vec *)a0); - *(s32 *)(a0 + 0x1C) += 1; - *(s32 *)(a0 + 0x14) += 0x4000; - if (*(s16 *)(a0 + 0x34) + 0xC0 < *(s16 *)(a0 + 0xA)) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 += 0x4000; + if (CAST_SIGN(s16, a0, 0x34) + 0xC0 < CAST_SIGN(s16, a0, 0xA)) { func_801292C8((u8 *)a0); } } @@ -4910,10 +4910,10 @@ void func_8017FB04(s32 a0) { void func_8017FB98(void *a0) { - s32 v1 = *(s32 *)((s32)a0 + 0x2C); - *(s32 *)((s32)a0 + 0x10) = 0; - *(s32 *)((s32)a0 + 0x18) = 0xFFFE0000; - *(s32 *)((s32)a0 + 0x14) = v1; + s32 v1 = CAST_WIDTH(s32, (s32)a0, 0x2C); + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + CAST_WIDTH(s32, (s32)a0, 0x18) = 0xFFFE0000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = v1; } @@ -5149,7 +5149,7 @@ void func_8017FE0C(s32 a0) { void func_8017FFF8(void *a0) { extern void (*D_80189AD4[])(void); - D_80189AD4[*(u16 *)((s32)a0 + 0x2)](); + D_80189AD4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5171,21 +5171,21 @@ void func_80180034(s32 a0) { s32 s0; s32 s1; - if (((*(s32 *)(a0 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0)) { + if (((((Unkstruct_800B5CB8 *)a0)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0)) { func_8012CAE4((void *)a0); return; } - func_8001C214(*(s32 *)(a0 + 0x20), (s32)&D_801A583C); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801A583C); - if (!(*(u16 *)(a0 + 0x70) & 2)) { + if (!(CAST_SIGN(u16, a0, 0x70) & 2)) { s1 = ((s32 (*)(void))func_8012C1B8)(); if (s1 != 0) { func_8001C214(s1, (s32)&D_801A5ED4); - *(s32 *)(a0 + 0xCC) = s1; - *(u16 *)(s1 + 8) = *(u16 *)(a0 + 6); - *(u16 *)(s1 + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(s1 + 0xC) = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)a0)->unkCC = s1; + *(u16 *)(s1 + 8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + *(u16 *)(s1 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA; + *(u16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)a0)->unkE; } v0 = func_80132EF4(a0, 0x45); if (v0 != 0) { @@ -5194,29 +5194,29 @@ void func_80180034(s32 a0) { *(u16 *)(v0 + 0xA) = *(u16 *)(v0 + 0xA) - 0x30; *(u16 *)(v0 + 0xE) = *(u16 *)(v0 + 0xE) - 0xE0; } - s0 = func_8012C658(0x1B3, (s16)(*(u16 *)(a0 + 0x70) | 2), a0); + s0 = func_8012C658(0x1B3, (s16)(CAST_SIGN(u16, a0, 0x70) | 2), a0); if (s0 != 0) { - *(u16 *)(s0 + 6) = *(u16 *)(s0 + 6) - 0xA0; - *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) + 0x80; - *(s32 *)(a0 + 0x6C) = s0; + ((Unkstruct_800B5CB8 *)s0)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6 - 0xA0; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk6C = s0; s1 = ((s32 (*)(void))func_8012C1B8)(); if (s1 != 0) { func_8001C214(s1, (s32)&D_801A5ED4); - *(s32 *)(s0 + 0xCC) = s1; - *(u16 *)(s1 + 8) = *(u16 *)(s0 + 6); - *(u16 *)(s1 + 0xA) = *(u16 *)(s0 + 0xA); - *(u16 *)(s1 + 0xC) = *(u16 *)(s0 + 0xE); + ((Unkstruct_800B5CB8 *)s0)->unkCC = s1; + *(u16 *)(s1 + 8) = ((Unkstruct_800B5CB8 *)s0)->unk6; + *(u16 *)(s1 + 0xA) = ((Unkstruct_800B5CB8 *)s0)->unkA; + *(u16 *)(s1 + 0xC) = ((Unkstruct_800B5CB8 *)s0)->unkE; } } - s0 = func_8012C658(0x1B5, *(s16 *)(a0 + 0x70), a0); + s0 = func_8012C658(0x1B5, ((Unkstruct_800B5CB8 *)a0)->unk70, a0); if (s0 != 0) { - *(u16 *)(s0 + 6) = *(u16 *)(s0 + 6) - 0xC0; - *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) + 0x150; - *(u16 *)(s0 + 0xE) = *(u16 *)(s0 + 0xE) - 0xE0; + ((Unkstruct_800B5CB8 *)s0)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6 - 0xC0; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + 0x150; + ((Unkstruct_800B5CB8 *)s0)->unkE = ((Unkstruct_800B5CB8 *)s0)->unkE - 0xE0; v0 = func_80132EF4(s0, 0x45); if (v0 != 0) { *(s32 *)(v0 + 0x2C) = s0; - *(u16 *)(v0 + 0x34) = *(u16 *)(a0 + 0x70); + *(u16 *)(v0 + 0x34) = CAST_SIGN(u16, a0, 0x70); } } } @@ -5228,7 +5228,7 @@ void func_80180034(s32 a0) { extern void (*D_80189AE0[])(void); void func_80180224(void *a0) { - D_80189AE0[*(u16 *)((s32)a0 + 0x2)](); + D_80189AE0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5236,7 +5236,7 @@ void func_80180224(void *a0) { extern void (*D_80189AF8[])(void); void func_80180260(void *a0) { - D_80189AF8[*(u16 *)((s32)a0 + 0x2)](); + D_80189AF8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5260,8 +5260,8 @@ void func_8018029C(s32 param_1) { func_80178B18(param_1, (s32)D_80189B10); func_8016F2A8(); func_8016F2EC(); - *(u16 *)(param_1 + 0xFE) = 0x14; - *(s32 *)(param_1 + 0x1C) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0x14; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 4; func_8002D4C8(0x8FE, 0); func_8012AD44((s32 *)param_1, 2); } @@ -5283,7 +5283,7 @@ extern s32 (*D_80189ACC[])(); void func_80180304(s32 param_1) { ((void (*)(s32))func_80178D18)(param_1); func_8002D4C8(0x8F9, 0); - func_80029124((s32)D_80189ACC[*(s16 *)(param_1 + 0x70)], 1); + func_80029124((s32)D_80189ACC[((Unkstruct_800B5CB8 *)param_1)->unk70], 1); func_8012AD44((s32 *)param_1, 3); } @@ -5292,13 +5292,13 @@ void func_80180364(void *a0) { s32 v1; s32 q; - *(u16 *)((s32)a0 + 0xA) += 0xA0; - v1 = *(s32 *)((s32)a0 + 0x6C); + ((Unkstruct_800B5CB8 *)a0)->unkA += 0xA0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk6C; if (v1 != 0) { *(u16 *)(v1 + 0xA) -= 0xA0; } - *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x14) -= 0x780; - q = *(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x6C); + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x14) -= 0x780; + q = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x6C); if (q != 0) { *(u16 *)(*(s32 *)(q + 0x20) + 0x14) -= 0x780; } @@ -5310,7 +5310,7 @@ void func_80180364(void *a0) { extern void (*D_80189B18[])(void); void func_801803F8(void *a0) { - D_80189B18[*(u16 *)((s32)a0 + 0x2)](); + D_80189B18[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5330,7 +5330,7 @@ void func_80180434(s32 a0) { s32 s0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -5339,18 +5339,18 @@ void func_80180434(s32 a0) { func_8001C2C4(v0); func_8012AD50((void *)a0); - if ((func_80029178(D_80189738[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) { - *(u16 *)(a0 + 0x34) = 2; + if ((func_80029178(D_80189738[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } else { - v1 = *(s32 *)(a0 + 0x20); - *(s32 *)(v1 + 0x20) = (s32)D_80189710; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk20 = (s32)D_80189710; for (s0 = 0; s0 < 9; s0++) { func_8012C658(0x1D3, s0, a0); } } - v0 = *(s32 *)(a0 + 0x20); - *(s32 *)(v0 + 0x20) = 0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v0)->unk20 = 0; for (s0 = 0; s0 < 14; s0++) { func_8012C658(0x1D0, s0, a0); } @@ -5362,21 +5362,21 @@ void func_80180520(s32 a0) { extern void func_8017F964(s32 a0); extern s32 func_8012BEE8(s32 a0); - if (*(s16 *)(*(s32 *)(a0 + 0x64) + 0xFE) != 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFE) != 0) { func_8017F6C4(); return; } - if (*(s16 *)(a0 + 0x102) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 != 0) { if (func_8012BEE8(a0) != 0) { func_8017F964(a0); - *(s32 *)(a0 + 0x1C) = (rand() & 7) + 1; - *(u16 *)(a0 + 0x102) -= 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = (rand() & 7) + 1; + CAST_SIGN(u16, a0, 0x102) -= 1; } } else { if ((rand() & 0xFF) == 0) { - *(s16 *)(a0 + 0x102) = (rand() & 3) + 2; - *(s16 *)(a0 + 0x104) = (rand() & 0x3F) - 0x20; - *(s16 *)(a0 + 0x106) = (rand() & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 3) + 2; + ((Unkstruct_800B5CB8 *)a0)->unk104 = (rand() & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk106 = (rand() & 0x3F) - 0x20; } } } @@ -5398,7 +5398,7 @@ void func_80180600(s32 a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -5406,31 +5406,31 @@ void func_80180600(s32 a0) { *(s32 *)(v0 + 0x28) = 0x1200120; - D_801B5E30[*(s16 *)(a0 + 0x70)].a = D_801A82B4[*(s16 *)(a0 + 0x70)]; - D_801B5E30[*(s16 *)(a0 + 0x70)].b = 0; + D_801B5E30[((Unkstruct_800B5CB8 *)a0)->unk70].a = D_801A82B4[((Unkstruct_800B5CB8 *)a0)->unk70]; + D_801B5E30[((Unkstruct_800B5CB8 *)a0)->unk70].b = 0; - func_8001C214(*(s32 *)(a0 + 0x20), (s32)&D_801B5E30[*(s16 *)(a0 + 0x70)]); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801B5E30[((Unkstruct_800B5CB8 *)a0)->unk70]); - *(s16 *)(a0 + 0xE) = 0; - *(s16 *)(a0 + 0xA) = 0; - *(s16 *)(a0 + 0x6) = 0; - func_80132784(a0, *(s32 *)(a0 + 0x64), *(u16 *)(a0 + 0x70)); + ((Unkstruct_800B5CB8 *)a0)->unkE = 0; + ((Unkstruct_800B5CB8 *)a0)->unkA = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = 0; + func_80132784(a0, ((Unkstruct_800B5CB8 *)a0)->unk64, CAST_SIGN(u16, a0, 0x70)); - *(s16 *)(a0 + 0x6) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - *(s16 *)(a0 + 0xA) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - *(s16 *)(a0 + 0xE) = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8012AD50((void *)a0); - *(s32 *)(a0 + 0x24) = *(s32 *)(a0 + 0x4); - *(s32 *)(a0 + 0x28) = *(s32 *)(a0 + 0x8); - *(s32 *)(a0 + 0x2C) = *(s32 *)(a0 + 0xC); + CAST_WIDTH(s32, a0, 0x24) = CAST_WIDTH(s32, a0, 0x4); + CAST_WIDTH(s32, a0, 0x28) = CAST_WIDTH(s32, a0, 0x8); + CAST_WIDTH(s32, a0, 0x2C) = CAST_WIDTH(s32, a0, 0xC); } extern void func_8017FA18(s32 param_1); void func_80180710(s32 param_1) { - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0xFE) != 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xFE) != 0) { func_8017FA18(param_1); } } @@ -5446,17 +5446,17 @@ void func_80180748(void *a0) TblEntry_80189854 *tbl; u16 state; - tbl = &((TblEntry_80189854 *)D_80189854)[*(s16 *)(a0 + 0x70)]; - state = *(u16 *)(a0 + 0x34); + tbl = &((TblEntry_80189854 *)D_80189854)[((Unkstruct_800B5CB8 *)a0)->unk70]; + state = ((Unkstruct_800B5CB8 *)a0)->unk34; if (state == 0) { - if (*(s16 *)(a0 + 0x100) != 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) + *(u16 *)(a0 + 0x102); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + *(u16 *)((s32)tbl + 6); + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 + CAST_SIGN(u16, a0, 0x102); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + *(u16 *)((s32)tbl + 6); func_8012AD80(a0); - if (*(s16 *)(a0 + 0xA) >= -255) { + if (CAST_SIGN(s16, a0, 0xA) >= -255) { func_8012C218(a0); } } @@ -5481,7 +5481,7 @@ void func_801807F8(s32 a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -5489,9 +5489,9 @@ void func_801807F8(s32 a0) { func_8001C214(v0, (s32)&D_801A536C); - *(u16 *)(a0 + 0x5C) = 0xC800; - *(s32 *)(a0 + 0x58) = (s32)D_80189AE8; - *(u8 *)(a0 + 0x75) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xC800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_80189AE8; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; func_8012AD50((void *)a0); } @@ -5519,7 +5519,7 @@ void func_80180874(s32 a0) { s32 s0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; @@ -5527,22 +5527,22 @@ void func_80180874(s32 a0) { func_8001C214(v0, (s32)&D_801A6494); - *(s16 *)(a0 + 0x5C) = 0x40; - *(s32 *)(a0 + 0x58) = (s32)D_80189B00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_80189B00; s0 = func_8012C588(0x1B4, a0); if (s0 != 0) { - *(u16 *)(s0 + 0x6) += 0x20; - *(u16 *)(s0 + 0xA) += 0x180; - *(u16 *)(s0 + 0xE) -= 0xC0; - *(s32 *)(a0 + 0x6C) = s0; + ((Unkstruct_800B5CB8 *)s0)->unk6 += 0x20; + ((Unkstruct_800B5CB8 *)s0)->unkA += 0x180; + ((Unkstruct_800B5CB8 *)s0)->unkE -= 0xC0; + ((Unkstruct_800B5CB8 *)a0)->unk6C = s0; v1 = func_80132EF4(s0, 0x45); if (v1 != 0) { - *(s32 *)(v1 + 0x2C) = s0; - *(u16 *)(v1 + 0x34) = *(u16 *)(a0 + 0x70) | 2; + CAST_WIDTH(s32, v1, 0x2C) = s0; + ((Unkstruct_800B5CB8 *)v1)->unk34 = CAST_SIGN(u16, a0, 0x70) | 2; } } - v0 = func_80029178((s32)D_80189ACC[*(s16 *)(a0 + 0x70)]) & 0xFF; + v0 = func_80029178((s32)D_80189ACC[((Unkstruct_800B5CB8 *)a0)->unk70]) & 0xFF; if (v0 != 0) { func_80180364((void *)a0); } else { @@ -5570,20 +5570,20 @@ void func_801809B8(s32 param_1) { s16 t; if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 2; - *(u16 *)(param_1 + 0xA) += 8; + CAST_ALIAS(s32, param_1, 0x1C) = 2; + CAST_ALIAS(u16, param_1, 0xA) += 8; D_80126B62 += 8; - v1 = *(s32 *)(param_1 + 0x6C); + v1 = CAST_ALIAS(s32, param_1, 0x6C); if (v1 != 0) { *(u16 *)(v1 + 0xA) -= 8; } - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x14) -= 0x60; - q = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x6C); + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14) -= 0x60; + q = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x6C); if (q != 0) { *(u16 *)(*(s32 *)(q + 0x20) + 0x14) -= 0x60; } - t = *(u16 *)(param_1 + 0xFE) - 1; - *(u16 *)(param_1 + 0xFE) = t; + t = CAST_SIGN(u16, param_1, 0xFE) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = t; if (t != 0) { return; } @@ -5613,7 +5613,7 @@ extern void func_80029124(s32 arg0, s32 arg1); extern void (*D_801A8434[])(void); void func_80180AEC(void *a0) { - D_801A8434[*(u16 *)((s32)a0 + 0x2)](); + D_801A8434[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5655,7 +5655,7 @@ void func_80180B70(s32 a0) func_80149020((s32 *)s1); func_80147324(0x451); func_801511E0(s1); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(s1 + 0x20) + 0x12), *(s16 *)(s1 + 0xF4)) >= 0x401) { + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_80126B58 *)s1)->unk20 + 0x12), ((Unkstruct_80126B58 *)s1)->unkF4) >= 0x401) { func_80154274((s32 *)s1, (s32)&D_800D5880); } else { func_80154274((s32 *)s1, (s32)&D_800D58AC); @@ -5683,10 +5683,10 @@ void func_80180CC4(s32 arg0) extern M2C_UNK D_800D5880; func_80149020(arg0); - if (*(u16 *)((s32)arg0 + 0xB8) == 0x8000) { + if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) { func_80180D38(arg0); func_80159B3C(arg0); - if (*(s32 *)((s32)arg0 + 0xB4) == (s32)&D_800D5880) { + if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D5880) { ((void (*)(s32, s32, s32))func_801542DC)(arg0, (s32)D_800D46E4, 0xE); } func_80165718(arg0); @@ -5699,8 +5699,8 @@ extern void func_80151664(void); void func_80180D38(s32 a0) { - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5709,7 +5709,7 @@ void func_80180D38(s32 a0) extern void (*D_801A849C[])(void); void func_80180D78(void *a0) { - D_801A849C[*(u16 *)((s32)a0 + 0x2)](); + D_801A849C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5733,15 +5733,15 @@ void func_80180DB4(s32 param_1) } *(s32 *)(param_1 + 0x20) = iVar1; func_8001CC3C(iVar1, (s32)D_801A8440, 0x270, 0x100); - *(u8 *)(iVar1 + 0x27) = 0x9B; - *(u32 *)(iVar1 + 4) = *(u32 *)(iVar1 + 4) | 0x50000000; + ((Unkstruct_800B5CB8 *)iVar1)->unk27 = 0x9B; + CAST_WIDTH(u32, iVar1, 4) = CAST_WIDTH(u32, iVar1, 4) | 0x50000000; if (*(s32 *)(param_1 + 0x2C) == 0) { - *(u16 *)(iVar1 + 0x1A) = 0x3000; - *(u16 *)(iVar1 + 0x18) = 0x3000; + ((Unkstruct_800B5CB8 *)iVar1)->unk1A = 0x3000; + ((Unkstruct_800B5CB8 *)iVar1)->unk18 = 0x3000; } - *(u8 *)(iVar1 + 0x25) = 0xC0; - *(u8 *)(iVar1 + 0x26) = 0x40; - *(u8 *)(iVar1 + 0x24) = 0x40; + ((Unkstruct_800B5CB8 *)iVar1)->unk25 = 0xC0; + ((Unkstruct_800B5CB8 *)iVar1)->unk26 = 0x40; + ((Unkstruct_800B5CB8 *)iVar1)->unk24 = 0x40; func_80128EA8(iVar1, param_1 + 0x24, (s32)D_801A844C); *(s32 *)(param_1 + 0x14) = 0xfffc0000; func_80180F50(param_1); @@ -6043,7 +6043,7 @@ s32 func_801813FC(u32 a0v) extern void (*D_801A8E54[])(void); void func_801814A8(void *a0) { - D_801A8E54[*(u16 *)((s32)a0 + 0x2)](); + D_801A8E54[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6057,13 +6057,13 @@ void func_801814E4(s32 param_1) { void *prim; s32 ret; - prim = D_801A8E48[*(s16 *)(param_1 + 0x70)]; + prim = D_801A8E48[((Unkstruct_800B5CB8 *)param_1)->unk70]; ret = func_8012C194(); if (ret != 0) { - *(s32 *)(param_1 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = ret; func_8001CEC0(ret, prim); - *(u16 *)(ret + 0x2E) = 0; - *(u16 *)(ret + 0x30) = 0; + ((Unkstruct_800B5CB8 *)ret)->unk2E = 0; + CAST_WIDTH(u16, ret, 0x30) = 0; func_80015978(param_1 + 4, (s32 *)(param_1 + 0xFC)); func_80181574(param_1); func_8012AD50((void *)param_1); @@ -6115,7 +6115,7 @@ void func_80181574(s32 a0) { extern Col4_80181574 D_801A8E04; extern Col4_80181574 D_801A8E20; - owner = *(s32 **)(a0 + 0x20); + owner = CAST_SIGN(s32 *, a0, 0x20); /* the TU spells func_8012EF70 as void; the callee really leaves the GTE * flag word in $v0, so call it through a §17a-1 byte-neutral cast */ @@ -6125,7 +6125,7 @@ void func_80181574(s32 a0) { owner[1] &= 0x7FFFFFFF; } - *(s16 *)((s32)owner + 0x2C) = sp10.otz; + ((Unkstruct_800B5CB8 *)owner)->unk2C = sp10.otz; func_80015954((s32)&sp10, a0 + 4); t = (D_800B99DA & 1) << 2; @@ -6162,17 +6162,17 @@ void func_8018176C(s32 a0) { u32 v1; u32 (*func_ptr)(void); - v0 = *(u16 *)((u8 *)s0 + 2); + v0 = CAST_SIGN(u16, (u8 *)s0, 2); v0 = v0 * 4; func_ptr = (u32 (*)(void))D_801A8F78[v0 / 4]; func_ptr(); - v0 = *(u16 *)s0; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk0; if (v0 == 0) { return; } - v0 = *(u32 *)((u8 *)s0 + 0x20); + v0 = CAST_SIGN(u32, (u8 *)s0, 0x20); v1 = *(u16 *)((u8 *)v0 + 0x2C); v1 = v1 | 0x10; *(u16 *)((u8 *)v0 + 0x2C) = v1; @@ -6182,7 +6182,7 @@ void func_8018176C(s32 a0) { if (v0 != v1) { return; } - *(u16 *)((u8 *)s0 + 0x102) = (v0 = 1); + ((Unkstruct_800B5CB8 *)s0)->unk102 = (v0 = 1); func_80182CE8(a0); } @@ -6194,14 +6194,14 @@ extern s32 D_801A8EA0[]; void func_801817F8(s32 param_1) { if (func_8012C354(param_1, (s32)&D_801A8E6C)) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xBC) = (s32)&D_801A8EA0; - *(s32 *)(param_1 + 0xB4) = -270375; - *(s32 *)(param_1 + 0xDC) = 0; - *(s16 *)(param_1 + 0x100) = 0x1000; - *(s32 *)(param_1 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_801A8EA0; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -270375; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 1; func_80143970(param_1); - *(s16 *)(param_1 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } } @@ -6210,8 +6210,8 @@ void func_801817F8(s32 param_1) { extern void func_8012A828(s32 *a0, s32 a1); extern short D_801ADB14; void func_80181874(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x2; - *(short *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8012A828((s32 *)a0, (s32)&D_801ADB14); } @@ -6252,18 +6252,18 @@ void func_801818A4(s32 a0) { extern u8 D_801ADCFC[]; s32 v; - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BCCC(a0) <= 0x10000) { - func_8001C924(*(s32 *)(a0 + 0x20), (void *)&D_801AABD0); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, (void *)&D_801AABD0); ((void (*)(s32, void *))func_8012A828)(a0, (void *)&(*(u8 *)D_801ADCFC)); - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } } else { v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; if (func_8012BEE8(a0) != 0 || v == 0) { - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } } } @@ -6284,7 +6284,7 @@ void func_80181974(s32 a0) { extern s32 func_8012BEE8(s32 arg); void func_801819E8(void *a0) { if (func_8012BEE8((s32)a0)) { - *(s16 *)((u8 *)a0 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; } } @@ -6308,21 +6308,21 @@ void func_80181A1C(void *a0) { t = rand(); p = D_80078E78; r = t % 1024; - h = *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12); + h = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12); if (rand() & 1) { v = h + r; } else { v = h - r; } - *(s32 *)((s32)a0 + 0xE0) = v; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = v; func_8012B23C((s32)a0); ((void (*)(s32, void *))func_8012A828)((s32)a0, D_801ADDEC); - *(s32 *)((s32)a0 + 0x1C) = 150; - *(s32 *)((s32)a0 + 0xE4) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 150; + ((Unkstruct_800B5CB8 *)a0)->unkE4 = 0; if (p[0x36] != 0) { - *(s16 *)((s32)a0 + 2) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; } else { - *(s16 *)((s32)a0 + 2) = 7; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; } } @@ -6342,20 +6342,20 @@ void func_80181AE0(s32 a0) { if (func_8012BD3C(a0, 0x400, 0x20000) == 1) { if (func_8012BCCC(a0) < 0x3001) { - *(s16 *)(a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } else { r = func_8012B8E4(a0, 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += r; - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); ((s32 (*)(s32, s32))func_80182BAC)(a0, 0); if (func_801829B0(a0) != 0 && func_8012BEE8(a0) != 0) { ((s32 (*)(s32))func_80182908)(a0); } } } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), *(s32 *)(a0 + 0xE0), 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += r; - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)a0)->unkE0, 0xA); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); ((s32 (*)(s32, s32))func_80182BAC)(a0, 0); if (func_801829B0(a0) != 0 && func_8012BEE8(a0) != 0) { ((s32 (*)(s32))func_80182908)(a0); @@ -6377,18 +6377,18 @@ void func_80181BB8(s32 a0) { if (func_8012BDBC(a0, 0x400) == 1) { if (func_8012BCCC(a0) < 0x3001) { - *(s16 *)(a0 + 2) = 8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; } else { r = func_8012B8E4(a0, 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += r; - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); ((void (*)(s32, s32))func_80182BAC)(a0, 1); func_801829B0(a0); } } else { - r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), *(s32 *)(a0 + 0xE0), 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += r; - func_8012B178(a0, *(s32 *)(a0 + 0xE8)); + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)a0)->unkE0, 0xA); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += r; + func_8012B178(a0, ((Unkstruct_800B5CB8 *)a0)->unkE8); ((void (*)(s32, s32))func_80182BAC)(a0, 0); func_801829B0(a0); } @@ -6424,31 +6424,31 @@ void func_80181CE0(s32 a0) { s32 flags; v = func_8012B8E4(a0, 0xA); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += v; - if ((*(s32 *)(a0 + 0xDC) & 0x20) != 0) { - if ((u32)(*(s32 *)(a0 + 0x1C) - 10) < 0xD) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += v; + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x20) != 0) { + if ((u32)(((Unkstruct_800B5CB8 *)a0)->unk1C - 10) < 0xD) { func_801827A0(a0); } } else { - if (*(s32 *)(a0 + 0x1C) == 0x16) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0x16) { func_801826C8(a0); } - if (*(s32 *)(a0 + 0x1C) < 0x10) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x10) { ((void (*)(s32))func_8018280C)(a0); } } if (func_8012BEE8(a0) != 0) { - flags = *(s32 *)(a0 + 0xDC); + flags = ((Unkstruct_800B5CB8 *)a0)->unkDC; if (flags & 1) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFFE; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (flags & 0x10) { - *(s32 *)(a0 + 0xDC) = flags & 0xFFFFFFEF; - *(s16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unkDC = flags & 0xFFFFFFEF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } else if (func_8012BD3C(a0, 0x400, 0x4000) == 0) { - *(s16 *)(a0 + 2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; func_80182944(a0); } } @@ -6505,11 +6505,11 @@ void func_80181EC0(s32 a0) extern s32 func_8012B8E4(s32 a0, s32 a1); extern s32 func_8012BEE8(s32 a0); - if (*(u32 *)(a0 + 0xDC) & 8) { - *(u16 *)(*(u32 *)(a0 + 0x20) + 0x12) += 0x44; + if (CAST_SIGN(u32, a0, 0xDC) & 8) { + ((Unkstruct_800B5CB8 *)*(u32 *)(a0 + 0x20))->unk12 += 0x44; } else { s32 ret = func_8012B8E4(a0, 8); - *(u16 *)(*(u32 *)(a0 + 0x20) + 0x12) += ret; + ((Unkstruct_800B5CB8 *)*(u32 *)(a0 + 0x20))->unk12 += ret; if (ret == 0) { goto set_state; } @@ -6518,7 +6518,7 @@ void func_80181EC0(s32 a0) return; } set_state: - *(u16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; } @@ -6757,16 +6757,16 @@ void func_80182364(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s32 *)(param_1 + 0xDC) & 0x80) { - p = *(s32 *)(param_1 + 0x20); - *(s16 *)(p + 0x1C) = 0x1000; - *(s16 *)(p + 0x18) = 0x1000; - *(s32 *)(param_1 + 0xDC) &= ~0x80; + if (((Unkstruct_800B5CB8 *)param_1)->unkDC & 0x80) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(s16, p, 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)p)->unk18 = 0x1000; + ((Unkstruct_800B5CB8 *)param_1)->unkDC &= ~0x80; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); - *(s16 *)(p + 0x1C) = h; - *(s16 *)(p + 0x18) = h; + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); + CAST_WIDTH(s16, p, 0x1C) = h; + ((Unkstruct_800B5CB8 *)p)->unk18 = h; } a = param_1; *(s16 *)(a + 0x5C) |= 1; @@ -6776,9 +6776,9 @@ void func_80182364(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -6806,16 +6806,16 @@ void func_801824A8(s32 a0) { u16 v2; - if (*(s32*)(a0 + 0x1C) < 0x11) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { s32 mask; s32 ptr; s32 val; mask = 0x80000000; - ptr = *(s32*)(a0 + 0x20); - val = *(s32*)(ptr + 0x4); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; + val = CAST_WIDTH(s32, ptr, 0x4); val ^= mask; - *(s32*)(ptr + 0x4) = val; + CAST_WIDTH(s32, ptr, 0x4) = val; } @@ -6881,15 +6881,15 @@ extern void func_80182CE8(void *a0); void func_80182600(s32 a0) { - if ((*(s32 *)(a0 + 0xDC) & 0x2) != 0) { - if (*(s32 *)(a0 + 0x1C) >= 0x15) { - s32 p = *(s32 *)(a0 + 0x20); + if ((((Unkstruct_800B5CB8 *)a0)->unkDC & 0x2) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x15) { + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(p + 0x10) = *(u16 *)(p + 0x10) - 0x1E; } } - if (*(s32 *)(a0 + 0x1C) < 0x11) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) ^= 0x80000000; } if (func_8012BEE8(a0) != 0) { @@ -7090,9 +7090,9 @@ s32 func_801829B0(s32 arg0) { if ((v & 0x2000) == 0) { func_8012ADE4((u8 *)arg0); } - *(s32 *)(arg0 + 0xDC) &= ~0x40; - if (*(s32 *)(arg0 + 0x14) > 0xFFFFF) { - *(s32 *)(arg0 + 0x14) = 0x100000; + ((Unkstruct_800B5CB8 *)arg0)->unkDC &= ~0x40; + if (((Unkstruct_800B5CB8 *)arg0)->unk14 > 0xFFFFF) { + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0x100000; } p = D_801202A0; for (i = 0; i < 0x60; i++, p += 0x10C) { @@ -7109,15 +7109,15 @@ s32 func_801829B0(s32 arg0) { out.vz = pz; out.vx = px + d; out.vz = pz + (d >> 16); - in.vx = *(u16 *)(arg0 + 0x3A); - in.vy = *(u16 *)(arg0 + 0x3E); - in.vz = *(u16 *)(arg0 + 0x42); + in.vx = ((Unkstruct_800B5CB8 *)arg0)->unk3A; + in.vy = ((Unkstruct_800B5CB8 *)arg0)->unk3E; + in.vz = ((Unkstruct_800B5CB8 *)arg0)->unk42; if ((func_8012CEB0((s32)&in, (s32)&out, 0) & 0x2000) == 0) { goto lose; } - *(s16 *)(arg0 + 6) = out.vx; - *(s16 *)(arg0 + 0xA) = out.vy; - *(s16 *)(arg0 + 0xE) = out.vz; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out.vx; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out.vy; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out.vz; break; } } @@ -7178,14 +7178,14 @@ void func_80182CE8(void *a0) { s32 v1; - if (*(short *)((char *)a0 + 0x102) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { func_8002A04C((s32)a0); func_8002AC00(0x1A); } - if (!((*(short *)((char *)a0 + 0x70) & 0x8000))) { - v1 = *(s32 *)((char *)a0 + 0x68); - if (v1 != 0 && ((*(short *)((char *)a0 + 0x72) & 0x8000))) { + if (!((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000))) { + v1 = ((Unkstruct_800B5CB8 *)a0)->unk68; + if (v1 != 0 && ((CAST_SIGN(short, (char *)a0, 0x72) & 0x8000))) { *(unsigned short *)(v1 + 0xA) = *(unsigned short *)(v1 + 0xA) & 0x7FFF; } } @@ -7261,43 +7261,43 @@ void func_80182E0C(s32 a0) { u16 v0; if (func_8012C354(a0, (s32)&D_801AE2E4)) { - v1 = *(s32 *)(a0 + 0x20); - *(u16 *)(v1 + 0x2C) |= 0x30; - v1 = *(s32 *)(a0 + 0x20); - *(void **)(v1 + 0x80) = &D_801AE318; - *(s32 *)(a0 + 0xE8) = 0x40; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk2C |= 0x30; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(void *, v1, 0x80) = &D_801AE318; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = 0x40; s0 = func_8012C194(); if (s0 != 0) { - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001CD9C((int)s0, (void *)&D_801AE360); - *(s16 *)(s0 + 0x18) = 0x555; - *(s16 *)(s0 + 0x1A) = 0x555; - *(s32 *)(s0 + 0x4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x555; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x555; + CAST_WIDTH(s32, s0, 0x4) |= 0x50000000; } - v0 = *(u16 *)(a0 + 0x70); + v0 = CAST_SIGN(u16, a0, 0x70); if (v0 & 0x2) { - *(u16 *)(a0 + 0x2) = 0x8; - *(u8 *)(a0 + 0xC0) = 1; - *(void **)(a0 + 0xBC) = &D_801AE3B0; - *(s32 *)(a0 + 0xB4) = -0x249D; - *(s32 *)(a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(void *, a0, 0xBC) = &D_801AE3B0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x249D; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; func_8012E8A8((u8 *)a0); return; } if (v0 & 0x1) { - *(u16 *)(a0 + 0x2) = 6; - *(u16 *)(a0 + 0x5C) &= 0x5FFF; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0x5FFF; } else { - *(u8 *)(a0 + 0xC0) = 1; - *(void **)(a0 + 0xBC) = &D_801AE3B0; - *(s32 *)(a0 + 0xB4) = -0x249D; - *(u16 *)(a0 + 0x2) = 1; - *(s32 *)(a0 + 0xC4) |= 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + CAST_SIGN(void *, a0, 0xBC) = &D_801AE3B0; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x249D; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 0x2; } - *(s32 *)(a0 + 0xCC) = func_80143994(a0, 0x1000); + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_80143994(a0, 0x1000); } } @@ -7306,9 +7306,9 @@ void func_80182F68(s32 param_1) { func_8012B23C(param_1); func_8012B178(param_1, 0xFFFD8000); - *(u16 *)(param_1 + 2) = 2; - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0xE4) = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0x20; } @@ -7331,15 +7331,15 @@ void func_80182FB4(s32 param_1) s32 iVar1; s32 pad[4]; - if (*(s16 *)(param_1 + 0xa) >= 0x10) { + if (CAST_SIGN(s16, param_1, 0xa) >= 0x10) { func_80184580(param_1); return; } - sVar1 = func_8004787C((*(s32 *)(param_1 + 0xe4) << 6) & 0x7c0); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = (sVar1 >> 1) + 0x800; + sVar1 = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unkE4 << 6) & 0x7c0); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = (sVar1 >> 1) + 0x800; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: { s32 d = 0x1000 - sVar1; s32 arg1; @@ -7357,30 +7357,30 @@ void func_80182FB4(s32 param_1) } if ((iVar1 & 0x6000) == 0) { func_8012ADE4((u8 *)param_1); - *(u16 *)(param_1 + 0x34) = 2; - *(s32 *)(param_1 + 0xe0) = *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800; - } else if (--*(s32 *)(param_1 + 0xe8) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800; + } else if (--((Unkstruct_800B5CB8 *)param_1)->unkE8 == 0) { s32 nVar; s32 sVar2; s32 uVar2; - *(u16 *)(param_1 + 0x34) = 1; - *(s32 *)(param_1 + 0x1c) = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; nVar = rand() % 1024; - sVar2 = *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sVar2 = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); if (rand() & 1) { uVar2 = sVar2 + nVar; } else { uVar2 = sVar2 - nVar; } - *(s32 *)(param_1 + 0xe0) = uVar2; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = uVar2; } break; } case 1: { - s32 ret = func_8012B608(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), *(s32 *)(param_1 + 0xe0), 0x14); - s32 ptr = *(s32 *)(param_1 + 0x20); + s32 ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)param_1)->unkE0, 0x14); + s32 ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 d = 0x1000 - sVar1; s32 arg1; @@ -7398,23 +7398,23 @@ void func_80182FB4(s32 param_1) } if ((iVar1 & 0x6000) == 0) { func_8012ADE4((u8 *)param_1); - *(u16 *)(param_1 + 0x34) = 2; - *(s32 *)(param_1 + 0xe0) = *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800; } else if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0xe8) = 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = 0x40; } break; } case 2: { - s32 ret = func_8012B608(*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), *(s32 *)(param_1 + 0xe0), 0xa); + s32 ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)param_1)->unkE0, 0xa); s32 ptr; if (ret == 0) { - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } - ptr = *(s32 *)(param_1 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) + ret; break; } @@ -7428,26 +7428,26 @@ void func_80182FB4(s32 param_1) if ((iVar1 & 0x2000) != 0) { func_8012B23C(param_1); func_8012B178(param_1, 0xFFFD8000); - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; break; } - if ((*(s32 *)(param_1 + 0x1c) & 3) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk1C & 3) == 0) { func_80143B6C(param_1, 1); } - *(s32 *)(param_1 + 0x1c) += 1; - if (*(s32 *)(param_1 + 0x1c) >= 0x3c) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C >= 0x3c) { func_80131E00(param_1, 0xd); } break; } if (func_8012BD3C(param_1, 0x400, 0x24000) == 1) { - *(s16 *)(param_1 + 2) = 3; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; } - if (0x100000 < *(s32 *)(param_1 + 0x14)) { - *(s32 *)(param_1 + 0x14) = 0x100000; + if (0x100000 < ((Unkstruct_800B5CB8 *)param_1)->unk14) { + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0x100000; } - *(s32 *)(param_1 + 0xe4) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 += 1; } @@ -7469,30 +7469,30 @@ void func_8018330C(s32 param_1) s32 iVar1; s32 a1; - if (*(s16 *)(param_1 + 0xa) >= 0x10) { + if (CAST_SIGN(s16, param_1, 0xa) >= 0x10) { func_80184580(param_1); goto end; } dist = func_8012BCCC(param_1); if (func_8012BDBC(param_1, 0x400) == 0) { - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; goto end; } if (dist > 0x24000) { - *(s16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; goto end; } if (dist < 0x4001) { - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; goto end; } - angle = func_8004787C((*(s32 *)(param_1 + 0xe4) << 7) & 0x780); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1a) = (angle >> 1) + 0x800; + angle = func_8004787C((((Unkstruct_800B5CB8 *)param_1)->unkE4 << 7) & 0x780); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = (angle >> 1) + 0x800; iVar1 = func_8012B8E4(param_1, 0xa); { - s32 ptr = *(s32 *)(param_1 + 0x20); + s32 ptr = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 v = *(u16 *)(ptr + 0x12) + iVar1; *(u16 *)(ptr + 0x12) = v; if (0x1000 - angle >= 0) { @@ -7506,7 +7506,7 @@ void func_8018330C(s32 param_1) if ((iVar1 & 0x6000) == 0) { func_8012ADE4((u8 *)param_1); } - *(s32 *)(param_1 + 0xe4) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 += 1; end: return; @@ -7537,16 +7537,16 @@ void func_80183454(s32 a0) { func_8012B77C((s32)sp20, a0 + 4, (s32)sp10); r = sp20[0]; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = r >> 16; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = r >> 16; func_8012B2CC(a0); func_8012B200((u8 *)a0); func_8012B178(a0, 0xFFF00000); - *(u16 *)(a0 + 2) = 5; - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(a0 + 0xFE) = D_80126B62 - 96; + CAST_ALIAS(u16, a0, 2) = 5; + CAST_ALIAS(u16, a0, 0x34) = 0; + CAST_ALIAS(s32, a0, 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = D_80126B62 - 96; } diff --git a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c index 60eab95b26..d05df172ab 100644 --- a/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c +++ b/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c @@ -2751,8 +2751,8 @@ void func_8017CD9C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) pkt = D_800A5E60; part = (Part *)(arg1 + 0x14); - nparts = *(s32 *)(arg1 + 8); - vtx = *(u8 **)(arg1 + 0x10); + nparts = CAST_WIDTH(s32, arg1, 8); + vtx = CAST_WIDTH(u8 *, arg1, 0x10); ot = (u32)&D_800A6610[(*(u16 *)&D_800B9A02) << 14]; ang = arg2; half = ang / 2; @@ -2989,7 +2989,7 @@ void func_8017CD9C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) extern void (*D_80186364[])(void); void func_8017DA00(void *a0) { - D_80186364[*(u16 *)((s32)a0 + 0x2)](); + D_80186364[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3065,7 +3065,7 @@ extern void func_80146C3C(); // K&R: ? of 1 args (P37 rung D t4_D22) extern void (*D_8018636C[])(void); void func_8017DC94(void *a0) { - D_8018636C[*(u16 *)((s32)a0 + 0x2)](); + D_8018636C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3387,27 +3387,27 @@ after: *(s32 *)(arg0 + 0x1C) = 3; s1 = func_80143C74(arg0, 0); if (s1 != 0) { - *(s16 *)(s1 + 0xE) = rand() % 0xC0 - 0x60; + ((Unkstruct_800B5CB8 *)s1)->unkE = rand() % 0xC0 - 0x60; t = D_80126B5E + rand() % 0x300; - *(s16 *)(s1 + 6) = t - 0x180; + ((Unkstruct_800B5CB8 *)s1)->unk6 = t - 0x180; if ((u16)(t + 0xD0F) >= 0xF86) { *(s32 *)(arg0 + 0x1C) = 0; - func_80016714(*(void **)(s1 + 0xCC), 0x38); + func_80016714(CAST_SIGN(void *, s1, 0xCC), 0x38); func_8012C218((void *)s1); } else { - *(s32 *)(s1 + 0x48) = -((rand() & 0x1FF) << 7); - a1 = *(s16 *)(s1 + 6); + ((Unkstruct_800B5CB8 *)s1)->unk48 = -((rand() & 0x1FF) << 7); + a1 = CAST_SIGN(s16, s1, 6); if (a1 < -0xCEC) goto arm2_a; if (a1 < -0x87) goto arm2_m; v1 = (0xF6 - a1) * 20 / 382; - *(s16 *)(s1 + 0x12) = -v1; + ((Unkstruct_800B5CB8 *)s1)->unk12 = -v1; goto done; arm2_m: - *(u16 *)(s1 + 0x12) -= 0x14; + ((Unkstruct_800B5CB8 *)s1)->unk12 -= 0x14; goto done; arm2_a: v1 = (a1 + 0xE8F) * 20 / 418; - *(s16 *)(s1 + 0x12) = -v1; + ((Unkstruct_800B5CB8 *)s1)->unk12 = -v1; *(s16 *)(s1 + 0x16) = v1 - 0x14; } } @@ -3476,21 +3476,21 @@ extern void func_8012A828(s32, s32); void func_8017E7D0(s32 param_1) { if (func_8012C354(param_1, (s32)&(*(s32 *)&D_8019EA10)) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(s32 *)(param_1 + 0xBC) = (s32)&D_8019EA44; - *(s32 *)(param_1 + 0xB4) = 0xFFFBDFDD; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (s32)&D_8019EA44; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xFFFBDFDD; *(s16 *)(param_1 + 0xDE) = 0; - *(s32 *)(param_1 + 0xC4) |= 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 1; ((void (*)(s32, void *))func_8012A828)(param_1, (void *)&D_801A410C); - *(s16 *)(param_1 + 0x100) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18); - if ((*(u16 *)(param_1 + 0x70) & 1) != 0) { - *(s16 *)(param_1 + 0x2) = 1; - *(s16 *)(param_1 + 0x5C) = 0; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18; + if ((CAST_SIGN(u16, param_1, 0x70) & 1) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x4) |= 0x80000000; } else { - *(s16 *)(param_1 + 0x2) = 3; - *(s32 *)(param_1 + 0xCC) = func_80143970(param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_80143970(param_1); } } } @@ -3535,13 +3535,13 @@ void func_8017E940(s32 param_1) { s0 = (s32 *)param_12; if (func_8012BEE8(param_12) != 0) { - v1 = *(s32 *)((s32)s0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(u16 *)((s32)v1 + 0x2C) &= ~0x10; - *(u16 *)((s32)s0 + 2) = 3; - *(u16 *)((s32)s0 + 0x5C) = D_8019EA12; + CAST_ALIAS(u16, (s32)s0, 2) = 3; + ((Unkstruct_800B5CB8 *)s0)->unk5C = D_8019EA12; } else { - v0 = func_80047948(*(s32 *)((s32)s0 + 0x1C) << 10 >> 4); - v1 = *(s32 *)((s32)s0 + 0x20); + v0 = func_80047948(((Unkstruct_800B5CB8 *)s0)->unk1C << 10 >> 4); + v1 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)((s32)v1 + 0x1C) = v0; *(s16 *)((s32)v1 + 0x1A) = v0; *(s16 *)((s32)v1 + 0x18) = v0; @@ -3553,7 +3553,7 @@ void func_8017E940(s32 param_1) { extern void func_8012A828(s32 a0, s32 a1); extern short D_801A410C; void func_8017E9C8(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_8012A828((int)arg0, (int)&D_801A410C); } @@ -3586,13 +3586,13 @@ extern u8 D_80078EAE; void func_8017EA78(s32 param_1) { if (D_80078EAE != 0) { - if (*(u16 *)(param_1 + 0x34) == 0 && *(s32 *)(param_1 + 0x94) == 10) { - *(u16 *)(param_1 + 0x98) = 0; - *(u16 *)(param_1 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0 && ((Unkstruct_800B5CB8 *)param_1)->unk94 == 10) { + ((Unkstruct_800B5CB8 *)param_1)->unk98 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } } else { if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; } } } @@ -3605,12 +3605,12 @@ extern void func_8012B23C(s32 a0); void func_8017EAF0(void *a0) { s32 s0 = (s32)a0; - *(u16 *)((s32)a0 + 2) = 0x8; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8; func_8012B23C(s0); func_8017F12C(s0); ((void (*)(s32, void *))func_8012A828)(s0, (void *)&D_801A41E4); - *(s32 *)((s32)a0 + 0x1C) = 0x2D; - *(s32 *)((s32)a0 + 0xE0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unkE0 = 0; } @@ -3628,7 +3628,7 @@ void func_8017EB44(void *a0) { u16 v0_val, v0_val2; - v1_addr = *(s32 *)(s0 + 0x20); + v1_addr = ((Unkstruct_800B5CB8 *)s0)->unk20; v0_val = *(u16 *)(v1_addr + 0x12); *(u16 *)(v1_addr + 0x12) = (u16)(v0_val - 0x71); @@ -3636,7 +3636,7 @@ void func_8017EB44(void *a0) { func_8017F1AC(a0); - v0_val2 = *(u16 *)(s0 + 0x72); + v0_val2 = ((Unkstruct_800B5CB8 *)s0)->unk72; if (v0_val2 & 0x4000) { if (func_8012E778(s0, 0x8C00B4) == 1) { func_8002D4C8(0x662, 0); @@ -3655,7 +3655,7 @@ void func_8017EB44(void *a0) { func_8017F12C(s0); } - *(s32 *)(s0 + 0x1C) = 0x23; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x23; } } } @@ -3754,14 +3754,14 @@ void func_8017ED1C(s32 param_1) { u16 h; if (func_8012BEE8(param_1) != 0) { - if (*(s16 *)(param_1 + 0x106) != 0) { - p = *(s32 *)(param_1 + 0x20); + if (((Unkstruct_800B5CB8 *)param_1)->unk106 != 0) { + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(p + 0x1C) = 0x1000; *(s16 *)(p + 0x18) = 0x1000; - *(s16 *)(param_1 + 0x106) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = 0; } else { - p = *(s32 *)(param_1 + 0x20); - h = *(u16 *)(param_1 + 0x100); + p = ((Unkstruct_800B5CB8 *)param_1)->unk20; + h = CAST_SIGN(u16, param_1, 0x100); *(s16 *)(p + 0x1C) = h; *(s16 *)(p + 0x18) = h; } @@ -3773,9 +3773,9 @@ void func_8017ED1C(s32 param_1) { *(s16 *)(a + 0x5E) = 1; ((void (*)(s32, s32))func_80131E00)(a, 1); } else { - a = *(s32 *)(param_1 + 0x20); + a = ((Unkstruct_800B5CB8 *)param_1)->unk20; x = *(s16 *)(a + 0x18); - t = x + (*(s16 *)(param_1 + 0x100) - x) / 4; + t = x + (((Unkstruct_800B5CB8 *)param_1)->unk100 - x) / 4; *(s16 *)(a + 0x1C) = t; *(s16 *)(a + 0x18) = t; } @@ -3814,15 +3814,15 @@ void func_8017EE60(s32 param_1) { s32 p; s32 q; - if (*(s32 *)(param_1 + 0x1C) < 0xC) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C < 0xC) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) ^= 0x80000000; } if (func_8012BEE8(param_1) != 0) { func_80130D48(param_1); p = param_1; - q = *(s32 *)(p + 0x20); - *(s32 *)(p + 0x1C) = 0x3C; - *(s32 *)(q + 4) = 0x80000000; + q = ((Unkstruct_800B5CB8 *)p)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x3C; + CAST_WIDTH(s32, q, 4) = 0x80000000; func_8017F4FC(p); } } @@ -3979,7 +3979,7 @@ s32 a0; { s32 s0 = a0; - if (*(s16 *)(s0 + 0xAA) > 0) { + if (((Unkstruct_800B5CB8 *)s0)->unkAA > 0) { func_8017F338(s0, 4); return 0; } @@ -4091,12 +4091,12 @@ void func_8017F338(s32 arg0, s32 arg1) { } /* fall through */ case 1: - *(s16 *)(arg0 + 0xDC) = func_8012B864(arg0); + CAST_WIDTH(s16, arg0, 0xDC) = func_8012B864(arg0); break; case 2: r = rand(); d = r % 512; - cur = *(s16 *)(arg0 + 0xDC); + cur = CAST_WIDTH(s16, arg0, 0xDC); if ((rand() & 1) == 0) { val = cur + 0x800; val = val - d; @@ -4104,20 +4104,20 @@ void func_8017F338(s32 arg0, s32 arg1) { val = cur + 0x800; val = val + d; } - *(s16 *)(arg0 + 0xDC) = val; + CAST_WIDTH(s16, arg0, 0xDC) = val; break; case 3: do { val = rand() % 0x1000; - } while (*(s16 *)(arg0 + 0xDC) == (s16)val); + } while (CAST_WIDTH(s16, arg0, 0xDC) == (s16)val); break; case 4: - *(s16 *)(arg0 + 0xDC) = (func_8012B864(arg0) + 0x800) & 0xFFF; + CAST_WIDTH(s16, arg0, 0xDC) = (func_8012B864(arg0) + 0x800) & 0xFFF; break; } m = D_800AE620; - RotMatrixY(*(s16 *)(arg0 + 0xDC), &m); + RotMatrixY(CAST_WIDTH(s16, arg0, 0xDC), &m); func_800484EC((s32)&m, (s32)&v, arg0 + 0x10); } @@ -4199,9 +4199,9 @@ void func_8017F4FC(void *a0) { s32 func_8017F62C(s32 a0) { s32 v[4]; - v[0] = *(s16 *)(a0 + 6) - *(s16 *)(a0 + 0x88); + v[0] = CAST_SIGN(s16, a0, 6) - CAST_SIGN(s16, a0, 0x88); v[1] = 0; - v[2] = *(s16 *)(a0 + 0xE) - *(s16 *)(a0 + 0x8C); + v[2] = CAST_SIGN(s16, a0, 0xE) - CAST_SIGN(s16, a0, 0x8C); Square0(&v[0], &v[0]); return (0x18FFFF < v[0] + v[2]) ^ 1; } @@ -4213,12 +4213,12 @@ extern s32 func_80180834(void *a0); extern s32 func_8012C0EC(s32 a0); void func_8017F68C(void *a0) { - D_801A466C[*(u16 *)((s32)a0 + 2)](); - if (*(u16 *)a0 != 0) { - if (*(s32 *)((s32)a0 + 0x90) == (s32)&D_801A9620) { - if (*(s32 *)((s32)a0 + 0x94) == 0xA) { + D_801A466C[CAST_SIGN(u16, (s32)a0, 2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk90 == (s32)&D_801A9620) { + if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xA) { func_80181CDC((s32)a0, 0x7F9); - } else if (*(s32 *)((s32)a0 + 0x94) == 0xF) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk94 == 0xF) { func_80181CDC((s32)a0, 0x7F8); } } @@ -4243,42 +4243,42 @@ void func_8017F738(void *a0) { s16 flag; - if (func_8012C354((s32)a0, (s32)(D_801A4544 + (*(u16 *)((s32)a0 + 0x70) & 0xF) * 0x34)) == 0) { + if (func_8012C354((s32)a0, (s32)(D_801A4544 + (CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) * 0x34)) == 0) { return; } - *(u8 *)((s32)a0 + 0xC0) = 1; - *(s32 *)((s32)a0 + 0xBC) = (s32)D_801A461C; - *(s32 *)((s32)a0 + 0xB4) = 0xFFFF5FFF; - *(s32 *)((s32)a0 + 0xC4) |= 3; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A461C; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFF5FFF; + ((Unkstruct_800B5CB8 *)a0)->unkC4 |= 3; - func_8001C97C(D_801A45B4[*(u16 *)((s32)a0 + 0x70) & 0xF]); + func_8001C97C(D_801A45B4[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]); - if ((*(u16 *)((s32)a0 + 0x70) & 1) != 0) { - *(s16 *)((s32)a0 + 0xAE) = -0x81; - *(u8 *)((s32)a0 + 0x75) = 2; - flag = *(s16 *)((s32)a0 + 0x70); + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 1) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkAE = -0x81; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + flag = ((Unkstruct_800B5CB8 *)a0)->unk70; if ((flag & 0x8000) != 0) { - *(s16 *)((s32)a0 + 0x2) = 6; - *(s16 *)((s32)a0 + 0x76) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 1; return; } if ((flag & 0x4000) != 0) { - *(s16 *)((s32)a0 + 0x2) = 8; - *(s16 *)((s32)a0 + 0x76) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 8; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 1; return; } if ((flag & 0x2000) != 0) { - *(s16 *)((s32)a0 + 0x2) = 0xA; - *(s16 *)((s32)a0 + 0x76) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk76 = 1; } else { - *(s16 *)((s32)a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; func_8012B030((u8 *)a0); } } else { - *(s16 *)((s32)a0 + 0xAE) = 0xC; - *(s16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0xC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } func_80143994((s32)a0, 0x4000); @@ -4301,13 +4301,13 @@ extern s32 func_8012BE98(s32 a0, u16 *a1); void func_8017F8B8(param_1) void *param_1; { - if ((*(u16 *)((s32)param_1 + 0x70) & 1) != 0) { + if ((CAST_SIGN(u16, (s32)param_1, 0x70) & 1) != 0) { return; } if (func_8012BE98((s32)param_1, (u16 *)&D_80126CB4) > 0x240000) { return; } - *(s16 *)((s32)param_1 + 2) = 0xC; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xC; } @@ -4320,11 +4320,11 @@ void func_8017F914(s32 param_1) { s32 r; r = rand(); - *(s32 *)(param_1 + 0xE0) = r % 4096; - *(s16 *)(param_1 + 2) = 4; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = r % 4096; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; r = rand(); - *(s32 *)(param_1 + 0x1C) = r % 32 + 0x40; - *(s32 *)(param_1 + 0xE4) &= ~1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = r % 32 + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 &= ~1; func_8012B23C(param_1); func_8012A828(param_1, (s32)&D_801A9620); } @@ -4412,12 +4412,12 @@ void func_8017FB9C(s32 param_1) { if (func_8012BDBC(param_1, 0x400) == 0) { v = 4; - *(u16 *)(param_1 + 2) = v; - v = *(s32 *)(param_1 + 0x20); - *(s32 *)(v + 0x24) = D_801A45AC[*(u16 *)(param_1 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v; + v = ((Unkstruct_800B5CB8 *)param_1)->unk20; + *(s32 *)(v + 0x24) = D_801A45AC[CAST_SIGN(u16, param_1, 0x70) & 0xF]; } v = func_8012B8E4(param_1, 8); - p16 = (unsigned short *)(*(s32 *)(param_1 + 0x20) + 0x12); + p16 = (unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); *p16 = (unsigned short)(*p16 + v); func_8012B178(param_1, 0xFFF80000); if (((s32 (*)(s32))func_8012CBA4)(param_1) != 0x2000) { @@ -4437,20 +4437,20 @@ extern s32 D_801A9620; void func_8017FC3C(s32 param_1) { u16 local[3]; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(param_1 + 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = CAST_SIGN(u16, param_1, 0xFC); func_8012A828(param_1, (s32)&D_801A9620); - local[0] = *(u16 *)(param_1 + 0x6); - local[1] = *(u16 *)(param_1 + 0xA); - local[2] = *(u16 *)(param_1 + 0xE); + local[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; + local[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; + local[2] = ((Unkstruct_800B5CB8 *)param_1)->unkE; if (func_80134510((s32)local) != 0) { - *(u16 *)(param_1 + 0x6) = local[0]; - *(u16 *)(param_1 + 0xA) = local[1]; - *(u16 *)(param_1 + 0xE) = local[2]; - *(u16 *)(param_1 + 0xE8) = *(u16 *)D_801152A8; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = local[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = local[1]; + CAST_ALIAS(u16, param_1, 0xE) = local[2]; + CAST_WIDTH(u16, param_1, 0xE8) = *(u16 *)D_801152A8; *(u16 *)(param_1 + 0xEA) = *(u16 *)&D_801152AA; - *(u16 *)(param_1 + 0xEC) = *(u16 *)&D_801152AC; + ((Unkstruct_800B5CB8 *)param_1)->unkEC = *(u16 *)&D_801152AC; func_80180D70(param_1, param_1 + 0xE8); - *(u16 *)(param_1 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; } } @@ -4509,15 +4509,15 @@ void *a0; func_8012A828((s32)a0, (s32)&D_801A9620); - ptr = *(s32 *)((s32)a0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = *(unsigned short *)((s32)a0 + 0xDC); *(unsigned short *)(ptr + 0x10) = v0; - ptr = *(s32 *)((s32)a0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = *(unsigned short *)((s32)a0 + 0xDE); *(unsigned short *)(ptr + 0x12) = v0; - *(s32 *)((s32)a0 + 0x58) = (s32)D_801A4534 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_801A4534 | 0x40000000 | 0x20000000; func_8012B2CC((s32)a0); func_8012B178((s32)a0, 0xFFF80000); @@ -4566,24 +4566,24 @@ void func_8017FEC0(s32 a0) { func_8012A828(a0, (s32)&D_801A9620); - ptr = *(s32 *)(a0 + 0x20); - v0 = *(u16 *)(a0 + 0xDC); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; + v0 = CAST_WIDTH(u16, a0, 0xDC); *(u16 *)(ptr + 0x10) = v0; - ptr = *(s32 *)(a0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = *(u16 *)(a0 + 0xDE); *(u16 *)(ptr + 0x12) = v0; - *(s32 *)(a0 + 0x58) = (s32)&D_801A4524 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A4524 | 0x40000000 | 0x20000000; - f70 = *(u16 *)(a0 + 0x70); - *(s32 *)(a0 + 0xCC) = (s32)D_801A45DC + ((f70 & 0xF0) << 1); + f70 = CAST_SIGN(u16, a0, 0x70); + ((Unkstruct_800B5CB8 *)a0)->unkCC = (s32)D_801A45DC + ((f70 & 0xF0) << 1); func_8012B2CC(a0); func_8012B178(a0, 0xFFF80000); - *(u16 *)(a0 + 0x2) = 0xB; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } @@ -4624,7 +4624,7 @@ void func_8017FF60(s32 a0) { SV3_8012CC88 sp10; /* sp+0x10, 8 bytes -> 0x28 frame */ s32 r; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: func_8012AD80((struct vec *)a0); ((void (*)(s32, void *, void *))func_80180E34)(a0, &D_801A45C4[0], &sp10); @@ -4632,7 +4632,7 @@ void func_8017FF60(s32 a0) { ((void (*)(s32, void *, void *))func_80180E34)(a0, &D_801A45C4[0x10], &sp10); if (func_80180C44(a0, &sp10, 1) & 0x2000) { func_8012B21C((void *)a0); - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; @@ -4644,36 +4644,36 @@ void func_8017FF60(s32 a0) { * two instructions in $v1 (only a `register __asm__("$5")` pin recovers it, * and a pin would forfeit the h_seq family). */ case 1: - if (*(s16 *)(*(s32 *)(a0 + 0xCC) + 6) != -1) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - func_80012C6C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10), 0, 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + - func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unkCC + 6) != -1) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + func_80012C6C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10), 0, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + + func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), - (void *)*(s32 *)(a0 + 0xCC)), + (void *)((Unkstruct_800B5CB8 *)a0)->unkCC), 8); } func_8012B178(a0, 0xFFF80000); r = ((s32 (*)(s32))func_8012CBA4)(a0) & 0x8000; - if (*(s16 *)(*(s32 *)(a0 + 0xCC) + 6) != -1) { - if (func_80013478(a0 + 4, *(s32 *)(a0 + 0xCC)) < 0x100) { - *(s32 *)(a0 + 0xCC) = *(s32 *)(a0 + 0xCC) + 8; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unkCC + 6) != -1) { + if (func_80013478(a0 + 4, ((Unkstruct_800B5CB8 *)a0)->unkCC) < 0x100) { + ((Unkstruct_800B5CB8 *)a0)->unkCC = ((Unkstruct_800B5CB8 *)a0)->unkCC + 8; } } else if (r != 0) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 2: - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - func_80012C6C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x10), -0x400, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + func_80012C6C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x10), -0x400, 8); func_8012B178(a0, 0xFFF80000); func_8012CBCC(a0); - *(s32 *)(a0 + 0x1C) = *(s32 *)(a0 + 0x1C) + 1; - if (*(s32 *)(a0 + 0x1C) >= 0x21) { - *(s32 *)(a0 + 0x48) = 0; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x21) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; @@ -4700,13 +4700,13 @@ void func_801801C0(s32 *a0) { s32 *s0 = a0; s32 v0, v1; - *(s16 *)((char *)s0 + 2) = 0xD; - *(s16 *)((char *)s0 + 0x34) = 0; - *(s32 *)((char *)s0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 0xD; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0; func_8012C588(0x24F, (s32)s0); - v1 = *(s32 *)((char *)a0 + 0x20); - v0 = D_801A45B4[*(u16 *)((char *)s0 + 0x70) & 0xF]; - *(s32 *)((char *)v1 + 0x24) = v0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v0 = D_801A45B4[CAST_SIGN(u16, (char *)s0, 0x70) & 0xF]; + CAST_WIDTH(s32, (char *)v1, 0x24) = v0; func_8012A828((s32)a0, (s32)&D_801A96F0); } @@ -4731,42 +4731,42 @@ void func_80180230(s32 arg0) { s32 q; v0 = func_8012B864(arg0); - v0 = func_8012B608(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), v0 + 0x800, 10); - p = *(s32 *)(arg0 + 0x20); + v0 = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12), v0 + 0x800, 10); + p = ((Unkstruct_800B5CB8 *)arg0)->unk20; *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + v0; - mode = *(u16 *)(arg0 + 0x34); + mode = ((Unkstruct_800B5CB8 *)arg0)->unk34; switch (mode) { case 0: - if ((*(u16 *)(arg0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk72 & 0x4000) != 0) { func_8012A828(arg0, (s32) &D_801A9740); - v0 = *(u16 *)(arg0 + 0x34) + 1; - *(u16 *)(arg0 + 0x34) = v0; + v0 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = v0; } break; case 1: - if ((*(u16 *)(arg0 + 0x72) & 0x4000) != 0) { - v0 = *(s32 *)(arg0 + 0x1C) + 1; - *(s32 *)(arg0 + 0x1C) = v0; + if ((((Unkstruct_800B5CB8 *)arg0)->unk72 & 0x4000) != 0) { + v0 = ((Unkstruct_800B5CB8 *)arg0)->unk1C + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = v0; if (v0 >= 4) { func_8012A828(arg0, (s32) &D_801A97C8); - *(u16 *)(arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } } break; case 2: - if ((*(u16 *)(arg0 + 0x72) & 0x4000) != 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk72 & 0x4000) != 0) { func_8012A828(arg0, (s32) &D_801A96A8); - *(s32 *)(arg0 + 0x1C) = 0x1E; - *(u16 *)(arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } break; case 3: if (func_8012BEE8(arg0) != 0) { - idx = *(u16 *)(arg0 + 0x70) & 0xF; - *(u16 *)(arg0 + 0x2) = 1; - q = *(s32 *)(arg0 + 0x20); - *(s32 *)(q + 0x24) = D_801A45AC[idx]; + idx = CAST_SIGN(u16, arg0, 0x70) & 0xF; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + q = ((Unkstruct_800B5CB8 *)arg0)->unk20; + CAST_WIDTH(s32, q, 0x24) = D_801A45AC[idx]; } break; } @@ -4792,8 +4792,8 @@ void func_801803B8(s32 param_1) { func_8012E9C0(param_1); s0 = param_1; - v0 = *(s32 *)(s0 + 0x78); - v1 = *(s16 *)(s0 + 0x60); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk78; + v1 = ((Unkstruct_800B5CB8 *)s0)->unk60; v0 = *(s16 *)(v0 + 0x30); a2 = v1 * v0; v0 = a2 >> 12; @@ -4802,26 +4802,26 @@ void func_801803B8(s32 param_1) { v1 = 1; } - v0 = *(u16 *)(s0 + 0x76) - v1; - *(s16 *)(s0 + 0x76) = v0; + v0 = CAST_SIGN(u16, s0, 0x76) - v1; + ((Unkstruct_800B5CB8 *)s0)->unk76 = v0; - v0 = *(u16 *)(s0 + 0x5C) & 0xFFFE; - *(s16 *)(s0 + 0x5C) = v0; - if (*(s16 *)(s0 + 0x76) <= 0) { - *(s16 *)(s0 + 0x5C) = 0; + v0 = ((Unkstruct_800B5CB8 *)s0)->unk5C & 0xFFFE; + ((Unkstruct_800B5CB8 *)s0)->unk5C = v0; + if (((Unkstruct_800B5CB8 *)s0)->unk76 <= 0) { + ((Unkstruct_800B5CB8 *)s0)->unk5C = 0; } - v1 = *(u16 *)(s0 + 0x70); + v1 = CAST_SIGN(u16, s0, 0x70); if (v1 & 1) { if ((v1 & 0xE000) != 0) { goto label_468; } - v0 = *(u16 *)(s0 + 0x62); - p = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk62; + p = ((Unkstruct_800B5CB8 *)s0)->unk20; v0 = (v0 + 0x800) & 0xFFF; *(u16 *)(p + 0x12) = v0; } - v0 = *(s32 *)(s0 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)s0)->unk20; *(s16 *)(v0 + 0x14) = 0; *(s16 *)(v0 + 0x10) = 0; func_8012B2CC(s0); @@ -4829,16 +4829,16 @@ void func_801803B8(s32 param_1) { label_468: func_8012B23C(s0); - if (*(s16 *)(s0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)s0)->unk76 <= 0) { func_80131E00(s0, 0xC); } else { ret = func_80131A34(s0, 4); if (ret != 0) { - *(s8 *)(s0 + 0xC2) = 0; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 0; } else { - *(s8 *)(s0 + 0xC2) = 1; - *(s16 *)(s0 + 0x98) = 0; - *(s32 *)(s0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)s0)->unkC2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x10; } } } @@ -4864,10 +4864,10 @@ void func_801804CC(s32 a0) { } else if (v1 == 0x1A) { ((void (*)(s32))func_801807F8)(a0); } else { - if (*(u8 *)(a0 + 0xC2) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkC2 != 0) { v0 = func_8012BEE8(a0); } else { - v0 = *(u16 *)(a0 + 0x72) & 0x4000; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000; } if (v0 != 0) { s1 = 1; @@ -4892,9 +4892,9 @@ extern void func_8002D4C8(s32 a0, s32 a1); void func_80180598(s32 param_1) { func_8012A828(param_1, (s32)&D_801A9888); - *(u16 *)(param_1 + 0x5C) = 0; - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; func_8002D4C8(0x84D, 0); } @@ -4930,14 +4930,14 @@ void func_801805E4(s32 a0) { s32 t1; s16 tmp; - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: if (func_8012BEE8(a0) == 0) { return; } - *(s32 *)(a0 + 0x1C) = 0x80; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; s2 = func_80132EF4(a0, 0x50); if (s2 == 0) { return; @@ -4952,24 +4952,24 @@ void func_801805E4(s32 a0) { } if (s1 != 0) { v0 = ratan2(*(s16 *)((u8 *)s1 + 4), *(s16 *)((u8 *)s1 + 2)); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x10) = v0 + 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(s2 + 0x20))->unk10 = v0 + 0x400; tmp = *(s16 *)((u8 *)s1 + 4); t0 = tmp * tmp; tmp = *(s16 *)((u8 *)s1 + 2); t1 = tmp * tmp; v0 = func_80047D3C(t0 + t1); v0 = ratan2(*(s16 *)((u8 *)s1 + 0), -v0); - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x12) = v0; + ((Unkstruct_800B5CB8 *)*(s32 *)(s2 + 0x20))->unk12 = v0; } else { - *(s16 *)(*(s32 *)(s2 + 0x20) + 0x10) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(s2 + 0x20))->unk10 = 0x400; } return; case 1: if (func_8012BEE8(a0) == 0) { return; } - *(s32 *)(a0 + 0x1C) = 0x20; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; return; case 2: func_8012E8C4(a0); @@ -5023,8 +5023,8 @@ s32 func_80180834(void *a0) { func_8012F14C((s32)D_80126B78 + 0x34, (s32)&D_801A46A4, (s32)&buf1); func_8012F14C((s32)D_80126B78 + 0x34, (s32)&D_801A46A4 + 8, (s32)&buf2); - if (func_80135888(*(s32 *)((s32)a0 + 0x20), *(s32 *)((s32)a0 + 0x58), (s32)&buf1, (s32)&buf2) != 0) { - func_8012F568(1, 1, *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12), 0x20, (s32)&buf2, (s32)D_801152A8); + if (func_80135888(((Unkstruct_800B5CB8 *)a0)->unk20, ((Unkstruct_800B5CB8 *)a0)->unk58, (s32)&buf1, (s32)&buf2) != 0) { + func_8012F568(1, 1, *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), 0x20, (s32)&buf2, (s32)D_801152A8); return 1; } return 0; @@ -5043,19 +5043,19 @@ s32 func_801808E8(s32 a0, void *a1, s32 a2, s32 a3) { s32 v0; if (a3 == 0) { - sp10.vx = *(u16 *)(a0 + 0x3A); - sp10.vy = *(u16 *)(a0 + 0x3E); - sp10.vz = *(u16 *)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; func_8012AD80((struct vec *)a0); } else { - sp10.vx = *(u16 *)(a0 + 0x06); - sp10.vy = *(u16 *)(a0 + 0x0A); - sp10.vz = *(u16 *)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; } - sp18.vx = *(u16 *)(a0 + 0x06); - sp18.vy = *(u16 *)(a0 + 0x0A); - sp18.vz = *(u16 *)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16 *)(a1 + 0); sp18.vy += *(u16 *)(a1 + 2); sp18.vz += *(u16 *)(a1 + 4); @@ -5078,21 +5078,21 @@ s32 func_801808E8(s32 a0, void *a1, s32 a2, s32 a3) { v0 = ((s32 (*)(s32, s32, s32))func_80133784)((s32)(s16)a2, (s32)&sp10, (s32)&sp18); } v0 |= *(u8 *)&sp18.pad; - *(s16 *)(a0 + 0x06) = sp18.vx; - *(s16 *)(a0 + 0x0A) = sp18.vy; - *(s16 *)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; goto ret; } v0 |= *(u8 *)&sp10.pad; - *(s16 *)(a0 + 0x06) = sp10.vx; - *(s16 *)(a0 + 0x0A) = sp10.vy; - *(s16 *)(a0 + 0x0E) = sp10.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp10.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp10.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp10.vz; goto ret; } v0 |= *(u8 *)&sp18.pad; - *(s16 *)(a0 + 0x06) = sp18.vx; - *(s16 *)(a0 + 0x0A) = sp18.vy; - *(s16 *)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; ret: return v0; } @@ -5108,18 +5108,18 @@ s32 func_80180B04(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x3A); - sp10.vy = *(u16*)(a0 + 0x3E); - sp10.vz = *(u16*)(a0 + 0x42); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk3A; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unk3E; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unk42; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012AD80((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5130,9 +5130,9 @@ s32 func_80180B04(s32 a0, s32 a1, s32 a2) { sp18.vy -= *(u16*)(a1 + 2); v0 |= *(u8*)&sp18.pad; sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + CAST_ALIAS(s16, a0, 0x06) = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; return v0; } @@ -5259,7 +5259,7 @@ void func_80180F44(void) extern void (*D_801A4770[])(void); void func_80181020(void *a0) { - D_801A4770[*(u16 *)((s32)a0 + 0x2)](); + D_801A4770[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5279,21 +5279,21 @@ void func_8018105C(void *param_1) return; } - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; func_8001CA1C(v0, &D_801A4764); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; - v0 = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = ((s32)v0 << 16) >> 17; + v0 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = ((s32)v0 << 16) >> 17; - v0 = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = ((s32)v0 << 16) >> 17; + v0 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = ((s32)v0 << 16) >> 17; - *(s16 *)(param_1 + 0xFE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); func_801814D8((s32)param_1, 2); - *(u16 *)(param_1 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } @@ -5342,8 +5342,8 @@ void func_801811EC(s32 a0) { s32 vec[3]; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12) + 0x800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12) + 0x800; func_8012B2CC(a0); vec[0] = 0; @@ -5352,10 +5352,10 @@ void func_801811EC(s32 a0) func_8012B14C(a0, vec); - *(s32 *)(a0 + 0x48) = 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x18000; func_8012CBF4(a0); func_80181CDC(a0, 0x7FA); - *(u16 *)(a0 + 2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; } @@ -5411,7 +5411,7 @@ void func_801812AC(s32 a0) { s32 pad[2]; /* dead-local frame pad (cookbook §162i1); target frame is 8 * bytes larger than this body's live locals account for. */ - if (*(s16 *)(obj + 0xA) >= 0x10) { + if (CAST_SIGN(s16, obj, 0xA) >= 0x10) { func_8012C218((void *)a0); return; } @@ -5435,11 +5435,11 @@ void func_801812AC(s32 a0) { } s0 = func_80132EF4(obj, 0x50); if (s0 != 0) { - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x10) = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 = ratan2(s1[2], s1[1]) + 0x400; - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 = ratan2(s1[0], -func_80047D3C(s1[2] * s1[2] + s1[1] * s1[1])); - *(s16 *)(*(s32 *)(s0 + 0x20) + 0x14) = 0; + *(s16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) = 0; } func_80181CDC(obj, 0x7FB); func_8012C218((void *)obj); @@ -5469,7 +5469,7 @@ void func_80181438(s32 a0) { q = func_80132EF4(s1, 0x50); i = 0; if (q != 0) { - *(s16 *)(*(s32 *)(q + 0x20) + 0x10) = 0x400; + ((Unkstruct_800B5CB8 *)*(s32 *)(q + 0x20))->unk10 = 0x400; } while (i < 3) { func_80132EF4(s1, 0x51); @@ -5577,7 +5577,7 @@ void func_80181690(void *a0) { extern void func_801292C8(u8 *a0); void func_801816C4(u8 *a0) { - u8 *a1 = *(u8 **)(a0 + 0x20); + u8 *a1 = CAST_SIGN(u8 *, a0, 0x20); *(u16 *)(a1 + 0x18) = *(u16 *)(a1 + 0x18) - 0x100; *(u16 *)(a1 + 0x1A) = *(u16 *)(a1 + 0x1A) - 0x100; @@ -5683,7 +5683,7 @@ ret0: extern void (*D_801A47C4[])(void); void func_8018187C(void *a0) { - D_801A47C4[*(u16 *)((s32)a0 + 0x2)](); + D_801A47C4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5759,7 +5759,7 @@ extern u8 D_800D3918[]; void func_80181A08(s32 arg0) { s32 var; - if (*(s16 *)(arg0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, arg0, 0xA) >= 0x10) { func_801292C8((u8 *)arg0); return; } @@ -5767,10 +5767,10 @@ void func_80181A08(s32 arg0) { func_801292C8((u8 *)arg0); return; } - var = *(s32 *)(arg0 + 0x1C) - 1; - *(s32 *)(arg0 + 0x1C) = var; + var = ((Unkstruct_800B5CB8 *)arg0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = var; if (var < 0x23) { - *(s32 *)(arg0 + 0x14) += 0x10000; + ((Unkstruct_800B5CB8 *)arg0)->unk14 += 0x10000; } } @@ -5788,18 +5788,18 @@ s32 func_80181AAC(s32 a0, s32 a1, s32 a2) { SV3_8012CC88 sp18; s32 v0; - sp10.vx = *(u16*)(a0 + 0x06); - sp10.vy = *(u16*)(a0 + 0x0A); - sp10.vz = *(u16*)(a0 + 0x0E); + sp10.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp10.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp10.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp10.vx += *(u16*)(a1 + 0); sp10.vy += *(u16*)(a1 + 2); sp10.vz += *(u16*)(a1 + 4); func_8012931C((struct vec *)a0); - sp18.vx = *(u16*)(a0 + 0x06); - sp18.vy = *(u16*)(a0 + 0x0A); - sp18.vz = *(u16*)(a0 + 0x0E); + sp18.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; + sp18.vy = ((Unkstruct_800B5CB8 *)a0)->unkA; + sp18.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; sp18.vx += *(u16*)(a1 + 0); sp18.vy += *(u16*)(a1 + 2); sp18.vz += *(u16*)(a1 + 4); @@ -5809,12 +5809,12 @@ s32 func_80181AAC(s32 a0, s32 a1, s32 a2) { sp18.vx -= *(u16*)(a1 + 0); sp18.vy -= *(u16*)(a1 + 2); sp18.vz -= *(u16*)(a1 + 4); - *(s16*)(a0 + 0x06) = sp18.vx; - *(s16*)(a0 + 0x0A) = sp18.vy; - *(s16*)(a0 + 0x0E) = sp18.vz; + ((Unkstruct_800B5CB8 *)a0)->unk6 = sp18.vx; + ((Unkstruct_800B5CB8 *)a0)->unkA = sp18.vy; + ((Unkstruct_800B5CB8 *)a0)->unkE = sp18.vz; if (v0 & 0x6000) { - *(s32*)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } return v0; } @@ -5867,9 +5867,9 @@ s32 func_80181CDC(s32 a0, s32 a1) { val = 0x7F; lvl = 7; arg = a1; - pos.vx = *(s16 *)(a0 + 0x6); - pos.vy = *(s16 *)(a0 + 0xA); - pos.vz = *(s16 *)(a0 + 0xE); + pos.vx = CAST_SIGN(s16, a0, 0x6); + pos.vy = CAST_SIGN(s16, a0, 0xA); + pos.vz = CAST_SIGN(s16, a0, 0xE); ((void (*)(void *, void *))func_8012EFB8)(&pos, &out); t = out.vx; @@ -5890,7 +5890,7 @@ s32 func_80181CDC(s32 a0, s32 a1) { extern void (*D_801A9F5C[])(void); void func_80181E40(void *a0) { - D_801A9F5C[*(u16 *)((s32)a0 + 0x2)](); + D_801A9F5C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5916,24 +5916,24 @@ void func_80181E7C(s32 a0) { if ((s0 == 1) || (s0 = ((s32 (*)(void))func_8012C194)(), s0 == 0)) { ((void (*)(s32))func_8012CAE4)(a0); } else { - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001CC3C(s0, (s32)D_801A9F10, 0x214, 0x168); - *(s32 *)(s0 + 0x4) = 0x50000000; - *(u8 *)(s0 + 0x27) = 0x24; + CAST_WIDTH(s32, s0, 0x4) = 0x50000000; + ((Unkstruct_800B5CB8 *)s0)->unk27 = 0x24; func_80128EA8(s0, a0 + 0xDC, (s32)D_801A9F1C); func_801823F4(a0); - *(u16 *)(s0 + 0x8) = *(u16 *)(a0 + 0x6); - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); - *(u16 *)(s0 + 0x1A) = 0x2000; - *(u16 *)(s0 + 0x18) = 0x2000; - *(u16 *)(s0 + 0x2C) = 0xC010; - *(u16 *)(s0 + 0xC) = t; - v = *(u16 *)(a0 + 0x2) + 1; - u = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x36); - *(s32 *)(a0 + 0x1C) = 0x180; - *(u16 *)(a0 + 0x2) = v; - *(u16 *)(a0 + 0x10A) = u; + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC010; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; + v = CAST_SIGN(u16, a0, 0x2) + 1; + u = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x180; + ((Unkstruct_800B5CB8 *)a0)->unk2 = v; + ((Unkstruct_800B5CB8 *)a0)->unk10A = u; func_8002D4C8(0xAA0, 0); } } @@ -5962,20 +5962,20 @@ void func_80181F78(s32 arg0) { u16 v; u16 w; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(arg0 + 0x10A) == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { - if (*(s32 *)(arg0 + 0x1C) == (*(s32 *)(arg0 + 0x1C) / 0x30) * 0x30 && + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (((Unkstruct_800B5CB8 *)arg0)->unk10A == *(s16 *)(p + 0x36) && *(s16 *)(p + 0x76) > 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == (((Unkstruct_800B5CB8 *)arg0)->unk1C / 0x30) * 0x30 && *(u8 *)(p + 0xC1) == 0) { *(s16 *)(p + 0x60) = 0xA; *(u16 *)(p + 0x5C) |= 1; v = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); *(s16 *)(p + 0x5E) = 1; *(u16 *)(p + 0x62) = v + 0x800; - *(u16 *)(p + 0x7C) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0x7E) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0x80) = *(u16 *)(arg0 + 0xE); + *(u16 *)(p + 0x7C) = ((Unkstruct_800B5CB8 *)arg0)->unk6; + *(u16 *)(p + 0x7E) = ((Unkstruct_800B5CB8 *)arg0)->unkA; + *(u16 *)(p + 0x80) = ((Unkstruct_800B5CB8 *)arg0)->unkE; } - if ((*(s32 *)(arg0 + 0x1C) & 7) == 0) { + if ((((Unkstruct_800B5CB8 *)arg0)->unk1C & 7) == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { t0 = rand(); @@ -5994,19 +5994,19 @@ void func_80181F78(s32 arg0) { *(s32 *)(*(s32 *)(q + 0x20) + 0x4) |= 0x40000000; } } - r = *(s32 *)(arg0 + 0xCC); + r = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (r != 0) { func_80128ED8((void *)r, (void *)(arg0 + 0xDC)); func_801823F4(arg0); - *(u16 *)(r + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(r + 0xA) = *(u16 *)(arg0 + 0xA); - w = *(u16 *)(arg0 + 0xE); - *(u16 *)(r + 0x18) += 0x15; - *(u16 *)(r + 0x1A) += 0x15; - *(u16 *)(r + 0xC) = w; + ((Unkstruct_800B5CB8 *)r)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + w = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)r)->unk18 += 0x15; + ((Unkstruct_800B5CB8 *)r)->unk1A += 0x15; + ((Unkstruct_800B5CB8 *)r)->unkC = w; } if (*(u16 *)(p + 0x5E) == 0x23) { - *(u16 *)(arg0 + 0x2) += 1; + CAST_SIGN(u16, arg0, 0x2) += 1; } if (func_8012BEE8(arg0) == 0) { return; @@ -6035,16 +6035,16 @@ void func_80182208(s32 arg0) { s32 u1; s32 t2; - p = *(s32 *)(arg0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)arg0)->unkCC; if (p != 0) { func_80128ED8((void *)p, (void *)(arg0 + 0xDC)); func_801823F4(arg0); - *(u16 *)(p + 0x8) = *(u16 *)(arg0 + 0x6); - *(u16 *)(p + 0xA) = *(u16 *)(arg0 + 0xA); - *(u16 *)(p + 0xC) = *(u16 *)(arg0 + 0xE); - *(u16 *)(p + 0x18) -= 0x200; - *(u16 *)(p + 0x1A) -= 0x200; - if (*(s16 *)(p + 0x18) >= 0) { + ((Unkstruct_800B5CB8 *)p)->unk8 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkC = ((Unkstruct_800B5CB8 *)arg0)->unkE; + ((Unkstruct_800B5CB8 *)p)->unk18 -= 0x200; + ((Unkstruct_800B5CB8 *)p)->unk1A -= 0x200; + if (CAST_SIGN(s16, p, 0x18) >= 0) { if (D_800B99DA % 5 == 0) { q = func_80132EF4(arg0, 0x22); if (q != 0) { @@ -6084,7 +6084,7 @@ s32 func_8018239C(s32 arg0) { p = D_801202A0; for (i = 0; i < 0x60; i++) { - if (*(u16 *)p == 0x35C && *(s32 *)(arg0 + 0x64) == *(s32 *)(p + 0x64) && + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x35C && ((Unkstruct_800B5CB8 *)arg0)->unk64 == ((Unkstruct_800B5CB8 *)p)->unk64 && arg0 != (s32)p) { return 1; } @@ -6103,13 +6103,13 @@ void func_801823F4(s32 arg0) { u16 out[4]; s32 p; - p = *(s32 *)(arg0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(arg0 + 0x10A)) { - func_8012EC04(p, *(s16 *)(arg0 + 0xFC), buf); + p = ((Unkstruct_800B5CB8 *)arg0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)arg0)->unk10A) { + func_8012EC04(p, ((Unkstruct_800B5CB8 *)arg0)->unkFC, buf); ((void (*)(s32 *, s32, u16 *))func_8012F14C)(buf, arg0 + 0x88, out); - *(u16 *)(arg0 + 0x6) = out[0]; - *(u16 *)(arg0 + 0xA) = out[1]; - *(u16 *)(arg0 + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)arg0)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)arg0)->unkE = out[2]; } } @@ -6125,7 +6125,7 @@ extern void func_8012C218(void *a0); void func_80182470(void *arg0) { void *temp_a0; - temp_a0 = *(void **)((char *)arg0 + 0xCC); + temp_a0 = CAST_SIGN(void *, (char *)arg0, 0xCC); if (temp_a0 != NULL) { func_80016714(temp_a0, 0x38); } diff --git a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c index 87f099cca0..e93e69f9c7 100644 --- a/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c +++ b/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.c @@ -2625,34 +2625,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801A124C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801A1240+0xC == &D_801A124C; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2663,9 +2663,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2674,11 +2674,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801A124C); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801A1240 + 0xC)) < 0x101) { @@ -3445,21 +3445,21 @@ extern u8 D_80186404[]; extern B16 D_800A5E88, D_801A1158, D_800A5E98, D_801A1168, D_800A5EA8, D_801A1178; void func_8017D098(s32 param_1) { - s32 s1 = *(s32 *)(param_1 + 0x20); + s32 s1 = ((Unkstruct_80126B58 *)param_1)->unk20; s32 wp = D_801151D4; u16 flags; func_8014BF8C(4); func_800291A0(0xE0, 0); - *(u16 *)(param_1 + 0x136) = 3; - *(u16 *)(param_1 + 0x130) = 0; - *(u16 *)(param_1 + 0x132) = 0x800; + ((Unkstruct_80126B58 *)param_1)->unk136 = 3; + ((Unkstruct_80126B58 *)param_1)->unk130 = 0; + ((Unkstruct_80126B58 *)param_1)->unk132 = 0x800; func_8014706C((void *)param_1); func_80154274((s32 *)param_1, (s32)&D_80186404); - flags = *(u16 *)(s1 + 0x2C); - *(s32 *)(s1 + 0x80) = (s32)&D_801A1158; - *(u16 *)(s1 + 0x2C) = flags | 0x20; + flags = ((Unkstruct_800B5CB8 *)s1)->unk2C; + CAST_WIDTH(s32, s1, 0x80) = (s32)&D_801A1158; + ((Unkstruct_800B5CB8 *)s1)->unk2C = flags | 0x20; D_801A1158 = D_800A5E88; D_801A1168 = D_800A5E98; @@ -3469,7 +3469,7 @@ void func_8017D098(s32 param_1) { *(s32 *)(wp + 0x14) = 0xDA; *(u16 *)(wp + 0x1A) = 0; *(u16 *)(wp + 0x22) = 0; - *(s32 *)(param_1 + 0x200) = 0x80; + ((Unkstruct_80126B58 *)param_1)->unk200 = 0x80; func_80171990((u8 *)param_1); } @@ -3652,18 +3652,18 @@ extern u8 D_80186404[]; extern B16 D_800A5E88, D_801A1158, D_800A5E98, D_801A1168, D_800A5EA8, D_801A1178; void func_8017D4E8(void *param_1) { - s32 s1 = *(s32 *)((u8 *)param_1 + 0x20); + s32 s1 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8014BF8C(4); func_800291A0(0xE0, 1); - *(u16 *)((u8 *)param_1 + 0x136) = 3; - *(u16 *)((u8 *)param_1 + 0x130) = 0; - *(u16 *)((u8 *)param_1 + 0x132) = 0x800; + ((Unkstruct_80126B58 *)param_1)->unk136 = 3; + ((Unkstruct_80126B58 *)param_1)->unk130 = 0; + ((Unkstruct_80126B58 *)param_1)->unk132 = 0x800; func_8014706C(param_1); func_80154274((s32 *)param_1, (s32)&D_80186404); - *(s32 *)(s1 + 0x80) = (s32)&D_801A1158; - *(u16 *)(s1 + 0x2C) |= 0x20; + CAST_WIDTH(s32, s1, 0x80) = (s32)&D_801A1158; + ((Unkstruct_800B5CB8 *)s1)->unk2C |= 0x20; D_801A1158 = D_800A5E88; D_801A1168 = D_800A5E98; @@ -3704,18 +3704,18 @@ extern u8 D_80186404[]; extern B16 D_800A5E88, D_801A1158, D_800A5E98, D_801A1168, D_800A5EA8, D_801A1178; void func_8017D668(void *param_1) { - s32 s1 = *(s32 *)((u8 *)param_1 + 0x20); + s32 s1 = ((Unkstruct_80126B58 *)param_1)->unk20; func_8014BF8C(4); func_800291A0(0xE0, 2); - *(u16 *)((u8 *)param_1 + 0x136) = 3; - *(u16 *)((u8 *)param_1 + 0x130) = 0; - *(u16 *)((u8 *)param_1 + 0x132) = 0x800; + ((Unkstruct_80126B58 *)param_1)->unk136 = 3; + ((Unkstruct_80126B58 *)param_1)->unk130 = 0; + ((Unkstruct_80126B58 *)param_1)->unk132 = 0x800; func_8014706C(param_1); func_80154274((s32 *)param_1, (s32)&D_80186404); - *(s32 *)(s1 + 0x80) = (s32)&D_801A1158; - *(u16 *)(s1 + 0x2C) |= 0x20; + CAST_WIDTH(s32, s1, 0x80) = (s32)&D_801A1158; + ((Unkstruct_800B5CB8 *)s1)->unk2C |= 0x20; D_801A1158 = D_800A5E88; D_801A1168 = D_800A5E98; @@ -3966,7 +3966,7 @@ void func_8017DC50(s32 arg0, s32 arg1) { extern void (*D_80186524[])(void); void func_8017DE68(void *a0) { - D_80186524[*(u16 *)((s32)a0 + 0x2)](); + D_80186524[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4089,7 +4089,7 @@ void func_8017E230(void *a0, void *a1, void *a2, void *a3, s32 *a4) extern void (*D_8018653C[])(void); void func_8017E318(void *a0) { - D_8018653C[*(u16 *)((s32)a0 + 0x2)](); + D_8018653C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4122,7 +4122,7 @@ void func_8017E354(s32 param_1) { s32 t4; s32 t5; - *(s32 *)(param_1 + 0x20) = var_s0 = ((s32 (*)(void))func_8012C1B8)(); + ((Unkstruct_800B5CB8 *)param_1)->unk20 = var_s0 = ((s32 (*)(void))func_8012C1B8)(); if (var_s0 != 0) { t0 = D_8019E64C; t1 = D_8019E650; @@ -4141,15 +4141,15 @@ void func_8017E354(s32 param_1) { *(u16 *)(var_s0 + 0x2C) |= 0x80; *(s32 *)(var_s0 + 0x80) = param_1 + 0xCC; *(s16 *)(param_1 + 0xD2) = -2; - *(u8 *)(param_1 + 0x75) = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 5; func_8017E840((void *)param_1); func_8017E6A4((void *)param_1); ((void (*)(void *))func_8017EAE4)((void *)param_1); - *(s16 *)(param_1 + 0xFC) = 0; - *(s16 *)(param_1 + 0xFE) = 0; - *(s16 *)(param_1 + 0x100) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0; *(s16 *)(param_1 + 0xE2) = 0x80; - *(s16 *)(param_1 + 0xE0) = 0x80; + CAST_WIDTH(s16, param_1, 0xE0) = 0x80; func_8012AD50((void *)param_1); } } @@ -4206,10 +4206,10 @@ void func_8017E464(s32 param_1) { func_8017EAB0(p, 1); func_8017EAE4(p); - v = *(s16 *)(p + 0xFC); + v = ((Unkstruct_800B5CB8 *)p)->unkFC; q = &D_80126B58; if (v == 0) { - if (*(s16 *)(p + 0xFE) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unkFE != 0) { s0 = func_8014BFD4(); switch (s0) { case 4: @@ -4241,7 +4241,7 @@ void func_8017E464(s32 param_1) { func_8002D4C8(0x8BB, 0); break; } - *(s16 *)(p + 0xFC) = 0x3C; + ((Unkstruct_800B5CB8 *)p)->unkFC = 0x3C; s0 = s0 - 1; if (s0 < 0) { s0 = 0; @@ -4249,7 +4249,7 @@ void func_8017E464(s32 param_1) { func_8014BF8C(s0); } } else { - *(s16 *)(p + 0xFC) = v - 1; + ((Unkstruct_800B5CB8 *)p)->unkFC = v - 1; i = 0; do { i = i + 1; @@ -4290,10 +4290,10 @@ void func_8017E464(s32 param_1) { e0 = e0 + c2; buf[1] = b0; buf[2] = e0; - func_80182694((s32)buf, *(s16 *)(p + 0x100)); + func_80182694((s32)buf, ((Unkstruct_800B5CB8 *)p)->unk100); } while (i < 0xA); } - *(s16 *)(p + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)p)->unkFE = 0; } @@ -4330,13 +4330,13 @@ void func_8017E6A4(s32 param_1) b78 = D_80126B78; t = D_801A12E4; - *(u16 *)(param_1 + 6) = rec[0]; - *(u16 *)(param_1 + 0xA) = rec[1]; - *(u16 *)(param_1 + 0xE) = rec[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = rec[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = rec[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = rec[2]; - *(s16 *)((s32)b78 + 0x14) = -*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) & 0xFFF; - *(s16 *)&D_80126C88 = -*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) & 0xFFF; - *(s16 *)&D_80126C8A = (*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800) & 0xFFF; + *(s16 *)((s32)b78 + 0x14) = -*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) & 0xFFF; + *(s16 *)&D_80126C88 = -((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 & 0xFFF; + *(s16 *)&D_80126C8A = (((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + 0x800) & 0xFFF; D_8012699C = (func_80012F74((D_8012699C << 14) >> 16, (t << 29) >> 16, 10, 1) << 16) >> 14; @@ -4488,7 +4488,7 @@ void func_8017EAE4(s32 arg0) { extern void (*D_8018654C[])(void); void func_8017EB7C(void *a0) { - D_8018654C[*(u16 *)((s32)a0 + 0x2)](); + D_8018654C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4520,53 +4520,53 @@ void func_8017EBB8(void *a0) { s32 v; s1 = (s32)a0; - idx = *(s16 *)(s1 + 0x70); + idx = ((Unkstruct_800B5CB8 *)s1)->unk70; tbl = D_801151D4; s2 = D_80186558[idx]; sum = *(s32 *)(tbl + 0x34) + ((*(u16 *)(tbl + 0x38) + 8) * 6); ent = ((s32 (*)(void))func_8012C1B8)(); copy = ent; - *(s32 *)(s1 + 0x20) = ent; + ((Unkstruct_800B5CB8 *)s1)->unk20 = ent; if (ent != 0) { if (s2 == (s32)&D_801A1098) goto L64; if (s2 == (s32)&D_801A10A0) goto L64; if (s2 == (s32)&D_801A10A8) goto L64; if (s2 != (s32)&D_801A10B0) goto L48; L64: - *(s32 *)(s1 + 0xDC) = 0; - v = ((s32 *)&D_8019E64C)[*(s16 *)(s1 + 0x70)]; + ((Unkstruct_800B5CB8 *)s1)->unkDC = 0; + v = ((s32 *)&D_8019E64C)[((Unkstruct_800B5CB8 *)s1)->unk70]; *(s32 *)(s2 + 4) = 0; *(s32 *)(s2 + 0) = v; func_8001C214(copy, s2); - *(u16 *)(s1 + 0x88) = *(u16 *)((u8 *)D_8019E666 + *(s16 *)(s1 + 0x70) * 12 - 2); - *(u16 *)(s1 + 0x8A) = D_8019E666[*(s16 *)(s1 + 0x70)].x; - *(u16 *)(s1 + 0x8C) = D_8019E666[*(s16 *)(s1 + 0x70)].y; - *(Blk8_EBB8 *)(copy + 0x10) = *(Blk8_EBB8 *)(*(s32 *)(*(s32 *)(s1 + 0x64) + 0x20) + 0x10); - *(s32 *)(s1 + 0xC) = 0; - *(s32 *)(s1 + 8) = 0; - *(s32 *)(s1 + 4) = 0; + ((Unkstruct_800B5CB8 *)s1)->unk88 = *(u16 *)((u8 *)D_8019E666 + ((Unkstruct_800B5CB8 *)s1)->unk70 * 12 - 2); + ((Unkstruct_800B5CB8 *)s1)->unk8A = D_8019E666[((Unkstruct_800B5CB8 *)s1)->unk70].x; + ((Unkstruct_800B5CB8 *)s1)->unk8C = D_8019E666[((Unkstruct_800B5CB8 *)s1)->unk70].y; + CAST_WIDTH(Blk8_EBB8, copy, 0x10) = *(Blk8_EBB8 *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x10); + CAST_WIDTH(s32, s1, 0xC) = 0; + CAST_WIDTH(s32, s1, 8) = 0; + CAST_WIDTH(s32, s1, 4) = 0; func_8012B2CC(s1); func_8012F214(s1, s1 + 0x88, s1 + 0x88); goto tail; L48: - *(s32 *)(s1 + 0xDC) = 1; - *(u16 *)(s1 + 0x88) = *(u16 *)(sum + 0) - *(u16 *)(*(s32 *)(s1 + 0x64) + 6); - *(u16 *)(s1 + 0x8A) = *(u16 *)(sum + 2) - *(u16 *)(*(s32 *)(s1 + 0x64) + 0xA); - *(u16 *)(s1 + 0x8C) = *(u16 *)(sum + 4) - *(u16 *)(*(s32 *)(s1 + 0x64) + 0xE); + ((Unkstruct_800B5CB8 *)s1)->unkDC = 1; + ((Unkstruct_800B5CB8 *)s1)->unk88 = *(u16 *)(sum + 0) - *(u16 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 6); + ((Unkstruct_800B5CB8 *)s1)->unk8A = *(u16 *)(sum + 2) - *(u16 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xA); + ((Unkstruct_800B5CB8 *)s1)->unk8C = *(u16 *)(sum + 4) - *(u16 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xE); func_8001C214(ent, s2); - *(u16 *)(ent + 0x2C) = *(u16 *)(ent + 0x2C) | 0x80; - *(Blk8_EBB8 *)(s1 + 0xCC) = *(Blk8_EBB8 *)(*(s32 *)(s1 + 0x64) + 0xCC); - *(s32 *)(ent + 0x80) = s1 + 0xCC; - *(Blk8_EBB8 *)(ent + 0x10) = *(Blk8_EBB8 *)(*(s32 *)(*(s32 *)(s1 + 0x64) + 0x20) + 0x10); - *(s32 *)(s1 + 0xC) = 0; - *(s32 *)(s1 + 8) = 0; - *(s32 *)(s1 + 4) = 0; + ((Unkstruct_800B5CB8 *)ent)->unk2C = ((Unkstruct_800B5CB8 *)ent)->unk2C | 0x80; + CAST_WIDTH(Blk8_EBB8, s1, 0xCC) = *(Blk8_EBB8 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xCC); + CAST_WIDTH(s32, ent, 0x80) = s1 + 0xCC; + CAST_WIDTH(Blk8_EBB8, ent, 0x10) = *(Blk8_EBB8 *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x10); + CAST_WIDTH(s32, s1, 0xC) = 0; + CAST_WIDTH(s32, s1, 8) = 0; + CAST_WIDTH(s32, s1, 4) = 0; func_8012B2CC(s1); tail: - *(u16 *)(s1 + 0xFC) = (0x20 - rand()) & 0x3F; - *(u16 *)(s1 + 0xFE) = (0x20 - rand()) & 0x3F; - *(s32 *)(s1 + 0x44) = 0x1000 - ((rand() & 0x3F) << 7); - *(s32 *)(s1 + 0x48) = 0x1000 - ((rand() & 0x3F) << 7); + ((Unkstruct_800B5CB8 *)s1)->unkFC = (0x20 - rand()) & 0x3F; + ((Unkstruct_800B5CB8 *)s1)->unkFE = (0x20 - rand()) & 0x3F; + ((Unkstruct_800B5CB8 *)s1)->unk44 = 0x1000 - ((rand() & 0x3F) << 7); + ((Unkstruct_800B5CB8 *)s1)->unk48 = 0x1000 - ((rand() & 0x3F) << 7); func_8017EFE4(s1); func_8012BF4C((s32 *)s1, 0x1E); func_8012AD50((void *)s1); @@ -4579,15 +4579,15 @@ extern s32 func_8012AD50(void *a0); extern void func_8017EFE4(s32 a0); void func_8017EEAC(void *a0) { - u16 *s1 = *(u16 **)((s8 *)a0 + 0x20); + u16 *s1 = CAST_SIGN(u16 *, (s8 *)a0, 0x20); if (func_8012BEE8((s32)a0) != 0) { ((void (*)(void *))func_8012AD50)(a0); } else { - *(u16 *)((s8 *)s1 + 0x10) = *(u16 *)((s8 *)s1 + 0x10) + *(u16 *)((s8 *)a0 + 0xFC); - *(u16 *)((s8 *)s1 + 0x14) = *(u16 *)((s8 *)s1 + 0x14) + *(u16 *)((s8 *)a0 + 0xFE); - if (*(s32 *)((s8 *)a0 + 0xDC) != 0) { - *(u16 *)((s8 *)s1 + 0x12) = *(u16 *)((s8 *)s1 + 0x12) + *(u16 *)((s8 *)a0 + 0xFC); + *(u16 *)((s8 *)s1 + 0x10) = *(u16 *)((s8 *)s1 + 0x10) + CAST_SIGN(u16, (s8 *)a0, 0xFC); + *(u16 *)((s8 *)s1 + 0x14) = *(u16 *)((s8 *)s1 + 0x14) + CAST_SIGN(u16, (s8 *)a0, 0xFE); + if (((Unkstruct_800B5CB8 *)a0)->unkDC != 0) { + *(u16 *)((s8 *)s1 + 0x12) = *(u16 *)((s8 *)s1 + 0x12) + CAST_SIGN(u16, (s8 *)a0, 0xFC); } } func_8017EFE4((s32)a0); @@ -4606,18 +4606,18 @@ void func_8017EF50(s32 arg0) { s32 ret; s0 = (u8 *)arg0; - ptr = *(s32 *)(s0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)s0)->unk20; - *(u16 *)(ptr + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(ptr + 0x14) += *(u16 *)(s0 + 0xFE); + *(u16 *)(ptr + 0x10) += CAST_SIGN(u16, s0, 0xFC); + *(u16 *)(ptr + 0x14) += CAST_SIGN(u16, s0, 0xFE); - *(s32 *)(s0 + 0x4C) -= 0x800; + ((Unkstruct_800B5CB8 *)s0)->unk4C -= 0x800; func_8017EFE4(arg0); ret = func_8012E544(0x204); if (ret != 0) { - val1 = *(s16 *)(ret + 0xE); - val2 = *(s16 *)(s0 + 0xE); + val1 = CAST_SIGN(s16, ret, 0xE); + val2 = CAST_SIGN(s16, s0, 0xE); if (val2 < val1 - 0x80) { ((void (*)(s32))func_8012C098)(arg0); } @@ -4634,9 +4634,9 @@ void func_8017EFE4(s32 pv) { func_80015954(pv + 0x88, pv + 4); func_8012AD80(pv); func_80015978(pv + 4, (s32 *)(pv + 0x88)); - *(u16 *)(pv + 6) = *(u16 *)(pv + 6) + tbl[0]; - *(u16 *)(pv + 0xA) = *(u16 *)(pv + 0xA) + tbl[1]; - *(u16 *)(pv + 0xE) = *(u16 *)(pv + 0xE) + tbl[2]; + ((Unkstruct_800B5CB8 *)pv)->unk6 = ((Unkstruct_800B5CB8 *)pv)->unk6 + tbl[0]; + ((Unkstruct_800B5CB8 *)pv)->unkA = ((Unkstruct_800B5CB8 *)pv)->unkA + tbl[1]; + ((Unkstruct_800B5CB8 *)pv)->unkE = ((Unkstruct_800B5CB8 *)pv)->unkE + tbl[2]; } @@ -4644,7 +4644,7 @@ void func_8017EFE4(s32 pv) { extern void (*D_801865A4[])(void); void func_8017F0A8(void *a0) { - D_801865A4[*(u16 *)((s32)a0 + 0x2)](); + D_801865A4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4658,15 +4658,15 @@ void func_8017F0E4(int param_1) int iVar2; int iVar3; - iVar2 = *(int *)(param_1 + 0x20); + iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; func_8001CC3C(iVar2, (int)D_80186578, 0x280, 0x1C0); *(unsigned char *)(iVar2 + 0x27) = 0x59; *(unsigned int *)(iVar2 + 4) = *(unsigned int *)(iVar2 + 4) | 0x58000000; - *(int *)(param_1 + 0x2c) = iVar3 = *(int *)(param_1 + 0x2c) * 8 + (int)&D_801865AC; + CAST_WIDTH(int, param_1, 0x2c) = iVar3 = CAST_WIDTH(int, param_1, 0x2c) * 8 + (int)&D_801865AC; uVar1 = *(unsigned short *)(iVar3 + 6); *(unsigned short *)(iVar2 + 0x12) = uVar1; func_8017F20C((void *)param_1); - *(int *)(param_1 + 0x30) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk30 = 0; *(unsigned short *)(param_1 + 2) = *(unsigned short *)(param_1 + 2) + 1; return; } @@ -4680,14 +4680,14 @@ void func_8017F17C(s32 param_1) { s32 i; s16 val; - s1 = *(s32 *)(param_1 + 0x20); + s1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; func_8017F20C(param_1); - val = D_80186584[*(s32 *)(param_1 + 0x30)][0]; + val = D_80186584[((Unkstruct_800B5CB8 *)param_1)->unk30][0]; if (val != 0) { - *(s16 *)(s1 + 0x28) = val; - i = *(s32 *)(param_1 + 0x30); - *(s32 *)(param_1 + 0x30) = i + 1; - *(u16 *)(s1 + 0x2A) = D_80186586[i][0]; + ((Unkstruct_800B5CB8 *)s1)->unk28 = val; + i = ((Unkstruct_800B5CB8 *)param_1)->unk30; + ((Unkstruct_800B5CB8 *)param_1)->unk30 = i + 1; + ((Unkstruct_800B5CB8 *)s1)->unk2A = D_80186586[i][0]; } else { func_801292C8(param_1); } @@ -4701,7 +4701,7 @@ void func_8017F20C(s32 param_1) { s32 buf[2]; /* sp+0x10 : func_8012F214 out, func_80015954 in */ - func_8012F214(*(s32 *)(param_1 + 0x1C), *(s32 *)(param_1 + 0x2C), (s32)&buf[0]); + func_8012F214(((Unkstruct_800B5CB8 *)param_1)->unk1C, CAST_WIDTH(s32, param_1, 0x2C), (s32)&buf[0]); func_80015954((s32)&buf[0], param_1 + 4); } @@ -4710,7 +4710,7 @@ void func_8017F20C(s32 param_1) extern void (*D_80186614[])(void); void func_8017F24C(void *a0) { - D_80186614[*(u16 *)((s32)a0 + 0x2)](); + D_80186614[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4755,8 +4755,8 @@ done1: } v0 = func_8012C588((s32)tbl[*(u32 *)(s1 + 0xC)], param_1); if (v0 != 0) { - *(s32 *)(v0 + 0xCC) = s1; - *(s32 *)(v0 + 0xDC) = i; + ((Unkstruct_800B5CB8 *)v0)->unkCC = s1; + ((Unkstruct_800B5CB8 *)v0)->unkDC = i; } s1 += 0x10; } while (*(u32 *)(s1 + 0xC) != 0); @@ -4800,8 +4800,8 @@ void func_8017F438(s32 param_1) { } v0 = func_8012C588((s32)tbl[*(u32 *)s0], param_1); if (v0 != 0) { - *(s32 *)(v0 + 0xCC) = s1; - *(s32 *)(v0 + 0xDC) = *(u16 *)(wp + 0x38) + 0x50; + ((Unkstruct_800B5CB8 *)v0)->unkCC = s1; + ((Unkstruct_800B5CB8 *)v0)->unkDC = *(u16 *)(wp + 0x38) + 0x50; } s0 += 0x10; s1 += 0x10; @@ -4857,7 +4857,7 @@ void func_8017F65C(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_80199608); func_8012AD50(a0); @@ -4920,7 +4920,7 @@ void func_8017F82C(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_80199608); func_8012AD50(a0); @@ -4983,7 +4983,7 @@ void func_8017F9FC(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_80199608); func_8012AD50(a0); @@ -5043,7 +5043,7 @@ extern s32 D_80199608; void func_8017FBCC(void *a0) { s32 v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 != 0) { func_8018227C(a0, &D_80199608); func_8012AD50(a0); @@ -5106,7 +5106,7 @@ void func_8017FD9C(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_80199608); func_8012AD50(a0); @@ -5172,7 +5172,7 @@ void func_8017FF30(s32 param_1) { s32 var_v0; var_v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = var_v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = var_v0; if (var_v0 != 0) { func_80182240((void *)param_1, &D_8019C678); func_8017FF80((void *)param_1); @@ -5185,18 +5185,18 @@ extern void func_8012C098(void *param_1); void func_8017FF80(void *a0) { - void *a1 = *(void **)((s32)a0 + 0x64); + void *a1 = CAST_SIGN(void *, (s32)a0, 0x64); if (*(u16 *)a1 != 0) { - void *v1 = *(void **)((s32)a0 + 0x20); + void *v1 = CAST_SIGN(void *, (s32)a0, 0x20); void *v0; - *(s32 *)((s32)a0 + 0x4) = *(s32 *)((s32)a1 + 0x4); - *(s32 *)((s32)a0 + 0x8) = *(s32 *)((s32)a1 + 0x8); - *(s32 *)((s32)a0 + 0xC) = *(s32 *)((s32)a1 + 0xC); + CAST_WIDTH(s32, (s32)a0, 0x4) = *(s32 *)((s32)a1 + 0x4); + CAST_WIDTH(s32, (s32)a0, 0x8) = *(s32 *)((s32)a1 + 0x8); + CAST_WIDTH(s32, (s32)a0, 0xC) = *(s32 *)((s32)a1 + 0xC); v0 = *(void **)((s32)a1 + 0x20); - *(Blk8_8017FF80 *)((s32)v1 + 0x10) = *(Blk8_8017FF80 *)((s32)v0 + 0x10); + CAST_WIDTH(Blk8_8017FF80, (s32)v1, 0x10) = *(Blk8_8017FF80 *)((s32)v0 + 0x10); } else { ((void (*)(void *))func_8012C098)(a0); } @@ -5243,7 +5243,7 @@ void func_801800D8(s32 arg0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_801963AC); func_8012C588(0x2B2, arg0); @@ -5308,7 +5308,7 @@ s32 arg0; s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_801969F4); func_8012B2CC(arg0); @@ -5318,15 +5318,15 @@ s32 arg0; do { prims = func_8012913C(0x4B); if (prims != 0) { - *(s16 *)(prims + 0x2C) = 0; - *(s16 *)(prims + 0x2E) = i; - *(s32 *)(prims + 0x30) = arg0; + ((Unkstruct_800B5CB8 *)prims)->unk2C = 0; + ((Unkstruct_800B5CB8 *)prims)->unk2E = i; + ((Unkstruct_800B5CB8 *)prims)->unk30 = arg0; } prims = func_8012913C(0x4B); if (prims != 0) { - *(s16 *)(prims + 0x2C) = flag; - *(s16 *)(prims + 0x2E) = i; - *(s32 *)(prims + 0x30) = arg0; + ((Unkstruct_800B5CB8 *)prims)->unk2C = flag; + ((Unkstruct_800B5CB8 *)prims)->unk2E = i; + ((Unkstruct_800B5CB8 *)prims)->unk30 = arg0; } i++; } while (i < 7); @@ -5408,7 +5408,7 @@ void func_80180484(s32 arg0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_80196E84); func_8012C588(0x2B2, arg0); @@ -5469,7 +5469,7 @@ void func_801805DC(s32 arg0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_801974CC); func_8012B2CC(arg0); @@ -5479,15 +5479,15 @@ void func_801805DC(s32 arg0) { do { prims = func_8012913C(0x4B); if (prims != 0) { - *(s16 *)(prims + 0x2C) = 0; - *(s16 *)(prims + 0x2E) = i; - *(s32 *)(prims + 0x30) = arg0; + ((Unkstruct_800B5CB8 *)prims)->unk2C = 0; + ((Unkstruct_800B5CB8 *)prims)->unk2E = i; + ((Unkstruct_800B5CB8 *)prims)->unk30 = arg0; } prims = func_8012913C(0x4B); if (prims != 0) { - *(s16 *)(prims + 0x2C) = flag; - *(s16 *)(prims + 0x2E) = i; - *(s32 *)(prims + 0x30) = arg0; + ((Unkstruct_800B5CB8 *)prims)->unk2C = flag; + ((Unkstruct_800B5CB8 *)prims)->unk2E = i; + ((Unkstruct_800B5CB8 *)prims)->unk30 = arg0; } i++; } while (i < 7); @@ -5573,7 +5573,7 @@ s32 arg0; s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_8019795C); func_8012C588(0x2B2, arg0); @@ -5632,7 +5632,7 @@ void func_80180988(s32 arg0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_80197DEC); func_8012C588(0x2B2, arg0); @@ -5688,7 +5688,7 @@ extern u8 D_8019827C[]; void func_80180AE0(void *a0) { s32 v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 != 0) { func_8018227C(a0, D_8019827C); func_8012C588(0x2B2, (s32)a0); @@ -5712,7 +5712,7 @@ extern s32 func_80182334(void); extern void (*D_801866B8[])(void); void func_80180B6C(void *a0) { - D_801866B8[*(u16 *)((s32)a0 + 0x2)](); + D_801866B8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5802,13 +5802,13 @@ void func_80180DA8(s32 arg0) { return; } ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { return; } func_8018227C((void *)arg0, D_80199CD0); - *(u16 *)((s32)arg0 + 0x88) = *(u16 *)((s32)arg0 + 6); - *(u16 *)((s32)arg0 + 6) = *(u16 *)((s32)arg0 + 6) + 0x100; + ((Unkstruct_800B5CB8 *)arg0)->unk88 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6 + 0x100; func_8012AD50((void *)arg0); } @@ -5825,8 +5825,8 @@ void *arg0; sp0 = arg0; func_80182334(); - if (func_80182478() + 0x28 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x28 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x890, 0); func_8012AD50(sp0); } @@ -5912,13 +5912,13 @@ void func_80181050(s32 arg0) { return; } ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { return; } func_8018227C((void *)arg0, D_80199E18); - *(u16 *)((s32)arg0 + 0x88) = *(u16 *)((s32)arg0 + 6); - *(u16 *)((s32)arg0 + 6) = *(u16 *)((s32)arg0 + 6) - 0x100; + ((Unkstruct_800B5CB8 *)arg0)->unk88 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6 - 0x100; func_8012AD50((void *)arg0); } @@ -5933,8 +5933,8 @@ void func_801810D8(void *arg0) { sp0 = arg0; func_80182334(); - if (func_80182478() + 0x28 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x28 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x88F, 0); func_8012AD50(sp0); } @@ -6021,13 +6021,13 @@ void func_801812F8(s32 arg0) { return; } ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { return; } func_8018227C((void *)arg0, D_8019A030); - *(u16 *)((s32)arg0 + 0x88) = *(u16 *)((s32)arg0 + 6); - *(u16 *)((s32)arg0 + 6) = *(u16 *)((s32)arg0 + 6) + 0x100; + ((Unkstruct_800B5CB8 *)arg0)->unk88 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6 + 0x100; func_8012AD50((void *)arg0); } @@ -6044,8 +6044,8 @@ void *arg0; sp0 = arg0; func_80182334(); - if (func_80182478() + 0x28 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x28 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x890, 0); func_8012AD50(sp0); } @@ -6129,13 +6129,13 @@ void func_801815A0(s32 arg0) { return; } ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret == 0) { return; } func_8018227C((void *)arg0, D_8019A248); - *(u16 *)((s32)arg0 + 0x88) = *(u16 *)((s32)arg0 + 6); - *(u16 *)((s32)arg0 + 6) = *(u16 *)((s32)arg0 + 6) - 0x100; + ((Unkstruct_800B5CB8 *)arg0)->unk88 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)arg0)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6 - 0x100; func_8012AD50((void *)arg0); } @@ -6150,8 +6150,8 @@ void func_80181628(void *arg0) { sp0 = arg0; func_80182334(); - if (func_80182478() + 0x28 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x28 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x88F, 0); func_8012AD50(sp0); } @@ -6231,11 +6231,11 @@ void func_80181848(s32 *a0) { ((void (*)(s32))func_8012C098)((s32)a0); } else { s32 v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 8) = v0; + CAST_WIDTH(s32, a0, 8) = v0; if (v0 != 0) { func_8018227C(a0, &D_8019A390); - *(s16 *)((s32)a0 + 0x88) = *(s16 *)((s32)a0 + 6) + 0x20; - *(s16 *)((s32)a0 + 6) = *(s16 *)((s32)a0 + 6) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk88 = CAST_SIGN(s16, (s32)a0, 6) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_SIGN(s16, (s32)a0, 6) + 0x100; func_8012AD50(a0); } } @@ -6252,8 +6252,8 @@ void func_801818D4(void *arg0) { sp0 = arg0; func_80182334(); - if (func_80182478() + 0x23 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x23 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x891, 0); func_8012AD50(sp0); } @@ -6324,11 +6324,11 @@ void func_80181AA4(s32 *a0) { ((void (*)(s32))func_8012C098)((s32)a0); } else { s32 v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 8) = v0; + CAST_WIDTH(s32, a0, 8) = v0; if (v0 != 0) { func_8018227C(a0, &D_8019A4D8); - *(s16 *)((s32)a0 + 0x88) = *(s16 *)((s32)a0 + 6) - 0x20; - *(s16 *)((s32)a0 + 6) = *(s16 *)((s32)a0 + 6) - 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk88 = CAST_SIGN(s16, (s32)a0, 6) - 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_SIGN(s16, (s32)a0, 6) - 0x100; func_8012AD50(a0); } } @@ -6344,8 +6344,8 @@ void func_80181B30(void *arg0) { sp0 = arg0; func_80182334(); - if (func_80182478() + 0x23 == *(s32 *)((s32)sp0 + 0xDC)) { - *(s16 *)((s32)sp0 + 0xFE) = 0; + if (func_80182478() + 0x23 == ((Unkstruct_800B5CB8 *)sp0)->unkDC) { + ((Unkstruct_800B5CB8 *)sp0)->unkFE = 0; func_8002D4C8(0x891, 0); func_8012AD50(sp0); } @@ -6415,7 +6415,7 @@ void func_80181D04(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_8019B3D0); func_8012AD50(a0); @@ -6477,7 +6477,7 @@ void func_80181E88(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_8019BA68); func_8012AD50(a0); @@ -6538,7 +6538,7 @@ void func_8018200C(s32 arg0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(arg0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = ret; if (ret != 0) { ((void (*)(s32, u8 *))func_8018227C)(arg0, D_8019C798); func_8012AD50((void *)arg0); @@ -6602,7 +6602,7 @@ void func_8018218C(void *a0) { s32 ret; ret = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret != 0) { func_8018227C(a0, &D_8019C8B8); func_8012AD50(a0); @@ -6630,10 +6630,10 @@ void func_801821D4(void *a0) { extern void func_8018227C(void *a0, void *a1); void func_80182240(void *a0, void *a1) { - s32 *s0 = *(s32 **)((s32)a0 + 0x20); + s32 *s0 = CAST_SIGN(s32 *, (s32)a0, 0x20); func_8018227C(a0, a1); - *(s32 *)((s32)s0 + 4) |= 0x40; + CAST_WIDTH(s32, (s32)s0, 4) |= 0x40; } @@ -6643,21 +6643,21 @@ void func_8018227C(void *a0, void *a1) { s32 v0; u16 *v1; - v0 = *(s32 *)((s32)a0 + 0x20); - v1 = *(u16 **)((s32)a0 + 0xCC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk20; + v1 = CAST_SIGN(u16 *, (s32)a0, 0xCC); func_8001C214(v0); - *(s32 *)(v0 + 0x80) = (s32)a0 + 0xCC; - *(u16 *)(v0 + 0x2C) |= 0x80; - *(s16 *)((s32)a0 + 0xCC) = -0x50; + CAST_WIDTH(s32, v0, 0x80) = (s32)a0 + 0xCC; + ((Unkstruct_800B5CB8 *)v0)->unk2C |= 0x80; + CAST_WIDTH(s16, (s32)a0, 0xCC) = -0x50; *(s16 *)((s32)a0 + 0xCE) = -0x50; - *(s16 *)((s32)a0 + 0xD0) = 0; + CAST_WIDTH(s16, (s32)a0, 0xD0) = 0; *(s16 *)((s32)a0 + 0xD2) = -2; - *(u16 *)((s32)a0 + 0x6) = v1[0]; - *(u16 *)((s32)a0 + 0xA) = v1[1]; - *(u16 *)((s32)a0 + 0xE) = v1[2]; - *(u16 *)(v0 + 0x10) = v1[3]; - *(u16 *)(v0 + 0x12) = v1[4]; - *(u16 *)(v0 + 0x14) = v1[5]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v1[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v1[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v1[2]; + ((Unkstruct_800B5CB8 *)v0)->unk10 = v1[3]; + ((Unkstruct_800B5CB8 *)v0)->unk12 = v1[4]; + CAST_WIDTH(u16, v0, 0x14) = v1[5]; } @@ -6732,18 +6732,18 @@ s32 func_801823B8(void *a0, s32 a1, void *a2) { return 0; } { - s32 d = *(s16 *)((u8 *)a0 + 0xE) - *(s16 *)((u8 *)buf + 0xE); + s32 d = *(s16 *)((u8 *)a0 + 0xE) - CAST_SIGN(s16, (u8 *)buf, 0xE); if (d >= 0) { ok = d < 0x30; } else { - ok = *(s16 *)((u8 *)buf + 0xE) - *(s16 *)((u8 *)a0 + 0xE) < 0x30; + ok = CAST_SIGN(s16, (u8 *)buf, 0xE) - *(s16 *)((u8 *)a0 + 0xE) < 0x30; } } if (!ok) { return 0; } - *(s16 *)((u8 *)buf + 0xFE) = 1; - *(s16 *)((u8 *)buf + 0x100) = (s16)a1; + ((Unkstruct_800B5CB8 *)buf)->unkFE = 1; + ((Unkstruct_800B5CB8 *)buf)->unk100 = (s16)a1; func_8013C9C4(&D_80186808); *(s16 *)((u8 *)a0 + 0xFC) = 1; return 1; @@ -6766,17 +6766,17 @@ void func_80182490(s32 *p) { s32 *q; q = &D_80126B58; - D_80186820[*(u16 *)((s32)p + 0x2)](); + D_80186820[CAST_SIGN(u16, (s32)p, 0x2)](); if (p != 0) { - if (*(u16 *)*(s32 *)((s32)p + 0x30) == 0) { + if (*(u16 *)((Unkstruct_800B5CB8 *)p)->unk30 == 0) { func_801292C8(p); } else { - s32 *r = *(s32 **)((s32)p + 0x20); + s32 *r = CAST_SIGN(s32 *, (s32)p, 0x20); if (r != 0) { if (func_80013328((s32)p + 4, (s32)(q + 1)) >= 0xA01) { - *(s32 *)(r + 1) |= 0x80000000; + CAST_MISALIGNED(s32, r, 1) |= 0x80000000; } else { - *(s32 *)(r + 1) &= 0x7FFFFFFF; + CAST_MISALIGNED(s32, r, 1) &= 0x7FFFFFFF; } } } @@ -6804,10 +6804,10 @@ void func_80182560(s32 param_1) s2 = *(s32 **)((s32)s0 + 0x20); func_8001CD9C((s32)s2, (void *)s1); - *(u32 *)((s32)s2 + 4) |= 0x50000000; + CAST_WIDTH(u32, (s32)s2, 4) |= 0x50000000; func_800233CC((void *)s1, 0x80); *s1 = 0x1820; - *(u16 *)((s32)s2 + 0x12) = *(u16 *)(*(s32 *)((*(s32 *)((s32)s0 + 0x30)) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)s2)->unk12 = CAST_NONSTRUCT(u16, *(s32 *)((*(s32 *)((s32)s0 + 0x30)) + 0x20), 0x12); { s32 *tbl = &D_80186828[*(s16 *)((s32)s0 + 0x2C)]; D_801A110C = 0; @@ -6819,15 +6819,15 @@ void func_80182560(s32 param_1) diff -= *(s16 *)((s32)s0 + 0x2E); t = diff << 9; } - __asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus7) + __asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P37 S+A t3_S1) { s32 x2 = *(s16 *)((s32)s0 + 0x2E); *(u16 *)((s32)s0 + 0xE) += (x2 << 6); } - *(u16 *)((s32)s2 + 0x1A) = t; - *(u16 *)((s32)s2 + 0x18) = t; + ((Unkstruct_800B5CB8 *)s2)->unk1A = t; + ((Unkstruct_800B5CB8 *)s2)->unk18 = t; { - u16 w = *(volatile u16 *)((s32)s0 + 2); + u16 w = *(u16 *)((s32)s0 + 2); w++; *(u16 *)((s32)s0 + 2) = w; return; @@ -6896,7 +6896,7 @@ L8273C: extern void (*D_80186838[])(void); void func_80182758(void *a0) { - D_80186838[*(u16 *)((s32)a0 + 0x2)](); + D_80186838[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6921,16 +6921,16 @@ void func_80182794(s32 param_1, s32 param_2) { case 0: case 1: func_8001CC3C(obj, (s32)D_800D387C, 0, 0); - *(u8 *)(obj + 0x27) = 0x9C; - *(s32 *)(obj + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)obj)->unk27 = 0x9C; + CAST_WIDTH(s32, obj, 4) |= 0x50000000; t = (rand() & 3) << 12; /* cookbook §205 / §167-13-ADDENDUM: the CHAINED store is a scheduling * dial -- it keeps the `andi/sll` at the top of the block instead of * letting the birthing boost sink it next to its consumer. */ - *(s16 *)(obj + 0x18) = *(s16 *)(obj + 0x1A) = t; - *(u8 *)(obj + 0x24) = 0x40; - *(u8 *)(obj + 0x25) = 0x30; - *(u8 *)(obj + 0x26) = 0x30; + ((Unkstruct_800B5CB8 *)obj)->unk18 = ((Unkstruct_800B5CB8 *)obj)->unk1A = t; + ((Unkstruct_800B5CB8 *)obj)->unk24 = 0x40; + ((Unkstruct_800B5CB8 *)obj)->unk25 = 0x30; + ((Unkstruct_800B5CB8 *)obj)->unk26 = 0x30; func_80128EA8(obj, param_1 + 0x24, (s32)D_800D3888); func_80128ED8(obj, (s32 *)(param_1 + 0x24)); *(s16 *)(param_1 + 2) = 1; @@ -6962,9 +6962,9 @@ extern void func_801292C8(void *a0); void func_801828E0(s32 param_1) { s32 v0; - func_80128ED8(*(s32 *)(param_1 + 0x20), (s32 *)(param_1 + 0x24)); - v0 = *(s32 *)(param_1 + 0x1C) - 1; - *(s32 *)(param_1 + 0x1C) = v0; + func_80128ED8(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32 *)(param_1 + 0x24)); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 == -1) { func_801292C8((void *)param_1); } @@ -6973,8 +6973,8 @@ void func_801828E0(s32 param_1) { extern void func_801292C8(void *a0); void func_8018292C(void *a0) { - s32 v0 = *(s32 *)((u8 *)a0 + 0x1c) - 1; - *(s32 *)((u8 *)a0 + 0x1c) = v0; + s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == -1) { func_801292C8(a0); } diff --git a/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c b/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c index 9a4e8580c9..dad08a5a4b 100644 --- a/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c +++ b/src/ov_SC05_010/ov_SC05_010_jr_8018473C.c @@ -2798,37 +2798,37 @@ void func_8018473C(void *a0) { s32 v; s32 t; - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; func_8002D4C8(0xC61, 0); } break; case 1: - *(s32 *)((s32)a0 + 0x1C) += 1; - if (*(s32 *)((s32)a0 + 0x1C) >= 0xB) { - *(s32 *)((s32)a0 + 0x1C) = 0x20; - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0xB) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; break; } t = func_80132EF4((s32)a0, 0x7D); if (t != 0) { - *(u16 *)(t + 0xA) -= *(s32 *)((s32)a0 + 0x1C) << 6; - *(u16 *)(t + 0x34) = D_801941E8[*(s32 *)((s32)a0 + 0x1C)]; - *(s16 *)(t + 0x36) = 0xA - *(s32 *)((s32)a0 + 0x1C); + *(u16 *)(t + 0xA) -= ((Unkstruct_800B5CB8 *)a0)->unk1C << 6; + *(u16 *)(t + 0x34) = D_801941E8[((Unkstruct_800B5CB8 *)a0)->unk1C]; + *(s16 *)(t + 0x36) = 0xA - ((Unkstruct_800B5CB8 *)a0)->unk1C; } break; case 2: if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } break; case 3: - *(s32 *)(wk + 8) += -0x300000; - in3[0] = *(u16 *)(wk + 6); - in3[1] = *(u16 *)(wk + 0xA); - in3[2] = *(u16 *)(wk + 0xE); + CAST_WIDTH(s32, wk, 8) += -0x300000; + in3[0] = CAST_SIGN(u16, wk, 6); + in3[1] = CAST_SIGN(u16, wk, 0xA); + in3[2] = CAST_SIGN(u16, wk, 0xE); ((void (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); v = out2[0]; if (v < 0) { @@ -2852,10 +2852,10 @@ void func_8018473C(void *a0) { } docall: func_800D1724((s32)&D_8019222C); - *(u16 *)((s32)a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; break; case 4: - *(s32 *)(wk + 8) += -0x300000; + CAST_WIDTH(s32, wk, 8) += -0x300000; break; } v = func_801789AC((s32)a0); @@ -2910,13 +2910,13 @@ s32 func_801849DC(s32 a0, s32 a1, s16 a2, s16 a3, s32 a4) { return 0; } func_8001CB6C((u8 *)obj, a1, a2, a3); - *(u16 *)(obj + 0x10) = 0xC00; - *(u8 *)(obj + 0x27) = a4; - *(u16 *)(obj + 0x1A) = 0x2D00; - *(u16 *)(obj + 0x18) = 0x2D00; - *(u16 *)(obj + 8) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - *(u16 *)(obj + 0xC) = *(u16 *)(a0 + 0xE); + ((Unkstruct_800B5CB8 *)obj)->unk10 = 0xC00; + ((Unkstruct_800B5CB8 *)obj)->unk27 = a4; + ((Unkstruct_800B5CB8 *)obj)->unk1A = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk18 = 0x2D00; + ((Unkstruct_800B5CB8 *)obj)->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)obj)->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; return obj; } @@ -2976,18 +2976,18 @@ void func_80184AA4(s32 arg0) obj = arg0; - if (*(u16 *)(obj + 2) == 0) { - *(u16 *)(obj + 0xFC) = rand() & 0xFFF; - *(u16 *)(obj + 0x102) = (rand() & 0x1F) + 0x30; - *(u16 *)(obj + 0x104) = rand() & 0x3F; - w = *(u16 *)(obj + 2) + 1; - *(u16 *)(obj + 0xFE) = *(u16 *)(obj + 0x102) + 0x2C0; - *(u16 *)(obj + 2) = w; + if (CAST_SIGN(u16, obj, 2) == 0) { + ((Unkstruct_800B5CB8 *)obj)->unkFC = rand() & 0xFFF; + ((Unkstruct_800B5CB8 *)obj)->unk102 = (rand() & 0x1F) + 0x30; + ((Unkstruct_800B5CB8 *)obj)->unk104 = rand() & 0x3F; + w = CAST_SIGN(u16, obj, 2) + 1; + ((Unkstruct_800B5CB8 *)obj)->unkFE = CAST_SIGN(u16, obj, 0x102) + 0x2C0; + ((Unkstruct_800B5CB8 *)obj)->unk2 = w; return; } - t = *(s32 *)(obj + 8) - 0x4000; - *(s32 *)(obj + 8) = t; + t = CAST_WIDTH(s32, obj, 8) - 0x4000; + CAST_WIDTH(s32, obj, 8) = t; if (t < -0x4000000) { func_8012C218((void *)obj); return; @@ -3002,37 +3002,37 @@ void func_80184AA4(s32 arg0) func_8004914C(db); func_800491AC(db); - s3 = *(s16 *)(obj + 0xFE); - s4 = *(s16 *)(obj + 0xFC); - w = *(u16 *)(obj + 0x100) + 0x10; - *(u16 *)(obj + 0x100) = w; + s3 = ((Unkstruct_800B5CB8 *)obj)->unkFE; + s4 = ((Unkstruct_800B5CB8 *)obj)->unkFC; + w = CAST_SIGN(u16, obj, 0x100) + 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk100 = w; if (w >= 0x401) { - *(u16 *)(obj + 0x100) = 0x400; - *(u16 *)(obj + 0xA) = *(u16 *)(obj + 0xA) - 4; - *(u16 *)(obj + 0xFC) = (*(u16 *)(obj + 0xFC) + 0x200) & 0xFFF; + ((Unkstruct_800B5CB8 *)obj)->unk100 = 0x400; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)obj)->unkA - 4; + ((Unkstruct_800B5CB8 *)obj)->unkFC = (CAST_SIGN(u16, obj, 0xFC) + 0x200) & 0xFFF; } else { - *(u16 *)(obj + 0xFE) = *(u16 *)(obj + 0x102) + ((func_80047948(w) * 704) >> 12); - *(u16 *)(obj + 0xFC) = - (*(u16 *)(obj + 0xFC) + (func_8004787C(*(s16 *)(obj + 0x100)) >> 4)) & 0xFFF; + ((Unkstruct_800B5CB8 *)obj)->unkFE = CAST_SIGN(u16, obj, 0x102) + ((func_80047948(w) * 704) >> 12); + ((Unkstruct_800B5CB8 *)obj)->unkFC = + (CAST_SIGN(u16, obj, 0xFC) + (func_8004787C(((Unkstruct_800B5CB8 *)obj)->unk100) >> 4)) & 0xFFF; } - cur[0] = *(u16 *)(obj + 6) + ((s3 * func_80047948(s4)) >> 12); - cur[1] = *(u16 *)(obj + 0xA); - cur[2] = *(u16 *)(obj + 0xE) + ((s3 * func_8004787C(s4)) >> 12); + cur[0] = ((Unkstruct_800B5CB8 *)obj)->unk6 + ((s3 * func_80047948(s4)) >> 12); + cur[1] = ((Unkstruct_800B5CB8 *)obj)->unkA; + cur[2] = ((Unkstruct_800B5CB8 *)obj)->unkE + ((s3 * func_8004787C(s4)) >> 12); nxt[1] = cur[1]; - if (*(s16 *)(obj + 0x104) != 0) { - *(s16 *)(obj + 0x104) = *(s16 *)(obj + 0x104) - 1; + if (((Unkstruct_800B5CB8 *)obj)->unk104 != 0) { + ((Unkstruct_800B5CB8 *)obj)->unk104 = ((Unkstruct_800B5CB8 *)obj)->unk104 - 1; } else { - *(u16 *)(obj + 0x104) = rand() & 0x3F; + ((Unkstruct_800B5CB8 *)obj)->unk104 = rand() & 0x3F; r = func_80143C74(obj, 0); if (r != 0) { - *(u16 *)(r + 6) = cur[0]; - *(u16 *)(r + 0xA) = cur[1]; - *(u16 *)(r + 0xE) = cur[2]; - *(s32 *)(r + 0x10) = -(func_8004787C(s4) << 8); + ((Unkstruct_800B5CB8 *)r)->unk6 = cur[0]; + ((Unkstruct_800B5CB8 *)r)->unkA = cur[1]; + ((Unkstruct_800B5CB8 *)r)->unkE = cur[2]; + CAST_WIDTH(s32, r, 0x10) = -(func_8004787C(s4) << 8); *(s16 *)(r + 0x16) = -2; - *(s32 *)(r + 0x18) = -(func_80047948(s4) << 8); + CAST_WIDTH(s32, r, 0x18) = -(func_80047948(s4) << 8); } } @@ -3041,11 +3041,11 @@ void func_80184AA4(s32 arg0) SetLineF2(prim); s4 += 0x80; s3 -= 8; - if (s3 < *(s16 *)(obj + 0x102)) { - s3 = *(s16 *)(obj + 0x102); + if (s3 < ((Unkstruct_800B5CB8 *)obj)->unk102) { + s3 = ((Unkstruct_800B5CB8 *)obj)->unk102; } - nxt[0] = *(u16 *)(obj + 6) + ((s3 * func_80047948(s4)) >> 12); - nxt[2] = *(u16 *)(obj + 0xE) + ((s3 * func_8004787C(s4)) >> 12); + nxt[0] = ((Unkstruct_800B5CB8 *)obj)->unk6 + ((s3 * func_80047948(s4)) >> 12); + nxt[2] = ((Unkstruct_800B5CB8 *)obj)->unkE + ((s3 * func_8004787C(s4)) >> 12); otz = RotTransPers((s32)cur, (s32)(prim + 8), &pz, &flag); if (otz > 0 && flag >= 0) { if (RotTransPers((s32)nxt, (s32)(prim + 0xC), &pz, &flag) > 0 && flag >= 0) { @@ -3146,7 +3146,7 @@ void func_80184E4C(s32 a0) { extern void (*D_801942B4[])(void); void func_80185020(void *a0) { - D_801942B4[*(u16 *)((s32)a0 + 0x2)](); + D_801942B4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3191,11 +3191,11 @@ void func_8018505C(void *a0) { * left ANONYMOUS so banking cannot collide * with engine_types.h's typedef (§183.1/law 8) */ s32 v; - void *tgt = *(void **)((s32)a0 + 0x2C); + void *tgt = CAST_WIDTH(void *, (s32)a0, 0x2C); - d.vx = *(s16 *)((s32)a0 + 0x6) - *(s16 *)((s32)tgt + 0x6); + d.vx = CAST_SIGN(s16, (s32)a0, 0x6) - *(s16 *)((s32)tgt + 0x6); d.vy = 0; - d.vz = *(s16 *)((s32)a0 + 0xE) - *(s16 *)((s32)tgt + 0xE); + d.vz = CAST_SIGN(s16, (s32)a0, 0xE) - *(s16 *)((s32)tgt + 0xE); /* The target INLINES the GTE square (lwc2 IR1..IR3 / sqr 0 / swc2 MAC1..MAC3) * off ONE base register instead of calling Square0 — same idiom already used * in src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.c:2737. */ @@ -3212,39 +3212,39 @@ void func_8018505C(void *a0) { gte_stlvnl(p); } - if (*(s16 *)((s32)a0 + 0x36) == 0) { + if (CAST_SIGN(s16, (s32)a0, 0x36) == 0) { /* the pointer is re-loaded per statement: each `sh` kills the CSE * of `*(s32 *)(a0+0x20)` (§193-E), which is why the target has three * `lw $a0,0x20($s0)`. */ - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) += *(u16 *)((s32)a0 + 0x30); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x12) += *(u16 *)((s32)a0 + 0x32); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += *(u16 *)((s32)a0 + 0x34); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 += CAST_WIDTH(u16, (s32)a0, 0x30); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk12 += *(u16 *)((s32)a0 + 0x32); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += ((Unkstruct_800B5CB8 *)a0)->unk34; if (d.vx + d.vz > 0x9000) { - *(s32 *)((s32)a0 + 0x14) = 0x18000; - *(s32 *)((s32)a0 + 0x18) = 0; - *(s32 *)((s32)a0 + 0x10) = 0; - *(u16 *)((s32)a0 + 0x36) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0x18000; + CAST_WIDTH(s32, (s32)a0, 0x18) = 0; + CAST_WIDTH(s32, (s32)a0, 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk36 += 1; } } else { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x10) += 0x80; - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk10 += 0x80; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += 0x80; if (d.vx + d.vz < 0x4001) { /* its OWN pseudo: sharing `v` with the abs() block below gives the * merged pseudo a whole-function live range, and global_alloc then * seats it in $a0 instead of $v0 (§186c). */ s32 t = rand(); - *(s16 *)((s32)a0 + 0x36) = 0; - *(s32 *)((s32)a0 + 0x14) = -0x100000 - ((t % 9) << 16); + ((Unkstruct_800B5CB8 *)a0)->unk36 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = -0x100000 - ((t % 9) << 16); } } func_8012931C((struct vec *)a0); - in3[0] = *(u16 *)((s32)a0 + 0x6); - in3[1] = *(u16 *)((s32)a0 + 0xA); - in3[2] = *(u16 *)((s32)a0 + 0xE); + in3[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + in3[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + in3[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; ((void (*)(u16 *, s16 *))func_8012EFB8)(in3, out2); /* CALL unless (|out2[0]| < 0xB5 && |out2[1]| < 0x8D && obj->y < 0x10). @@ -3260,7 +3260,7 @@ void func_8018505C(void *a0) { v = -v; } if (v < 0x8D) { - if (*(s16 *)((s32)a0 + 0xA) < 0x10) { + if (CAST_SIGN(s16, (s32)a0, 0xA) < 0x10) { return; } } @@ -3273,7 +3273,7 @@ void func_8018505C(void *a0) { extern void (*D_801942CC[])(void); void func_80185288(void *a0) { - D_801942CC[*(u16 *)((s32)a0 + 0x2)](); + D_801942CC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3347,15 +3347,15 @@ void func_801853B0(s32 a0) *(s32 *)(s1 + 0x1C) = v; if ((v & 7) == 0) { func_8012C588(0x275, s1); - *(u16 *)(*(s32 *)(*(s32 *)D_801C7E4C + 0x20) + 0x1A) = 0xC00; + CAST_NONSTRUCT(u16, *(s32 *)(*(s32 *)D_801C7E4C + 0x20), 0x1A) = 0xC00; for (i = 0; i < 8; i++) { r = func_8012C588(0x2ED, s1); if (r != 0) { *(s16 *)(r + 0x16) = -0x10; - *(u16 *)(r + 6) = *(u16 *)(r + 6) + 0x25B; - *(u16 *)(r + 0xA) = *(u16 *)(r + 0xA) - 0x70; - *(u16 *)(r + 0x12) = (rand() & 7) - 4; - *(u16 *)(r + 0x1A) = -4 - (rand() & 7); + ((Unkstruct_800B5CB8 *)r)->unk6 = ((Unkstruct_800B5CB8 *)r)->unk6 + 0x25B; + ((Unkstruct_800B5CB8 *)r)->unkA = ((Unkstruct_800B5CB8 *)r)->unkA - 0x70; + ((Unkstruct_800B5CB8 *)r)->unk12 = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)r)->unk1A = -4 - (rand() & 7); func_8002D4C8(0x895, 0); } } @@ -3475,13 +3475,13 @@ extern void (*D_80188CCC)(void); void func_8018568C(s32 a0) { if (func_8012C354(a0, (s32)D_80192514) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_80192548[*(s16 *)(a0 + 0x70)]); - *(u16 *)(a0 + 6) = *(u16 *)(a0 + 6) + D_8019255C[*(s16 *)(a0 + 0x70)]; - *(u16 *)(a0 + 2) = 1; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_80192548[((Unkstruct_800B5CB8 *)a0)->unk70]); + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + D_8019255C[((Unkstruct_800B5CB8 *)a0)->unk70]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, &D_80188CCC); - *(u8 *)(a0 + 0xC0) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s32 *)(a0 + 0x6C) = func_8012C588(0x28A, a0); + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk6C = func_8012C588(0x28A, a0); } } @@ -3515,24 +3515,24 @@ void func_80185744(s32 a0) { void func_801857EC(s32 a0) { s32 v0; s32 v1; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v0 != 0) { v0--; - v1 = *(s32 *)(a0 + 0x20); - *(s32 *)(a0 + 0x1C) = v0; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; *(u16 *)(v1 + 0x1A) ^= 0x100; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1 + 0x1C) ^= 0x100; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if ((v0 & 1) != 0) { func_8002D4C8(0x902, 0); } } else { v1 = 0x1000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x1000; - *(u16 *)(a0 + 0x2) = 1; - func_8012C658(0x274, *(s16 *)(a0 + 0x70), a0); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x1000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + func_8012C658(0x274, ((Unkstruct_800B5CB8 *)a0)->unk70, a0); } } @@ -3545,13 +3545,13 @@ void func_80185894(s32 a0) { extern void (*D_80188CCC)(void); if (func_8012C354(a0, (s32)D_8019257C) != 0) { - *(u16 *)(a0 + 2) = 1; - *(u16 *)(a0 + 6) = *(u16 *)(a0 + 6) + 0x205; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + 0x205; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA + 1; func_8012A828(a0, &D_80188CCC); - *(u8 *)(a0 + 0xC0) = 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s32 *)(a0 + 0x6C) = func_8012C588(0x2D4, a0); + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk6C = func_8012C588(0x2D4, a0); } } @@ -3675,18 +3675,18 @@ void func_80185B20(s32 a0) { u16 v0; if (func_8012C354(a0, (s32)&D_801926E0) != 0) { - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) = *(u32 *)(*(s32 *)(a0 + 0x20) + 4) | 0x80000000; - *(u16 *)(a0 + 2) = 1; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) = *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) | 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, &D_80188CCC); - *(u8 *)(a0 + 0x75) = 3; - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xBC) = (s32)&D_80192714; - *(s16 *)(a0 + 0xAE) = -1; - *(s32 *)(a0 + 0xB4) = 0; - *(s32 *)(a0 + 0xC4) = *(s32 *)(a0 + 0xC4) | 2; - v0 = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x70); - *(u16 *)(a0 + 0x70) = v0; - *(s32 *)(a0 + 0x58) = (s32)D_801922B0 + ((s16)v0 << 4); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)&D_80192714; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = ((Unkstruct_800B5CB8 *)a0)->unkC4 | 2; + v0 = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70); + ((Unkstruct_800B5CB8 *)a0)->unk70 = v0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_801922B0 + ((s16)v0 << 4); } } @@ -3722,12 +3722,12 @@ void func_80185C80(s32 a0) { extern void (*D_80188CCC)(void); if (func_8012C354(a0, (s32)D_8019273C) != 0) { - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) = *(u32 *)(*(s32 *)(a0 + 0x20) + 4) | 0x80000000; - *(s16 *)(a0 + 2) = 1; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) = *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) | 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, &D_80188CCC); - *(u8 *)(a0 + 0x75) = 3; - *(u8 *)(a0 + 0xC0) = 1; - *(s16 *)(a0 + 0xAE) = -1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 3; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; } } @@ -3743,12 +3743,12 @@ void func_80185D00(s32 a0) { extern u16 D_801927AC[]; s32 s0 = a0; if (func_8012C354(a0, (s32)&D_80192778)) { - *(u16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; ((void (*)(s32 *, void *))func_8012A828)((s32 *)s0, (s32)&D_80188CCC); - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 0xFE) = 0xF; - *(u16 *)((s32)*(void **)(s0 + 0x20) + 0x2C) |= 0x10; - *(u16 *)(s0 + 0xA) += D_801927AC[*(u16 *)(s0 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 0xF; + CAST_NONSTRUCT(u16, (s32)*(void **)(s0 + 0x20), 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)s0)->unkA += D_801927AC[CAST_SIGN(u16, s0, 0x70) & 0xF]; } } @@ -3767,24 +3767,24 @@ void func_80185D98(s32 a0) { s32 i; s32 sp10[3]; - v1 = *(s32 *)(a0 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(s16 *)(v1 + 0x12) = *(u16 *)(v1 + 0x12) - 0x400; func_8017ECE4(); sp10[0] = 0; sp10[1] = 0; sp10[2] = 0x40000; func_8012B1B4(a0, (s32)sp10); - *(s32 *)(a0 + 0x14) = 0xFFF80000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF80000; for (i = 0; i < 3; i++) { s0 = func_8012C588(0x2ED, a0); if (s0 != 0) { - *(u16 *)(s0 + 0x06) = *(u16 *)(a0 + 0x7C); - *(u16 *)(s0 + 0x0A) = *(u16 *)(a0 + 0x7E); - *(u16 *)(s0 + 0x0E) = *(u16 *)(a0 + 0x80); + ((Unkstruct_800B5CB8 *)s0)->unk6 = CAST_SIGN(u16, a0, 0x7C); + ((Unkstruct_800B5CB8 *)s0)->unkA = CAST_SIGN(u16, a0, 0x7E); + ((Unkstruct_800B5CB8 *)s0)->unkE = CAST_SIGN(u16, a0, 0x80); q = rand(); - *(s16 *)(s0 + 0x12) = (*(s16 *)(a0 + 0x12) * (q & 0x3FF)) >> 8; + ((Unkstruct_800B5CB8 *)s0)->unk12 = (CAST_SIGN(s16, a0, 0x12) * (q & 0x3FF)) >> 8; q = rand(); - *(s16 *)(s0 + 0x1A) = (*(s16 *)(a0 + 0x1A) * (q & 0x3FF)) >> 8; + ((Unkstruct_800B5CB8 *)s0)->unk1A = (CAST_SIGN(s16, a0, 0x1A) * (q & 0x3FF)) >> 8; q = rand(); *(u16 *)(s0 + 0x16) = -0xC - (q & 3); } @@ -3804,7 +3804,7 @@ void func_80185EA0(s32 a0) { r = func_8012C658(0x27B, 0, a0); if (r != 0) { func_8012B200((u8 *)r); - *(s16 *)(r + 0xE) = 0; + ((Unkstruct_800B5CB8 *)r)->unkE = 0; } } @@ -3830,8 +3830,8 @@ extern void func_8012B23C(s32 a0); void func_80185F38(s32 param_1) { func_80131B14(); - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) - 0x400; - *(s32 *)(param_1 + 0x1C) = 0x78; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 - 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x78; func_80143CD4(param_1); func_8002D4C8(0x47B, 0); func_8002D4C8(0x478, 0); @@ -3850,8 +3850,8 @@ extern s32 func_8017ECE4(); // K&R: 0 of 1 args (P37 rung D t4_D2) void func_80185FB4(s32 a0) { func_8012CBF4(a0); if (func_8012BEE8(a0) != 0) { - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; } ((void (*)(s32))func_8017ECE4)(a0); } @@ -3910,17 +3910,17 @@ void func_80186124(s32 a0) { s32 s0 = a0; if (func_8012C354(a0, (s32)&D_801928F0) != 0) { - *(u16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, &D_80188CCC); - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s16 *)(s0 + 0xAE) = -1; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) = 0x180; - *(u16 *)(s0 + 0xFC) = 0; - *(s16 *)(s0 + 0xFE) = 0x400; - *(u16 *)(s0 + 0x100) = 0; - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x400, 0x400); - *(u8 *)(s0 + 0x75) = 3; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = -1; + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) = 0x180; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = 0x400; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0; + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x400, 0x400); + ((Unkstruct_800B5CB8 *)s0)->unk75 = 3; D_801C7E54 = (u8 *) func_8012C588(0x28D, s0); } } @@ -3937,13 +3937,13 @@ void func_801861D0(s32 a0) { s32 s0 = a0; if (func_8012C354(a0, (s32)&D_8019294C)) { - *(u16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828((s32)s0, D_801AB1A8); - *(u8 *)(s0 + 0x75) = 3; - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s16 *)(s0 + 0xAE) = -1; - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x400, 0x400); + ((Unkstruct_800B5CB8 *)s0)->unk75 = 3; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = -1; + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x400, 0x400); } } @@ -3958,8 +3958,8 @@ extern u8 D_80192988; void func_8018624C(s32 arg0) { s16 temp; - if (*(s16 *)(*(s32 *)(arg0 + 0x64) + 0x10A) == 3) { - temp = *(s16 *)(arg0 + 0x10A); + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x10A) == 3) { + temp = ((Unkstruct_800B5CB8 *)arg0)->unk10A; if (temp == 1 && func_8012DEB8(arg0, D_80192980, &D_80192988) == temp) { D_80126B96 = 0x400F; D_80126B98 = 0; @@ -3980,17 +3980,17 @@ void func_801862D8(s32 a0) { s32 s0 = a0; if (func_8012C354(a0, (s32)&D_801929A8) != 0) { - *(u16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828(s0, &D_80188CCC); - *(u8 *)(s0 + 0x75) = 3; - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s16 *)(s0 + 0xAE) = -1; - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) = 0x180; - *(u16 *)(s0 + 0xFC) = 0; - *(s16 *)(s0 + 0xFE) = -0x400; - *(u16 *)(s0 + 0x100) = 0; - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x400, 0x400); + ((Unkstruct_800B5CB8 *)s0)->unk75 = 3; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = -1; + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) = 0x180; + ((Unkstruct_800B5CB8 *)s0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = -0x400; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0; + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x400, 0x400); D_801C7E5C = func_8012C588(0x28F, s0); } } @@ -4014,13 +4014,13 @@ void func_801863E0(s32 a0) { s32 s0 = a0; if (func_8012C354(a0, (s32)&D_801929F4)) { - *(u16 *)(s0 + 2) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; func_8012A828((s32)s0, D_801AB180); - *(u8 *)(s0 + 0x75) = 3; - *(u8 *)(s0 + 0xC0) = 1; - *(s32 *)(s0 + 0xB4) = -1; - *(s16 *)(s0 + 0xAE) = -1; - func_8001D0E8(*(s32 *)(s0 + 0x20), 0x400, 0x400); + ((Unkstruct_800B5CB8 *)s0)->unk75 = 3; + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)s0)->unkAE = -1; + func_8001D0E8(((Unkstruct_800B5CB8 *)s0)->unk20, 0x400, 0x400); } } @@ -4036,8 +4036,8 @@ extern s32 D_801C7E50[1]; void func_8018645C(s32 arg0) { s16 temp; - if (*(s16 *)((*(s32 *)D_801C7E50) + 0x10A) == 3) { - temp = *(s16 *)(arg0 + 0x10A); + if (CAST_NONSTRUCT(s16, (*(s32 *)D_801C7E50), 0x10A) == 3) { + temp = ((Unkstruct_800B5CB8 *)arg0)->unk10A; if (temp == 1 && func_8012DEB8(arg0, D_80192980, &D_80192988) == temp) { D_80126B96 = 0x400F; D_80126B98 = 0; @@ -4053,18 +4053,18 @@ void func_801864E4(int a0) { int sel; int start; - t = *(u16 *)(a0 + 0xFC) + 0x20; - *(u16 *)(a0 + 0xFC) = t; - *(int *)(a0 + 4) = *(int *)(a0 + 0x10) + (func_80047948((s16)t) << 13); - *(int *)(a0 + 8) = *(int *)(a0 + 0x14) - (func_8004787C(*(s16 *)(a0 + 0xFC)) << 13); + t = CAST_SIGN(u16, a0, 0xFC) + 0x20; + ((Unkstruct_800B5CB8 *)a0)->unkFC = t; + CAST_WIDTH(int, a0, 4) = CAST_WIDTH(int, a0, 0x10) + (func_80047948((s16)t) << 13); + CAST_WIDTH(int, a0, 8) = ((Unkstruct_800B5CB8 *)a0)->unk14 - (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unkFC) << 13); - if (*(s16 *)(a0 + 0xFC) >= 0x400) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x400) { sel = (rand() & 1) ? -0x255555 : -0x1D5555; start = sel; for (; start <= 0x3AAAA9; start += 0x1AAAAA) { r = func_8012C658(0x29E, 1, a0); if (r != 0) { - *(int *)(r + 0x10) = start; + CAST_WIDTH(int, r, 0x10) = start; } } func_8012C218(a0); @@ -4096,26 +4096,26 @@ void func_80186624(s32 param_1) s32 v0; s32 v1; - if ((*(s32 *)(param_1 + 0x20) = func_8012C1B8()) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk20 = func_8012C1B8()) == 0) { func_8012CAE4((void *)param_1); } else { func_8012B200((u8 *)param_1); - func_8001CA1C((void *)(*(s32 *)(param_1 + 0x20)), D_80192AFC); + func_8001CA1C((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20), D_80192AFC); func_8012A828(param_1, D_80192B38); - *(s16 *)(param_1 + 2) = 1; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; - v1 = *(s32 *)(param_1 + 0x20); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(v1 + 0x1A) = 0x4000; *(s16 *)(v1 + 0x18) = 0x4000; v0 = rand(); v1 = ((v0 & 0x7FF) - 0x400) * 0x156; - *(s32 *)(param_1 + 0x10) = v1; + CAST_WIDTH(s32, param_1, 0x10) = v1; v0 = rand(); - *(s32 *)(param_1 + 0x14) = ((v0 & 0x7FF) - 0x400) * 0x80; - *(s16 *)(param_1 + 6) = 0x270; - *(s16 *)(param_1 + 0xA) = -0xC0; - *(s16 *)(param_1 + 0xE) = -0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = ((v0 & 0x7FF) - 0x400) * 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = 0x270; + CAST_ALIAS(s16, param_1, 0xA) = -0xC0; + CAST_ALIAS(s16, param_1, 0xE) = -0x40; } } @@ -4134,19 +4134,19 @@ void func_8018672C(s32 param_1) s32 v0; s32 v1; - if ((*(s32 *)(param_1 + 0x20) = func_8012C1B8()) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk20 = func_8012C1B8()) == 0) { func_8012CAE4((void *)param_1); } else { func_8012B23C(param_1); - func_8001CA1C((void *)(*(s32 *)(param_1 + 0x20)), D_80192B70); + func_8001CA1C((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20), D_80192B70); func_8012A828(param_1, D_80192C30); - v0 = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 2) = 1; - *(u32 *)(v0 + 4) |= 0x50000000; - v1 = *(s32 *)(param_1 + 0x20); - *(u16 *)(v1 + 0x2C) |= 0x10; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x2000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = 0x2000; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + CAST_WIDTH(u32, v0, 4) |= 0x50000000; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x2000; } } @@ -4246,21 +4246,21 @@ void func_80186A00(s32 a0) { u16 t; if (func_8012C354(a0, (s32)&D_80192D18) != 0) { - *(s16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, &D_80188CCC); - v1 = *(s32 *)(a0 + 0x20); - *(s8 *)(a0 + 0xC0) = 1; - t = *(u16 *)(v1 + 0x2C); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + t = ((Unkstruct_800B5CB8 *)v1)->unk2C; D_801C7E74 = 0; - *(u16 *)(v1 + 0x2C) = t | 0x80; - v1 = *(s32 *)(a0 + 0x20); - *(s32 *)(v1 + 0x80) = (s32)D_80192D4C; - *(s16 *)(a0 + 0xAE) = -0x13; - *(s32 *)(a0 + 0xBC) = (s32)D_80192D54; - v0 = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xB4) = 0; - *(s32 *)(a0 + 0x1C) = 8; - *(s32 *)(a0 + 0xC4) = v0 | 3; + ((Unkstruct_800B5CB8 *)v1)->unk2C = t | 0x80; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, v1, 0x80) = (s32)D_80192D4C; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -0x13; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_80192D54; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 8; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = v0 | 3; } } @@ -4282,20 +4282,20 @@ void func_80186AF4(s32 arg0) { s32 s0; s32 i; - if (*(s32 *)(arg0 + 0x1C) != 0) { - *(s32 *)(arg0 + 0x1C) = *(s32 *)(arg0 + 0x1C) - 1; + if (((Unkstruct_800B5CB8 *)arg0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)arg0)->unk1C = ((Unkstruct_800B5CB8 *)arg0)->unk1C - 1; } else { - *(s16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; - *(s32 *)(arg0 + 0x1C) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 2; func_8002D4C8(0x89D, 0); for (i = 0; i < 8; i++) { s0 = func_8012C588(0x2ED, arg0); if (s0 != 0) { *(s16 *)(s0 + 0x16) = -0x10; - *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) + 0x20; - *(s16 *)(s0 + 0xE) = *(u16 *)(s0 + 0xE) - 0x18; - *(u16 *)(s0 + 0x12) = (rand() & 7) - 4; - *(u16 *)(s0 + 0x1A) = -4 - (rand() & 7); + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + 0x20; + ((Unkstruct_800B5CB8 *)s0)->unkE = ((Unkstruct_800B5CB8 *)s0)->unkE - 0x18; + ((Unkstruct_800B5CB8 *)s0)->unk12 = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)s0)->unk1A = -4 - (rand() & 7); } } } @@ -4310,11 +4310,11 @@ void func_80186BD8(void *a0) s32 v0; s32 v1; - v0 = *(s32 *)(a0 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C; if (v0 != 0) { - *(s32 *)(a0 + 0x1C) = v0 - 1; - *(s16 *)(a0 + 0x6) = *(s16 *)(a0 + 0x6) - 6; - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0xA) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0 - 1; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_SIGN(s16, a0, 0x6) - 6; + ((Unkstruct_800B5CB8 *)a0)->unkA = CAST_SIGN(s16, a0, 0xA) + 8; } else { v1 = D_801C7E30; D_801C7E34[0] = 0; @@ -4345,10 +4345,10 @@ void func_80186C44(s32 a0) s0 = func_8012C588(0x2ED, s1); if (s0 != 0) { *(s16 *)(s0 + 0x16) = -0x10; - *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) + 0x20; - *(s16 *)(s0 + 0xE) = *(u16 *)(s0 + 0xE) - 0x18; - *(u16 *)(s0 + 0x12) = (rand() & 7) - 4; - *(u16 *)(s0 + 0x1A) = -4 - (rand() & 7); + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + 0x20; + ((Unkstruct_800B5CB8 *)s0)->unkE = ((Unkstruct_800B5CB8 *)s0)->unkE - 0x18; + ((Unkstruct_800B5CB8 *)s0)->unk12 = (rand() & 7) - 4; + ((Unkstruct_800B5CB8 *)s0)->unk1A = -4 - (rand() & 7); } } } else { @@ -4401,12 +4401,12 @@ void func_80186E1C(void *param_1) s16 v0; s16 v1; - v0 = *(s16 *)((s32)param_1 + 0x2C); + v0 = CAST_SIGN(s16, (s32)param_1, 0x2C); v1 = v0; if (v0 < 0x700) { - *(s16 *)((s32)param_1 + 0x2C) = v1 + 0x30; + ((Unkstruct_800B5CB8 *)param_1)->unk2C = v1 + 0x30; func_80184100((u8 *)&D_801C7E80, -4); - func_800233CC((void *)((s32)&D_801C7E80 - 4), *(u16 *)((s32)param_1 + 0x2C)); + func_800233CC((void *)((s32)&D_801C7E80 - 4), ((Unkstruct_800B5CB8 *)param_1)->unk2C); } else { func_801292C8((u8 *)param_1); } @@ -4427,7 +4427,7 @@ void func_80186E94(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; @@ -4436,21 +4436,21 @@ void func_80186E94(s32 param_1) ((void (*)(s32, s32))func_8001C810)(v0, (s32)&D_801B5C84); v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(param_1); - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)v0 = 0; return; } ((void (*)(s32, s32))func_8001C810)(v0, (s32)&D_801B6434); - *(u8 *)(param_1 + 0xC0) = 0; - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; - *(u32 *)(*(s32 *)(param_1 + 0xCC) + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0xCC) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk2C |= 0x10; func_801841E4((s32 *)param_1); } @@ -4502,16 +4502,16 @@ extern void func_8018423C(void *a0); void func_80187074(s32 param_1) { - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: { - u8 v0 = *(u8 *)(param_1 + 0xFC) + 0x10; - *(u8 *)(param_1 + 0xFC) = v0; + u8 v0 = CAST_WIDTH(u8, param_1, 0xFC) + 0x10; + CAST_WIDTH(u8, param_1, 0xFC) = v0; if (v0 >= 0xF1) { - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; - *(u32 *)(*(s32 *)(param_1 + 0xCC) + 4) |= 0x80000000; - *(s32 *)(param_1 + 0x1C) = 8; - *(u16 *)(param_1 + 0x34) += 1; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk34 += 1; } break; } @@ -4522,7 +4522,7 @@ void func_80187074(s32 param_1) break; } - func_80016450(*(u8 *)(param_1 + 0xFC), 0); + func_80016450(CAST_WIDTH(u8, param_1, 0xFC), 0); } @@ -4551,24 +4551,24 @@ void func_80187198(s32 a0) s0 = a0; v0 = ((s32 (*)(s32))func_8012CBCC)(a0); if (v0 != 0) { - *(u16 *)(s0 + 0xFC) = -*(u16 *)(s0 + 0xFC); - *(u16 *)(s0 + 0xFE) = -*(u16 *)(s0 + 0xFE); - *(u16 *)(s0 + 0x100) = -*(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)s0)->unkFC = -CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)s0)->unkFE = -CAST_SIGN(u16, s0, 0xFE); + ((Unkstruct_800B5CB8 *)s0)->unk100 = -CAST_SIGN(u16, s0, 0x100); if (v0 & 0x8000) { - *(s32 *)(s0 + 0x10) = -*(s32 *)(s0 + 0x10); - *(s32 *)(s0 + 0x18) = -*(s32 *)(s0 + 0x18); + CAST_WIDTH(s32, s0, 0x10) = -CAST_WIDTH(s32, s0, 0x10); + CAST_WIDTH(s32, s0, 0x18) = -CAST_WIDTH(s32, s0, 0x18); } else { - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unk14; } } - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + *(u16 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 0x14) += CAST_SIGN(u16, s0, 0x100); - if (--*(s32 *)(s0 + 0x1C) < 0x10) { - *(u32 *)(*(s32 *)(s0 + 0x20) + 4) ^= 0x80000000; - if (*(s32 *)(s0 + 0x1C) == 0) { + if (--((Unkstruct_800B5CB8 *)s0)->unk1C < 0x10) { + *(u32 *)(((Unkstruct_800B5CB8 *)s0)->unk20 + 4) ^= 0x80000000; + if (((Unkstruct_800B5CB8 *)s0)->unk1C == 0) { func_8012C218((void *)s0); } } @@ -4584,18 +4584,18 @@ extern void (*D_80188CCC)(void); void func_801872BC(s32 param_1) { if (((s32 (*)(s32, void *))func_8012C354)(param_1, &D_80192D18) != 0) { - *(u8 *)(param_1 + 0xC0) = 1; - *(u16 *)(param_1 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_8012A828(param_1, &D_80188CCC); - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; func_8012B23C(param_1); - *(s16 *)(param_1 + 0xFC) = (rand() & 0xFF) - 0x80; - *(s16 *)(param_1 + 0xFE) = (rand() & 0xFF) - 0x80; - *(s16 *)(param_1 + 0x100) = (rand() & 0xFF) - 0x80; - *(s16 *)(param_1 + 0x12) = (rand() & 0xF) - 8; - *(s16 *)(param_1 + 0x1A) = (rand() & 0xF) - 8; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = (rand() & 0xF) - 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1A = (rand() & 0xF) - 8; *(s16 *)(param_1 + 0x16) = -((rand() & 0xF) + 0x28); - *(s32 *)(param_1 + 0x1C) = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; } } @@ -4607,12 +4607,12 @@ void func_8018738C(s32 a0) { extern void (*D_80192E00)(void); if (func_8012C354(a0, (s32)&D_80192E00) != 0) { - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) = *(s32 *)(*(s32 *)(a0 + 0x20) + 4) | 0x40000040; - *(u8 *)(a0 + 0xC0) = 1; - *(u16 *)(a0 + 0x5C) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) | 0x40000040; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8012A828(a0, &D_80188CCC); - *(u16 *)(a0 + 2) = 1; - *(s32 *)(a0 + 0x1C) = 6; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 6; } } @@ -4642,18 +4642,18 @@ void func_80187438(s32 param_1) { s32 v0; - if ((*(s32 *)(param_1 + 0x20) = func_8012C1B8()) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk20 = func_8012C1B8()) == 0) { func_8012CAE4((void *)param_1); } else { func_8012B23C(param_1); - func_8001CA1C((void *)(*(s32 *)(param_1 + 0x20)), D_80192E3C); + func_8001CA1C((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20), D_80192E3C); func_8012A828(param_1, D_80192E48); - v0 = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0xE) = -0x30; - *(u32 *)(v0 + 4) |= 0x8000000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = 0xC00; - *(s32 *)(param_1 + 0x1C) = 0x14; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + CAST_ALIAS(s16, param_1, 0xE) = -0x30; + CAST_WIDTH(u32, v0, 4) |= 0x8000000; + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = 0xC00; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x14; } } @@ -4695,21 +4695,21 @@ void func_80187540(s32 param_1) s32 temp; s16 r; - if ((*(s32 *)(param_1 + 0x20) = func_8012C1B8()) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk20 = func_8012C1B8()) == 0) { func_8012CAE4((void *)param_1); } else { func_8012B23C(param_1); - func_8001CA1C((void *)(*(s32 *)(param_1 + 0x20)), D_80192E58); + func_8001CA1C((void *)(((Unkstruct_800B5CB8 *)param_1)->unk20), D_80192E58); func_8012A828(param_1, D_80192E64); - temp = *(s32 *)(param_1 + 0x20); - *(u16 *)(param_1 + 2) = 1; - *(u32 *)(temp + 4) |= 0x50000000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + temp = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + CAST_WIDTH(u32, temp, 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; r = (rand() & 0x3FF) + 0xA00; - v0 = *(s32 *)(param_1 + 0x20); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(v0 + 0x1A) = r; *(s16 *)(v0 + 0x18) = r; - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } } @@ -4720,8 +4720,8 @@ void func_80187600(s32 a0) { s32 t; func_8012CBF4(a0); - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { func_8012C218((void *)a0); } @@ -4820,7 +4820,7 @@ s32 func_801878A4(void) { extern void (*D_801C3CF0[])(void); void func_801878AC(void *a0) { - D_801C3CF0[*(u16 *)((s32)a0 + 0x2)](); + D_801C3CF0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4860,8 +4860,8 @@ void func_801878E8(void *a0) { idx = *(s32 *)((s32)a0 + 0x2C); func_8001CBDC((s32)s1, (s32)D_801C3BE0, D_801C3B7C[idx][0], D_801C3B7C[idx][1]); uVar1 = D_801C3BA8[*(s32 *)((s32)a0 + 0x2C)]; - *(s16 *)((s32)s1 + 0x2C) = 3; - *(u8 *)((s32)s1 + 0x27) = uVar1; + ((Unkstruct_800B5CB8 *)s1)->unk2C = 3; + ((Unkstruct_800B5CB8 *)s1)->unk27 = uVar1; *(s16 *)((s32)a0 + 0x6) = 0; *(s16 *)((s32)a0 + 0xA) = 0x50; @@ -4961,7 +4961,7 @@ void func_80187BAC(void) { extern void (*D_801C3CFC[])(void); void func_80187BF0(void *a0) { - D_801C3CFC[*(u16 *)((s32)a0 + 0x2)](); + D_801C3CFC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5035,14 +5035,14 @@ void func_80187D70(s32 a0) *sp0 = func_8017EC7C(a0); func_80149020((s32 *)a0); - *(s16 *)(a0 + 0x6) = func_80012C6C(*(s16 *)(a0 + 0x6), *sp0, 8); - *(s16 *)(a0 + 0xA) = func_80012C6C(*(s16 *)(a0 + 0xA), D_801C3D12, 8); - *(s16 *)(a0 + 0xE) = func_80012C6C(*(s16 *)(a0 + 0xE), D_801C3D14, 8); - if ((*(s16 *)(a0 + 0x6) == *sp0) && - (*(s16 *)(a0 + 0xA) == D_801C3D12) && - (*(s16 *)(a0 + 0xE) == D_801C3D14)) { - *(u8 *)(a0 + 0xDE) = 0; - *(u8 *)(a0 + 0xDF) = 0; + CAST_ALIAS(s16, a0, 0x6) = func_80012C6C(((Unkstruct_80126B58 *)a0)->unk6, *sp0, 8); + CAST_ALIAS(s16, a0, 0xA) = func_80012C6C(((Unkstruct_80126B58 *)a0)->unkA, D_801C3D12, 8); + ((Unkstruct_80126B58 *)a0)->unkE = func_80012C6C(((Unkstruct_80126B58 *)a0)->unkE, D_801C3D14, 8); + if ((((Unkstruct_80126B58 *)a0)->unk6 == *sp0) && + (((Unkstruct_80126B58 *)a0)->unkA == D_801C3D12) && + (((Unkstruct_80126B58 *)a0)->unkE == D_801C3D14)) { + ((Unkstruct_80126B58 *)a0)->unkDE = 0; + ((Unkstruct_80126B58 *)a0)->unkDF = 0; func_80146CA0((void *)a0); } } @@ -5063,8 +5063,8 @@ extern void func_80151664(void); void func_80187E9C(s32 a0) { - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5073,7 +5073,7 @@ void func_80187E9C(s32 a0) extern void (*D_801C3D18[])(void); void func_80187EDC(void *a0) { - D_801C3D18[*(u16 *)((s32)a0 + 0x2)](); + D_801C3D18[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5102,7 +5102,7 @@ s32 func_80187F48(s32 arg0) func_80019064(&D_80062C14); func_80154274((s32 *)arg0, (s32)&D_800D5904); func_80154A74(arg0, 0x20); - *(u32 *)(arg0 + 0x234) = 0; + ((Unkstruct_80126B58 *)arg0)->unk234 = 0; ((void (*)(s32, s32))func_801477E8)((s32 *)arg0, 0xFFC00000); func_80149020((s32 *)arg0); func_80147324(0x451); @@ -5131,13 +5131,13 @@ void func_80187FCC(s32 arg0) func_80149020((s32 *)arg0); - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_80126B58 *)s0)->unk20; *(u16 *)(v1 + 0x12) = (*(u16 *)(v1 + 0x12) + 0x5B) & 0xFFF; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_80126B58 *)s0)->unk20; *(u16 *)(v1 + 0x10) = (*(u16 *)(v1 + 0x10) - 0x16) & 0xFFF; - v1 = *(s32 *)(s0 + 0x20); + v1 = ((Unkstruct_80126B58 *)s0)->unk20; if (*(s16 *)(v1 + 0x10) < 0xC00) { v0 = -0x400; *(u16 *)(v1 + 0x10) = v0; @@ -5146,10 +5146,10 @@ void func_80187FCC(s32 arg0) func_80148038((s32)s0, 0x10000); func_80147460((s32)s0); - if (*(s32 *)(s0 + 0x234) == 0) { - if (*(s32 *)(s0 + 0x34) >= 0) { - if ((*(u16 *)(s0 + 0xB8) & 0x8000) != 0) { - *(u16 *)(s0 + 0xB8) = *(u16 *)(s0 + 0xBA); + if (((Unkstruct_80126B58 *)s0)->unk234 == 0) { + if (((Unkstruct_80126B58 *)s0)->unk34 >= 0) { + if ((((Unkstruct_80126B58 *)s0)->unkB8 & 0x8000) != 0) { + ((Unkstruct_80126B58 *)s0)->unkB8 = ((Unkstruct_80126B58 *)s0)->unkBA; } } } @@ -5212,7 +5212,7 @@ s32 func_80188168(s32 a0) extern void (*D_801C3D3C[])(void); void func_801881B0(void *a0) { - D_801C3D3C[*(u16 *)((s32)a0 + 0x2)](); + D_801C3D3C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5257,8 +5257,8 @@ void func_80188234(s32 arg0) ((void (*)(s32, s32))func_80146E90)(arg0, 0x12); func_80019064(&D_80062C04); func_801511E0(arg0); - if ((s16)func_80012A60((s32)*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12), - (s32)*(s16 *)(arg0 + 0xF4)) >= 0x401) { + if ((s16)func_80012A60((s32)*(s16 *)(((Unkstruct_80126B58 *)arg0)->unk20 + 0x12), + (s32)((Unkstruct_80126B58 *)arg0)->unkF4) >= 0x401) { ((void (*)(s32, s32))func_80154274)(arg0, (s32)&D_800D5880); } else { ((void (*)(s32, s32))func_80154274)(arg0, (s32)&D_800D58AC); @@ -5266,7 +5266,7 @@ void func_80188234(s32 arg0) func_80154A74(arg0, 0x16); ((void (*)(s32))func_80149020)(arg0); s0a = (s32)buf; - ((void (*)(s32, s32, s32))func_8001382C)((*(u16 *)(arg0 + 0xF4) - *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x12)) & 0xFFF, + ((void (*)(s32, s32, s32))func_8001382C)((CAST_SIGN(u16, arg0, 0xF4) - ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12) & 0xFFF, (s32)&D_801C3D48, s0a); ((void (*)(s32, s32))func_80146DB8)(arg0, s0a); ((void (*)(s32, s32))func_801477E8)(arg0, *(s32 *)(&D_801C3D54)); @@ -5282,21 +5282,21 @@ void func_80188334(s32 arg0) { int iVar1; func_80149020(arg0); - if (*(int *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_80126B58 *)arg0)->unk1C == 0) { if (*(unsigned short *)(arg0 + 0xb8) == 0x8000) { func_80188468(arg0); func_80159B3C(arg0); goto LAB_8018844c; } } else { - *(int *)(arg0 + 0x1c) = *(int *)(arg0 + 0x1c) + -1; + ((Unkstruct_80126B58 *)arg0)->unk1C = ((Unkstruct_80126B58 *)arg0)->unk1C + -1; } func_80147A84(arg0); func_801473EC(arg0); func_80148038(arg0, 0x8000); - func_80146A6C(3, arg0, *(s16 *)(arg0 + 6), - ((s32)(*(u16 *)(arg0 + 0xA) - 0x10) << 16) >> 16, - *(s16 *)(arg0 + 0xE), 0x080FFFF8, 0xE000B000); + func_80146A6C(3, arg0, ((Unkstruct_80126B58 *)arg0)->unk6, + ((s32)(CAST_SIGN(u16, arg0, 0xA) - 0x10) << 16) >> 16, + ((Unkstruct_80126B58 *)arg0)->unkE, 0x080FFFF8, 0xE000B000); func_80147460(arg0); iVar1 = func_801535F4(arg0); if (iVar1 == 1) goto LAB_80188418; @@ -5323,8 +5323,8 @@ extern void func_80151664(void); void func_80188468(s32 a0) { - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5333,7 +5333,7 @@ void func_80188468(s32 a0) extern void (*D_801C3DD8[])(void); void func_801884A8(void *a0) { - D_801C3DD8[*(u16 *)((s32)a0 + 0x2)](); + D_801C3DD8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5375,7 +5375,7 @@ void func_8018852C(s32 a0) func_80149020((s32 *)s1); func_80147324(0x451); func_801511E0(s1); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(s1 + 0x20) + 0x12), *(s16 *)(s1 + 0xF4)) >= 0x401) { + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_80126B58 *)s1)->unk20 + 0x12), ((Unkstruct_80126B58 *)s1)->unkF4) >= 0x401) { func_80154274((s32 *)s1, (s32)&D_800D5880); } else { func_80154274((s32 *)s1, (s32)&D_800D58AC); @@ -5405,10 +5405,10 @@ extern void func_80165718(s32 a0); void func_80188680(s32 *arg0) { func_80149020(arg0); - if (*(u16 *)((s32)arg0 + 0xB8) == 0x8000) { + if (((Unkstruct_80126B58 *)arg0)->unkB8 == 0x8000) { func_801886F4(arg0); func_80159B3C(arg0); - if (*(s32 *)((s32)arg0 + 0xB4) == (s32)&D_800D5880) { + if (((Unkstruct_80126B58 *)arg0)->unkB4 == (s32)&D_800D5880) { ((void (*)(s32 *, s32, s32))func_801542DC)(arg0, (s32)D_800D46E4, 0xE); } func_80165718(arg0); @@ -5421,8 +5421,8 @@ extern void func_80151664(void); void func_801886F4(s32 a0) { - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -5431,7 +5431,7 @@ void func_801886F4(s32 a0) extern void (*D_801C3E40[])(void); void func_80188734(void *a0) { - D_801C3E40[*(u16 *)((s32)a0 + 0x2)](); + D_801C3E40[((Unkstruct_80126B58 *)a0)->unk2](); } diff --git a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c index b0b25505db..bebdab00dd 100644 --- a/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c +++ b/src/ov_SC05_018/ov_SC05_018_jr_8017D604.c @@ -3314,11 +3314,11 @@ void func_8017EB84(void *a0) { func_8014706C(a0); func_8014708C(a0); func_801472C8(a0); - *(s32 *)((u8 *)a0 + 0x200) = 100; - *(s16 *)((u8 *)a0 + 0x20C) = 1; - *(s16 *)((u8 *)a0 + 0x20E) = 0; - func_8017F818(a0, *(s16 *)((u8 *)a0 + 0x20C), *(s32 *)((u8 *)a0 + 0x200), 0); - *(s32 *)((u8 *)a0 + 0x204) = 60; + ((Unkstruct_80126B58 *)a0)->unk200 = 100; + ((Unkstruct_80126B58 *)a0)->unk20C = 1; + ((Unkstruct_80126B58 *)a0)->unk20E = 0; + func_8017F818(a0, ((Unkstruct_80126B58 *)a0)->unk20C, ((Unkstruct_80126B58 *)a0)->unk200, 0); + ((Unkstruct_80126B58 *)a0)->unk204 = 60; func_80171990((u8 *)a0); } @@ -3500,14 +3500,14 @@ void func_8017EFE0() { v1 = func_8012E544(0x19C); if (v1 != 0) { - *(s16 *)(v1 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)v1)->unkFC = 0; } v1 = func_8012E544(0x29A); if (v1 != 0) { - *(s16 *)(v1 + 6) = -0x180; - *(s16 *)(v1 + 10) = -0x380; - *(s16 *)(v1 + 14) = 0x6A0; + CAST_ALIAS(s16, v1, 6) = -0x180; + CAST_ALIAS(s16, v1, 10) = -0x380; + ((Unkstruct_800B5CB8 *)v1)->unkE = 0x6A0; } } @@ -3545,9 +3545,9 @@ void func_8017F0BC(void *a0) { func_8014706C(a0); func_8014708C(a0); func_801472C8(a0); - *(s32 *)((u8 *)a0 + 0x200) = 100; - *(s16 *)((u8 *)a0 + 0x20C) = 1; - func_8017F818(a0, *(s16 *)((u8 *)a0 + 0x20C), *(s32 *)((u8 *)a0 + 0x200), 0); + ((Unkstruct_80126B58 *)a0)->unk200 = 100; + ((Unkstruct_80126B58 *)a0)->unk20C = 1; + func_8017F818(a0, ((Unkstruct_80126B58 *)a0)->unk20C, ((Unkstruct_80126B58 *)a0)->unk200, 0); func_80171990((u8 *)a0); } @@ -3627,14 +3627,14 @@ void func_8017F2BC() { v1 = func_8012E544(0x19C); if (v1 != 0) { - *(s16 *)(v1 + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)v1)->unkFC = 0; } v1 = func_8012E544(0x29A); if (v1 != 0) { - *(s16 *)(v1 + 6) = -0x180; - *(s16 *)(v1 + 10) = -0x380; - *(s16 *)(v1 + 14) = 0x6A0; + CAST_ALIAS(s16, v1, 6) = -0x180; + CAST_ALIAS(s16, v1, 10) = -0x380; + ((Unkstruct_800B5CB8 *)v1)->unkE = 0x6A0; } } @@ -3696,7 +3696,7 @@ void func_8017F448(s32 a0) { if (func_80171A88(a0) != 0) { func_8014706C((void *)a0); func_80154274((s32 *)a0, D_800D599C); - *(s32 *)(a0 + 0x198) = func_8013767C(&D_801E3224); + ((Unkstruct_80126B58 *)a0)->unk198 = func_8013767C(&D_801E3224); func_80171990((u8 *)a0); } } @@ -3751,11 +3751,11 @@ void func_8017F598(void *a0) { func_8014706C(a0); func_8014708C(a0); func_801472C8(a0); - *(s32 *)((u8 *)a0 + 0x200) = 790; - *(s32 *)((u8 *)a0 + 0x204) = 0; - *(s16 *)((u8 *)a0 + 0x20C) = 1; - func_8017F818(a0, 1, *(s32 *)((u8 *)a0 + 0x200), 0); - *(s16 *)((u8 *)a0 + 0x20E) = 30; + ((Unkstruct_80126B58 *)a0)->unk200 = 790; + ((Unkstruct_80126B58 *)a0)->unk204 = 0; + ((Unkstruct_80126B58 *)a0)->unk20C = 1; + func_8017F818(a0, 1, ((Unkstruct_80126B58 *)a0)->unk200, 0); + ((Unkstruct_80126B58 *)a0)->unk20E = 30; func_80171990((u8 *)a0); } @@ -3878,17 +3878,17 @@ void func_8017F818(void *a0, s32 a1, s32 a2, s32 a3) { v1 = func_8012E544(0x19C); if (v1 != 0) { - *(s32 *)(v1 + 4) = *(s32 *)((s32)a0 + 4); - *(s32 *)(v1 + 8) = *(s32 *)((s32)a0 + 8); - *(s32 *)(v1 + 0xC) = *(s32 *)((s32)a0 + 0xC); - *(s16 *)(v1 + 0xFC) = (s16)a1; + CAST_WIDTH(s32, v1, 4) = *(s32 *)((s32)a0 + 4); + CAST_WIDTH(s32, v1, 8) = *(s32 *)((s32)a0 + 8); + CAST_WIDTH(s32, v1, 0xC) = *(s32 *)((s32)a0 + 0xC); + ((Unkstruct_800B5CB8 *)v1)->unkFC = (s16)a1; } v1 = func_8012E544(0x29A); if (v1 != 0) { - *(s32 *)(v1 + 4) = *(s32 *)((s32)a0 + 4); - *(s32 *)(v1 + 8) = *(s32 *)((s32)a0 + 8); - *(s32 *)(v1 + 0xC) = *(s32 *)((s32)a0 + 0xC); + CAST_WIDTH(s32, v1, 4) = *(s32 *)((s32)a0 + 4); + CAST_WIDTH(s32, v1, 8) = *(s32 *)((s32)a0 + 8); + CAST_WIDTH(s32, v1, 0xC) = *(s32 *)((s32)a0 + 0xC); } } @@ -4343,9 +4343,9 @@ void func_80180408(void *arg0) { s32 timer; u16 state; - timer = *(s32 *)((s32)arg0 + 0x1C); - state = *(u16 *)((s32)arg0 + 0x34); - *(s32 *)((s32)arg0 + 0x1C) = timer + 1; + timer = ((Unkstruct_800B5CB8 *)arg0)->unk1C; + state = ((Unkstruct_800B5CB8 *)arg0)->unk34; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = timer + 1; switch (state) { case 0: if (timer + 1 == D_8018A978) { @@ -4354,15 +4354,15 @@ void func_80180408(void *arg0) { break; case 1: if (timer + 1 >= D_8018A97A) { - *(u16 *)((s32)arg0 + 0x34) = state + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = state + 1; func_80174E9C((s32)&D_801B44DC); ((void (*)(s32, s32))func_801812FC)((s32)arg0, (s32)&D_801CB724); - *(s32 *)((s32)arg0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; } break; case 2: func_801813E8((s32)arg0); - switch (*(s32 *)((s32)arg0 + 0x1C)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk1C) { case 0xAE: case 0xA1: case 0xC0: @@ -4376,8 +4376,8 @@ void func_80180408(void *arg0) { break; } if ((s16)func_80174ED4() != 0) { - *(s32 *)((s32)arg0 + 0x1C) = 0; - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; } break; case 3: @@ -4405,8 +4405,8 @@ void func_801805E0(void) v1 = func_8012E544(0x2C6); if (v1 != 0) { - *(u16 *)(v1 + 0x34) += 1; - *(s32 *)(v1 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)v1)->unk34 += 1; + ((Unkstruct_800B5CB8 *)v1)->unk1C = 0; func_80029514(0x492); func_8012C658(0x3BE, 0, 0); func_800D0CA0(1); @@ -4424,10 +4424,10 @@ void func_80180644(s32 arg0) func_8017FB8C(); func_80129CF8(); - *(s16 *)(arg0 + 2) = 3; - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0x1C) = 0; - *(s16 *)(arg0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk98 = 0; func_8012E8A8(arg0); D_801E6748 = 1; } @@ -4456,38 +4456,38 @@ void func_8018069C(s32 a0) { goto FAIL; } t = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = t; + ((Unkstruct_800B5CB8 *)a0)->unk20 = t; if (t == 0) { FAIL: func_8012CAE4((void *)a0); return; } - func_8001C214(*(s32 *)(a0 + 0x20), (s32)&D_801AA594); - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x7FFF, 0x7FFF); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = - (v = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C), D_801E6748 = 0, v | 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x3000; - *(u16 *)(*(s32 *)(a0 + 0x68) + 0xC) = 0x7FFF; + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)&D_801AA594); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x7FFF, 0x7FFF); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = + (v = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C, D_801E6748 = 0, v | 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x3000; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk68 + 0xC) = 0x7FFF; if (s1 == 0x488) { - *(u16 *)(a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012E8E0(a0, (s32)D_8018A960); ((void (*)(s32, s32))func_801812FC)(a0, (s32)&D_801B3DC4); - *(s32 *)(a0 + 0x1C) = 0; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; return; } - *(u16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E8E0(a0, (s32)D_8018A960); - v = *(u16 *)(a0 + 0xFC) ^ 1; - *(u16 *)(a0 + 0xFC) = v; + v = CAST_SIGN(u16, a0, 0xFC) ^ 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v; if (v != 0) { ((void (*)(s32, s32))func_801812FC)(a0, (s32)D_801BBAB8); } else { ((void (*)(s32, s32))func_801812FC)(a0, (s32)D_801C29C4); } - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -4531,7 +4531,7 @@ void func_801808AC(s32 arg0) s32 j; s16 pad[3]; - do { tbl = *(s32 **)(arg0 + 0x90); } while (0); + do { tbl = CAST_SIGN(s32 *, arg0, 0x90); } while (0); i = 0; if (tbl == &D_801B3DC4) { goto found; @@ -4672,7 +4672,7 @@ extern void func_80180D04(void *a0); void func_80180D04(void *a0) { extern void (*D_8018AA00[])(void); - D_8018AA00[*(u16 *)((s32)a0 + 0x2)](); + D_8018AA00[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4727,8 +4727,8 @@ void func_80180DBC(void *a0) { s32 i; s32 t; - t = *(s32 *)((s32)a0 + 0x1C) + 1; - *(s32 *)((s32)a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; + CAST_ALIAS(s32, (s32)a0, 0x1C) = t; if (t >= D_8018A9FC) { if (t == D_8018A9FC) { D_801E664C = 0; @@ -4958,7 +4958,7 @@ extern u16 D_800B99DA; void func_801813E8(s32 arg0) { u16 v; - if (*(s32 *)(arg0 + 0x1C) < 0x90) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x90) { v = D_800B99DA % 0x18; if (v == 0) { func_8002D4C8(0xBDD, 0); @@ -4980,20 +4980,20 @@ void func_80181474(s32 *a0) { extern s32 D_801C29C4[]; u16 v; - *(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = ((Unkstruct_800B5CB8 *)a0)->unk1C + 1; func_801808AC(a0); ((void (*)(void *))func_8018083C)(a0); - if (*(u16 *)((s32)a0 + 0x72) & 0x4000) { - *(u16 *)((s32)a0 + 0x2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012E8E0((s32)a0, (s32)D_8018A960); - v = *(u16 *)((s32)a0 + 0xFC) ^ 1; - *(u16 *)((s32)a0 + 0xFC) = v; + v = CAST_SIGN(u16, (s32)a0, 0xFC) ^ 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v; if (v != 0) { ((void (*)(s32, s32))func_801812FC)((s32)a0, (s32)D_801BBAB8); } else { ((void (*)(s32, s32))func_801812FC)((s32)a0, (s32)D_801C29C4); } - *(s32 *)((s32)a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -5009,7 +5009,7 @@ extern s32 D_8018AA24; s32 func_80181520(void *arg0) { s32 s0 = (s32)arg0; - *(u16 *)(s0 + 2) = 2; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 2; func_8012E88C(s0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC330); func_8012E8E0((s32)arg0, (s32)&D_8018AA24); @@ -5019,7 +5019,7 @@ s32 func_80181520(void *arg0) { extern void (*D_8018AB24[])(void); void func_80181570(void *a0) { - D_8018AB24[*(u16 *)((s32)a0 + 0x2)](); + D_8018AB24[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5141,11 +5141,11 @@ void func_80181760(void *arg0) { s32 v1; - v1 = *(u16 *)((s32)arg0 + 0x34); + v1 = ((Unkstruct_800B5CB8 *)arg0)->unk34; switch (v1) { case 0: func_80178CBC((s32)arg0, (s32)&D_8018AA6C); - *(u16 *)((s32)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; return; case 1: @@ -5153,7 +5153,7 @@ void func_80181760(void *arg0) return; } ((void (*)(s32))func_80178D18)((s32)arg0); - *(u16 *)((s32)arg0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC330); func_8012E8E0((s32)arg0, (s32)&D_8018AA24); @@ -5161,7 +5161,7 @@ void func_80181760(void *arg0) case 2: ((s32 (*)(s32 *))func_800D1724)(&D_8018A7D4); - *(u16 *)((s32)arg0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 3; return; } } @@ -5175,15 +5175,15 @@ void func_80181840(void *arg0) { extern s16 D_8018AAE4; extern s32 D_8018AA24; - switch (*(u16 *)((s32)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: func_80178CBC((s32)arg0, (s32)&D_8018AAE4); - *(u16 *)((s32)arg0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 1; break; case 1: if (((s32 (*)(s32))func_80178970)((s32)arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; func_8018469C(arg0, &D_8018AA24); } break; @@ -5218,18 +5218,18 @@ void func_801818D0(void *a0) { D_801E6650 = 0; } t2 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)a0 + 0x20) = t2; + ((Unkstruct_800B5CB8 *)a0)->unk20 = t2; if (t2 == 0) { fail: func_8012CAE4(a0); return; } func_8001C214(t2, (s32)&D_801D571C); - *(s16 *)((char *)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; func_8012E88C((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CC330); func_8012E8E0((s32)a0, (s32)&D_8018AA24); - *(s16 *)(*(s32 *)((char *)a0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk68 + 0xC) = 0x7FFF; func_801788B8((s32)a0, (s32)func_801815AC); } @@ -5242,8 +5242,8 @@ void func_801819B0(void *arg0) { extern short D_8018AB38; extern short D_801CC330; - *(short *)((char *)arg0 + 0x2) = 2; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_8018AB38); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC330); @@ -5255,7 +5255,7 @@ extern s32 func_8012E544(s32 arg); void func_80181A0C(void) { s32 p = func_8012E544(0x37C); if (p != 0) { - *(u16*)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } } @@ -5287,23 +5287,23 @@ void func_80181A48(void *arg0) { return; } if (stage == 0x47E) { - *(u16 *)((char *)arg0 + 2) = 2; - *(u16 *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_8018AB38); } else if (stage == 0x488) { - *(u16 *)((char *)arg0 + 2) = 3; - *(u16 *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_8018ACB4); } else { - *(u16 *)((char *)arg0 + 2) = 1; - *(u16 *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_8018AB38); } func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC330); func_80184674((s32)arg0); - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)func_80181B80); + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)func_80181B80); } @@ -5311,7 +5311,7 @@ void func_80181A48(void *arg0) { extern void (*D_8018AD74[])(void); void func_80181B44(void *a0) { - D_8018AD74[*(u16 *)((s32)a0 + 0x2)](); + D_8018AD74[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5366,14 +5366,14 @@ void func_80181BF4(void *arg0) u16 f2; } pos; - state = *(u16 *)((s32)arg0 + 0x34); + state = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (state != 1) { if (state < 2 && state == 0) { pos.f0 = D_80126B5E; pos.f1 = D_80126B62; pos.f2 = D_80126B66; if (func_8012CB64((s32)&pos, -0x380, -0x180, 0x40D, 0x60D) != 0) { - *(u16 *)((s32)arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; func_80178B18((s32)arg0, (s32)&D_8018AB74); } } @@ -5399,18 +5399,18 @@ void func_80181CC4(void *arg0) { extern short D_8018AB38; extern short D_801CC330; - switch (*(u16 *)((s32)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: break; case 1: func_80178CBC((s32)arg0, (s32)&D_8018AC14); - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; break; case 2: if (((s32 (*)(s32))func_80178970)((s32)arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(short *)((char *)arg0 + 0x2) = 2; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; ((void (*)(s32, s32))func_8012E8E0)((s32)arg0, (s32)&D_8018AB38); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC330); @@ -5443,13 +5443,13 @@ void func_80181DCC(void *arg0) extern void func_8012C218(void *arg0); extern s32 D_8018ACBC; - switch (*(u16 *)((s32)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: break; case 1: func_80178B18((s32)arg0, (s32)&D_8018ACBC); - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; break; case 2: @@ -5457,7 +5457,7 @@ void func_80181DCC(void *arg0) ((void (*)(s32))func_80178D18)((s32)arg0); func_8017FB8C(); func_80129CF8(); - func_8012C218(*(void **)((s32)arg0 + 0xD4)); + func_8012C218(CAST_SIGN(void *, (s32)arg0, 0xD4)); func_8012C218(arg0); } break; @@ -5538,8 +5538,8 @@ s32 func_80181EEC(void *a0) extern void func_8018469C(s32 *a0, s32 a1); extern short D_8018AD84; void func_80182018(short *a0) { - *(short *)((char *)a0 + 0x2) = 0x4; - *(short *)((char *)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8018469C(a0, &D_8018AD84); } @@ -5549,8 +5549,8 @@ extern void func_8012E8A8(u8 *a0); void func_80182048(void *arg0) { extern short D_8018AD84; - *(short *)((char *)arg0 + 0x2) = 2; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8A8((u8 *)arg0); func_8012E8E0((s32)arg0, (s32)&D_8018AD84); } @@ -5564,8 +5564,8 @@ void func_8018208C(void *arg0) { extern short D_8018AD84; extern short D_801CC388; - *(short *)((char *)arg0 + 0x2) = 3; - *(short *)((char *)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8E0((s32)arg0, (s32)&D_8018AD84); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801CC388); @@ -5590,13 +5590,13 @@ void func_801820E8(void *a0) extern void (*D_8018ADF4)(void); extern short D_801CC388; - switch (*(u16 *)((s32)a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_801855C4(1) == 0) { return; } func_801848B8((s32)a0, (s32)D_8019F638, 0, 0x40); - *(u16 *)((s32)a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; return; case 1: func_801855C4(1); @@ -5604,20 +5604,20 @@ void func_801820E8(void *a0) return; } func_801848B8((s32)a0, (s32)&D_8019F644, 1, 0x40); - *(u16 *)((s32)a0 + 0x34) = 2; - *(u16 *)(*(s32 *)((s32)a0 + 0xCC) + 0x108) = 0; - *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unk108 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0xCC))->unkB0 = 2; return; case 2: if (func_80184988((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x34) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } break; case 3: if (func_801855C4(1) == 0) { return; } - *(u16 *)((s32)a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_801848B8((s32)a0, (s32)D_8019F638, 1, 0x40); return; case 4: @@ -5625,12 +5625,12 @@ void func_801820E8(void *a0) if (func_80184988((s32)a0) == 0) { return; } - *(u16 *)((s32)a0 + 0x2) = 1; - *(u16 *)((s32)a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; func_8018469C(a0, &D_8018AD84); return; case 5: - (*(u16 *)((s32)a0 + 0x34))++; + (((Unkstruct_800B5CB8 *)a0)->unk34)++; func_80178CBC((s32)a0, (s32)&D_8018ADF4); break; case 6: @@ -5640,7 +5640,7 @@ void func_801820E8(void *a0) ((void (*)(s32))func_80178D18)((s32)a0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)a0, (s32)&D_801CC388); func_80184674((s32)a0); - *(u16 *)((s32)a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; break; } } @@ -5650,7 +5650,7 @@ void func_801820E8(void *a0) extern void (*D_8018AE9C[])(void); void func_80182290(void *a0) { - D_8018AE9C[*(u16 *)((s32)a0 + 0x2)](); + D_8018AE9C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5669,7 +5669,7 @@ void func_801822CC() { extern s32 func_80184590(s32 arg0, s32 arg1); void func_80182304(void *arg0) { - *(s32 *)(*(s32 *)((s32)arg0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0xCC))->unkB0 = 2; if (func_80184828() != 1) { if (func_801845B4(5, 0, 5, 0x1E) != 0) { func_8018208C(arg0); @@ -5716,24 +5716,24 @@ extern s16 D_8018AD84; extern short D_8018ADBC; void func_80182420(void *arg0) { - switch (*(u16 *)((s32)arg0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: - *(s32 *)(*(s32 *)((s32)arg0 + 0xCC) + 0xB0) = 2; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)arg0 + 0xCC))->unkB0 = 2; if (((s32 (*)(s32, s32))func_80184590)(7, 0x15) == 0) { - *(s16 *)((s32)arg0 + 0x2) = 1; - *(s16 *)((s32)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8018469C(arg0, &D_8018AD84); } break; case 1: - *(u16 *)((s32)arg0 + 0x34) = *(u16 *)((s32)arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; func_80178CBC((s32)arg0, (s32)&D_8018ADBC); break; case 2: if (((s32 (*)(s32))func_80178970)((s32)arg0) != 0) { ((void (*)(s32))func_80178D18)((s32)arg0); - *(s16 *)((s32)arg0 + 0x2) = 2; - *(s16 *)((s32)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; func_8012E8A8((u8 *)arg0); func_8012E8E0((s32)arg0, (s32)&D_8018AD84); } @@ -5754,11 +5754,11 @@ void func_8018251C(void *param_1) { if (func_801841A0(param_1, &D_8018AD94) == 0) { return; } - *(u16 *)((char *)param_1 + 2) = 1; - *(u16 *)((char *)param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; func_8018469C(param_1, &D_8018AD84); - *(s16 *)(*(s32 *)((char *)param_1 + 0x68) + 0xC) = 0x7FFF; - *(s32 *)((char *)param_1 + 0xD4) = func_801788B8((s32)param_1, (s32)func_80181EEC); + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk68 + 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)param_1)->unkD4 = func_801788B8((s32)param_1, (s32)func_80181EEC); } @@ -5766,7 +5766,7 @@ void func_8018251C(void *param_1) { extern void (*D_8018B09C[])(void); void func_8018258C(void *a0) { - D_8018B09C[*(u16 *)((s32)a0 + 0x2)](); + D_8018B09C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5792,19 +5792,19 @@ void func_801825C8(void *arg0) { } v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { return; } func_8001C214(v0, (s32)&D_801DCCD0); - *(s16 *)(*(s32 *)((char *)arg0 + 0x20) + 0x12) = 0xE00; + ((Unkstruct_800B5CB8 *)*(s32 *)((char *)arg0 + 0x20))->unk12 = 0xE00; ((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_8018AEB0); - *(s16 *)(*(s32 *)((char *)arg0 + 0x68) + 0xC) = 0x7FFF; - *(s32 *)((char *)arg0 + 0x58) = (s32)&D_8018AFB0 | 0x40000000; - *(s16 *)((char *)arg0 + 0x5C) = 0x800; - *(s32 *)((char *)arg0 + 0xD4) = func_801788B8((s32)arg0, (s32)func_80182774); - *(u16 *)((char *)arg0 + 0x2) += 1; + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk68 + 0xC) = 0x7FFF; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = (s32)&D_8018AFB0 | 0x40000000; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)arg0)->unkD4 = func_801788B8((s32)arg0, (s32)func_80182774); + CAST_SIGN(u16, (char *)arg0, 0x2) += 1; } @@ -5885,7 +5885,7 @@ s32 func_80182774_body(void *a0) extern void (*D_8018B0AC[])(void); void func_801827E8(void *a0) { - D_8018B0AC[*(u16 *)((s32)a0 + 0x2)](); + D_8018B0AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6033,12 +6033,12 @@ s16 a3; rot[2] = 0; RotMatrixYXZ(rot, mtx); ApplyMatrixSV(mtx, a1, rot); - *(u16 *)(ent + 6) = *(u16 *)a0 + rot[0]; - *(u16 *)(ent + 10) = *(u16 *)((u8 *)a0 + 2) + rot[1]; - *(u16 *)(ent + 14) = *(u16 *)((u8 *)a0 + 4) + rot[2]; - *(s32 *)(ent + 0x10) = rot[0] << 12; - *(s32 *)(ent + 0x14) = rot[1] << 12; - *(s32 *)(ent + 0x18) = rot[2] << 12; + ((Unkstruct_800B5CB8 *)ent)->unk6 = *(u16 *)a0 + rot[0]; + ((Unkstruct_800B5CB8 *)ent)->unkA = *(u16 *)((u8 *)a0 + 2) + rot[1]; + ((Unkstruct_800B5CB8 *)ent)->unkE = *(u16 *)((u8 *)a0 + 4) + rot[2]; + CAST_WIDTH(s32, ent, 0x10) = rot[0] << 12; + ((Unkstruct_800B5CB8 *)ent)->unk14 = rot[1] << 12; + CAST_WIDTH(s32, ent, 0x18) = rot[2] << 12; } i = i + 1; } while (i < a3); @@ -6050,7 +6050,7 @@ s16 a3; extern void (*D_8018B0C4[])(void); void func_80182E38(void *a0) { - D_8018B0C4[*(u16 *)((s32)a0 + 0x2)](); + D_8018B0C4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6084,14 +6084,14 @@ void func_80182F04(s32 *a0) extern void func_8012931C(struct vec *a0); s32 p; - p = *(s32 *)((s32)a0 + 0x20); - if (--*(s16 *)((s32)a0 + 0x2C) == -1) { + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + if (--CAST_SIGN(s16, (s32)a0, 0x2C) == -1) { func_801292C8((u8 *)a0); return; } func_8012931C((struct vec *)a0); - *(u8 *)((s32)p + 0x24) = *(u8 *)((s32)p + 0x25) = *(u8 *)((s32)p + 0x26) = - *(u8 *)((s32)p + 0x26) - 2; + ((Unkstruct_800B5CB8 *)p)->unk24 = ((Unkstruct_800B5CB8 *)p)->unk25 = ((Unkstruct_800B5CB8 *)p)->unk26 = + ((Unkstruct_800B5CB8 *)p)->unk26 - 2; } @@ -6122,7 +6122,7 @@ void func_80182F78(s32 arg0) extern void (*D_8018B180[])(void); void func_80183018(void *a0) { - D_8018B180[*(u16 *)((s32)a0 + 0x2)](); + D_8018B180[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6166,8 +6166,8 @@ void func_801830D8(s32 *a0) extern void func_8012931C(struct vec *a0); s32 p; - p = *(s32 *)((s32)a0 + 0x20); - if ((s16)--*(u16 *)((s32)a0 + 0x2C) == -1) { + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + if ((s16)--((Unkstruct_800B5CB8 *)a0)->unk2C == -1) { func_801292C8((u8 *)a0); return; } @@ -6180,7 +6180,7 @@ void func_801830D8(s32 *a0) extern void (*D_8018B198[])(void); void func_80183138(void *a0) { - D_8018B198[*(u16 *)((s32)a0 + 0x2)](); + D_8018B198[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6205,7 +6205,7 @@ s32 a0; } s0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = s0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = s0; if (s0 == 0) { return; } @@ -6213,9 +6213,9 @@ s32 a0; func_8001C810(s0, (s32)&D_8019F630); *(s32 *)(s0 + 0x28) = 0xFA00FA; *(s32 *)(s0 + 4) |= 0x8000; - *(u8 *)((s8 *)a0 + 0x75) = 2; - *(s32 *)(a0 + 0x58) = (u32)&D_8018B188 | 0x40000000; - *(u16 *)(a0 + 0x5C) = 0xC800; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (u32)&D_8018B188 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xC800; func_8012AD50((void *)a0); } @@ -6227,7 +6227,7 @@ void func_80183228(void) { extern void (*D_8018B1D0[])(void); void func_80183230(void *a0) { - D_8018B1D0[*(u16 *)((s32)a0 + 0x2)](); + D_8018B1D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6530,7 +6530,7 @@ void func_801837E8(s32 a0) { s32 state; s32 fv; - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; if (state == 1) { goto case1; } @@ -6552,8 +6552,8 @@ case0: { if (func_8012BEE8(a0) == 0) { goto tail; } - *(u16 *)(a0 + 0xFC) = 0; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; fv = rand(); fv = (fv & 0x1F) + 0x1E; goto store1c; @@ -6562,41 +6562,41 @@ case0: { case1: { s32 v0; s32 p; - v0 = *(u16 *)(a0 + 0xFC); - p = *(s32 *)(a0 + 0x20); + v0 = CAST_SIGN(u16, a0, 0xFC); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = v0 + 6; - *(u16 *)(a0 + 0xFC) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + v0; if (func_8012BEE8(a0) == 0) { goto tail; } - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; goto randtail; } case2: { s32 p; - p = *(s32 *)(a0 + 0x20); - *(u16 *)(p + 0x12) += *(u16 *)(a0 + 0xFC); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; + *(u16 *)(p + 0x12) += CAST_SIGN(u16, a0, 0xFC); if (func_8012BEE8(a0) == 0) { goto tail; } - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; goto tail; } case3: { s32 v0; s32 p; - v0 = *(u16 *)(a0 + 0xFC); - p = *(s32 *)(a0 + 0x20); + v0 = CAST_SIGN(u16, a0, 0xFC); + p = ((Unkstruct_800B5CB8 *)a0)->unk20; v0 = v0 - 3; - *(u16 *)(a0 + 0xFC) = v0; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0; *(u16 *)(p + 0x12) = *(u16 *)(p + 0x12) + v0; - if (*(s16 *)(a0 + 0xFC) >= 9) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 9) { goto tail; } - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } randtail: @@ -6604,7 +6604,7 @@ randtail: fv = (fv & 0x3F) + 0x3C; store1c: - *(s32 *)(a0 + 0x1C) = fv; + ((Unkstruct_800B5CB8 *)a0)->unk1C = fv; tail: if (!((u32)func_80029504() < 0x492)) { @@ -6617,7 +6617,7 @@ tail: extern void (*D_801A1068[])(void); void func_80183960(void *a0) { - D_801A1068[*(u16 *)((s32)a0 + 0x2)](); + D_801A1068[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6625,7 +6625,7 @@ void func_80183960(void *a0) { extern void (*D_801A1088[])(void); void func_8018399C(void *a0) { - D_801A1088[*(u16 *)((s32)a0 + 0x2)](); + D_801A1088[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6641,16 +6641,16 @@ void func_801839D8(s32 a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); } else { func_8001C214(v0, 0); func_8012E8E0(a0, (s32)&D_801A1060); - *(s32 *)(a0 + 0x58) = (s32)&D_801A1070 | 0x40000000; - *(s16 *)(a0 + 0x5C) = 0xC00; - *(s8 *)(a0 + 0x75) = 8; - *(u16 *)(a0 + 2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A1070 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xC00; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 8; + CAST_SIGN(u16, a0, 2) += 1; } } @@ -6660,7 +6660,7 @@ extern void func_8012C218(void *arg0); extern u16 D_801A1080[]; void func_80183A64(s32 a0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = D_801A1080[*(s16 *)(a0 + 0x70)]; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = D_801A1080[((Unkstruct_800B5CB8 *)a0)->unk70]; if (!((u32)func_80029504() < 0x492)) { func_8012C218((void *)a0); } @@ -6694,7 +6694,7 @@ void func_80183AF8(void *a0) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -6710,9 +6710,9 @@ void func_80183AF8(void *a0) { } func_8012C658(0x3BF, 0, (s32)a0); - *(s16 *)((char *)a0 + 0x2) = 1; - *(s16 *)((char *)a0 + 0x34) = 0; - *(s32 *)((char *)a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -6730,16 +6730,16 @@ extern void func_801848B8(s32 a0, s32 a1, s32 a2, s32 a3); void func_80183B90(void *arg0) { s32 v0; - *(short *)((char *)arg0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 5; func_8012E8E0((s32)arg0, (s32)&D_801A1164); func_8012E88C((s32)arg0); ((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801DA908); v0 = (s32)&D_801A10E4 | 0x40000000; - *(s32 *)((char *)arg0 + 0x58) = v0; - *(short *)((char *)arg0 + 0x34) = 0; - *(short *)((char *)arg0 + 0x5C) = 0x800; - *(s32 *)((char *)arg0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; func_801848B8((s32)arg0, (s32)&D_801DAC58, 0x1, 0x60); ((void (*)(s32))func_8012B030)((s32)arg0); @@ -6762,16 +6762,16 @@ void *arg0; s32 v0; extern s32 D_801A10B0; - *(short *)((char *)arg0 + 0x2) = 6; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 6; func_8012E8E0((s32)arg0, (s32)&D_801A10B0); func_8012E88C((s32)arg0); ((void (*)(s32, s32))func_8012A828)((s32)arg0, (s32)&D_801DA908); v0 = (s32)&D_801A10E4 | 0x40000000; - *(s32 *)((char *)arg0 + 0x58) = v0; - *(short *)((char *)arg0 + 0x5C) = 0x800; - *(short *)((char *)arg0 + 0x34) = 0; - *(s32 *)((char *)arg0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk58 = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0; func_801848B8((s32)arg0, (s32)&D_801DAC58, 0, 0x60); } @@ -6827,28 +6827,28 @@ void func_80183CB8(void *a0) { return; } - *(s16 *)(*(s32 *)((char *)a0 + 0x68) + 0xC) = 0x7FFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk68 + 0xC) = 0x7FFF; s1 = (s32)&D_801A10D4 | 0x40000000; - *(s32 *)((char *)a0 + 0x58) = s1; - *(s16 *)((char *)a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = s1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; if (((s32 (*)(s32, s32))func_80184590)(9, 0x12) != 0) { - *(s16 *)((char *)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801DA3C0); func_8012E88C((s32)a0); func_8012E8E0((s32)a0, (s32)&D_801A10B0); - *(s32 *)((char *)a0 + 0x58) = s1; - *(s16 *)((char *)a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = s1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; } else { - *(s16 *)((char *)a0 + 0x2) = 1; - *(s16 *)((char *)a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012E8A8((u8 *)a0); func_8012E8E0((s32)a0, (s32)&D_801A10B0); - *(s32 *)((char *)a0 + 0x58) = s1; - *(s16 *)((char *)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = s1; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; } - *(s32 *)((char *)a0 + 0xD4) = func_801788B8((s32)a0, (s32)func_80183F28); + ((Unkstruct_800B5CB8 *)a0)->unkD4 = func_801788B8((s32)a0, (s32)func_80183F28); } @@ -6856,7 +6856,7 @@ void func_80183CB8(void *a0) { extern void (*D_801A116C[])(void); void func_80183DF0(void *a0) { - D_801A116C[*(u16 *)((s32)a0 + 0x2)](); + D_801A116C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6902,7 +6902,7 @@ void func_80183EC8(void *arg0) { LATER function in this TU, which blocks a byte-true decl of a different type. Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */ extern s32 D_801DAC10; - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_8012E8E0((s32)arg0, (s32)&D_801A10B0); func_8012E88C((s32)arg0); ((void (*)(s32 *, s32))func_8012A828)((s32 *)arg0, (s32)&D_801DAC10); @@ -6987,12 +6987,12 @@ void func_8018401C(void *a0) { if (func_80178970() != 0) { ((void (*)(s32))func_80178D18)((s32)a0); - *(short *)((char *)a0 + 0x2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801DA3C0); func_8012E88C((s32)a0); func_8012E8E0((s32)a0, (s32)&D_801A10B0); - *(s32 *)((char *)a0 + 0x58) = (s32)&D_801A10D4 | 0x40000000; - *(short *)((char *)a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A10D4 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; } } @@ -7006,12 +7006,12 @@ void func_801840A0(void *a0) extern s32 D_801A10D4; if (func_80184988(a0) != 0) { - *(s16 *)((s32)a0 + 2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; ((void (*)(s32, s32))func_8012A828)((s32)a0, (s32)&D_801DA3C0); func_8012E88C((s32)a0); func_8012E8E0((s32)a0, (s32)&D_801A10B0); - *(s32 *)((s32)a0 + 0x58) = (s32)&D_801A10D4 | 0x40000000; - *(s16 *)((s32)a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A10D4 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; } } @@ -7022,12 +7022,12 @@ void func_80184118(void *a0) { extern s32 D_801A10B0; if (func_80184988(a0) != 0) { - *(short *)((char *)a0 + 0x2) = 1; - *(short *)((char *)a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; func_8012E8A8((u8 *)a0); func_8012E8E0((s32)a0, (s32)&D_801A10B0); - *(s32 *)((char *)a0 + 0x58) = (s32)&D_801A10D4 | 0x40000000; - *(short *)((char *)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_801A10D4 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; } } @@ -7058,10 +7058,10 @@ s32 func_801841A0(void *a0, void *a1) { if (a1 == 0) { a1 = (void *)&D_801E00B4; } - *(void **)((char *)a0 + 0xD0) = a1; + CAST_SIGN(void *, (char *)a0, 0xD0) = a1; if (*(s32 *)a1 != 0) { v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((char *)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return 0; @@ -7072,7 +7072,7 @@ s32 func_801841A0(void *a0, void *a1) { if (val == -1) { return 1; } - *(s32 *)((char *)a0 + 0xCC) = func_8012E57C(0x61, val); + ((Unkstruct_800B5CB8 *)a0)->unkCC = func_8012E57C(0x61, val); return 1; } @@ -7309,7 +7309,7 @@ extern short D_800BA2BA; extern void (*D_801E022C[])(void); void func_80184510(void *a0) { - D_801E022C[*(u16 *)((s32)a0 + 0x2)](); + D_801E022C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7400,8 +7400,8 @@ void func_80184674(s32 a0) { extern s32 D_801E0234; - *(s32 *)(a0 + 0x58) = (u32)&D_801E0234 | 0x40000000; - *(s16 *)(a0 + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (u32)&D_801E0234 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; } @@ -7419,8 +7419,8 @@ extern void func_8012E8E0(s32 a0, s32 a1); void func_8018469C(s32 *a0, s32 a1) { func_8012E8A8((u8 *)a0); - *(s16 *)((s32)a0 + 0x98) = 0; - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8012E8E0((s32)a0, a1); } @@ -7521,25 +7521,25 @@ void func_801848B8(s32 a0, s32 a1, s32 a2, s32 a3) { s32 result; s32 *v1; - *(u8*)(a0 + 0x108) = a2; + CAST_WIDTH(u8, a0, 0x108) = a2; a2 = a2 & 0xFF; - *(s32*)(a0 + 0xE8) = a1; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = a1; *(u8*)(a0 + 0x109) = a3; idx = *(s16*)a1; if (a2 == 0) { - *(u16*)(a0 + 0x106) = 2; - *(u16*)(a0 + 0x6) = *(u16*)(a1 + 4); - *(u16*)(a0 + 0xE) = *(u16*)(a1 + 6); - vals[0] = *(u16*)(a1 + 8); - vals[2] = *(u16*)(a1 + 10); + ((Unkstruct_800B5CB8 *)a0)->unk106 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk6 = CAST_SIGN(u16, a1, 4); + ((Unkstruct_800B5CB8 *)a0)->unkE = ((Unkstruct_800B5CB8 *)a1)->unk6; + vals[0] = ((Unkstruct_800B5CB8 *)a1)->unk8; + vals[2] = ((Unkstruct_800B5CB8 *)a1)->unkA; } else { base = idx; base = base * 4 + a1; - *(u16*)(a0 + 0x106) = (u16)(idx - 1); - *(u16*)(a0 + 0x6) = *(u16*)(base); - *(u16*)(a0 + 0xE) = *(u16*)(base + 2); + ((Unkstruct_800B5CB8 *)a0)->unk106 = (u16)(idx - 1); + ((Unkstruct_800B5CB8 *)a0)->unk6 = *(u16*)(base); + ((Unkstruct_800B5CB8 *)a0)->unkE = *(u16*)(base + 2); vals[0] = *(u16*)(base - 4); vals[2] = *(u16*)(base - 2); } @@ -7547,7 +7547,7 @@ void func_801848B8(s32 a0, s32 a1, s32 a2, s32 a3) { result = func_8012B744((void*)(a0 + 4), vals); v1 = (s32*)(a0 + 0x20); - *(u16*)(*v1 + 0x12) = (u16)result; + CAST_NONSTRUCT(u16, *v1, 0x12) = (u16)result; func_8012B200((u8*)a0); } @@ -7584,50 +7584,50 @@ s32 func_80184988(s32 a0) { return 0; } - if (*(u8 *)(a0 + 0x108) == 0) { - if (*(s16 *)(*(s32 *)(a0 + 0xE8)) < *(s16 *)(a0 + 0x106)) { + if (CAST_WIDTH(u8, a0, 0x108) == 0) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unkE8) < ((Unkstruct_800B5CB8 *)a0)->unk106) { return 1; } - } else if (*(s16 *)(a0 + 0x106) <= 0) { + } else if (((Unkstruct_800B5CB8 *)a0)->unk106 <= 0) { return 1; } - vals[0] = *(u16 *)(*(s16 *)(a0 + 0x106) * 4 + *(s32 *)(a0 + 0xE8)); - vals[2] = *(u16 *)(*(s16 *)(a0 + 0x106) * 4 + *(s32 *)(a0 + 0xE8) + 2); + vals[0] = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk106 * 4 + ((Unkstruct_800B5CB8 *)a0)->unkE8); + vals[2] = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk106 * 4 + ((Unkstruct_800B5CB8 *)a0)->unkE8 + 2); sh = *(u8 *)(a0 + 0x109); sh = sh << 12; if (((s32 (*)(void))func_8014B12C)() != 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = func_8012B744((void *)(a0 + 4), vals); sh = sh << 3; } else { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), vals), 4); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; } func_8012B178(a0, -sh); func_8012AD80(a0); - *(u16 *)(a0 + 0xA) -= 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkA -= 0x10; func_8012B030((u8 *)a0); if (((s32 (*)(void))func_8014B12C)() != 0) { if (func_8012BE98(a0, vals) < 0x1001) { - if (*(u8 *)(a0 + 0x108) == 0) { - *(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x106) + 1; + if (CAST_WIDTH(u8, a0, 0x108) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk106 = CAST_SIGN(u16, a0, 0x106) + 1; } else { - *(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x106) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk106 = CAST_SIGN(u16, a0, 0x106) - 1; } } } else { if (func_8012BE98(a0, vals) < 0x101) { - if (*(u8 *)(a0 + 0x108) == 0) { - *(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x106) + 1; + if (CAST_WIDTH(u8, a0, 0x108) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk106 = CAST_SIGN(u16, a0, 0x106) + 1; } else { - *(u16 *)(a0 + 0x106) = *(u16 *)(a0 + 0x106) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk106 = CAST_SIGN(u16, a0, 0x106) - 1; } } } @@ -7654,7 +7654,7 @@ s32 func_80184B50(s32 a0) { extern void (*D_801E024C[])(void); void func_80184B98(void *a0) { - D_801E024C[*(u16 *)((s32)a0 + 0x2)](); + D_801E024C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7710,20 +7710,20 @@ void func_80184C48(s32 a0) { s32 result; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C214(v0, (s32)D_801D2DB8); - func_8001D0E8(*(s32 *)(a0 + 0x20), 0x7FFF, 0x7FFF); + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0x7FFF, 0x7FFF); - result = *(s32 *)(a0 + 0x20); - *(s32 *)(result + 0x4) |= 0x40; + result = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, result, 0x4) |= 0x40; func_8012E8E0(a0, (s32)D_801E0244); - *(s16 *)(a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } @@ -7738,55 +7738,55 @@ void func_80184CD0(s32 a0) { extern void (*D_801E0524[])(s32); u32 st; - if (*(s16 *)(a0 + 0x10A) > 0) { - *(s16 *)(a0 + 0x10A) = *(s16 *)(a0 + 0x10A) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk10A > 0) { + ((Unkstruct_800B5CB8 *)a0)->unk10A = ((Unkstruct_800B5CB8 *)a0)->unk10A - 1; } - if (*(s16 *)(a0 + 0x108) != 0) { - *(s32 *)(a0 + 0xB0) = *(s16 *)(a0 + 0x108); - *(s16 *)(a0 + 0x108) = 0; + if (CAST_SIGN(s16, a0, 0x108) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkB0 = CAST_SIGN(s16, a0, 0x108); + ((Unkstruct_800B5CB8 *)a0)->unk108 = 0; } - st = *(u32 *)(a0 + 0xB0); + st = CAST_SIGN(u32, a0, 0xB0); switch (st) { case 1: - if (*(u16 *)(a0 + 0x2) != 2 || *(u16 *)(a0 + 0x34) == 0) { + if (CAST_SIGN(u16, a0, 0x2) != 2 || ((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (*(s16 *)(a0 + 0xEA) != st) { *(s16 *)(a0 + 0xEA) = st; - if (*(s16 *)(a0 + 0xE8) != 0) { + if (CAST_WIDTH(s16, a0, 0xE8) != 0) { func_8018535C(a0); } else { func_801852E8(a0); } - *(s16 *)(a0 + 0xE8) = 1; + CAST_WIDTH(s16, a0, 0xE8) = 1; } } break; case 2: - if (*(u16 *)(a0 + 0x2) != 2 || *(u16 *)(a0 + 0x34) == 0) { + if (CAST_SIGN(u16, a0, 0x2) != 2 || ((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (*(s16 *)(a0 + 0xEA) != st) { *(s16 *)(a0 + 0xEA) = st; - if (*(s16 *)(a0 + 0xE8) != 0) { + if (CAST_WIDTH(s16, a0, 0xE8) != 0) { func_801853BC(a0); } else { func_80185280(a0); } - *(s16 *)(a0 + 0xE8) = 1; + CAST_WIDTH(s16, a0, 0xE8) = 1; } } break; case 3: - if (*(u16 *)(a0 + 0x2) != 2 || *(u16 *)(a0 + 0x34) == 0) { + if (CAST_SIGN(u16, a0, 0x2) != 2 || ((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { func_801852E8(a0); } break; case 4: - if (*(u16 *)(a0 + 0x2) != 2 || *(u16 *)(a0 + 0x34) == 0) { + if (CAST_SIGN(u16, a0, 0x2) != 2 || ((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { func_80185280(a0); } break; } - D_801E0524[*(u16 *)(a0 + 0x2)](a0); + D_801E0524[CAST_SIGN(u16, a0, 0x2)](a0); } @@ -7888,27 +7888,27 @@ void func_801850C4(s32 a0) { } s0 = a0; - v0 = *(u16 *)(s0 + 0x84); + v0 = CAST_SIGN(u16, s0, 0x84); v0 = v0 + 1; - *(u16 *)(s0 + 0x84) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk84 = v0; if ((s16)v0 == 8) { func_8012E688(s0, 0x514, 0); } - v0 = *(u16 *)(s0 + 0x100); - v1 = *(u16 *)(s0 + 0x102); + v0 = CAST_SIGN(u16, s0, 0x100); + v1 = CAST_SIGN(u16, s0, 0x102); v0 = v0 + v1; - *(u16 *)(s0 + 0x100) = v0; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0; if ((s16)v0 >= 0x50) { - *(u16 *)(s0 + 0x100) = 0x50; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0x50; } - v0 = *(u16 *)(s0 + 0xFE); - v1 = *(u16 *)(s0 + 0x100); + v0 = CAST_SIGN(u16, s0, 0xFE); + v1 = CAST_SIGN(u16, s0, 0x100); v0 = v0 + v1; - *(u16 *)(s0 + 0xFE) = v0; + ((Unkstruct_800B5CB8 *)s0)->unkFE = v0; if ((s16)v0 >= 0x600) { func_801852E8(s0); @@ -7935,18 +7935,18 @@ void func_801851B0(s32 a0) { if (func_80184B50(a0) == 2) { func_80185280(a0); } - if (*(u16 *)(a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { if (func_8012BEE8(a0) == 0) { return; } - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } - *(u16 *)(a0 + 0x100) = *(u16 *)(a0 + 0x100) + *(u16 *)(a0 + 0x102); - if (*(s16 *)(a0 + 0x100) >= 0x50) { - *(u16 *)(a0 + 0x100) = 0x50; + ((Unkstruct_800B5CB8 *)a0)->unk100 = CAST_SIGN(u16, a0, 0x100) + CAST_SIGN(u16, a0, 0x102); + if (((Unkstruct_800B5CB8 *)a0)->unk100 >= 0x50) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x50; } - *(u16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - *(u16 *)(a0 + 0x100); - if (*(s16 *)(a0 + 0xFE) <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - CAST_SIGN(u16, a0, 0x100); + if (((Unkstruct_800B5CB8 *)a0)->unkFE <= 0) { func_8012E688(a0, 0x515, 0); func_80185280(a0); } else { @@ -8000,15 +8000,15 @@ void func_8018535C(s32 a0) { extern s16 D_801E0294[]; extern s32 D_801E0254[][2]; - *(s16 *)(a0 + 0x2) = 3; - *(s16 *)(a0 + 0x34) = 0; - *(s16 *)(a0 + 0xFE) = 0; - *(s16 *)(a0 + 0x100) = 0; - *(s16 *)(a0 + 0x102) = 2; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x24) = D_801E0254[D_801E0294[*(s16 *)(a0 + 0x70)]][0]; - *(s16 *)(a0 + 0x84) = 0; - *(s16 *)(a0 + 0x5C) = 0x800; - *(s32 *)(a0 + 0xB0) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk102 = 2; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x24) = D_801E0254[D_801E0294[((Unkstruct_800B5CB8 *)a0)->unk70]][0]; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unkB0 = 0; } @@ -8044,8 +8044,8 @@ void func_8018543C(s32 a0, s32 a1) if (p != end) { do { - if (*(u16 *)p == 0x61 && *(s16 *)(p + 0x70) == a0) { - *(s32 *)(p + 0xB0) = a1; + if (((Unkstruct_800B5CB8 *)p)->unk0 == 0x61 && ((Unkstruct_800B5CB8 *)p)->unk70 == a0) { + ((Unkstruct_800B5CB8 *)p)->unkB0 = a1; return; } p += 0x10C; @@ -8061,8 +8061,8 @@ extern void func_80185A10(s32 a0, s32 a1); void func_80185494(s32 a0) { s32 v0 = func_8012E57C(0x61, (s16)a0); if (v0 != 0) { - if (*(u16 *)((char *)v0 + 0x2) == 2) { - *(s32 *)((char *)v0 + 0xB0) = 1; + if (CAST_SIGN(u16, (char *)v0, 0x2) == 2) { + ((Unkstruct_800B5CB8 *)v0)->unkB0 = 1; } func_80185A10(a0, 0x3C); } @@ -8080,8 +8080,8 @@ void func_801854F4(s32 a0) { if (p == 0) { return; } - if (*(u16 *)((char *)p + 0x2) == 0x4) { - *(s32 *)((char *)p + 0xB0) = 0x2; + if (CAST_SIGN(u16, (char *)p, 0x2) == 0x4) { + ((Unkstruct_800B5CB8 *)p)->unkB0 = 0x2; } } @@ -8096,7 +8096,7 @@ void func_8018553C(s32 a0) { v1 = func_8012E57C(0x61, (s32)(s16)a0); if (v1 != 0) { - *(s16 *)((char *)v1 + 0x108) = 1; + ((Unkstruct_800B5CB8 *)v1)->unk108 = 1; func_80185A10(a0, 0x3C); } } @@ -8113,7 +8113,7 @@ void func_8018558C(s32 a0) { shift_temp = ((a0 << 16) >> 16); v1 = func_8012E57C(0x61, shift_temp); if (v1 != 0) { - *(s16 *)((char *)v1 + 0x108) = 2; + ((Unkstruct_800B5CB8 *)v1)->unk108 = 2; } } @@ -8126,16 +8126,16 @@ s32 func_801855C4(s32 a0) { if (p == 0) { return 1; } - switch (*(u16 *)((char *)p + 2)) { + switch (CAST_SIGN(u16, (char *)p, 2)) { case 1: case 2: - *(s16 *)((char *)p + 0x108) = 1; + ((Unkstruct_800B5CB8 *)p)->unk108 = 1; return 0; case 3: - *(s16 *)((char *)p + 0x108) = 1; + ((Unkstruct_800B5CB8 *)p)->unk108 = 1; return 0; case 4: - *(s16 *)((char *)p + 0x108) = 1; + ((Unkstruct_800B5CB8 *)p)->unk108 = 1; return 1; } } diff --git a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c index 8297ea7fb6..0380dfe661 100644 --- a/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c +++ b/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c @@ -2623,34 +2623,34 @@ void func_8017AE2C(s32 param_1) { case 1: g[1] = (u16)g[1] - 1; if (g[1] <= 0) { - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = (u16)g[2]; + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = (u16)g[2]; goto reset_both; } { - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), g[2], 6); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), g[2], 6); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } return; case 2: func_8012B178(pv, (s32)g[4] << 8); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); break; case 3: if (g[1] != 0) { if (g[5] != 0) { void *p = (void *)(pv + 4); - if ((s16)func_80012A60(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), + if ((s16)func_80012A60(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), (s16)func_8012B744(p, &g[6])) < 0x100) { g[1] = 0; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744(p, &D_801B20B4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* &D_801B20A8+0xC == &D_801B20B4; distinct rtx defeats gcc's address-CSE so BE98's arg rematerializes instead of sharing the store's reg (byte-gate). */ @@ -2661,9 +2661,9 @@ void func_8017AE2C(s32 param_1) { } { s32 t = func_8012B744((void *)(pv + 4), &g[6]); - s32 r = func_8012B608(*(s16 *)(*(s32 *)(pv + 0x20) + 0x12), t, g[3]); - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(pv + 0x20) + 0x12) + r; + s32 r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)pv)->unk20 + 0x12), t, g[3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 + r; } g[1] = (u16)g[1] - 1; if (g[1] > 0) { @@ -2672,11 +2672,11 @@ void func_8017AE2C(s32 param_1) { g[1] = 0; return; } - *(s16 *)(*(s32 *)(pv + 0x20) + 0x12) = + ((Unkstruct_800B5CB8 *)*(s32 *)(pv + 0x20))->unk12 = func_8012B744((void *)(pv + 4), &D_801B20B4); func_8012B178(pv, 0xFFFA0000); func_8012AD80(pv); - *(u16 *)(pv + 0xA) -= 8; + ((Unkstruct_800B5CB8 *)pv)->unkA -= 8; func_8012B030((u8 *)pv); /* see note above: distinct rtx for the same address defeats address-CSE. */ if (func_8012BE98(pv, (u16 *)((s32)&D_801B20A8 + 0xC)) < 0x101) { @@ -3367,7 +3367,7 @@ void func_8017C03C(void *a0) { extern void (*D_8018BD40[])(void); void func_8017C0C8(void *a0) { - D_8018BD40[*(u16 *)((s32)a0 + 0x2)](); + D_8018BD40[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3513,7 +3513,7 @@ void func_8017C290(int a, s16 *b, SVECTOR_8017E72C *c, SVECTOR_8017E72C *d, extern void (*D_8018BD80[])(void); void func_8017C664(void *a0) { - D_8018BD80[*(u16 *)((s32)a0 + 0x2)](); + D_8018BD80[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3586,23 +3586,23 @@ void func_8017C6A0(void *a0) { u8 mat[0x20]; u16 vecOut[4]; - s0 = *(s32 *)(a0 + 0x34); + s0 = ((Unkstruct_80126B58 *)a0)->unk34; s3 = ((void *(*)(void))func_801465C0)(); - *(void **)(a0 + 0x20) = s3; + CAST_SIGN(void *, a0, 0x20) = s3; if (s3 != NULL) { s1 = (s32)a0 + 4; func_80149374(s0, s1); - *(s16 *)(s3 + 0x10) = func_8012A68C(); - *(s16 *)(s3 + 0x12) = func_8012A758(); + ((Unkstruct_800B5CB8 *)s3)->unk10 = func_8012A68C(); + ((Unkstruct_800B5CB8 *)s3)->unk12 = func_8012A758(); func_8004978C((s16 *)(s3 + 0x10), mat); ApplyMatrixSV(mat, D_8018BD98, vecOut); - *(u16 *)(a0 + 0x6) = *(u16 *)(a0 + 0x6) + vecOut[0]; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) + vecOut[1]; - *(u16 *)(a0 + 0xE) = *(u16 *)(a0 + 0xE) + vecOut[2]; + ((Unkstruct_80126B58 *)a0)->unk6 = CAST_SIGN(u16, a0, 0x6) + vecOut[0]; + ((Unkstruct_80126B58 *)a0)->unkA = CAST_SIGN(u16, a0, 0xA) + vecOut[1]; + ((Unkstruct_80126B58 *)a0)->unkE = CAST_SIGN(u16, a0, 0xE) + vecOut[2]; func_80015978(s1, (s32 *)vecOut); func_8012EF70((s32)vecOut, (s32)vecOut); @@ -3610,18 +3610,18 @@ void func_8017C6A0(void *a0) { func_8001CB00((s32)s3, D_8018BD74, 0x280, 0x100); - *(u8 *)(s3 + 0x27) = 0x80; + ((Unkstruct_800B5CB8 *)s3)->unk27 = 0x80; - *(s16 *)(s3 + 0x2C) = *(u16 *)(a0 + 0xE); - *(s16 *)(s3 + 0x1A) = 0; - *(s16 *)(s3 + 0x18) = 0; + ((Unkstruct_800B5CB8 *)s3)->unk2C = CAST_SIGN(u16, a0, 0xE); + ((Unkstruct_800B5CB8 *)s3)->unk1A = 0; + ((Unkstruct_800B5CB8 *)s3)->unk18 = 0; - *(s32 *)(a0 + 0x10) = 0; - func_8017CE10(a0, *(s32 *)(a0 + 0x2C), 0x8F); + ((Unkstruct_80126B58 *)a0)->unk10 = 0; + func_8017CE10(a0, ((Unkstruct_80126B58 *)a0)->unk2C, 0x8F); - func_80147324(D_8018BCDC[*(s32 *)(a0 + 0x2C)][0]); + func_80147324(D_8018BCDC[((Unkstruct_80126B58 *)a0)->unk2C][0]); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_80126B58 *)a0)->unk2 = ((Unkstruct_80126B58 *)a0)->unk2 + 1; } else { ((void (*)(s32))func_80146C3C)((s32)a0); } @@ -3647,29 +3647,29 @@ void func_8017C8FC(void *a0) { extern u16 D_8018BCF0[][2]; s32 *s2; - s2 = *(s32 **)((s32)a0 + 0x20); + s2 = CAST_SIGN(s32 *, (s32)a0, 0x20); - if (*(s32 *)((s32)a0 + 0x1C) < 0x100) { - if ((*(s32 *)((s32)a0 + 0x1C) & 0xF) == 0) { - func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0xF); - if ((*(s32 *)((s32)a0 + 0x1C) & 0xF) == 0) { - s32 flags = *(s32 *)((s32)a0 + 0x1C) << 15; - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 1); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 2); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 3); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 4); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 5); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 6); - func_8017D098(a0, *(s32 *)((s32)a0 + 0x2C), flags | 7); + if (((Unkstruct_80126B58 *)a0)->unk1C < 0x100) { + if ((((Unkstruct_80126B58 *)a0)->unk1C & 0xF) == 0) { + func_8017CE10(a0, ((Unkstruct_80126B58 *)a0)->unk2C, 0xF); + if ((((Unkstruct_80126B58 *)a0)->unk1C & 0xF) == 0) { + s32 flags = ((Unkstruct_80126B58 *)a0)->unk1C << 15; + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 1); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 2); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 3); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 4); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 5); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 6); + func_8017D098(a0, ((Unkstruct_80126B58 *)a0)->unk2C, flags | 7); } } - if (*(s32 *)((s32)a0 + 0x1C) & 1) { + if (((Unkstruct_80126B58 *)a0)->unk1C & 1) { s2[1] |= 0x80000000; } else { s2[1] &= 0x7FFFFFFF; } - *(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1; + ((Unkstruct_80126B58 *)a0)->unk1C = ((Unkstruct_80126B58 *)a0)->unk1C + 1; } else { u8 *p = (u8 *)&D_8011D030; s32 idx; @@ -3684,75 +3684,75 @@ void func_8017C8FC(void *a0) { } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0x1C7); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0x38E); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0x555); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0x71C); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0x8E3); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0xAAA); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0xC71); } { - s32 t3 = *(s32 *)((s32)a0 + 0x2C); - s16 t0 = *(s16 *)((s32)a0 + 0x6); - s16 t1 = *(s16 *)((s32)a0 + 0xA); - s16 t2 = *(s16 *)((s32)a0 + 0xE); + s32 t3 = ((Unkstruct_80126B58 *)a0)->unk2C; + s16 t0 = ((Unkstruct_80126B58 *)a0)->unk6; + s16 t1 = ((Unkstruct_80126B58 *)a0)->unkA; + s16 t2 = ((Unkstruct_80126B58 *)a0)->unkE; func_80146A6C(0x2B, a0, t0, t1, t2, t3, 0xE38); } func_80146E90((s32 *)a0, 0x20); - idx = *(s32 *)((s32)a0 + 0x2C); + idx = ((Unkstruct_80126B58 *)a0)->unk2C; func_80147324(D_8018BCF0[idx][0]); - *(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1; + ((Unkstruct_80126B58 *)a0)->unk2 = ((Unkstruct_80126B58 *)a0)->unk2 + 1; } } @@ -3774,34 +3774,34 @@ void func_8017CD10(void *a0) { s32 *s2; s16 v0; - s2 = *(s32 **)((s32)a0 + 0x20); + s2 = CAST_SIGN(s32 *, (s32)a0, 0x20); - if (*(s32 *)((s32)a0 + 0x1C) & 1) { + if (((Unkstruct_80126B58 *)a0)->unk1C & 1) { s2[1] |= 0x80000000; } else { s2[1] &= 0x7FFFFFFF; } - v0 = (*(u16 *)((s32)s2 + 0x12) + 0x80) & 0xFFF; - *(u16 *)((s32)s2 + 0x12) = v0; + v0 = (((Unkstruct_800B5CB8 *)s2)->unk12 + 0x80) & 0xFFF; + ((Unkstruct_800B5CB8 *)s2)->unk12 = v0; if (v0 == 0 || v0 == 0x800) { - if (*(s16 *)((s32)a0 + 0x24) != 0) { - *(s16 *)((s32)a0 + 0x24) = *(s16 *)((s32)a0 + 0x24) - 1; + if (((Unkstruct_80126B58 *)a0)->unk24 != 0) { + ((Unkstruct_80126B58 *)a0)->unk24 = ((Unkstruct_80126B58 *)a0)->unk24 - 1; } } - v0 = *(u16 *)((s32)s2 + 0x1A) - 0x40; - *(u16 *)((s32)s2 + 0x1A) = v0; - *(u16 *)((s32)s2 + 0x18) = v0; + v0 = ((Unkstruct_800B5CB8 *)s2)->unk1A - 0x40; + ((Unkstruct_800B5CB8 *)s2)->unk1A = v0; + ((Unkstruct_800B5CB8 *)s2)->unk18 = v0; if (v0 < 0) { - func_8017CE10(a0, *(s32 *)((s32)a0 + 0x2C), 0x8F); - func_80147324(D_8018BD04[*(s32 *)((s32)a0 + 0x2C)][0]); + func_8017CE10(a0, ((Unkstruct_80126B58 *)a0)->unk2C, 0x8F); + func_80147324(D_8018BD04[((Unkstruct_80126B58 *)a0)->unk2C][0]); ((void (*)(s32))func_80146C3C)((s32)a0); } - *(s32 *)((s32)a0 + 0x1C) = *(s32 *)((s32)a0 + 0x1C) + 1; + ((Unkstruct_80126B58 *)a0)->unk1C = ((Unkstruct_80126B58 *)a0)->unk1C + 1; } @@ -3812,7 +3812,7 @@ void func_8017CD10(void *a0) { extern void (*D_8018BDA0[])(void); void func_8017CE54(void *a0) { - D_8018BDA0[*(u16 *)((s32)a0 + 0x2)](); + D_8018BDA0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3941,7 +3941,7 @@ void func_8017CFBC(void *a0) extern void (*D_8018BDB0[])(void); void func_8017D0DC(void *a0) { - D_8018BDB0[*(u16 *)((s32)a0 + 0x2)](); + D_8018BDB0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3970,27 +3970,27 @@ void func_8017D1E0(void *a0) SVECTOR_8017C290 vec1; SVECTOR_8017C290 vec2; - n = *(s16 *)((s32)a0 + 0x28); + n = CAST_WIDTH(s16, (s32)a0, 0x28); if (n != 0) { n = n - 1; - *(s16 *)((s32)a0 + 0x28) = n; + CAST_WIDTH(s16, (s32)a0, 0x28) = n; if (n == 0) { - func_80147324(D_8018BD18[*(s32 *)((s32)a0 + 0x2C)][0]); + func_80147324(D_8018BD18[((Unkstruct_80126B58 *)a0)->unk2C][0]); } } - tmp = *(s32 *)((s32)a0 + 0x30) + 0x6000; + tmp = ((Unkstruct_80126B58 *)a0)->unk30 + 0x6000; t = tmp; - *(s32 *)((s32)a0 + 0x14) += tmp; + ((Unkstruct_80126B58 *)a0)->unk14 += tmp; - v = *(u16 *)((s32)a0 + 0x10) - *(u16 *)((s32)a0 + 0x16); - *(s16 *)((s32)a0 + 0x10) = v; + v = CAST_WIDTH(u16, (s32)a0, 0x10) - *(u16 *)((s32)a0 + 0x16); + CAST_WIDTH(s16, (s32)a0, 0x10) = v; if (v < 0) { - *(s16 *)((s32)a0 + 0x10) = 0; + CAST_WIDTH(s16, (s32)a0, 0x10) = 0; } if (func_80146E98((s32)a0)) { - *(s32 *)((s32)a0 + 0x18) += t; + ((Unkstruct_80126B58 *)a0)->unk18 += t; v = *(u16 *)((s32)a0 + 0x12) - *(u16 *)((s32)a0 + 0x1A); *(s16 *)((s32)a0 + 0x12) = v; @@ -4000,14 +4000,14 @@ void func_8017D1E0(void *a0) } vec1.vx = 0; - vec1.vy = *(u16 *)((s32)a0 + 0x10); + vec1.vy = CAST_WIDTH(u16, (s32)a0, 0x10); vec1.vz = 1; vec2.vx = 0; vec2.vy = *(u16 *)((s32)a0 + 0x12); vec2.vz = 1; - func_8017D318((int)a0, &vec1, &vec2, *(s16 *)((s32)a0 + 0x24)); + func_8017D318((int)a0, &vec1, &vec2, ((Unkstruct_80126B58 *)a0)->unk24); - if (*(s32 *)((s32)a0 + 0x10) == 0) { + if (((Unkstruct_80126B58 *)a0)->unk10 == 0) { ((void (*)(s32))func_80146C3C)((s32)a0); } } @@ -4095,7 +4095,7 @@ void func_8017D318(int a0, SVECTOR_8017C290 *a1, SVECTOR_8017C290 *a2, s32 a3) extern void (*D_8018BDBC[])(void); void func_8017D63C(void *a0) { - D_8018BDBC[*(u16 *)((s32)a0 + 0x2)](); + D_8018BDBC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4149,7 +4149,7 @@ void func_8017D678(void *a0) s32 pad[10]; s1 = ((void *(*)(void))func_801465C0)(); - *(void **)((u8 *)a0 + 0x20) = s1; + CAST_SIGN(void *, (u8 *)a0, 0x20) = s1; if (s1 != NULL) { s0 = &D_801AE668; @@ -4160,7 +4160,7 @@ void func_8017D678(void *a0) *(s16 *)((u8 *)s1 + 0x1A) = 0; *(s16 *)((u8 *)s1 + 0x18) = 0; - *(s32 *)((u8 *)a0 + 0x10) = 0x80; + ((Unkstruct_80126B58 *)a0)->unk10 = 0x80; *(s16 *)((u8 *)s1 + 0x2C) = 0x10; *(u8 *)s0 = 0xFF; @@ -4171,7 +4171,7 @@ void func_8017D678(void *a0) D_801AE66E = 0; func_80146E90((s32 *)a0, 0xC0); - *(u16 *)((u8 *)a0 + 0x2) = *(u16 *)((u8 *)a0 + 0x2) + 1; + ((Unkstruct_80126B58 *)a0)->unk2 = ((Unkstruct_80126B58 *)a0)->unk2 + 1; } else { ((void (*)(void *))func_80146C3C)(a0); } @@ -4190,11 +4190,11 @@ void func_8017D75C(s32 param) { s32 v1; s32 *s1; - a0 = *(s32 *)(param + 0x1C) & 0x3F; - s1 = (s32 *)(*(s32 *)(param + 0x20)); + a0 = ((Unkstruct_80126B58 *)param)->unk1C & 0x3F; + s1 = (s32 *)(((Unkstruct_80126B58 *)param)->unk20); v0 = func_8004787C(a0 << 6); - v1 = *(s32 *)(param + 0x10); + v1 = ((Unkstruct_80126B58 *)param)->unk10; if (v0 < 0) { v0 += 0x7F; } @@ -4209,12 +4209,12 @@ void func_8017D75C(s32 param) { if (v0 != 0) { ((void (*)(s32, s32))func_80146E90)(param, 0x40); - v0 = *(s32 *)(param + 0x2C); + v0 = ((Unkstruct_80126B58 *)param)->unk2C; v0 = D_8018BD2C[v0 << 1]; func_80147324(v0); - v0 = *(u16 *)(param + 0x2); - *(s16 *)(param + 0x2) = v0 + 1; + v0 = ((Unkstruct_80126B58 *)param)->unk2; + ((Unkstruct_80126B58 *)param)->unk2 = v0 + 1; } } @@ -4455,7 +4455,7 @@ extern s16 D_8011F9C8; extern void (*D_8018BF84[])(void); void func_8017DF84(void *a0) { - D_8018BF84[*(u16 *)((s32)a0 + 0x2)](); + D_8018BF84[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4552,7 +4552,7 @@ void func_8017E184(u8 *p) { extern void (*D_8018BF8C[])(void); void func_8017E218(void *a0) { - D_8018BF8C[*(u16 *)((s32)a0 + 0x2)](); + D_8018BF8C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5607,7 +5607,7 @@ void func_8017FE8C(void *a0) { extern void (*D_8018BFC0[])(void); void func_8017FEC8(void *a0) { - D_8018BFC0[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFC0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5863,7 +5863,7 @@ void func_801801E8(int param_1) extern void (*D_8018BFD4[])(void); void func_801804F4(void *a0) { - D_8018BFD4[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFD4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5999,7 +5999,7 @@ void func_80180740(void *a0) extern void (*D_8018BFE8[])(void); void func_80180794(void *a0) { - D_8018BFE8[*(u16 *)((s32)a0 + 0x2)](); + D_8018BFE8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6550,14 +6550,14 @@ void func_801812BC(void *a0) s32 d; s16 acc; - d = func_8001311C(*(s16 *)((s32)a0 + 6), D_8018C0D0, 10); - *(u16 *)((s32)a0 + 6) = *(u16 *)((s32)a0 + 6) + d; + d = func_8001311C(((Unkstruct_80126B58 *)a0)->unk6, D_8018C0D0, 10); + CAST_ALIAS(u16, (s32)a0, 6) = CAST_SIGN(u16, (s32)a0, 6) + d; acc = d; - d = func_8001311C(*(s16 *)((s32)a0 + 10), D_8018C0D2, 10); - *(u16 *)((s32)a0 + 10) = *(u16 *)((s32)a0 + 10) + d; + d = func_8001311C(((Unkstruct_80126B58 *)a0)->unkA, D_8018C0D2, 10); + CAST_ALIAS(u16, (s32)a0, 10) = CAST_SIGN(u16, (s32)a0, 10) + d; acc = acc | d; - d = func_8001311C(*(s16 *)((s32)a0 + 14), D_8018C0D4, 10); - *(u16 *)((s32)a0 + 14) = *(u16 *)((s32)a0 + 14) + d; + d = func_8001311C(((Unkstruct_80126B58 *)a0)->unkE, D_8018C0D4, 10); + ((Unkstruct_80126B58 *)a0)->unkE = CAST_SIGN(u16, (s32)a0, 14) + d; acc = acc | d; if (acc == 0) { func_80147060(a0); @@ -6607,7 +6607,7 @@ extern s32 D_8018C0D8; void func_80181478(u8 *param_1) { s32 iVar1; - if ((-0x600 < *(s16 *)(param_1 + 0xA)) || + if ((-0x600 < ((Unkstruct_80126B58 *)param_1)->unkA) || (iVar1 = func_80171D78((s32)param_1, (s32)&D_8018C0D8), iVar1 != 0)) { func_8002D4C8(0x92A, 0); func_80171990(param_1); @@ -7086,7 +7086,7 @@ Lend:; extern void (*D_8018C548[])(void); void func_80182348(void *a0) { - D_8018C548[*(u16 *)((s32)a0 + 0x2)](); + D_8018C548[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7413,11 +7413,11 @@ void func_80182950(void *arg0) { u16 temp_v1; u16 temp_a1; - D_8018C5F8[*(u16 *) ((s32) arg0 + 2)](); + D_8018C5F8[CAST_SIGN(u16, (s32) arg0, 2)](); temp_v0 = ((s32 (*)(void)) func_801825D8)(); - temp_v1 = *(u16 *) ((s32) arg0 + 0xFE); - temp_a1 = *(u16 *) ((s32) arg0 + 0x100); - *(u16 *) ((s32) arg0 + 0xA) = (temp_v1 + temp_a1) + temp_v0 - 0x131; + temp_v1 = CAST_SIGN(u16, (s32) arg0, 0xFE); + temp_a1 = CAST_SIGN(u16, (s32) arg0, 0x100); + ((Unkstruct_800B5CB8 *)arg0)->unkA = (temp_v1 + temp_a1) + temp_v0 - 0x131; func_8012B2CC((s32) arg0); func_80182C10(arg0); } @@ -7580,35 +7580,35 @@ void func_80182CD8(int param_1) int iVar2; iVar2 = ((int (*)(void))func_8012C1B8)(); - *(int *)(param_1 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar2; if (iVar2 == 0) { ((void (*)(int))func_8012CAE4)(param_1); } else { - func_8001C810(iVar2, D_8018C614[*(short *)(param_1 + 0x70)]); - *(int *)(*(int *)(param_1 + 0x20) + 4) |= 0x8040; - *(int *)(*(int *)(param_1 + 0x20) + 0x28) = 0x1800180; - if (*(short *)(param_1 + 0x70) < 4) { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(short *)(param_1 + 0x70) * 0x400; + func_8001C810(iVar2, D_8018C614[((Unkstruct_800B5CB8 *)param_1)->unk70]); + *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x8040; + *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x28) = 0x1800180; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 < 4) { + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)param_1)->unk70 * 0x400; *(unsigned short *)(param_1 + 0x5c) = 0xCC00; - *(short *)(param_1 + 0xfe) = 0; - if (*(short *)(param_1 + 0x70) != 2) { - *(int *)(param_1 + 0xcc) = func_8012C658(0x26A, 4, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 2) { + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_8012C658(0x26A, 4, param_1); } } else { - *(short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 100) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk12 = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); *(unsigned char *)(param_1 + 0xc0) = 1; *(unsigned short *)(param_1 + 0x5c) = 0x8C00; - *(short *)(param_1 + 0xae) = -5; - *(void **)(param_1 + 0xbc) = D_8018C65C; - *(int *)(param_1 + 0xb4) = 0; - *(short *)(param_1 + 0xfe) = 1; - *(int *)(param_1 + 0xc4) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -5; + CAST_SIGN(void *, param_1, 0xbc) = D_8018C65C; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 |= 2; } *(unsigned char *)(param_1 + 0x75) = 2; - *(int *)(param_1 + 0x58) = - (((int)&D_8018C63C + (*(short *)(param_1 + 0xfe) << 4)) | 0x40000000); + ((Unkstruct_800B5CB8 *)param_1)->unk58 = + (((int)&D_8018C63C + (((Unkstruct_800B5CB8 *)param_1)->unkFE << 4)) | 0x40000000); func_8012AD50(param_1); } return; @@ -7635,10 +7635,10 @@ void func_80182E38(int param_1) int t; dst = (short *)&D_80126B58; - if (*(short *)(param_1 + 0x70) < 4) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 < 4) { *(unsigned short *)(sv + 2) = 0; *(unsigned short *)(sv + 0) = 0; - t1 = *(short *)(*(int *)(param_1 + 0x64) + 0x100); + t1 = *(short *)(CAST_ALIAS(int, param_1, 0x64) + 0x100); if (t1 >= -0xd0) { v0 = -0x1a0; /* retail: -0x1A0 in the j delay slot, jumping PAST the negu */ } else { @@ -7646,20 +7646,19 @@ void func_80182E38(int param_1) v0 = -(((int)t >> 16) + 0x1a0); /* the negu belongs to the else-arm only */ } *(short *)(sv + 4) = v0; - func_8004978C((s16 *)(*(int *)(param_1 + 0x20) + 0x10), mat); - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + func_8004978C((s16 *)(CAST_ALIAS(int, param_1, 0x20) + 0x10), mat); + __asm__ __volatile__( "lw $12, 0(%0)\n" "lw $13, 4(%0)\n" "ctc2 $12, $0\n" "ctc2 $13, $1\n" "lw $12, 8(%0)\n" "lw $13, 12(%0)\n" "lw $14, 16(%0)\n" - "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" - : : "r"(mat) : "$12", "$13", "$14", "memory"); - __asm__ __volatile__("lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" : : "r"(sv) : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_ldv0_m) beyond Sony's (P36 T5 gte1) - __asm__ __volatile__("nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" : : : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_rtv0_m) beyond Sony's (P36 T5 gte1) + "ctc2 $12, $2\n" "ctc2 $13, $3\n" "ctc2 $14, $4\n" : : "r"(mat) : "$12", "$13", "$14" ); + __asm__ __volatile__("lwc2 $0, 0(%0)\n" "lwc2 $1, 4(%0)\n" : : "r"(sv) ); + __asm__ __volatile__("nop\n" "nop\n" "mvmva 1, 0, 0, 3, 0\n" ); gte_stsv(sv); - *(short *)(param_1 + 6) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 6) + *(unsigned short *)(sv + 0); - *(short *)(param_1 + 10) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 10) + *(unsigned short *)(sv + 2); - *(short *)(param_1 + 14) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 14) + *(unsigned short *)(sv + 4); - t2 = *(short *)(*(int *)(param_1 + 0x64) + 0x100); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6) + *(unsigned short *)(sv + 0); + ((Unkstruct_800B5CB8 *)param_1)->unkA = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 10) + *(unsigned short *)(sv + 2); + ((Unkstruct_800B5CB8 *)param_1)->unkE = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 14) + *(unsigned short *)(sv + 4); + t2 = *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x100); if (t2 != 0 && t2 >= -0x24f) { uVar2 = *(unsigned int *)(param_1 + 0x1c); *(unsigned int *)(param_1 + 0x1c) = uVar2 + 1; @@ -7673,15 +7672,15 @@ void func_80182E38(int param_1) } } } else { - *(short *)(param_1 + 6) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 6); - *(short *)(param_1 + 10) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 10); - *(short *)(param_1 + 14) = *(unsigned short *)(*(int *)(param_1 + 0x64) + 14); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unkA = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 10); + ((Unkstruct_800B5CB8 *)param_1)->unkE = *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 14); } if (D_801AECB0 == 0 && *(unsigned char *)(param_1 + 0x74) != 0) { func_8012E014(param_1); *(dst + 5) = (*(unsigned short *)(param_1 + 10) + - *(unsigned short *)(&D_8018C644 + (*(short *)(param_1 + 0xfe) << 4))) - 1; + *(unsigned short *)(&D_8018C644 + (((Unkstruct_800B5CB8 *)param_1)->unkFE << 4))) - 1; } else { func_8012B2CC(param_1); } @@ -7692,7 +7691,7 @@ void func_80182E38(int param_1) extern void (*D_8018C66C[])(void); void func_80183088(void *a0) { - D_8018C66C[*(u16 *)((s32)a0 + 0x2)](); + D_8018C66C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7704,11 +7703,11 @@ void func_801830C4(int param_1) *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; - *(short *)(param_1 + 0xae) = -1; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -1; *(unsigned char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; func_8012C588(0x271, param_1); - v0 = *(int *)(*(int *)(param_1 + 0x64) + 0x64); + v0 = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x64); *(short *)(v0 + 0x102) = *(short *)(v0 + 0x102) - 1; } @@ -7786,10 +7785,10 @@ extern void func_80133298(s32 *arg); void func_80183338(void *a0) { extern void (*D_8018C69C[])(void *); - if (*(u8 *)((s32)a0 + 0x74)) { + if (((Unkstruct_800B5CB8 *)a0)->unk74) { func_80133298((s32 *)a0); } - D_8018C69C[*(u16 *)((s32)a0 + 0x2)](a0); + D_8018C69C[CAST_SIGN(u16, (s32)a0, 0x2)](a0); } @@ -7805,47 +7804,47 @@ void func_80183398(s32 a0) { u16 v; s32 pad[2]; - if (*(s16 *)(a0 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { if (D_801AECB0 != 0) { - if (*(u16 *)(a0 + 0x34) == 0) { - v = *(u16 *)(a0 + 0x100) - 4; - *(u16 *)(a0 + 0x100) = v; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + v = CAST_SIGN(u16, a0, 0x100) - 4; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v; if ((s16)v < -0x27F) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - v = *(u16 *)(a0 + 0x100) + 4; - *(u16 *)(a0 + 0x100) = v; + v = CAST_SIGN(u16, a0, 0x100) + 4; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v; if ((s16)v >= 0) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 - 1; } } } - ptr = *(s32 *)(a0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) - 4; t = ((s32 (*)(void)) func_801825D8)(); - *(s16 *)(a0 + 0xA) = (*(u16 *)(a0 + 0xFE) + *(u16 *)(a0 + 0x100)) + t - 0x131; - func_80182464(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), *(s16 *)(a0 + 0xA)); + ((Unkstruct_800B5CB8 *)a0)->unkA = (CAST_SIGN(u16, a0, 0xFE) + CAST_SIGN(u16, a0, 0x100)) + t - 0x131; + func_80182464(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), CAST_SIGN(s16, a0, 0xA)); } else { if (D_801AECB0 != 0 && func_8012BEE8(a0) != 0) { - if (*(u16 *)(a0 + 0x34) == 0) { - v = *(u16 *)(a0 + 0x100) - 6; - *(u16 *)(a0 + 0x100) = v; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + v = CAST_SIGN(u16, a0, 0x100) - 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v; if ((s16)v < -0x3BF) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - v = *(u16 *)(a0 + 0x100) + 6; - *(u16 *)(a0 + 0x100) = v; + v = CAST_SIGN(u16, a0, 0x100) + 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v; if ((s16)v >= 0) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 - 1; } } } - ptr = *(s32 *)(a0 + 0x20); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(ptr + 0x12) = *(u16 *)(ptr + 0x12) + 4; - *(s16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xFE) + *(u16 *)(a0 + 0x100); - func_801823BC(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), *(s16 *)(a0 + 0xA)); + ((Unkstruct_800B5CB8 *)a0)->unkA = CAST_SIGN(u16, a0, 0xFE) + CAST_SIGN(u16, a0, 0x100); + func_801823BC(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), CAST_SIGN(s16, a0, 0xA)); } func_8012B2CC(a0); } @@ -7855,7 +7854,7 @@ void func_80183398(s32 a0) { extern void (*D_8018C734[])(void); void func_80183574(void *a0) { - D_8018C734[*(u16 *)((s32)a0 + 0x2)](); + D_8018C734[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7871,9 +7870,9 @@ void func_801835B0(void *a0, s32 a1) end = a1 + 8; do { __asm__("");__asm__("");__asm__("");__asm__("");__asm__("");__asm__("");__asm__(""); // !FAKE: barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS; barrier — NEEDED DIFFERS (P36 rung B tus7) - *(u16 *)((s32)a0 + 0xFC) = *(u16 *)(a1 + 2); + ((Unkstruct_800B5CB8 *)a0)->unkFC = *(u16 *)(a1 + 2); ret = func_8012C658(0x268, *(s16 *)(a1 + 0), (s32)a0); - v1 = *(s16 *)((s32)a0 + 0x70); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk70; if (v1 == 0 && a1 == end) { *(s32 *)&D_801AECB4 = ret; } @@ -7886,7 +7885,7 @@ void func_801835B0(void *a0, s32 a1) extern void (*D_8018C7FC[])(void); void func_80183638(void *a0) { - D_8018C7FC[*(u16 *)((s32)a0 + 0x2)](); + D_8018C7FC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7911,7 +7910,7 @@ void func_80183674(void *a0) { extern void (*D_8018C94C[])(void); void func_801836E0(void *a0) { - D_8018C94C[*(u16 *)((s32)a0 + 0x2)](); + D_8018C94C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7929,15 +7928,15 @@ void func_8018371C(s32 a0) extern s32 D_801AECB0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C2C4(v0); - v1 = *(u16 *)(a0 + 0xA); - *(u16 *)(a0 + 0x100) = 0; - *(u16 *)(a0 + 0xFE) = v1; + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v1; func_80182A30(a0); func_80182B68(a0); D_801AECB0 = 0; @@ -7981,7 +7980,7 @@ void func_8018381C(void *param_1) extern s32 D_80126B58; extern void (*D_8018C5A0[])(void); - if ((*(s16 *)((s32)param_1 + 0x102) == 0) && ((u32)(*(u16 *)&D_80126B58 - 2) >= 2)) { + if ((*(s16 *)((s32)param_1 + 0x102) == 0) && ((u32)(((Unkstruct_80126B58 *)&D_80126B58)->unk0 - 2) >= 2)) { func_80178B18((s32)param_1, (s32)D_8018C5A0); func_8018291C((s32)param_1); } @@ -8025,44 +8024,44 @@ void func_801838FC(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C810(v0, (s32)D_801A7DB0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4) |= 0x8040; - *(u16 *)(a0 + 0x6) = D_8018C674[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xA) = D_8018C676[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xE) = D_8018C678[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = D_8018C67A[*(s16 *)(a0 + 0x70) * 4]; - *(s32 *)(a0 + 0x58) = (s32)D_8018C68C | 0x20000000; - *(u8 *)(a0 + 0x75) = 2; - *(u16 *)(a0 + 0x5C) = 0xCC00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x4) |= 0x8040; + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_8018C674[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_8018C676[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018C678[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = D_8018C67A[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018C68C | 0x20000000; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; func_8012AD50((void *)a0); } void func_80183A1C(s32 a0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: - if (*(u8 *)(a0 + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk74 != 0) { if ((func_8014CB2C() & 0x7FFFFFFF) == 2) { - *(s32 *)(a0 + 0x1C) = 4; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } break; case 1: if (func_8012BEE8(a0) != 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) - 0x800; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x64) + 0x102) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0x102) + 1; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 1; - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A - 0x800; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1A) == 0) { + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x102) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x102) + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } else { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 - 1; } } break; @@ -8089,22 +8088,22 @@ void func_80183B20(s32 a0) u16 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C2C4(v0); - if (*(s16 *)(a0 + 0x70) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { func_80182384(); - *(s32 *)(a0 + 0x1C) = 0xA0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA0; } else { func_8018242C(); } - v1 = *(u16 *)(a0 + 0xA); - *(u16 *)(a0 + 0x100) = 0; - *(u16 *)(a0 + 0xFE) = v1; - func_801835B0((void *)a0, D_8018C72C[*(s16 *)(a0 + 0x70)]); + v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v1; + func_801835B0((void *)a0, D_8018C72C[((Unkstruct_800B5CB8 *)a0)->unk70]); func_8012AD50((void *)a0); } @@ -8124,19 +8123,19 @@ void func_80183BC4(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); return; } func_8001C2C4(v0); - *(u8 *)(a0 + 0x75) = 2; - *(u16 *)(a0 + 0x5C) = 0xCC00; - *(s32 *)(a0 + 0x58) = ((s32)D_8018C73C + *(s16 *)(a0 + 0x70) * 16) | 0x50000000; - *(u16 *)(a0 + 0x6) = D_8018C7BC[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xA) = D_8018C7BE[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xE) = D_8018C7C0[*(s16 *)(a0 + 0x70) * 4]; - *(u16 *)(a0 + 0xFC) = *(u16 *)(*(s32 *)(a0 + 0x64) + 0xFC); + ((Unkstruct_800B5CB8 *)a0)->unk75 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0xCC00; + ((Unkstruct_800B5CB8 *)a0)->unk58 = ((s32)D_8018C73C + ((Unkstruct_800B5CB8 *)a0)->unk70 * 16) | 0x50000000; + ((Unkstruct_800B5CB8 *)a0)->unk6 = D_8018C7BC[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkA = D_8018C7BE[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkE = D_8018C7C0[((Unkstruct_800B5CB8 *)a0)->unk70 * 4]; + ((Unkstruct_800B5CB8 *)a0)->unkFC = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC); func_8012AD50((void *)a0); } @@ -8152,12 +8151,12 @@ void func_80183C9C(void *a0) u16 res[3]; s32 self = (s32)a0; - *(s16 *)(*(s32 *)(self + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(self + 0x64) + 0x20) + 0x12) + *(u16 *)(self + 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(self + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x20) + 0x12) + CAST_SIGN(u16, self, 0xFC); - func_8004978C((s16 *)(*(s32 *)(self + 0x20) + 0x10), &mat); + func_8004978C((s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x10), &mat); - __asm__ __volatile__( // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) + __asm__ __volatile__( "lw $12, 0(%0)\n" "lw $13, 4(%0)\n" "ctc2 $12, $0\n" @@ -8167,19 +8166,17 @@ void func_80183C9C(void *a0) "lw $14, 16(%0)\n" "ctc2 $12, $2\n" "ctc2 $13, $3\n" - "ctc2 $14, $4\n" - : : "r"(&mat) : "$12", "$13", "$14", "memory"); + "ctc2 $14, $4\n" : : "r"(&mat) : "$12", "$13", "$14" ); - __asm__ __volatile__("lwc2 $0, 0(%0)\nlwc2 $1, 4(%0)" // !FAKE: gte direct — clobbers beyond Sony's macro (a scheduling steer; P36 T5 t5_remark3) - : : "r"(&D_8018C7BC[*(s16 *)(self + 0x70) * 4]) : "memory"); - __asm__ __volatile__("nop\nnop\nmvmva 1, 0, 0, 3, 0" : : : "memory"); // !FAKE: gte direct — clobbers ['memory'] (gte_rtv0_m) beyond Sony's (P36 T5 gte1) + __asm__ __volatile__("lwc2 $0, 0(%0)\nlwc2 $1, 4(%0)" : : "r"(&D_8018C7BC[((Unkstruct_800B5CB8 *)self)->unk70 * 4]) ); + __asm__ __volatile__("nop\nnop\nmvmva 1, 0, 0, 3, 0" ); gte_stsv(res); - *(s16 *)(self + 0x6) = *(u16 *)(*(s32 *)(self + 0x64) + 0x6) + res[0]; - *(s16 *)(self + 0xA) = *(u16 *)(*(s32 *)(self + 0x64) + 0xA) + res[1]; - *(s16 *)(self + 0xE) = *(u16 *)(*(s32 *)(self + 0x64) + 0xE) + res[2]; + ((Unkstruct_800B5CB8 *)self)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0x6) + res[0]; + ((Unkstruct_800B5CB8 *)self)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0xA) + res[1]; + ((Unkstruct_800B5CB8 *)self)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk64 + 0xE) + res[2]; - if (*(u8 *)(self + 0x74) != 0) { + if (((Unkstruct_800B5CB8 *)self)->unk74 != 0) { func_8012E014(self); } } @@ -8243,7 +8240,7 @@ void func_80183E48(void *a0) extern void (*D_8018C964[])(void); void func_80183EFC(void *a0) { - D_8018C964[*(u16 *)((s32)a0 + 0x2)](); + D_8018C964[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8275,17 +8272,17 @@ void func_80183F38(void *a0) s32 pad[8]; h = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)self + 0x20) = h; + ((Unkstruct_800B5CB8 *)self)->unk20 = h; if (h == 0) { goto L_fail; } - if (*(s16 *)((s32)self + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)self)->unk70 != 0) { goto L_da8; } func_8001C214(h, (s32)D_801AB54C); - *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x12) = 0x800; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk12 = 0x800; obj = (void *)((s32 (*)(void))func_8012C194)(); - *(s32 *)((s32)self + 0xCC) = (s32)obj; + ((Unkstruct_800B5CB8 *)self)->unkCC = (s32)obj; if (obj != 0) { goto L_ce4; } @@ -8297,34 +8294,34 @@ L_ce4: func_80184870(self); *(u16 *)((s32)obj + 0x18) = 0x2400; *(u16 *)((s32)obj + 0x1A) = 0x1C00; - *(u16 *)((s32)obj + 0x12) = *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x12); + *(u16 *)((s32)obj + 0x12) = ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk12; *(u32 *)((s32)obj + 4) |= 0x51000000; *(u8 *)((s32)obj + 0x27) = 0xED; func_80128EA8((s32)obj, (s32)D_801AECB8, (s32)D_8018C97C); - *(u8 *)((s32)self + 0xC0) = 1; - *(s32 *)((s32)self + 0xBC) = (s32)D_8018C9CC; - *(s32 *)((s32)self + 0x58) = (s32)D_8018C9AC | 0x40000000; - *(u16 *)((s32)self + 0x5C) = 0x8000; - *(s16 *)((s32)self + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)self)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)self)->unkBC = (s32)D_8018C9CC; + ((Unkstruct_800B5CB8 *)self)->unk58 = (s32)D_8018C9AC | 0x40000000; + ((Unkstruct_800B5CB8 *)self)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)self)->unkAE = -3; { - s32 v0 = *(s32 *)((s32)self + 0xC4); - u16 v1 = *(u16 *)((s32)self + 0xA); - *(s32 *)((s32)self + 0xB4) = 0; - *(u8 *)((s32)self + 0xC1) = 0; - *(s32 *)((s32)self + 0xC4) = v0 | 2; - *(u16 *)((s32)self + 0x102) = v1; - *(u16 *)((s32)self + 0xFE) = v1; + s32 v0 = ((Unkstruct_800B5CB8 *)self)->unkC4; + u16 v1 = ((Unkstruct_800B5CB8 *)self)->unkA; + ((Unkstruct_800B5CB8 *)self)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)self)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)self)->unkC4 = v0 | 2; + ((Unkstruct_800B5CB8 *)self)->unk102 = v1; + ((Unkstruct_800B5CB8 *)self)->unkFE = v1; } func_8012AD50(self); return; L_da8: func_8001CA1C(h, 0); - *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x18) = 0x2C00; - *(u16 *)(*(s32 *)((s32)self + 0x20) + 0x1A) = 0x3800; - *(u32 *)(*(s32 *)((s32)self + 0x20) + 4) |= 0x71000000; - *(s32 *)((s32)self + 0x14) = 0xFFFE0000; - *(s32 *)((s32)self + 0x18) = 0x30000; - *(u16 *)((s32)self + 0xFC) = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk18 = 0x2C00; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)self + 0x20))->unk1A = 0x3800; + *(u32 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 4) |= 0x71000000; + ((Unkstruct_800B5CB8 *)self)->unk14 = 0xFFFE0000; + CAST_WIDTH(s32, (s32)self, 0x18) = 0x30000; + ((Unkstruct_800B5CB8 *)self)->unkFC = 0; func_8012A828((s32)self, D_8018CAA8); func_8012AD44((s32 *)self, 9); } @@ -8344,32 +8341,32 @@ void func_801840F8(s32 arg0) { s32 t; - t = *(s32 *)(arg0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)arg0)->unk1C; if (t == 0x30) { func_8013CABC(); } else if (t == 0x10) { - func_80184A50((void *)*(s32 *)(arg0 + 0xD0)); + func_80184A50((void *)((Unkstruct_800B5CB8 *)arg0)->unkD0); } - if (*(u16 *)(arg0 + 0x84) & 1) { - t = *(s32 *)(arg0 + 0x64); + if (CAST_SIGN(u16, arg0, 0x84) & 1) { + t = ((Unkstruct_800B5CB8 *)arg0)->unk64; *(u16 *)(t + 0x6) -= 3; - t = *(s32 *)(*(s32 *)(arg0 + 0x64) + 0x20); + t = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x20); *(u16 *)(t + 0x8) -= 3; - *(u16 *)(arg0 + 0x6) -= 3; + ((Unkstruct_800B5CB8 *)arg0)->unk6 -= 3; } else { - t = *(s32 *)(arg0 + 0x64); + t = ((Unkstruct_800B5CB8 *)arg0)->unk64; *(u16 *)(t + 0x6) += 3; - t = *(s32 *)(*(s32 *)(arg0 + 0x64) + 0x20); + t = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x20); *(u16 *)(t + 0x8) += 3; - *(u16 *)(arg0 + 0x6) += 3; + ((Unkstruct_800B5CB8 *)arg0)->unk6 += 3; } - *(u16 *)(arg0 + 0x84) += 1; - switch (*(u16 *)(arg0 + 0x34)) { + CAST_SIGN(u16, arg0, 0x84) += 1; + switch (((Unkstruct_800B5CB8 *)arg0)->unk34) { case 0: if (((int (*)(int))func_8001AAA0)(0x7B) != 0) { - *(u16 *)(arg0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)arg0)->unk34 += 1; } break; case 1: @@ -8382,8 +8379,8 @@ void func_801840F8(s32 arg0) if ((func_8012BEE8(arg0) != 0) && (D_801AECC0 != 0)) { func_80184398(arg0); } else { - if (*(s32 *)(arg0 + 0x1C) < 0x48) { - if ((*(u16 *)(arg0 + 0x84) & 3) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C < 0x48) { + if ((CAST_SIGN(u16, arg0, 0x84) & 3) == 0) { func_801842CC(arg0); } } @@ -8485,14 +8482,14 @@ extern void (*D_8018CAA8[])(void *); void func_801844AC(s32 a0) { - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2C00; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x3800; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2C00; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x3800; func_8012A828(a0, D_8018CAA8); - *(s16 *)((s32)a0 + 0xFC) = 0; - *(s32 *)((s32)a0 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unkFC = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x10; func_8012AD44((s32 *)a0, 4); - if (*(s32 *)(a0 + 0xD0) != 0) { - func_80184AA8((void *)*(s32 *)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_80184AA8((void *)((Unkstruct_800B5CB8 *)a0)->unkD0); } } @@ -8505,10 +8502,10 @@ void func_80184524(void *arg0) { void *a0; - *(s32 *)((s32)arg0 + 0x1C) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 4; func_8012B200(arg0); func_8012AD44((s32 *)arg0, 5); - a0 = *(void **)((s32)arg0 + 0xD0); + a0 = CAST_SIGN(void *, (s32)arg0, 0xD0); if (a0 != NULL) { func_80184AD4(a0); } @@ -8521,7 +8518,7 @@ void func_80184578(s32 param_1) extern s8 D_8018C9BC[]; extern void func_8012AD44(s32 *a0, s16 a1); - *(s32 *)((s32)param_1 + 0x58) = (s32)&D_8018C9BC; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)&D_8018C9BC; func_80184808((void *)param_1); func_8012AD44((s32 *)param_1, 6); } @@ -8592,7 +8589,7 @@ extern void func_8013CAE8(void); extern void (*D_8018CC08[])(void); void func_801846BC(void *a0) { - D_8018CC08[*(u16 *)((s32)a0 + 0x2)](); + D_8018CC08[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8608,23 +8605,23 @@ void func_801846F8(s32 a0) { s32 val2; for (i = 0; i < 8; i++) { - if (*(u16 *)(a0 + 0x5E) == D_8018CC30[i]) { - ptr = *(s32 *)(a0 + 0x64); + if (CAST_WIDTH(u16, a0, 0x5E) == D_8018CC30[i]) { + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; val = *(u16 *)(ptr + 6); D_801AECC0 = 0; val = val + 1; *(u16 *)(ptr + 6) = val; - *(s32 *)(a0 + 0x1C) = 0x50; - *(u16 *)(a0 + 0x84) = 0; - *(u16 *)(a0 + 6) = *(u16 *)(a0 + 6) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x50; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 + 1; func_8012AD44((s32 *)a0, 2); obj = func_80132EF4(a0, 0x59); - *(s32 *)(a0 + 0xD0) = obj; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = obj; if (obj != 0) { - *(u16 *)(obj + 6) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - val2 = *(u16 *)(a0 + 0xE); + *(u16 *)(obj + 6) = ((Unkstruct_800B5CB8 *)a0)->unk6; + *(u16 *)(obj + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA; + val2 = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(obj + 0x2C) = -0xA0; *(s32 *)(obj + 0x34) = a0; *(u16 *)(obj + 0xE) = val2; @@ -8634,34 +8631,34 @@ void func_801846F8(s32 a0) { /* Source order IS emitted order: 0x5C standalone, 0x5E sinks into * the jal delay slot; the second 0x5E store sinks into the j. */ - *(u8 *)(a0 + 0xC1) = 0; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; func_8002D4C8(0x91F, 0); - *(u16 *)(a0 + 0x5E) = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; goto done; } } - *(u16 *)(a0 + 0x5E) = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; done: func_8002D4C8(0x426, 0); } void func_80184808(void *a0) { - *(s32 *)((s32)a0 + 0x48) = 0x1400; - *(s32 *)((s32)a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x1400; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } void func_80184818(s32 param_1) { func_8012AD80(param_1); - if (0x14000 < *(s32 *)(param_1 + 0x14)) - *(s32 *)(param_1 + 0x48) = -0x1400; - else if (*(s32 *)(param_1 + 0x14) < -0x14000) - *(s32 *)(param_1 + 0x48) = 0x1400; + if (0x14000 < ((Unkstruct_800B5CB8 *)param_1)->unk14) + ((Unkstruct_800B5CB8 *)param_1)->unk48 = -0x1400; + else if (((Unkstruct_800B5CB8 *)param_1)->unk14 < -0x14000) + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x1400; } @@ -8791,8 +8788,8 @@ extern void func_8002D4C8(s32 arg0, s32 arg1); void func_80184AD4(void *a0) { - *(short *)((char *)a0 + 0x2) = 0x5; - *(int *)((char *)a0 + 0x1c) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } @@ -8817,11 +8814,11 @@ void func_80184B30(s32 *a0) { s32 a1; s0 = a0; - a1 = *(s32 *)((u8 *)s0 + 0x34); + a1 = CAST_WIDTH(s32, (u8 *)s0, 0x34); func_80129350(s0, a1); a1 = (s32)((u8 *)s0 + 0x4); - *(s16 *)((u8 *)s0 + 0xA) = *(u16 *)((u8 *)s0 + 0xA) + *(u16 *)((u8 *)s0 + 0x2C); + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA + ((Unkstruct_800B5CB8 *)s0)->unk2C; func_80133060((s32 *)((u8 *)s0 + 0x4), a1, -0x180); } @@ -8840,13 +8837,13 @@ void func_80184B80(void *a0) { s32 h; - if ((*(s32 *)((s32)a0 + 0x20) = h = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = h = ((s32 (*)(void))func_8012C1B8)()) == 0) { goto L_fail; } if ((u8)func_80029178(0x1A) != 0) { goto L_fail; } - func_8001C214(*(s32 *)((s32)a0 + 0x20), (s32)D_801AAF60); + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AAF60); if (func_8012C588(0x2BB, (s32)a0) != 0) { goto L_ok; } @@ -8857,10 +8854,10 @@ L_fail: L_ok: { - u16 v1 = *(u16 *)((s32)a0 + 0xA); - *(s32 *)((s32)a0 + 0x58) = (s32)D_8018C954 | 0x40000000; - *(u16 *)((s32)a0 + 0x5C) = 0x800; - *(u16 *)((s32)a0 + 0xFE) = v1; + u16 v1 = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)D_8018C954 | 0x40000000; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)a0)->unkFE = v1; } func_8012AD50(a0); } @@ -8904,12 +8901,12 @@ extern int func_80178970(void); extern void func_80187200(void); void func_80184CBC(s32 *a0) { - if (*(u16 *)((s32)a0 + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { func_8012AD80((s32)a0); if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((s32)a0 + 0x100) = 0x80; - *(s32 *)((s32)a0 + 0x1C) = 0x30; - (*(u16 *)((s32)a0 + 0x34))++; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x80; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x30; + (((Unkstruct_800B5CB8 *)a0)->unk34)++; ((void (*)(s32 *))func_80184808)(a0); } } else { @@ -8932,11 +8929,11 @@ void func_80184524(void *arg0); void func_80184D68(s32 arg0) { if (func_8012BEE8(arg0) == 0) { - if ((*(u32 *)(arg0 + 0x1C) & 3) == 0) { + if ((CAST_SIGN(u32, arg0, 0x1C) & 3) == 0) { func_8012C658(0x2BB, 1, arg0); } } - if (*(s16 *)(arg0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk98 == 0) { func_80184524((void *)arg0); } ((void (*)(s32))func_80178970)(arg0); @@ -8951,15 +8948,15 @@ extern void func_80184578(s32 a0); void func_80184DD8(s32 arg0) { u16 val_34; s16 val_fe, val_a; - val_34 = *(u16 *)(arg0 + 0x34); + val_34 = ((Unkstruct_800B5CB8 *)arg0)->unk34; if (val_34 == 0) { if (func_8012BEE8(arg0) != 0) { - *(s32 *)(arg0 + 0x14) = 0x10000; - *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0x10000; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = ((Unkstruct_800B5CB8 *)arg0)->unk34 + 1; } } else { - val_fe = *(s16 *)(arg0 + 0xFE); - val_a = *(s16 *)(arg0 + 0xA); + val_fe = ((Unkstruct_800B5CB8 *)arg0)->unkFE; + val_a = CAST_SIGN(s16, arg0, 0xA); if (val_a < (val_fe - 0xA0)) { func_8012AD80(arg0); } else { @@ -8993,7 +8990,7 @@ void func_80184EB8(s32 a0) { s32 t0; s16 val0; - t0 = *(s32 *)(a0 + 0x20); + t0 = ((Unkstruct_800B5CB8 *)a0)->unk20; val0 = *(s16 *)(t0 + 0x18); if (val0 > 0) { @@ -9004,17 +9001,17 @@ void func_80184EB8(s32 a0) { func_8012AD80(a0); - temp = *(s32 *)(a0 + 0x20); - a = *(u16 *)(a0 + 0xDC); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; + a = CAST_WIDTH(u16, a0, 0xDC); b = *(u16 *)(temp + 0x18); *(s16 *)(temp + 0x18) = (s16)(b - a); - temp = *(s32 *)(a0 + 0x20); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; a = *(u16 *)(a0 + 0xDE); b = *(u16 *)(temp + 0x1A); *(s16 *)(temp + 0x1A) = (s16)(b - a); - temp = *(s32 *)(a0 + 0x20); + temp = ((Unkstruct_800B5CB8 *)a0)->unk20; val = *(s16 *)(temp + 0x18); if (val == 0) { @@ -9052,9 +9049,9 @@ extern void func_8012AD80(s32 a0); extern void func_8012C218(void *a0); void func_80184FD8(void *param_1) { - (*(u16 *)((char *)param_1 + 0xFC))++; + (CAST_SIGN(u16, (char *)param_1, 0xFC))++; func_8012AD80(param_1); - if (*(s16 *)((char *)param_1 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk98 == 0) { func_8012C218(param_1); } } @@ -9205,7 +9202,7 @@ void func_80185264(s32 a0) { extern void (*D_8018CC70[])(void); void func_80185318(void *a0) { - D_8018CC70[*(u16 *)((s32)a0 + 0x2)](); + D_8018CC70[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9448,7 +9445,7 @@ void func_801858E8(void *arg0) extern void (*D_8018CCA0[])(void); void func_8018593C(void *a0) { - D_8018CCA0[*(u16 *)((s32)a0 + 0x2)](); + D_8018CCA0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9530,7 +9527,7 @@ void func_80185B04(void *a0, void *a1) extern void (*D_8018CD04[])(void); void func_80185BA8(void *a0) { - D_8018CD04[*(u16 *)((s32)a0 + 0x2)](); + D_8018CD04[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9565,7 +9562,7 @@ void func_80185C40(void *a0) { extern void (*D_8018CE0C[])(void); void func_80185C70(void *a0) { - D_8018CE0C[*(u16 *)((s32)a0 + 0x2)](); + D_8018CE0C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9616,7 +9613,7 @@ void func_80185D7C(void) { extern void (*D_8018CE14[])(void); void func_80185DA4(void *a0) { - D_8018CE14[*(u16 *)((s32)a0 + 0x2)](); + D_8018CE14[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9645,7 +9642,7 @@ void func_80185E44(void) { extern void (*D_8018CE1C[])(void); void func_80185E4C(void *a0) { - D_8018CE1C[*(u16 *)((s32)a0 + 0x2)](); + D_8018CE1C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10008,12 +10005,12 @@ void func_80186468(void *a0) s16 w; m = D_800AE620; - sv = D_801AA9D0[*(s16 *)((s32)a0 + 0x70)]; + sv = D_801AA9D0[((Unkstruct_800B5CB8 *)a0)->unk70]; mp = &m; svp = &sv; - if ((*(s32 *)((s32)a0 + 0x20) = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk20 = v0 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4(a0); return; } @@ -10021,22 +10018,22 @@ void func_80186468(void *a0) w = sv.w; func_8001C214(v0, D_801AAA58[w]); - RotMatrixY(*(s16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12), mp); + RotMatrixY(*(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12), mp); ApplyMatrixSV(mp, svp, svp); - *(u16 *)((s32)a0 + 0x6) += sv.x; - *(u16 *)((s32)a0 + 0xA) += sv.y; - *(u16 *)((s32)a0 + 0xE) += sv.z; + ((Unkstruct_800B5CB8 *)a0)->unk6 += sv.x; + ((Unkstruct_800B5CB8 *)a0)->unkA += sv.y; + ((Unkstruct_800B5CB8 *)a0)->unkE += sv.z; func_8012B23C((s32)a0); - *(s16 *)((s32)a0 + 0x12) = (s16)sv.x >> 3; + ((Unkstruct_800B5CB8 *)a0)->unk12 = (s16)sv.x >> 3; *(s16 *)((s32)a0 + 0x16) = (s16)sv.y >> 3; - *(s16 *)((s32)a0 + 0x1A) = (s16)sv.z >> 3; + ((Unkstruct_800B5CB8 *)a0)->unk1A = (s16)sv.z >> 3; - *(s16 *)((s32)a0 + 0xFC) = (s16)((rand() & 0x7FF) - 0x400) >> w; - *(s16 *)((s32)a0 + 0xFE) = (s16)((rand() & 0x7FF) - 0x400) >> w; - *(s16 *)((s32)a0 + 0x100) = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unkFC = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unkFE = (s16)((rand() & 0x7FF) - 0x400) >> w; + ((Unkstruct_800B5CB8 *)a0)->unk100 = (s16)((rand() & 0x7FF) - 0x400) >> w; func_8012AD50(a0); } @@ -10046,7 +10043,7 @@ void func_80186468(void *a0) extern void (*D_801AAA64[])(void); void func_80186688(void *a0) { - D_801AAA64[*(u16 *)((s32)a0 + 0x2)](); + D_801AAA64[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10061,12 +10058,12 @@ void func_801866C4(s32 a0) { func_8012AD80(a0); s0 = (u8 *)a0; - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x10) += *(u16 *)(s0 + 0xFC); - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x12) += *(u16 *)(s0 + 0xFE); - *(u16 *)(*(u32 *)(s0 + 0x20) + 0x14) += *(u16 *)(s0 + 0x100); + ((Unkstruct_800B5CB8 *)*(u32 *)(s0 + 0x20))->unk10 += CAST_SIGN(u16, s0, 0xFC); + ((Unkstruct_800B5CB8 *)*(u32 *)(s0 + 0x20))->unk12 += CAST_SIGN(u16, s0, 0xFE); + CAST_WIDTH(u16, *(u32 *)(s0 + 0x20), 0x14) += CAST_SIGN(u16, s0, 0x100); - val1 = *(s16 *)(*(s32 *)(s0 + 0x64) + 0x0A); - val2 = *(s16 *)(s0 + 0x0A); + val1 = *(s16 *)(((Unkstruct_800B5CB8 *)s0)->unk64 + 0x0A); + val2 = CAST_SIGN(s16, s0, 0x0A); if (val2 > val1) { func_8012C218((void *)a0); @@ -11214,17 +11211,17 @@ extern void func_8012931C(struct vec *a0); extern void func_801292C8(u8 *a0); void func_801879B8(void *a0) { - if (*(u16 *)((s32)a0 + 0x2) == 0) { + if (CAST_SIGN(u16, (s32)a0, 0x2) == 0) { func_80187AB8(a0); return; } - if (*(s32 *)((s32)a0 + 0x1C) != 0) { - *(s32 *)((s32)a0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; func_8012931C((struct vec *)a0); if (*(s16 *)((s32)a0 + 0x32) == 0) { - u16 t = *(u16 *)((s32)a0 + 0xA) + 0x1000; + u16 t = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x1000; if (t >= 0x1001) { func_801292C8((u8 *)a0); return; @@ -11235,12 +11232,12 @@ void func_801879B8(void *a0) { return; } - *(s32 *)((s32)a0 + 0x14) += *(s32 *)((s32)a0 + 0x34); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += *(u16 *)((s32)a0 + 0x30); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x8) = *(u16 *)((s32)a0 + 0x6); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xA) = *(u16 *)((s32)a0 + 0xA); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xC) = *(u16 *)((s32)a0 + 0xE); - func_80187B34((void *)*(s32 *)((s32)a0 + 0x20)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += CAST_WIDTH(s32, (s32)a0, 0x34); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_WIDTH(u16, (s32)a0, 0x30); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; + func_80187B34((void *)((Unkstruct_800B5CB8 *)a0)->unk20); } diff --git a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c index 2d2ae1c0ab..0e528c1066 100644 --- a/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c +++ b/src/ov_SC06_008/ov_SC06_008_jr_8017C294.c @@ -2974,7 +2974,7 @@ void func_8017D73C(s32 a0) { s32 ret; s32 n; - t = *(s16 *)(a0 + 0xA) + 0x20; + t = CAST_SIGN(s16, a0, 0xA) + 0x20; y = *(s16 *)&D_80126B62 - t; if (y < -0x110) { y = -0x110; @@ -2983,7 +2983,7 @@ void func_8017D73C(s32 a0) { } n = 0x14; - if (*(s16 *)(a0 + 0x70) >= 2) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 >= 2) { n = 0x10; } @@ -3033,18 +3033,18 @@ void func_8017D73C(s32 a0) { } while (i < n); } - D_8018939C[*(u16 *)(a0 + 0x2)](a0); + D_8018939C[CAST_SIGN(u16, a0, 0x2)](a0); ret = func_8012BD14(a0); if (ret > 0x3FFFF) { - *(s16 *)(a0 + 0xFE) = 1; - func_8002D59C(4, 0x609, *(u16 *)(a0 + 0x36)); + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + func_8002D59C(4, 0x609, ((Unkstruct_800B5CB8 *)a0)->unk36); } else { - *(s16 *)(a0 + 0xFE) = *(u16 *)(a0 + 0xFE) - 1; - if (*(s16 *)(a0 + 0xFE) == 0) { - *(s16 *)(a0 + 0xFE) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkFE = CAST_SIGN(u16, a0, 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = 4; func_8002D59C(0x609, ((0x40000 - ret) * 127) / 0x40000 | 0x1000, - *(u16 *)(a0 + 0x36)); + ((Unkstruct_800B5CB8 *)a0)->unk36); } } } @@ -3074,37 +3074,37 @@ void func_8017DA3C(s32 param_1) s32 pad[4]; - if ((*(s32 *)(param_1 + 0x20) = ((s32 (*)(void))func_8012C1B8)()) == 0) { + if ((((Unkstruct_800B5CB8 *)param_1)->unk20 = ((s32 (*)(void))func_8012C1B8)()) == 0) { func_8012CAE4((void *)param_1); } else { - switch (*(s16 *)(param_1 + 0x70)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk70) { case 0: { u16 *p50; u16 *p40; s32 i; - *(u16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0xDC) = 0x21100; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0x21100; for (i = 0, p50 = D_80189550, p40 = D_80189540; i < 7; p50++, p40++, i++) { s32 r = func_8012C658(0x305, 3, param_1); if (r != 0) { - *(u16 *)(r + 6) = *p40; - *(u16 *)(r + 0xE) = *p50; + ((Unkstruct_800B5CB8 *)r)->unk6 = *p40; + ((Unkstruct_800B5CB8 *)r)->unkE = *p50; } } break; } case 1: - *(u16 *)(param_1 + 2) = 3; - func_8001CA1C((void *)*(s32 *)(param_1 + 0x20), D_801893F0); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + func_8001CA1C((void *)((Unkstruct_800B5CB8 *)param_1)->unk20, D_801893F0); func_8012A828(param_1, D_801894B0); break; case 2: - *(u16 *)(param_1 + 2) = 3; - func_8001CA1C((void *)*(s32 *)(param_1 + 0x20), D_80189450); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + func_8001CA1C((void *)((Unkstruct_800B5CB8 *)param_1)->unk20, D_80189450); func_8012A828(param_1, D_801894F8); break; case 3: - *(u16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; break; } } @@ -3154,7 +3154,7 @@ void func_8017DBB0(s32 param_1) extern void (*D_80189560[])(void); void func_8017DCD0(void *a0) { - D_80189560[*(u16 *)((s32)a0 + 0x2)](); + D_80189560[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3172,18 +3172,18 @@ void func_8017DD24(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801892F0) != 0) { - *(u8 *)(a0 + 0xC0) = 1; - t = *(s32 *)(a0 + 0xC4); - *(s32 *)(a0 + 0xBC) = (s32)D_801892D0; - *(s32 *)(a0 + 0xC4) = t | 0x2; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801892D0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_80185B40); - *(s16 *)(a0 + 0x2) = 1; - *(u8 *)(a0 + 0x75) = 0; - *(s16 *)(a0 + 0xFE) = 1; - if (*(s16 *)(a0 + 0x70) >= 2) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0xD55; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0xD55; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 1; + if (((Unkstruct_800B5CB8 *)a0)->unk70 >= 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0xD55; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0xD55; } func_8012C658(0x25C, 0x555, a0); func_8012C658(0x25C, 0xAAA, a0); @@ -3207,19 +3207,19 @@ void func_8017DE20(s32 a0) { s32 t; if (func_8012C354(a0, (s32)D_801893B4) != 0) { - a2 = *(void **)((s32)a0 + 0x20); - *(u32 *)((char *)a2 + 4) |= 0x80000000; - *(u8 *)((s32)a0 + 0xC0) = 1; - t = *(s32 *)((s32)a0 + 0xC4); - *(s32 *)((s32)a0 + 0xBC) = (s32)D_801892D0; - *(s32 *)((s32)a0 + 0xC4) = t | 0x2; + a2 = CAST_SIGN(void *, (s32)a0, 0x20); + CAST_WIDTH(u32, (char *)a2, 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + t = ((Unkstruct_800B5CB8 *)a0)->unkC4; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801892D0; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = t | 0x2; func_8012A828(a0, (s32)D_80185B40); - *(s16 *)((s32)a0 + 0x2) = 1; - *(u8 *)((s32)a0 + 0x75) = 0; - if (*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x70) >= 2) { - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x2C) |= 0x10; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x18) = 0xD55; - *(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1C) = 0xD55; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x70) >= 2) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk2C |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk18 = 0xD55; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0xD55; } } } @@ -3234,13 +3234,13 @@ void func_8017DEEC(s32 *a0) { u16 val1, val2; s32 ptr_at_20; - val_at_64 = *(s32 *)((char *)a0 + 0x64); + val_at_64 = ((Unkstruct_800B5CB8 *)a0)->unk64; deref = *(s32 *)((char *)val_at_64 + 0x20); val1 = *(u16 *)((char *)deref + 0x12); - val2 = *(u16 *)((char *)a0 + 0x70); - ptr_at_20 = *(s32 *)((char *)a0 + 0x20); + val2 = CAST_SIGN(u16, (char *)a0, 0x70); + ptr_at_20 = ((Unkstruct_800B5CB8 *)a0)->unk20; - *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2; + ((Unkstruct_800B5CB8 *)ptr_at_20)->unk12 = val1 + val2; func_8012B2CC(a0); } @@ -3346,7 +3346,7 @@ void func_8017E140(void *a0, s32 a1) extern void (*D_801895AC[])(void); void func_8017E1A0(void *a0) { - D_801895AC[*(u16 *)((s32)a0 + 0x2)](); + D_801895AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3486,7 +3486,7 @@ s32 func_8017E37C(void *a0, s32 a1, s32 a2) sp10.ang = ratan2(sp10.f8 - sp10.x, sp10.fC - sp10.z); q = func_801290DC(0x68, &sp10); if (q != 0) { - *(s16 *)(q + 0x2C) = sp10.ang; + ((Unkstruct_800B5CB8 *)q)->unk2C = sp10.ang; } if ((rand() & 7) == 0) { func_8017EBAC((int)&sp10); @@ -3499,7 +3499,7 @@ s32 func_8017E37C(void *a0, s32 a1, s32 a2) extern void (*D_80189604[])(void); void func_8017E4BC(void *a0) { - D_80189604[*(u16 *)((s32)a0 + 0x2)](); + D_80189604[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3534,13 +3534,13 @@ void func_8017E580(s32 a0) { s32 w; s32 i; - h = *(s16 *)((s32)&D_801895C4 + (*(s32 *)(a0 + 0x30) << 3)); - w = *(s32 *)(a0 + 0x20); + h = *(s16 *)((s32)&D_801895C4 + (((Unkstruct_800B5CB8 *)a0)->unk30 << 3)); + w = ((Unkstruct_800B5CB8 *)a0)->unk20; if (h != 0) { - *(s16 *)(w + 0x28) = h; - i = *(s32 *)(a0 + 0x30); - *(s32 *)(a0 + 0x30) = i + 1; - *(s16 *)(w + 0x2A) = *(u16 *)((s32)&D_801895C6 + (i << 3)); + ((Unkstruct_800B5CB8 *)w)->unk28 = h; + i = ((Unkstruct_800B5CB8 *)a0)->unk30; + ((Unkstruct_800B5CB8 *)a0)->unk30 = i + 1; + ((Unkstruct_800B5CB8 *)w)->unk2A = *(u16 *)((s32)&D_801895C6 + (i << 3)); } else { func_801292C8(a0); } @@ -3551,7 +3551,7 @@ void func_8017E580(s32 a0) { extern void (*D_80189620[])(void); void func_8017E5F0(void *a0) { - D_80189620[*(u16 *)((s32)a0 + 0x2)](); + D_80189620[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3572,11 +3572,11 @@ void func_8017E62C(s32 param_1) { void func_8017E694(s32 a0) { extern void func_801292C8(u8 *a0); - if (*(s32 *)(a0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk1C == 0) { func_801292C8(a0); } else { func_8017E6F0(a0); - *(s32 *)(a0 + 0x1c) -= 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; } } @@ -3605,7 +3605,7 @@ void func_8017E6F0(s32 param_1) { C = A; for (i = 0; i < 4; i++) { D = D_80189628[i]; - *(s16 *)(param_1 + 0x12) = i + j; + ((Unkstruct_800B5CB8 *)param_1)->unk12 = i + j; func_8017E830(param_1, buf, &A, &B, &C, &D, param_1 + 0x10, &D_8018960C[i]); } } @@ -3667,7 +3667,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_800491AC(&m); r0_00 = &D_801AA000[0]; - if (*(s16 *)(a + 0x12) == 0) { + if (CAST_SIGN(s16, a, 0x12) == 0) { D_801AA030 = 0x50000000; D_801AA028 = 0; D_801AA029 = 0; @@ -3683,7 +3683,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, f->vy = f->vy + c->vy; r = rand(); mask = f->pad & r; - if (*(u16 *)(a + 0x12) & 1) + if (((Unkstruct_800B5CB8 *)a)->unk12 & 1) f->vx = f->vx + mask; else f->vx = f->vx - mask; @@ -3691,15 +3691,15 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, { int t = f->vy - 0x10; f->vy = t + (r & 0x1f); } gte_ldv0(c); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); gte_stsv(r0_00); gte_ldv0(f); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); gte_stsv(r0_00 + 1); gte_ldv0(d); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); r0 = r0_00 + 2; gte_stsv(r0); @@ -3708,7 +3708,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, d->vx = d->vx - (f->pad & r); gte_ldv0(d); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); pSVar6 = r0_00 + 3; gte_stsv(pSVar6); @@ -3716,7 +3716,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, func_80017714(r0_00); gte_ldv0(e); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); gte_stsv(r0); *e = *f; @@ -3724,7 +3724,7 @@ void func_8017E830(int a, s16 *b, SVECTOR_8017E6D8 *c, SVECTOR_8017E6D8 *d, e->vx = e->vx + (f->pad & r); gte_ldv0(e); - gte_rtv0tr_m(); // !FAKE: gte via gte_rtv0tr_m — memory beyond Sony's `gte_rtv0tr` (P36 T5 gte1) + gte_rtv0tr(); gte_stsv(pSVar6); r0_00->vz = ((u16 *)b)[2]; @@ -3976,8 +3976,8 @@ void func_8017F100(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -3994,11 +3994,11 @@ void func_8017F100(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -4036,34 +4036,34 @@ void func_8017F2E8(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -4081,18 +4081,18 @@ void func_8017F2E8(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; func_8012B1B4(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -4110,19 +4110,19 @@ void func_8017F2E8(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_8017EC48(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -4135,7 +4135,7 @@ void func_8017F2E8(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_8017EC48(a0, 0x51) != 0) { goto rand_tail; } @@ -4143,7 +4143,7 @@ void func_8017F2E8(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -4155,26 +4155,26 @@ void func_8017F2E8(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -4212,41 +4212,41 @@ void func_8017F624(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; func_80180548(param_1, (s32)&D_8019C904); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_8019C90C, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_8019C90C, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_8019C914, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_8019C914, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -4272,7 +4272,7 @@ void func_8017F624(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -4361,10 +4361,10 @@ void func_8017F9FC(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_8019C93C[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_8019C93C[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_8017EF54)(a0); @@ -4372,15 +4372,15 @@ void func_8017F9FC(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -4389,7 +4389,7 @@ void func_8017F9FC(s32 a0) extern void (*D_8019C968[])(void); void func_8017FAD4(void *a0) { - D_8019C968[*(u16 *)((s32)a0 + 0x2)](); + D_8019C968[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4438,40 +4438,40 @@ void func_8017FB10(s32 a0) SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_8019C970); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_8019C970); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { func_8012C218((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { func_8012C218((void *)a0); } @@ -4483,7 +4483,7 @@ void func_8017FB10(s32 a0) extern void (*D_8019C988[])(void); void func_8017FC84(void *a0) { - D_8019C988[*(u16 *)((s32)a0 + 0x2)](); + D_8019C988[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4494,19 +4494,19 @@ extern void func_8012C218(void *a0); void func_8017FCC0(a0) s32 a0; { - if (*(s16 *)(a0 + 0x70) != 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u8 *)(a0 + 0xC1) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; return; } - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8002A04C(a0); func_8012C218((void *)a0); @@ -4610,7 +4610,7 @@ void func_8017FF74(s32 a0) s16 field_a; s32 result; - field_a = *(s16 *)(a0 + 0xA); + field_a = CAST_SIGN(s16, a0, 0xA); if (field_a >= 0x10) { func_801319E0(a0); } else { @@ -4651,38 +4651,38 @@ void func_80180000(s32 a0) { if (func_8012C354(a0, D_8019C808) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_8019E548); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_8019C83C; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8019C83C; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_8019E258); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80185B40; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80185B40; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_8019E530); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80185B40; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80185B40; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -4696,37 +4696,37 @@ void func_80180128(s32 a0) { s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); func_8017EC48(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -4768,20 +4768,20 @@ void func_801802BC(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { func_8001C214(v0, (s32)D_8019E628); func_8012A828(param_1, (void *)D_80185B40); - *(u16 *)(param_1 + 0x2) = 1; - *(s32 *)(param_1 + 0x1C) = 0x40; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x14); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } } @@ -4800,20 +4800,20 @@ void func_8018037C(s32 a0) { s32 v0; - if (*(s16 *)(a0 + 6) == *(s16 *)(a0 + 0xDE) && - *(s16 *)(a0 + 0xE) == *(s16 *)(a0 + 0xE2)) { + if (CAST_SIGN(s16, a0, 6) == *(s16 *)(a0 + 0xDE) && + CAST_SIGN(s16, a0, 0xE) == *(s16 *)(a0 + 0xE2)) { func_8012C218((void *)a0); } else { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 4); - *(s32 *)(a0 + 0xE0) = *(s32 *)(a0 + 0xC); + ((Unkstruct_800B5CB8 *)a0)->unkDC = CAST_WIDTH(s32, a0, 4); + ((Unkstruct_800B5CB8 *)a0)->unkE0 = CAST_WIDTH(s32, a0, 0xC); func_8012B14C(a0, (s32)&D_8019C954); func_8012AD80(a0); if (func_8012D5E4(a0, (s32)&D_8019C960, (s32)&D_800D3918, 0x30) != 0) { func_8012C218((void *)a0); } else { - v0 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { func_8012C218((void *)a0); } else { @@ -4834,47 +4834,47 @@ extern u8 D_8019E6E8[]; void func_80180450(s32 param_1) { - *(s32 *)(param_1 + 0x20) = ((s32 (*)(void))func_8012C1B8)(); - if (*(s32 *)(param_1 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk20 = ((s32 (*)(void))func_8012C1B8)(); + if (((Unkstruct_800B5CB8 *)param_1)->unk20 == 0) { func_8012CAE4((void *)param_1); } else { - func_8001C214(*(s32 *)(param_1 + 0x20), (s32)D_8019E6E8); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)D_8019E6E8); - *(u16 *)(param_1 + 0x2) = 1; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_80047948(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0xC) + (r << 8); + CAST_WIDTH(s32, param_1, 0xC) = CAST_WIDTH(s32, param_1, 0xC) + (r << 8); } { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_8004787C(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x4) + (r << 8); + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x4) + (r << 8); } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(t + 0x2C) = *(u16 *)(t + 0x2C) | 0x10; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x18) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1A) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1C) = 0x1800; } - *(u16 *)(param_1 + 0xAC) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkAC = 2; { s32 r = rand(); - *(u16 *)(param_1 + 0xFC) = r & 0xFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = r & 0xFF; } } } @@ -4999,13 +4999,13 @@ s32 func_801807BC(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_8019E6F0; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -5037,7 +5037,7 @@ s32 func_801807BC(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_8019E6F0; @@ -5073,7 +5073,7 @@ s32 func_801807BC(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -5085,7 +5085,7 @@ s32 func_801807BC(s32 param_1) { extern void (*D_8019E73C[])(void); void func_80180A5C(void *a0) { - D_8019E73C[*(u16 *)((s32)a0 + 0x2)](); + D_8019E73C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5107,29 +5107,29 @@ int func_80180A98(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -5138,9 +5138,9 @@ int func_80180A98(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -5205,7 +5205,7 @@ void func_80180CA8(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -5225,10 +5225,10 @@ void func_80180CA8(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -5243,9 +5243,9 @@ void func_80180CA8(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -5274,11 +5274,11 @@ void func_80180CA8(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -5295,7 +5295,7 @@ void func_80180CA8(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -5333,23 +5333,23 @@ void func_801810AC(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -5370,8 +5370,8 @@ void func_801810AC(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -5412,42 +5412,42 @@ void func_80181220(int param_1) { iVar1 = func_8012C354(param_1, D_8019EE50); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_8019ED94, D_8019ED54); func_800599B8(D_8019ED9C, D_8019ED74); - func_8001C214(*(int *)(param_1 + 0x20), D_801A30BC); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801A30BC); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801A636C); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_8019EE90; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_8019EE90; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801A61D4); - func_8012A828(*(int *)(param_1 + 0xcc), D_801A625C); - func_8012A828(*(int *)(param_1 + 0xd0), D_801A62E4); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801A625C); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801A62E4); return; } @@ -5521,18 +5521,18 @@ void func_801813D0(s32 a0) { func_8012B1B4(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80180A98(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, tbl); } else { goto set1; @@ -5549,21 +5549,21 @@ void func_801813D0(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_80180A98(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -5572,7 +5572,7 @@ void func_801813D0(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_80180A98(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -5584,24 +5584,24 @@ void func_801813D0(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -5722,20 +5722,20 @@ void func_8018165C(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -5744,29 +5744,29 @@ void func_8018165C(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_8019ED14[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_8019ED14[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801A61D4); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801A625C); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801A62E4); } @@ -5797,31 +5797,31 @@ void func_80181B20(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5905,7 +5905,7 @@ void func_80181CF0(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -5919,31 +5919,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5997,15 +5997,15 @@ void func_80181EE0(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_8019EEC0[*(u16 *)(a0 + 0x2)](); + D_8019EEC0[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -6016,11 +6016,11 @@ void func_80181EE0(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -6040,17 +6040,17 @@ void func_80181EE0(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6105,34 +6105,34 @@ void func_801821F8(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -6153,8 +6153,8 @@ void func_801821F8(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -6197,7 +6197,7 @@ void func_801823F0(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -6218,11 +6218,11 @@ void func_801823F0(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -6236,9 +6236,9 @@ void func_801823F0(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -6272,16 +6272,16 @@ void func_801823F0(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -6300,7 +6300,7 @@ void func_801823F0(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6332,34 +6332,34 @@ void func_80182838(short *param_1) D_8019EF48[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -6404,7 +6404,7 @@ void func_80182A48(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -6423,9 +6423,9 @@ void func_80182A48(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -6438,9 +6438,9 @@ void func_80182A48(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6464,7 +6464,7 @@ void func_80182A48(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -6472,15 +6472,15 @@ void func_80182A48(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -6500,7 +6500,7 @@ void func_80182A48(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6598,51 +6598,51 @@ void func_8018309C(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_8019EDA4; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_8019EDB0); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_8019EDA4; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_8019EDB0); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -6678,22 +6678,22 @@ void func_80183340(s32 a0) { func_8012B1B4(a0, (s32)D_8019EEB0); func_8012CBCC(a0); func_80180A98(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801A666C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801A675C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801A675C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801A684C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801A684C); } } } @@ -6706,18 +6706,18 @@ void func_80183440(s32 a0) { extern u8 D_801A646C[]; extern u8 D_801A656C[]; - if (*(s16 *)(a0 + 0x100) == 0) { - *(u16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0x100) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801A636C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801A646C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801A646C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801A656C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801A656C); } } else { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } } @@ -6732,21 +6732,21 @@ void func_801834E0(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6761,17 +6761,17 @@ void func_801835A0(s32 a0) { extern u8 D_801A646C[]; extern u8 D_801A656C[]; - if (*(s16 *)(a0 + 0xFC) == 0) { - *(u16 *)(a0 + 2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801A636C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801A646C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801A646C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801A656C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801A656C); } } else { - *(s16 *)(a0 + 0xFC) = *(s16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = ((Unkstruct_800B5CB8 *)a0)->unkFC - 1; } } @@ -6820,22 +6820,22 @@ void func_80183658(s32 a0) { v0 = func_8012C354(a0, (s32)D_8019EEF4); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801A3E2C); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A3E2C); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801A646C); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_8019EF28; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_8019EF28; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -6851,24 +6851,24 @@ void func_80183750(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -6885,21 +6885,21 @@ void func_80183824(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6956,22 +6956,22 @@ void func_80183924(s32 a0) { v0 = func_8012C354(a0, (s32)D_8019EF6C); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801A4B98); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801A4B98); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_8019EFA0; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_8019EFA0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801A656C); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -6988,38 +6988,38 @@ void func_80183A20(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -7037,21 +7037,21 @@ void func_80183B14(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -7080,44 +7080,44 @@ void func_80183BF4(s32 a0) s32 ret; u16 val; - if (*(u16 *)(s0 + 2) == 0) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1; + if (CAST_SIGN(u16, s0, 2) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1; func_8012B23C(s0); - *(s32 *)(s0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 1; return; } - *(s32 *)(s0 + 0xDC) = *(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unkDC = ((Unkstruct_800B5CB8 *)s0)->unk14; ret = ((s32 (*)(s32))func_8012CBCC)(s0); if (ret != 0 && (ret & 0x6000) != 0) { - s32 cnt = *(s32 *)(s0 + 0x1C) - 1; - *(s32 *)(s0 + 0x1C) = cnt; + s32 cnt = ((Unkstruct_800B5CB8 *)s0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = cnt; if (cnt == 0) { goto L80183CF4; } - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0xDC) >> 2; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unkDC >> 2; } - val = *(u16 *)(s0 + 0xFC) + 1; - *(u16 *)(s0 + 0xFC) = val; + val = CAST_SIGN(u16, s0, 0xFC) + 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = val; if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6; + ((Unkstruct_800B5CB8 *)np)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA; { - u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + u16 t = ((Unkstruct_800B5CB8 *)s0)->unkE; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } - if (*(s16 *)(s0 + 0xA) < 0x20) { + if (CAST_SIGN(s16, s0, 0xA) < 0x20) { return; } @@ -7166,8 +7166,8 @@ void func_80183DB8(s32 p) func_801511E0(p); func_80154274((s32 *)p, (s32)D_801A6944); func_80149020((s32 *)p); - *(u8 *)(p + 0xDE) = 0x1E; - *(u8 *)(p + 0xDF) = 0; + ((Unkstruct_80126B58 *)p)->unkDE = 0x1E; + ((Unkstruct_80126B58 *)p)->unkDF = 0; func_80183FCC(); func_80172630((u8 *)p); func_80146CA0((void *)p); @@ -7277,8 +7277,8 @@ void func_80183E24(s32 param_1) i++; } while (i < 3); - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_80183F78(param_1); func_80159B3C((void *)param_1); @@ -7334,8 +7334,8 @@ void func_80183F78(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -7387,7 +7387,7 @@ done: extern void (*D_801A6970[])(void); void func_80184034(void *a0) { - D_801A6970[*(u16 *)((s32)a0 + 0x2)](); + D_801A6970[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7557,7 +7557,7 @@ s32 func_80184278(s32 *a0, s32 a1) { extern void (*D_801A69A8[])(void); void func_801842E0(void *a0) { - D_801A69A8[*(u16 *)((s32)a0 + 0x2)](); + D_801A69A8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7566,9 +7566,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_8018431C(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -7778,8 +7778,8 @@ void func_8018494C(s32 p) func_80147324(0x451); func_80154274((s32 *)p, (s32)D_801A69E4); func_80149020((s32 *)p); - *(u8 *)(p + 0xDE) = 0x1E; - *(u8 *)(p + 0xDF) = 0; + ((Unkstruct_80126B58 *)p)->unkDE = 0x1E; + ((Unkstruct_80126B58 *)p)->unkDF = 0; func_80183FCC(); func_80146CA0((void *)p); } @@ -7854,7 +7854,7 @@ void func_80184AEC(s32 param_1) extern void (*D_801A6BB0[])(void); void func_80184B5C(void *a0) { - D_801A6BB0[*(u16 *)((s32)a0 + 0x2)](); + D_801A6BB0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7874,20 +7874,20 @@ void func_80184B98(s32 param_1) { s32 v; if (((s32 (*)(s32, void *))func_8012C354)( - param_1, &D_801A6AB0[(*(u16 *)(param_1 + 0x70) & 0xF) * 0x34]) != 0) { - if ((*(u16 *)(param_1 + 0x70) & 1) == 0) { + param_1, &D_801A6AB0[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 0x34]) != 0) { + if ((CAST_SIGN(u16, param_1, 0x70) & 1) == 0) { v = func_8012C658(0x1E3, 1, param_1); - *(s32 *)(param_1 + 0x6C) = v; + ((Unkstruct_800B5CB8 *)param_1)->unk6C = v; if (v == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { - *(s16 *)(param_1 + 0x2) = 1; - *(s32 *)(param_1 + 0xCC) = + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = ((s32 (*)(s32, void *))func_801788B8)(param_1, func_80184E94); } } else { - *(s16 *)(param_1 + 0x2) = 5; - *(u16 *)(param_1 + 0x100) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); func_8012A828(param_1, D_801A7070); } } @@ -7921,7 +7921,7 @@ void func_80184C98(void) { extern void func_80178CBC(s32 a0, s32 a1); extern short D_801A6B60; void func_80184CA0(void * arg0) { - *(short *)((char *)arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; func_80178CBC((int)arg0, (int)&D_801A6B60); } @@ -7948,23 +7948,23 @@ void func_80184D0C(void *a0) { extern u8 D_801A7188[]; s16 mode; - if (*(s16 *)((s32)a0 + 0x100) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unk100 != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801A7080); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 6; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801A7188); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -7975,13 +7975,13 @@ extern void func_8012A828(s32 a0, void * a1); void func_80184DCC(void *a0) { extern u8 D_801A7070[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - if (*(s16 *)((s32)a0 + 0xFE) == 2) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 2) { func_8002D4C8(0x888, 0); func_8012A828((s32)a0, D_801A7070); } - *(s16 *)((s32)a0 + 0x2) = 5; - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } @@ -8066,7 +8066,7 @@ s32 aF801904E0(param_1) extern void (*D_801A75D0[])(void); void func_80184FE8(void *a0) { - D_801A75D0[*(u16 *)((s32)a0 + 0x2)](); + D_801A75D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8099,7 +8099,7 @@ void func_80185024(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801A7328[idx]; @@ -8107,21 +8107,21 @@ void func_80185024(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_801856D0); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_80185B40); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -8328,7 +8328,7 @@ s32 func_80185478(void) { extern void (*D_801A75F8[])(void); void func_801854DC(void *a0) { - D_801A75F8[*(u16 *)((s32)a0 + 0x2)](); + D_801A75F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8350,7 +8350,7 @@ void func_80185518(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -8378,23 +8378,23 @@ void func_801855A0(void *a0) { extern u8 D_801A7188[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801A7080); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801A7188); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -8416,14 +8416,14 @@ void func_80185660(void *a0) { extern u8 D_801A7290[]; extern u8 D_801A7070[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801A7290); } else { func_8012A828((s32)a0, D_801A7070); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } diff --git a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c index 691ba1f7aa..bf60a7e412 100644 --- a/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c +++ b/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c @@ -3996,8 +3996,8 @@ void func_8017CAD4(s32 *ctx, s32 *model, s32 mtxsrc) pkt = D_800A5E60; part = (XPart *)((u8 *)model + 0x14); - nparts = *(s32 *)((u8 *)model + 8); - vtx = *(u8 **)((u8 *)model + 0x10); + nparts = CAST_WIDTH(s32, (u8 *)model, 8); + vtx = CAST_WIDTH(u8 *, (u8 *)model, 0x10); ot = (u32)&D_800A6610[(*(u16 *)&D_800B9A02) << 14]; for (j = 0; j < nparts; j++, part++) { @@ -4278,14 +4278,14 @@ extern u8 D_8018A3E4[]; void func_8017D748(s32 a0) { if (currentLocationId == 0x3083) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0xA) - 8; + ((Unkstruct_80126B58 *)a0)->unkA = ((Unkstruct_80126B58 *)a0)->unkA - 8; } func_80147324(0x451); ((void (*)(s32))func_801511E0)(a0); ((void (*)(s32, s32))func_80154274)(a0, (s32)D_8018A3E4); ((void (*)(s32))func_80149020)(a0); - *(u8 *)(a0 + 0xDE) = 0xA; - *(u8 *)(a0 + 0xDF) = 0; + ((Unkstruct_80126B58 *)a0)->unkDE = 0xA; + ((Unkstruct_80126B58 *)a0)->unkDF = 0; func_8017D97C(); func_80146CA0((void *)a0); } @@ -4359,8 +4359,8 @@ void func_8017D7CC(s32 param_1) } } - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017D928(param_1); func_80159B3C((void *)param_1); @@ -4414,8 +4414,8 @@ void func_8017D928(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -4467,7 +4467,7 @@ done: extern void (*D_8018A410[])(void); void func_8017D9E4(void *a0) { - D_8018A410[*(u16 *)((s32)a0 + 0x2)](); + D_8018A410[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4637,7 +4637,7 @@ s32 func_8017DC28(s32 *a0, s32 a1) { extern void (*D_8018A448[])(void); void func_8017DC90(void *a0) { - D_8018A448[*(u16 *)((s32)a0 + 0x2)](); + D_8018A448[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4646,9 +4646,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_8017DCCC(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -5074,12 +5074,12 @@ void func_8017E764(s32 param_1) i = *(s16 *)&D_80126B66; if ((u32)(i - 0x44E) >= 0x32C5U) { - if (*(s16 *)(param_1 + 0x84) != 0) { - *(s16 *)(param_1 + 0x84) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk84 = 0; func_8002D4C8(4, 0x931); } } else { - *(s16 *)(param_1 + 0x84) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk84 = 1; if (i < 0x5CE) { func_8002D4C8(0x931, (((i - 0x44E) * 0x7F / 0x180) | 0x1000) & 0xFFFF); } else if (i >= 0x3593) { @@ -5089,21 +5089,21 @@ void func_8017E764(s32 param_1) } } - if (*(u16 *)(param_1 + 2) == 0) { + if (CAST_SIGN(u16, param_1, 2) == 0) { hundred = 100; row = &D_8018A5A2; for (i = 0x13F; i >= 0; i--) { *row = hundred; row += 4; } - *(s32 *)(param_1 + 0xCC) = func_8012C658(0x238, 0xA, param_1); - *(u16 *)(param_1 + 2) += 1; - *(u16 *)(param_1 + 0xE) += 0x5F0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_8012C658(0x238, 0xA, param_1); + CAST_SIGN(u16, param_1, 2) += 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE += 0x5F0; } ent = D_801202A0; i = 0; - pos[0] = *(u16 *)(param_1 + 6); + pos[0] = ((Unkstruct_800B5CB8 *)param_1)->unk6; { u16 tt; /* `val` is the loop's table-value temp reused here (both live in $v1 in the target): its second set keeps @@ -5111,19 +5111,19 @@ void func_8017E764(s32 param_1) * store and global-alloc gives it $v1 (P36 S104 e26). */ val = (s32)&D_80126B66; tt = *(volatile u16 *)val; /* a byte-needed volatile, kept as ordinary C (gate-1 decision 3): a volatile MEM fails combine's recog (combine.c:491 init_recog_no_volatile, recog.c:807), so the address stays in a register (la + lhu 0(reg)) (P36 S104 e26 minimum-lever) */ - pos[1] = *(u16 *)(param_1 + 0xA); + pos[1] = ((Unkstruct_800B5CB8 *)param_1)->unkA; pos[2] = tt + 8; } np = (u16 *)D_801152A8; - t = (ratan2(*(s16 *)&D_80126B62 - *(s16 *)(param_1 + 0xA), - *(s16 *)&D_80126B5E - *(s16 *)(param_1 + 6)) - 0x400) & 0xFFF; + t = (ratan2(*(s16 *)&D_80126B62 - CAST_SIGN(s16, param_1, 0xA), + *(s16 *)&D_80126B5E - CAST_SIGN(s16, param_1, 6)) - 0x400) & 0xFFF; angle = t; adv[0] = pos[0] - (func_8004787C(t) >> 3); adv[1] = pos[1] + (func_80047948(t) >> 3); adv[2] = pos[2]; - self = *(s32 *)(param_1 + 0xCC); + self = ((Unkstruct_800B5CB8 *)param_1)->unkCC; angle2 = t; - *(u16 *)(self + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)self)->unk5C = 0; for (; i < 0x60; ent += 0x10C, i++) { if (*(u16 *)ent != 0x238) { @@ -5137,9 +5137,9 @@ void func_8017E764(s32 param_1) continue; } found = 0; - *(u16 *)(self + 0x5C) = 0x4C08; - if (*(u8 *)(self + 0x74) != 0) { - *(s32 *)(param_1 + 0xDC) = flag; + ((Unkstruct_800B5CB8 *)self)->unk5C = 0x4C08; + if (((Unkstruct_800B5CB8 *)self)->unk74 != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkDC = flag; if (*(s16 *)(ent + 0x70) == 0) { mv[0] = D_80126B5E; mv[1] = D_80126B62; @@ -5149,7 +5149,7 @@ void func_8017E764(s32 param_1) np[2] = -np[2]; func_8012F568(1, 0x4018, 0, 0x20, (s32)mv, (s32)np); } - j = *(s16 *)&D_80126B66 - *(s16 *)(param_1 + 0xE) + 0x98; + j = *(s16 *)&D_80126B66 - CAST_SIGN(s16, param_1, 0xE) + 0x98; j = j / 0x130; val = (&D_8018A5A0)[j * 0x20]; if (val == flag) { @@ -5157,7 +5157,7 @@ void func_8017E764(s32 param_1) } if (val < 2) { if (val == 0) { - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) = angle; + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) = angle; } goto Ldone; } @@ -5166,58 +5166,58 @@ void func_8017E764(s32 param_1) } goto Ldone; Lup: - *(s16 *)(*(s32 *)(self + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) + 0x10; + *(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) + 0x10; found = 1; - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) &= 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) &= 0xFFF; goto Ldone; Ldown: - *(s16 *)(*(s32 *)(self + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) - 0x10; + *(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) - 0x10; found = 1; - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) &= 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) &= 0xFFF; } else { - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) = angle; + *(u16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14) = angle; } Ldone: - *(s32 *)(self + 4) = *(s32 *)(param_1 + 4) - - func_8004787C(*(s16 *)(*(s32 *)(self + 0x20) + 0x14)) * 0x1A40; - *(s32 *)(self + 8) = *(s32 *)(param_1 + 8) - + func_80047948(*(s16 *)(*(s32 *)(self + 0x20) + 0x14)) * 0x1A40; - *(s32 *)(self + 0xC) = D_80126B64; + CAST_WIDTH(s32, self, 4) = CAST_WIDTH(s32, param_1, 4) + - func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14)) * 0x1A40; + CAST_WIDTH(s32, self, 8) = CAST_WIDTH(s32, param_1, 8) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14)) * 0x1A40; + CAST_WIDTH(s32, self, 0xC) = D_80126B64; if (found != 0) { src3[0] = *(s32 *)&D_80126B5C; src3[1] = D_80126B60; src3[2] = *(s32 *)(&D_80126B5C + 8); midp = mid; - func_8012F0BC((s32 *)(*(s32 *)(self + 0x20) + 0x34), src3, midp); + func_8012F0BC((s32 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x34), src3, midp); midp = 0; func_8012B2CC(self); - func_8012F1A4((s32 *)(*(s32 *)(self + 0x20) + 0x34), mid, dst2); + func_8012F1A4((s32 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x34), mid, dst2); *(s32 *)&D_80126B5C = dst2[0]; D_80126B60 = dst2[1]; - *(u16 *)(*(s32 *)(self + 0x20) + 0x14) = angle; - *(s32 *)(self + 4) = *(s32 *)(param_1 + 4) - - func_8004787C(*(s16 *)(*(s32 *)(self + 0x20) + 0x14)) * 0x1A40; - *(s32 *)(self + 8) = *(s32 *)(param_1 + 8) - + func_80047948(*(s16 *)(*(s32 *)(self + 0x20) + 0x14)) * 0x1A40; + CAST_WIDTH(u16, *(s32 *)(self + 0x20), 0x14) = angle; + CAST_WIDTH(s32, self, 4) = CAST_WIDTH(s32, param_1, 4) + - func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14)) * 0x1A40; + CAST_WIDTH(s32, self, 8) = CAST_WIDTH(s32, param_1, 8) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)self)->unk20 + 0x14)) * 0x1A40; func_8012B2CC(self); } - if (*(s32 *)(param_1 + 0xDC) != 0) { - i = *(s16 *)&D_80126B5E - *(s16 *)(param_1 + 6); - j = *(s16 *)&D_80126B62 - *(s16 *)(param_1 + 0xA); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) { + i = *(s16 *)&D_80126B5E - CAST_SIGN(s16, param_1, 6); + j = *(s16 *)&D_80126B62 - CAST_SIGN(s16, param_1, 0xA); if (i * i + j * j > 0x14D10) { - *(s32 *)&D_80126B5C = *(s32 *)(param_1 + 4) - func_8004787C(angle2) * 0x1240; - D_80126B60 = *(s32 *)(param_1 + 8) + func_80047948(angle2) * 0x1240; + *(s32 *)&D_80126B5C = CAST_WIDTH(s32, param_1, 4) - func_8004787C(angle2) * 0x1240; + D_80126B60 = CAST_WIDTH(s32, param_1, 8) + func_80047948(angle2) * 0x1240; } } } - if (*(u16 *)(self + 0x5C) == 0) { - *(s32 *)(param_1 + 0xDC) = 0; + if (((Unkstruct_800B5CB8 *)self)->unk5C == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; } - *(u16 *)(param_1 + 0xFC) = (*(u16 *)(param_1 + 0xFC) + 0x10) & 0xFFF; - i = *(s16 *)&D_80126B66 - *(s16 *)(param_1 + 0xE); + CAST_ALIAS(u16, param_1, 0xFC) = (CAST_SIGN(u16, param_1, 0xFC) + 0x10) & 0xFFF; + i = *(s16 *)&D_80126B66 - CAST_SIGN(s16, param_1, 0xE); j = i / 0x130; j -= 2; row = &D_8018A59C + j * 0x20; @@ -5254,20 +5254,20 @@ void func_8017EE3C(s32 a0) u16 *cursor; s32 val; - cursor = *(u16 **)(a0 + 0xCC); + cursor = CAST_SIGN(u16 *, a0, 0xCC); cursor += 3; if (*cursor == 0xC8) { *cursor = 0x64; func_8012C218((void *)a0); return; } - if (*(u16 *)(a0 + 0x34) == 0) { - *(u32 *)(*(s32 *)(a0 + 0x20) + 4) &= 0x7FFFFFFF; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) &= 0x7FFFFFFF; cursor -= 3; if (*cursor != 1) { - *(u16 *)(a0 + 0x34) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } else { - *(u16 *)(a0 + 0x34) += 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 += 2; } cursor += 3; } @@ -5275,28 +5275,28 @@ void func_8017EE3C(s32 a0) switch (*cursor) { case 0: cursor--; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = *cursor; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = *cursor; break; case 1: cursor--; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x64) + 0xFC) + *cursor; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) &= 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC) + *cursor; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) &= 0xFFF; break; case 2: cursor--; val = *cursor + 0x1000; - val -= *(u16 *)(*(s32 *)(a0 + 0x64) + 0xFC); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = val; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) &= 0xFFF; + val -= *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xFC); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = val; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) &= 0xFFF; break; } - *(s32 *)(a0 + 4) = *(s32 *)(*(s32 *)(a0 + 0x64) + 4) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14)) * 0x1200; + CAST_WIDTH(s32, a0, 4) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 4) + - func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14)) * 0x1200; cursor += 2; - *(s32 *)(a0 + 8) = *(s32 *)(*(s32 *)(a0 + 0x64) + 8) - + func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14)) * 0x1200; - *(s32 *)(a0 + 0xC) = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xC) + *cursor * 0x1300000; + CAST_WIDTH(s32, a0, 8) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 8) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14)) * 0x1200; + CAST_WIDTH(s32, a0, 0xC) = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xC) + *cursor * 0x1300000; *cursor = 0xC8; } @@ -5311,9 +5311,9 @@ void func_8017F024(s32 a0) { * in the RTL (cse deletes the copy — $a0 still holds the parameter), so the later argument copy is not a * "birthing" insn for sched1 (sched.c:2469-2545) and stays at the top of the block, where it keeps the mask * constant out of $a0 (P36 S104 e26). */ - ((void (*)(s32))D_8018AFBC[*(u16 *)(a0 + 2)])(a0); - if (*(u16 *)a0 != 0) { - p = *(s32 **)(a0 + 0x20); + ((void (*)(s32))D_8018AFBC[CAST_SIGN(u16, a0, 2)])(a0); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + p = CAST_SIGN(s32 *, a0, 0x20); p[1] |= 0x80000000; func_8012B2CC(a0); } @@ -5636,25 +5636,25 @@ void func_8017F978(s32 a0) s32 v0; s32 v1; - if (*(u16 *)(a0 + 0x0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { s0 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); if (s0 != 0) { - *(u16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(u16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; - *(u16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x3F) - 0x20; - *(s32 *)(s0 + 0x10) = -*(s32 *)(a0 + 0x10); - *(s32 *)(s0 + 0x14) = -*(s32 *)(a0 + 0x14); - *(s32 *)(s0 + 0x18) = -*(s32 *)(a0 + 0x18); + *(u16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(u16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; + *(u16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x3F) - 0x20; + *(s32 *)(s0 + 0x10) = -CAST_WIDTH(s32, a0, 0x10); + *(s32 *)(s0 + 0x14) = -((Unkstruct_800B5CB8 *)a0)->unk14; + *(s32 *)(s0 + 0x18) = -CAST_WIDTH(s32, a0, 0x18); *(u16 *)(*(s32 *)(s0 + 0x20) + 0x18) = 0x800; *(u16 *)(*(s32 *)(s0 + 0x20) + 0x1A) = 0x800; } - v0 = *(s16 *)(a0 + 0x6); + v0 = CAST_SIGN(s16, a0, 0x6); v1 = v0 * v0; - v0 = *(s16 *)(a0 + 0xA) + 0x482; + v0 = CAST_SIGN(s16, a0, 0xA) + 0x482; v1 += v0 * v0; if (0x1323F < v1) { func_8012ADE4(a0); - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } func_8017F278((void *)a0); } @@ -5782,40 +5782,40 @@ void func_8017FE3C(s32 a0) u16 state; s32 tmp0; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - if (0x1323F < *(s16 *)(a0 + 6) * *(s16 *)(a0 + 6) + - (*(s16 *)(a0 + 0xA) + 0x482) * (*(s16 *)(a0 + 0xA) + 0x482)) { + if (0x1323F < CAST_SIGN(s16, a0, 6) * CAST_SIGN(s16, a0, 6) + + (CAST_SIGN(s16, a0, 0xA) + 0x482) * (CAST_SIGN(s16, a0, 0xA) + 0x482)) { func_8012ADE4(a0); - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 p20; @@ -5830,12 +5830,12 @@ void func_8017FE3C(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - tmp0 = *(s32 *)(a0 + 0x20); + tmp0 = ((Unkstruct_800B5CB8 *)a0)->unk20; v1p = tmp0; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; func_8012B1B4(a0, (s32)sp10); @@ -5845,7 +5845,7 @@ void func_8017FE3C(s32 a0) s32 ret; s32 t; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); t = ret > 0x3FFFF; if (t == 0) { @@ -5861,19 +5861,19 @@ void func_8017FE3C(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; - if (*(s16 *)(a0 + 0x102) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { state = 3; goto store_state; } - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; goto end_switch; } case 3: { @@ -5884,10 +5884,10 @@ void func_8017FE3C(s32 a0) s32 b608; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (ret > 0x40000) { p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -5902,26 +5902,26 @@ void func_8017FE3C(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; goto end_switch; set_state1: state = 1; store_state: - *(u16 *)(a0 + 0x34) = state; + ((Unkstruct_800B5CB8 *)a0)->unk34 = state; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -5938,42 +5938,42 @@ void func_80180170(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - if (0x1323F < *(s16 *)(a0 + 6) * *(s16 *)(a0 + 6) + - (*(s16 *)(a0 + 0xA) + 0x482) * (*(s16 *)(a0 + 0xA) + 0x482)) { + if (0x1323F < CAST_SIGN(s16, a0, 6) * CAST_SIGN(s16, a0, 6) + + (CAST_SIGN(s16, a0, 0xA) + 0x482) * (CAST_SIGN(s16, a0, 0xA) + 0x482)) { func_8012ADE4(a0); - *(s32 *)(a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -5998,33 +5998,33 @@ void func_801802E0(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; func_801829FC(param_1, (s32)D_8018B0D4); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - func_8012F14C(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_8018B0DC, (s32)nv); - *(s16 *)(s0 + 6) = nv[0]; - *(s16 *)(s0 + 0xA) = nv[1]; - *(s16 *)(s0 + 0xE) = nv[2]; + func_8012F14C(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_8018B0DC, (s32)nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - func_8012F14C(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_8018B0E4, (s32)nv); - *(s16 *)(s0 + 6) = nv[0]; - *(s16 *)(s0 + 0xA) = nv[1]; - *(s16 *)(s0 + 0xE) = nv[2]; + func_8012F14C(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_8018B0E4, (s32)nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } @@ -6032,7 +6032,7 @@ void func_801802E0(s32 param_1) func_8017F10C(param_1, 0x84A); } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -6063,22 +6063,22 @@ void func_801804B0(s32 param_1) s32 iVar1; iVar1 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar1; if (iVar1 == 0) { func_8012CAE4((void *)param_1); } else { - if (*(short *)(param_1 + 0x70) == 10) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 10) { func_8001C2C4(iVar1); - *(s32 *)(param_1 + 0x58) = (s32)D_8018AFAC | 0x40000000 | 0x20000000; - *(short *)(param_1 + 2) += 2; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)D_8018AFAC | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)param_1)->unk2 += 2; } else { - func_8001C214(iVar1, ((s32 *)&D_8018A574)[*(short *)(param_1 + 0x70)]); - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000100; - *(s32 *)(param_1 + 0x58) = (s32)&D_8018AF9C | 0x40000000 | 0x20000000; - *(short *)(param_1 + 2) += 1; + func_8001C214(iVar1, ((s32 *)&D_8018A574)[((Unkstruct_800B5CB8 *)param_1)->unk70]); + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000100; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)&D_8018AF9C | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)param_1)->unk2 += 1; } - *(u8 *)(param_1 + 0xC0) = 1; - *(u8 *)(param_1 + 0x75) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 8; } } @@ -6137,13 +6137,13 @@ void func_8018072C(void *a0) { s32 y; void *p; - x = *(s16 *)((s32)a0 + 6); - y = *(s16 *)((s32)a0 + 0xA); + x = CAST_SIGN(s16, (s32)a0, 6); + y = CAST_SIGN(s16, (s32)a0, 0xA); if (x * x + (y + 0x482) * (y + 0x482) > 0x1323F) { func_8012ADE4((s32)a0); - *(s32 *)((s32)a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } - p = *(void **)((s32)a0 + 0x20); + p = CAST_SIGN(void *, (s32)a0, 0x20); *(u16 *)((s32)p + 0x10) = 0xE00; func_8017F278(a0); } @@ -6154,13 +6154,13 @@ void func_801807AC(void *a0) { s32 y; void *p; - x = *(s16 *)((s32)a0 + 6); - y = *(s16 *)((s32)a0 + 0xA); + x = CAST_SIGN(s16, (s32)a0, 6); + y = CAST_SIGN(s16, (s32)a0, 0xA); if (x * x + (y + 0x482) * (y + 0x482) > 0x1323F) { func_8012ADE4((s32)a0); - *(s32 *)((s32)a0 + 0x14) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0; } - p = *(void **)((s32)a0 + 0x20); + p = CAST_SIGN(void *, (s32)a0, 0x20); *(u16 *)((s32)p + 0x10) += 0x20; func_8017F278(a0); } @@ -6199,38 +6199,38 @@ void func_80180864(s32 a0) { if (func_8012C354(a0, D_8018AFD8) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801A683C); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_8018B00C; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_8018B00C; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801A654C); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80186D1C; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80186D1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801A6824); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80186D1C; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80186D1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -6565,21 +6565,21 @@ s32 param_2; SVECTOR sv1; SVECTOR sv2; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (short)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } return 0; @@ -6763,8 +6763,8 @@ void func_801815B4(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -6781,11 +6781,11 @@ void func_801815B4(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -6824,34 +6824,34 @@ void func_8018179C(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -6869,18 +6869,18 @@ void func_8018179C(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; func_8012B1B4(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -6898,19 +6898,19 @@ void func_8018179C(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_801810FC(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -6923,7 +6923,7 @@ void func_8018179C(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_801810FC(a0, 0x51) != 0) { goto rand_tail; } @@ -6931,7 +6931,7 @@ void func_8018179C(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -6943,26 +6943,26 @@ void func_8018179C(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -7003,41 +7003,41 @@ void func_80181AD8(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; func_801829FC(param_1, (s32)&D_801A4BF8); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801A4C00, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801A4C00, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801A4C08, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801A4C08, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -7063,7 +7063,7 @@ void func_80181AD8(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -7158,10 +7158,10 @@ void func_80181EB0(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_801A4C30[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_801A4C30[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_80181408)(a0); @@ -7169,15 +7169,15 @@ void func_80181EB0(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -7186,7 +7186,7 @@ void func_80181EB0(s32 a0) extern void (*D_801A4C5C[])(void); void func_80181F88(void *a0) { - D_801A4C5C[*(u16 *)((s32)a0 + 0x2)](); + D_801A4C5C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7235,40 +7235,40 @@ void func_80181FC4(s32 a0) SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_801A4C64); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_801A4C64); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { func_8012C218((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { func_8012C218((void *)a0); } @@ -7280,7 +7280,7 @@ void func_80181FC4(s32 a0) extern void (*D_801A4C7C[])(void); void func_80182138(void *a0) { - D_801A4C7C[*(u16 *)((s32)a0 + 0x2)](); + D_801A4C7C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7291,19 +7291,19 @@ extern void func_8012C218(void *a0); void func_80182174(a0) s32 a0; { - if (*(s16 *)(a0 + 0x70) != 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u8 *)(a0 + 0xC1) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; return; } - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8002A04C(a0); func_8012C218((void *)a0); @@ -7404,7 +7404,7 @@ void func_80182428(s32 a0) s16 field_a; s32 result; - field_a = *(s16 *)(a0 + 0xA); + field_a = CAST_SIGN(s16, a0, 0xA); if (field_a >= 0x10) { func_801319E0(a0); } else { @@ -7446,38 +7446,38 @@ void func_801824B4(s32 a0) { if (func_8012C354(a0, D_801A4AFC) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801A683C); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801A4B30; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801A4B30; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801A654C); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80186D1C; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80186D1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801A6824); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80186D1C; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80186D1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -7494,37 +7494,37 @@ void func_801825DC(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); func_801810FC(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -7564,20 +7564,20 @@ void func_80182770(s32 param_1) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { func_8001C214(v0, (s32)D_801A691C); func_8012A828(param_1, D_80186D1C); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 0x40; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x14); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } } @@ -7594,14 +7594,14 @@ void func_80182830(s32 a0) extern u8 D_801A4C48[]; extern u8 D_801A4C54[]; - if ((*(s16 *)(a0 + 6) == *(s16 *)(a0 + 0xDE)) && - (*(s16 *)(a0 + 0xE) == *(s16 *)(a0 + 0xE2))) { + if ((CAST_SIGN(s16, a0, 6) == *(s16 *)(a0 + 0xDE)) && + (CAST_SIGN(s16, a0, 0xE) == *(s16 *)(a0 + 0xE2))) { ((void (*)(s32))func_8012C218)(a0); return; } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 4); - *(s32 *)(a0 + 0xE0) = *(s32 *)(a0 + 0xC); + ((Unkstruct_800B5CB8 *)a0)->unkDC = CAST_WIDTH(s32, a0, 4); + ((Unkstruct_800B5CB8 *)a0)->unkE0 = CAST_WIDTH(s32, a0, 0xC); func_8012B14C(a0, (s32)D_801A4C48); func_8012AD80(a0); if (func_8012D5E4(a0, (s32)D_801A4C54, (s32)D_800D3918, 0x30) != 0) { @@ -7609,9 +7609,9 @@ void func_80182830(s32 a0) return; } { - s32 t = *(s32 *)(a0 + 0x1C); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unk1C; t = t - 1; - *(s32 *)(a0 + 0x1C) = t; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t == 0) { ((void (*)(s32))func_8012C218)(a0); } else { @@ -7633,47 +7633,47 @@ void func_80182904(s32 param_1) { extern u8 D_801A69DC[]; - *(s32 *)(param_1 + 0x20) = ((s32 (*)(void))func_8012C1B8)(); - if (*(s32 *)(param_1 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk20 = ((s32 (*)(void))func_8012C1B8)(); + if (((Unkstruct_800B5CB8 *)param_1)->unk20 == 0) { func_8012CAE4((void *)param_1); } else { - func_8001C214(*(s32 *)(param_1 + 0x20), (s32)D_801A69DC); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)D_801A69DC); - *(u16 *)(param_1 + 0x2) = 1; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_80047948(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0xC) + (r << 8); + CAST_WIDTH(s32, param_1, 0xC) = CAST_WIDTH(s32, param_1, 0xC) + (r << 8); } { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_8004787C(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x4) + (r << 8); + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x4) + (r << 8); } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(t + 0x2C) = *(u16 *)(t + 0x2C) | 0x10; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x18) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1A) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1C) = 0x1800; } - *(u16 *)(param_1 + 0xAC) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkAC = 2; { s32 r = rand(); - *(u16 *)(param_1 + 0xFC) = r & 0xFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = r & 0xFF; } } } @@ -7798,13 +7798,13 @@ s32 func_80182C70(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_801A69E4; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -7836,7 +7836,7 @@ s32 func_80182C70(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_801A69E4; @@ -7872,7 +7872,7 @@ s32 func_80182C70(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -7884,7 +7884,7 @@ s32 func_80182C70(s32 param_1) { extern void (*D_801A6A30[])(void); void func_80182F10(void *a0) { - D_801A6A30[*(u16 *)((s32)a0 + 0x2)](); + D_801A6A30[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7906,29 +7906,29 @@ int func_80182F4C(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -7937,9 +7937,9 @@ int func_80182F4C(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -8007,7 +8007,7 @@ void func_8018315C(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -8027,10 +8027,10 @@ void func_8018315C(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -8045,9 +8045,9 @@ void func_8018315C(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -8076,11 +8076,11 @@ void func_8018315C(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -8097,7 +8097,7 @@ void func_8018315C(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -8137,23 +8137,23 @@ void func_80183560(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -8174,8 +8174,8 @@ void func_80183560(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -8216,42 +8216,42 @@ void func_801836D4(int param_1) { iVar1 = func_8012C354(param_1, D_801A7144); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801A7088, D_801A7048); func_800599B8(D_801A7090, D_801A7068); - func_8001C214(*(int *)(param_1 + 0x20), D_801AB3B0); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801AB3B0); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801AE660); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801A7184; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801A7184; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801AE4C8); - func_8012A828(*(int *)(param_1 + 0xcc), D_801AE550); - func_8012A828(*(int *)(param_1 + 0xd0), D_801AE5D8); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801AE550); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801AE5D8); return; } @@ -8324,18 +8324,18 @@ void func_80183884(s32 a0) { func_8012B1B4(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80182F4C(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, tbl); } else { goto set1; @@ -8352,21 +8352,21 @@ void func_80183884(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_80182F4C(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -8375,7 +8375,7 @@ void func_80183884(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_80182F4C(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -8387,24 +8387,24 @@ void func_80183884(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -8467,20 +8467,20 @@ void func_80183B10(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -8489,29 +8489,29 @@ void func_80183B10(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus7) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801A7008[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801A7008[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801AE4C8); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801AE550); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801AE5D8); } @@ -8542,31 +8542,31 @@ void func_80183FD4(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -8651,7 +8651,7 @@ void func_801841A4(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -8665,31 +8665,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -8740,15 +8740,15 @@ void func_80184394(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801A71B4[*(u16 *)(a0 + 0x2)](); + D_801A71B4[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -8759,11 +8759,11 @@ void func_80184394(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -8783,17 +8783,17 @@ void func_80184394(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -8848,34 +8848,34 @@ void func_801846AC(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -8896,8 +8896,8 @@ void func_801846AC(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -8943,7 +8943,7 @@ void func_801848A4(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -8964,11 +8964,11 @@ void func_801848A4(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -8982,9 +8982,9 @@ void func_801848A4(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -9018,16 +9018,16 @@ void func_801848A4(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -9046,7 +9046,7 @@ void func_801848A4(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -9078,34 +9078,34 @@ void func_80184CEC(short *param_1) D_801A723C[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -9151,7 +9151,7 @@ void func_80184EFC(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -9170,9 +9170,9 @@ void func_80184EFC(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -9185,9 +9185,9 @@ void func_80184EFC(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -9211,7 +9211,7 @@ void func_80184EFC(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -9219,15 +9219,15 @@ void func_80184EFC(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -9247,7 +9247,7 @@ void func_80184EFC(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -9345,51 +9345,51 @@ void func_80185550(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801A7098; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801A70A4); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801A7098; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801A70A4); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -9423,22 +9423,22 @@ void func_801857F4(s32 a0) { func_8012B1B4(a0, (s32)D_801A71A4); func_8012CBCC(a0); func_80182F4C(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801AE960); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801AEA50); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801AEA50); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801AEB40); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801AEB40); } } } @@ -9453,19 +9453,19 @@ void func_801858F4(s32 a0) { extern u8 D_801AE860[]; s16 v0; - do { v0 = *(s16 *)(s0 + 0x100); } while (0); + do { v0 = ((Unkstruct_800B5CB8 *)s0)->unk100; } while (0); if (v0 == 0) { - *(u16 *)(s0 + 2) = 1; - *(u16 *)(s0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = 0x3C; func_8012A828(a0, D_801AE660); - if (*(s32 *)(s0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(s0 + 0xCC), D_801AE760); + if (((Unkstruct_800B5CB8 *)s0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)s0)->unkCC, D_801AE760); } - if (*(s32 *)(s0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(s0 + 0xD0), D_801AE860); + if (((Unkstruct_800B5CB8 *)s0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)s0)->unkD0, D_801AE860); } } else { - *(u16 *)(s0 + 0x100) = v0 - 1; + ((Unkstruct_800B5CB8 *)s0)->unk100 = v0 - 1; } } @@ -9481,21 +9481,21 @@ void func_80185994(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -9511,17 +9511,17 @@ extern u8 D_801AE760[]; extern u8 D_801AE860[]; void func_80185A54(void *a0) { - if (*(s16 *)((s32)a0 + 0xFC) == 0) { - *(u16 *)((s32)a0 + 2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828((s32)a0, D_801AE660); - if (*(s32 *)((s32)a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)((s32)a0 + 0xCC), D_801AE760); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801AE760); } - if (*(s32 *)((s32)a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)((s32)a0 + 0xD0), D_801AE860); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801AE860); } } else { - *(s16 *)((s32)a0 + 0xFC) = *(s16 *)((s32)a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = ((Unkstruct_800B5CB8 *)a0)->unkFC - 1; } } @@ -9572,22 +9572,22 @@ void func_80185B0C(s32 a0) { v0 = func_8012C354(a0, (s32)D_801A71E8); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801AC120); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AC120); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801AE760); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_801A721C; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_801A721C; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -9603,24 +9603,24 @@ void func_80185C04(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -9637,21 +9637,21 @@ void func_80185CD8(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -9712,22 +9712,22 @@ void func_80185DD8(s32 a0) { v0 = func_8012C354(a0, (s32)D_801A7260); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801ACE8C); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801ACE8C); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_801A7294; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_801A7294; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801AE860); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -9745,38 +9745,38 @@ void func_80185ED4(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -9794,21 +9794,21 @@ void func_80185FC8(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -9836,44 +9836,44 @@ void func_801860A8(s32 a0) s32 ret; u16 val; - if (*(u16 *)(s0 + 2) == 0) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1; + if (CAST_SIGN(u16, s0, 2) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1; func_8012B23C(s0); - *(s32 *)(s0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 1; return; } - *(s32 *)(s0 + 0xDC) = *(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unkDC = ((Unkstruct_800B5CB8 *)s0)->unk14; ret = ((s32 (*)(s32))func_8012CBCC)(s0); if (ret != 0 && (ret & 0x6000) != 0) { - s32 cnt = *(s32 *)(s0 + 0x1C) - 1; - *(s32 *)(s0 + 0x1C) = cnt; + s32 cnt = ((Unkstruct_800B5CB8 *)s0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = cnt; if (cnt == 0) { goto L80183CF4; } - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0xDC) >> 2; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unkDC >> 2; } - val = *(u16 *)(s0 + 0xFC) + 1; - *(u16 *)(s0 + 0xFC) = val; + val = CAST_SIGN(u16, s0, 0xFC) + 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = val; if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6; + ((Unkstruct_800B5CB8 *)np)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA; { - u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + u16 t = ((Unkstruct_800B5CB8 *)s0)->unkE; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } - if (*(s16 *)(s0 + 0xA) < 0x20) { + if (CAST_SIGN(s16, s0, 0xA) < 0x20) { return; } @@ -9885,7 +9885,7 @@ L80183CF4: extern void (*D_801AEF60[])(void); void func_801861C4(void *a0) { - D_801AEF60[*(u16 *)((s32)a0 + 0x2)](); + D_801AEF60[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9918,7 +9918,7 @@ void func_80186200(void *a0) { return; } - ptr = *(void **)((s32)a0 + 0xDC); + ptr = CAST_SIGN(void *, (s32)a0, 0xDC); idx = *(u16 *)((s32)ptr + 0xA); arr_elem = D_801AECB8[idx]; @@ -9926,21 +9926,21 @@ void func_80186200(void *a0) { if ((res1 & 0xFF) == 0) { res2 = func_801788B8((s32)a0, (s32)func_801868AC); - *(s32 *)((s32)a0 + 0xCC) = res2; + ((Unkstruct_800B5CB8 *)a0)->unkCC = res2; } else { - val = *(s16 *)((s32)a0 + 0x70); + val = ((Unkstruct_800B5CB8 *)a0)->unk70; val |= 0x4000; - *(s16 *)((s32)a0 + 0x70) = val; + ((Unkstruct_800B5CB8 *)a0)->unk70 = val; } - res2 = func_8012C658(0x8F, *(s16 *)((s32)a0 + 0x70), (s32)a0); - *(s32 *)((s32)a0 + 0x6C) = res2; + res2 = func_8012C658(0x8F, ((Unkstruct_800B5CB8 *)a0)->unk70, (s32)a0); + ((Unkstruct_800B5CB8 *)a0)->unk6C = res2; if (res2 == 0) { func_8012CAE4(a0); } else { func_8012A828((s32)a0, D_80186D1C); - *(u16 *)((s32)a0 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; } } @@ -10146,7 +10146,7 @@ s32 func_80186654(void) { extern void (*D_801AEF88[])(void); void func_801866B8(void *a0) { - D_801AEF88[*(u16 *)((s32)a0 + 0x2)](); + D_801AEF88[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -10168,7 +10168,7 @@ void func_801866F4(void *a0) { return; } - ptr = *(s32 *)((s32)a0 + 0x64); + ptr = ((Unkstruct_800B5CB8 *)a0)->unk64; v1 = *(unsigned short *)(ptr + 0x36); v0 = *(unsigned short *)((s32)a0 + 0x70); *(unsigned short *)((s32)a0 + 0xFC) = v1; @@ -10196,23 +10196,23 @@ void func_8018677C(void *a0) { extern u8 D_801AF540[]; s16 mode; - if (*(s16 *)((s32)a0 + 0xFC) != *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36)) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC != *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36)) { ((void (*)(void))func_8012C218)(); return; } - mode = *(s16 *)((s32)a0 + 0xFE); + mode = ((Unkstruct_800B5CB8 *)a0)->unkFE; if (mode == 1) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801AF438); - *(s16 *)((s32)a0 + 0x5C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; func_8002D4C8(0x5BF, 0); } else if (mode == 2) { - *(s16 *)((s32)a0 + 0x2) = 2; - *(s32 *)((s32)a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; func_8012A828((s32)a0, D_801AF540); - *(u16 *)((s32)a0 + 0x5C) = 0x8C00; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0x8C00; } } @@ -10234,14 +10234,14 @@ void func_8018683C(void *a0) { extern u8 D_801AF648[]; extern u8 D_801AF428[]; - if (*(s16 *)((s32)a0 + 0x98) == 0) { - *(s16 *)((s32)a0 + 0x2) = 1; - if (*(s16 *)((s32)a0 + 0xFE) == 1) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE == 1) { func_8012A828((s32)a0, D_801AF648); } else { func_8012A828((s32)a0, D_801AF428); } - *(s16 *)((s32)a0 + 0xFE) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = 0; } } diff --git a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c index 3767eea597..819aec1cae 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c @@ -3012,7 +3012,7 @@ int func_8017D874(short *a0) { extern void (*D_80197088[])(void); void func_8017D8F8(void *a0) { - D_80197088[*(u16 *)((s32)a0 + 0x2)](); + D_80197088[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3026,16 +3026,16 @@ void func_8017D934(void *param_1) s32 r1; s32 r2; - temp_v0 = *(u16 *)((s32)param_1 + 0xFC); - temp_v1 = *(u16 *)((s32)param_1 + 0x70); - *(u32 *)((s32)param_1 + 0xDC) = 0; - *(u32 *)((s32)param_1 + 0xE0) = 0; - *(u32 *)((s32)param_1 + 0xE4) = 0; - *(u16 *)((s32)param_1 + 0x100) = temp_v0; - *(u16 *)((s32)param_1 + 0x102) = temp_v1; + temp_v0 = CAST_SIGN(u16, (s32)param_1, 0xFC); + temp_v1 = CAST_SIGN(u16, (s32)param_1, 0x70); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = temp_v0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = temp_v1; r1 = rand(); r2 = rand(); - *(u16 *)((s32)param_1 + 0xFE) = (r1 & 0x1F) + (r2 & 0x1F) + 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (r1 & 0x1F) + (r2 & 0x1F) + 0x3C; func_8012AD50(param_1); } @@ -3208,14 +3208,14 @@ void func_8017DD88(s32 a0) { extern u8 D_80197100; if (func_8012C354(a0, D_801970C0) != 0) { - func_8001D0E8(*(s32 *)(a0 + 0x20), 0xC8, 0x168); - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -1; - *(s16 *)(a0 + 0xAE) = -1; - *(s16 *)(a0 + 2) = 1; - *(u8 *)(a0 + 0x75) = 0; + func_8001D0E8(((Unkstruct_800B5CB8 *)a0)->unk20, 0xC8, 0x168); + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)a0)->unkAE = -1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk75 = 0; func_8012A828(a0, &D_80197100); - *(s32 *)(a0 + 0x1C) = 0xA; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xA; } } @@ -3294,14 +3294,14 @@ extern u8 D_80197120[]; void func_8017DF54(s32 a0) { if (currentLocationId == 0x3083) { - *(s16 *)(a0 + 0xA) = *(s16 *)(a0 + 0xA) - 8; + ((Unkstruct_80126B58 *)a0)->unkA = ((Unkstruct_80126B58 *)a0)->unkA - 8; } func_80147324(0x451); ((void (*)(s32))func_801511E0)(a0); ((void (*)(s32, s32))func_80154274)(a0, (s32)D_80197120); ((void (*)(s32))func_80149020)(a0); - *(u8 *)(a0 + 0xDE) = 0xA; - *(u8 *)(a0 + 0xDF) = 0; + ((Unkstruct_80126B58 *)a0)->unkDE = 0xA; + ((Unkstruct_80126B58 *)a0)->unkDF = 0; func_8017E188(); func_80146CA0((void *)a0); } @@ -3340,8 +3340,8 @@ void func_8017DFD8(s32 param_1) } } - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017E134(param_1); func_80159B3C((void *)param_1); @@ -3395,8 +3395,8 @@ void func_8017E134(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -3448,7 +3448,7 @@ done: extern void (*D_8019714C[])(void); void func_8017E1F0(void *a0) { - D_8019714C[*(u16 *)((s32)a0 + 0x2)](); + D_8019714C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3626,7 +3626,7 @@ s32 func_8017E434(s32 *a0, s32 a1) { extern void (*D_80197184[])(void); void func_8017E49C(void *a0) { - D_80197184[*(u16 *)((s32)a0 + 0x2)](); + D_80197184[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3635,9 +3635,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_8017E4D8(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -3823,21 +3823,21 @@ s32 param_2; SVECTOR sv1; SVECTOR sv2; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (short)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } return 0; @@ -4021,8 +4021,8 @@ void func_8017EF0C(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -4039,11 +4039,11 @@ void func_8017EF0C(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -4082,34 +4082,34 @@ void func_8017F0F4(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -4127,18 +4127,18 @@ void func_8017F0F4(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -4156,19 +4156,19 @@ void func_8017F0F4(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_8017EA54(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -4181,7 +4181,7 @@ void func_8017F0F4(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_8017EA54(a0, 0x51) != 0) { goto rand_tail; } @@ -4189,7 +4189,7 @@ void func_8017F0F4(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -4201,26 +4201,26 @@ void func_8017F0F4(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -4261,41 +4261,41 @@ void func_8017F430(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; ((s32 (*)(s32, s32))func_80180354)(param_1, (s32)&D_801AAF24); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801AAF2C, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801AAF2C, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801AAF34, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801AAF34, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -4321,7 +4321,7 @@ void func_8017F430(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -4416,10 +4416,10 @@ void func_8017F808(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_801AAF5C[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_801AAF5C[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_8017ED60)(a0); @@ -4427,15 +4427,15 @@ void func_8017F808(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -4444,7 +4444,7 @@ void func_8017F808(s32 a0) extern void (*D_801AAF88[])(void); void func_8017F8E0(void *a0) { - D_801AAF88[*(u16 *)((s32)a0 + 0x2)](); + D_801AAF88[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4462,40 +4462,40 @@ void func_8017F91C(s32 a0) SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_801AAF90); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_801AAF90); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { func_8012C218((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { func_8012C218((void *)a0); } @@ -4507,7 +4507,7 @@ void func_8017F91C(s32 a0) extern void (*D_801AAFA8[])(void); void func_8017FA90(void *a0) { - D_801AAFA8[*(u16 *)((s32)a0 + 0x2)](); + D_801AAFA8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4517,19 +4517,19 @@ extern void func_8012C218(void *a0); void func_8017FACC(s32 a0) { - if (*(s16 *)(a0 + 0x70) != 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u8 *)(a0 + 0xC1) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; return; } - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8002A04C(a0); func_8012C218((void *)a0); @@ -4642,7 +4642,7 @@ void func_8017FD80(s32 a0) s16 field_a; s32 result; - field_a = *(s16 *)(a0 + 0xA); + field_a = CAST_SIGN(s16, a0, 0xA); if (field_a >= 0x10) { func_801319E0(a0); } else { @@ -4682,38 +4682,38 @@ void func_8017FE0C(s32 a0) { if (func_8012C354(a0, D_801AAE28) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801ACB68); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801AAE5C; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801AAE5C; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801AC878); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80193900; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80193900; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: func_8012CAE4(a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801ACB50); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80193900; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80193900; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -4730,37 +4730,37 @@ void func_8017FF34(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); func_8012CBCC(a0); func_8017EA54(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -4801,20 +4801,20 @@ void func_801800C8(s32 param_1) { s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4(param_1); } else { func_8001C214(v0, (s32)D_801ACC48); func_8012A828(param_1, D_80193900); - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1C) = 0x40; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x14); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } } @@ -4835,20 +4835,20 @@ void func_80180188(s32 a0) { s32 v0; - if (*(s16 *)(a0 + 6) == *(s16 *)(a0 + 0xDE) && - *(s16 *)(a0 + 0xE) == *(s16 *)(a0 + 0xE2)) { + if (CAST_SIGN(s16, a0, 6) == *(s16 *)(a0 + 0xDE) && + CAST_SIGN(s16, a0, 0xE) == *(s16 *)(a0 + 0xE2)) { func_8012C218((void *)a0); } else { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 4); - *(s32 *)(a0 + 0xE0) = *(s32 *)(a0 + 0xC); + ((Unkstruct_800B5CB8 *)a0)->unkDC = CAST_WIDTH(s32, a0, 4); + ((Unkstruct_800B5CB8 *)a0)->unkE0 = CAST_WIDTH(s32, a0, 0xC); func_8012B14C(a0, (s32)&D_801AAF74); func_8012AD80(a0); if (func_8012D5E4(a0, (s32)&D_801AAF80, (s32)&D_800D3918, 0x30) != 0) { func_8012C218((void *)a0); } else { - v0 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = v0; if (v0 == 0) { func_8012C218((void *)a0); } else { @@ -4869,47 +4869,47 @@ extern u8 D_801ACD08[]; void func_8018025C(s32 param_1) { - *(s32 *)(param_1 + 0x20) = ((s32 (*)(void))func_8012C1B8)(); - if (*(s32 *)(param_1 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk20 = ((s32 (*)(void))func_8012C1B8)(); + if (((Unkstruct_800B5CB8 *)param_1)->unk20 == 0) { func_8012CAE4(param_1); } else { - func_8001C214(*(s32 *)(param_1 + 0x20), (s32)D_801ACD08); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)D_801ACD08); - *(u16 *)(param_1 + 0x2) = 1; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_80047948(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0xC) + (r << 8); + CAST_WIDTH(s32, param_1, 0xC) = CAST_WIDTH(s32, param_1, 0xC) + (r << 8); } { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_8004787C(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x4) + (r << 8); + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x4) + (r << 8); } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(t + 0x2C) = *(u16 *)(t + 0x2C) | 0x10; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x18) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1A) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1C) = 0x1800; } - *(u16 *)(param_1 + 0xAC) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkAC = 2; { s32 r = rand(); - *(u16 *)(param_1 + 0xFC) = r & 0xFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = r & 0xFF; } } } @@ -5033,13 +5033,13 @@ s32 func_801805C8(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_801ACD10; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -5071,7 +5071,7 @@ s32 func_801805C8(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_801ACD10; @@ -5107,7 +5107,7 @@ s32 func_801805C8(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -5119,7 +5119,7 @@ s32 func_801805C8(s32 param_1) { extern void (*D_801ACD5C[])(void); void func_80180868(void *a0) { - D_801ACD5C[*(u16 *)((s32)a0 + 0x2)](); + D_801ACD5C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5139,29 +5139,29 @@ int func_801808A4(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -5170,9 +5170,9 @@ int func_801808A4(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -5240,7 +5240,7 @@ void func_80180AB4(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -5260,10 +5260,10 @@ void func_80180AB4(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -5278,9 +5278,9 @@ void func_80180AB4(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -5309,11 +5309,11 @@ void func_80180AB4(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -5330,7 +5330,7 @@ void func_80180AB4(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -5370,23 +5370,23 @@ void func_80180EB8(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -5407,8 +5407,8 @@ void func_80180EB8(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -5450,42 +5450,42 @@ void func_8018102C(int param_1) { iVar1 = func_8012C354(param_1, D_801AD470); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801AD3B4, D_801AD374); func_800599B8(D_801AD3BC, D_801AD394); - func_8001C214(*(int *)(param_1 + 0x20), D_801B16DC); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801B16DC); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801B498C); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801AD4B0; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801AD4B0; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801B47F4); - func_8012A828(*(int *)(param_1 + 0xcc), D_801B487C); - func_8012A828(*(int *)(param_1 + 0xd0), D_801B4904); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801B487C); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801B4904); return; } @@ -5558,18 +5558,18 @@ void func_801811DC(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_801808A4(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); } else { goto set1; @@ -5586,21 +5586,21 @@ void func_801811DC(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_801808A4(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -5609,7 +5609,7 @@ void func_801811DC(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_801808A4(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -5621,24 +5621,24 @@ void func_801811DC(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -5701,20 +5701,20 @@ void func_80181468(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -5723,29 +5723,29 @@ void func_80181468(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801AD334[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801AD334[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801B47F4); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801B487C); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801B4904); } @@ -5776,31 +5776,31 @@ void func_8018192C(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5885,7 +5885,7 @@ void func_80181AFC(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -5899,31 +5899,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5974,15 +5974,15 @@ void func_80181CEC(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801AD4E0[*(u16 *)(a0 + 0x2)](); + D_801AD4E0[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -5993,11 +5993,11 @@ void func_80181CEC(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -6017,17 +6017,17 @@ void func_80181CEC(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6080,34 +6080,34 @@ void func_80182004(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -6128,8 +6128,8 @@ void func_80182004(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -6175,7 +6175,7 @@ void func_801821FC(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -6196,11 +6196,11 @@ void func_801821FC(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -6214,9 +6214,9 @@ void func_801821FC(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -6250,16 +6250,16 @@ void func_801821FC(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -6278,7 +6278,7 @@ void func_801821FC(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6308,34 +6308,34 @@ void func_80182644(short *param_1) D_801AD568[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -6381,7 +6381,7 @@ void func_80182854(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -6400,9 +6400,9 @@ void func_80182854(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -6415,9 +6415,9 @@ void func_80182854(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6441,7 +6441,7 @@ void func_80182854(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -6449,15 +6449,15 @@ void func_80182854(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -6477,7 +6477,7 @@ void func_80182854(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6578,51 +6578,51 @@ void func_80182EA8(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801AD3C4; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801AD3D0); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801AD3C4; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801AD3D0); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -6660,22 +6660,22 @@ void func_8018314C(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801AD4D0); func_8012CBCC(a0); func_801808A4(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801B4C8C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801B4D7C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801B4D7C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801B4E6C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801B4E6C); } } } @@ -6687,18 +6687,18 @@ extern u8 D_801B4B8C[]; extern void func_8012A828(s32 a0, void * a1); void func_8018324C(s32 a0) { - if (*(s16 *)(a0 + 0x100) == 0) { - *(u16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0x100) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801B498C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801B4A8C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801B4A8C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801B4B8C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801B4B8C); } } else { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } } @@ -6714,21 +6714,21 @@ void func_801832EC(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6746,18 +6746,18 @@ extern void func_8012A828(s32 a0, void * a1); void func_801833AC(s32 a0) { s16 v0; - v0 = *(s16 *)(a0 + 0xFC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (v0 == 0) { - *(u16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801B498C); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801B4A8C); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801B4A8C); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801B4B8C); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801B4B8C); } } else { - *(s16 *)(a0 + 0xFC) = v0 - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v0 - 1; } } @@ -6812,22 +6812,22 @@ s32 a0; v0 = func_8012C354(a0, (s32)D_801AD514); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801B244C); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801B244C); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801B4A8C); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_801AD548; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_801AD548; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -6843,24 +6843,24 @@ void func_8018355C(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -6877,21 +6877,21 @@ void func_80183630(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6951,22 +6951,22 @@ void func_80183730(s32 a0) { v0 = func_8012C354(a0, D_801AD58C); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801B31B8); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801B31B8); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_801AD5C0; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_801AD5C0; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801B4B8C); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -6984,38 +6984,38 @@ void func_8018382C(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -7033,21 +7033,21 @@ void func_80183920(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -7069,8 +7069,8 @@ extern void func_80187320(void *a0); extern void func_8012C0EC(void *a0); void func_80183A00(void *a0) { - D_801B52BC[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { + D_801B52BC[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { func_80187250(a0); func_80187320(a0); func_8012C0EC(a0); @@ -7100,45 +7100,45 @@ void func_80183A70(s32 param_1) { s32 iVar1; u16 uVar2; - iVar1 = func_8012C354(param_1, &D_801B5094[*(u16 *)(param_1 + 0x70) & 0xf]); + iVar1 = func_8012C354(param_1, &D_801B5094[CAST_SIGN(u16, param_1, 0x70) & 0xf]); if (iVar1 != 0) { - *(u8 *)(param_1 + 0xc0) = 1; - *(u8 **)(param_1 + 0xbc) = D_801B522C; - *(s32 *)(param_1 + 0xb4) = -0x8ad; - *(u32 *)(param_1 + 0xc4) |= 2; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x80; - *(u8 **)(*(s32 *)(param_1 + 0x20) + 0x80) = D_801B51B4; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + CAST_SIGN(u8 *, param_1, 0xbc) = D_801B522C; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -0x8ad; + CAST_SIGN(u32, param_1, 0xc4) |= 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x80; + *(u8 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = D_801B51B4; func_80143994(param_1, 0x4000); - *(s32 *)(param_1 + 0x48) = 0x18000; - uVar2 = *(u16 *)(param_1 + 0x70) & 0xf; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x18000; + uVar2 = CAST_SIGN(u16, param_1, 0x70) & 0xf; switch (uVar2) { case 0: { s32 t; - *(u32 *)(param_1 + 0xe0) |= 1; - t = (s32)*(u16 *)(*(s32 *)(param_1 + 0x78)) << 0x10; - *(s16 *)(param_1 + 0xfe) = (s16)((t >> 0x10) / 2); - if (((s32)*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(param_1 + 2) = 2; + CAST_SIGN(u32, param_1, 0xe0) |= 1; + t = (s32)*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk78) << 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s16)((t >> 0x10) / 2); + if (((s32)((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } else { - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1c) = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; func_8012A828(param_1, &D_801CC180); } break; } case 1: - *(s16 *)(param_1 + 2) = 0x13; + CAST_ALIAS(s16, param_1, 2) = 0x13; D_801CC674 = 0x28; - if (((s32)*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u32 *)(param_1 + 0xe0) |= 0x400; + if (((s32)CAST_ALIAS(s16, param_1, 0x70) & 0x8000) != 0) { + CAST_SIGN(u32, param_1, 0xe0) |= 0x400; } break; case 2: - *(s16 *)(param_1 + 2) = 0x18; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x18; D_801CC4CC = 0x28; break; case 3: - *(s16 *)(param_1 + 2) = 0x1f; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x1f; if (func_8012C658(0x27f, 5, param_1) == 0) { func_8012CAE4(param_1); return; @@ -7146,20 +7146,20 @@ void func_80183A70(s32 param_1) { break; } func_8012B030(param_1); - *(s32 *)(param_1 + 0x38) = *(s32 *)(param_1 + 4); - *(s32 *)(param_1 + 0x3c) = *(s32 *)(param_1 + 8); - *(s32 *)(param_1 + 0x40) = *(s32 *)(param_1 + 0xc); + CAST_WIDTH(s32, param_1, 0x38) = CAST_WIDTH(s32, param_1, 4); + *(s32 *)(param_1 + 0x3c) = CAST_WIDTH(s32, param_1, 8); + *(s32 *)(param_1 + 0x40) = CAST_WIDTH(s32, param_1, 0xc); func_8012B2CC(param_1); } } void func_80183C8C(s32 p) { - if (*(s32 *)(p + 0x1C) == 0xF) { + if (((Unkstruct_800B5CB8 *)p)->unk1C == 0xF) { func_80142414(p, -0x90); } if (func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; } } @@ -7186,22 +7186,22 @@ void func_80183CDC(s32 param_1) { s32 nv; r = rand(); - *(s32 *)(param_1 + 0x1C) = r % 0x40 + 0x80; - *(s32 *)(param_1 + 0x48) = 18000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = r % 0x40 + 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 18000; r = rand(); off = r % 0x400; - base = *(s32 *)(param_1 + 0xE8); + base = ((Unkstruct_800B5CB8 *)param_1)->unkE8; if ((rand() & 1) != 0) { nv = base + off; } else { nv = base - off; } - *(s32 *)(param_1 + 0xE8) = nv; + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = nv; func_8012A828(param_1, D_801CCCA0); - *(s16 *)(param_1 + 2) = 3; - *(u32 *)(param_1 + 0xE0) &= 0xFFFFFFBF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + CAST_SIGN(u32, param_1, 0xE0) &= 0xFFFFFFBF; } @@ -7221,10 +7221,10 @@ void func_80183DA4(s32 param_1) s32 s0; s32 s2; - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); func_8012B178(p, 0xFFFB0000); - *(u32 *)(p + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFBF; if (func_8018765C(p) == 0) { func_801877E4(p); } @@ -7233,18 +7233,18 @@ void func_80183DA4(s32 param_1) if (r != 0) { r = func_8012BCCC(p); if (r < 0x100000) { - *(s16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; return; } } else { r = func_8012BCCC(p); if (r < 0x4000) { - *(s16 *)(p + 2) = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xF; return; } } - if ((*(u32 *)(p + 0xE0) & 0x40) != 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) != 0) { return; } if (func_8012BEE8(p) == 0) { @@ -7252,14 +7252,14 @@ void func_80183DA4(s32 param_1) } s0 = rand() % 1024; - s2 = *(s32 *)(p + 0xE8); + s2 = ((Unkstruct_800B5CB8 *)p)->unkE8; if ((rand() & 1) == 0) { r = s2 - s0; } else { r = s2 + s0; } - *(s32 *)(p + 0xE8) = r; - *(s32 *)(p + 0x1C) = (rand() % 64) + 0x80; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; + ((Unkstruct_800B5CB8 *)p)->unk1C = (rand() % 64) + 0x80; } @@ -7272,8 +7272,8 @@ void func_80183F10(s32 param_1) extern u8 D_801CC1E8[]; func_8012A828(param_1, D_801CC1E8); - *(s32 *)(param_1 + 0x48) = 0x4650; - *(s16 *)(param_1 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x5; } @@ -7294,7 +7294,7 @@ void func_80183F50(s32 p) s32 s1; s32 e; - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B8E4(p, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B8E4(p, 8); func_8012B178(p, 0xFFF90000); if ((u32)D_800B99DA % 10 == 0) { @@ -7308,23 +7308,23 @@ void func_80183F50(s32 p) func_8018765C(p); if (func_8012BDBC(p, 0x300) == 0) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; return; } s1 = func_8012BCCC(p); if (s1 >= 0x100000) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; return; } if (s1 < 0x6400) { e = func_80187844(p, 0); if (e == 0) { - *(s16 *)(p + 2) = 8; + ((Unkstruct_800B5CB8 *)p)->unk2 = 8; return; } if (s1 < D_801D55A8) { s32 rv = 8; - *(s16 *)(p + 2) = rv; + ((Unkstruct_800B5CB8 *)p)->unk2 = rv; } return; } @@ -7337,13 +7337,13 @@ void func_80183F50(s32 p) } e = func_80187844(p, 0); if (e == 0) { - *(s16 *)(p + 2) = 0xA; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xA; return; } if (D_801D55A8 <= s1) { return; } - *(s16 *)(p + 2) = 8; + ((Unkstruct_800B5CB8 *)p)->unk2 = 8; } @@ -7351,8 +7351,8 @@ extern void func_8012A828(s32 a0, void * a1); extern u8 D_801CC180[]; void func_801840D8(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x20; - *(u16 *)(param_1 + 2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; func_8012A828(param_1, D_801CC180); } @@ -7364,22 +7364,22 @@ void func_8018410C(s32 p) { v = func_8012BCCC(p); if (v < 0x100000) { if (v < 0x6400) { - *(s16 *)(p + 2) = 8; + ((Unkstruct_800B5CB8 *)p)->unk2 = 8; } else { - *(s16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; } return; } } else { v = func_8012BCCC(p); if (v < 0x4000) { - *(s16 *)(p + 2) = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xF; return; } } if (func_8012BEE8(p) != 0) { - *(s16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; } } @@ -7389,8 +7389,8 @@ extern void func_8012A828(s32 a0, void * a1); void func_80184194(s32 param_1) { func_8012A828(param_1, D_801CC290); - *(s16 *)(param_1 + 2) = 9; - *(u32 *)(param_1 + 0xE0) = (*(u32 *)(param_1 + 0xE0) | 2) & 0xFFFFFFEF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = (CAST_SIGN(u32, param_1, 0xE0) | 2) & 0xFFFFFFEF; } @@ -7410,20 +7410,20 @@ void func_801841E0(s32 p) s32 s1; if (func_80187130(p, 0x64) == 1) { - *(u32 *)(p + 0xE0) |= 0x10; + CAST_SIGN(u32, p, 0xE0) |= 0x10; } - if (*(s32 *)(p + 0x90) == (s32) D_801CC290) { - if (*(s32 *)(p + 0x94) == 0xB) { + if (((Unkstruct_800B5CB8 *)p)->unk90 == (s32) D_801CC290) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 0xB) { ((s32 (*)())func_80189E60)(p, 0x8C0); } } else { - if (*(s32 *)(p + 0x94) == 8) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 8) { ((s32 (*)())func_80189E60)(p, 0x8C0); } } - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { if (func_8012BDBC(p, 0x300) == 0) { v0 = 6; goto set_and_return; @@ -7435,15 +7435,15 @@ void func_801841E0(s32 p) } if (s1 < 0x4000) { func_8012A828(p, D_801CCBA8); - *(u32 *)(p + 0xE0) &= ~0x10; + CAST_SIGN(u32, p, 0xE0) &= ~0x10; return; } else if (s1 < 0x6400) { - if ((*(s32 *)(p + 0xE0) & 0x10) == 0) { + if ((((Unkstruct_800B5CB8 *)p)->unkE0 & 0x10) == 0) { func_8012A828(p, D_801CCBA8); return; } func_8012A828(p, D_801CC290); - *(u32 *)(p + 0xE0) &= ~0x10; + CAST_SIGN(u32, p, 0xE0) &= ~0x10; return; } else { v0 = 4; @@ -7453,7 +7453,7 @@ void func_801841E0(s32 p) return; set_and_return: - *(s16 *)(p + 2) = v0; + ((Unkstruct_800B5CB8 *)p)->unk2 = v0; } @@ -7462,10 +7462,10 @@ extern void func_8012A828(s32 a0, void * a1); void func_8018431C(void *arg0) { func_8012A828((s32)arg0, D_801CCBA8); - *(s16 *)((s32)arg0 + 0x2) = 0xB; - *(s32 *)((s32)arg0 + 0x10) *= 2; - *(s32 *)((s32)arg0 + 0x18) *= 2; - *(s16 *)((s32)arg0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0xB; + CAST_WIDTH(s32, (s32)arg0, 0x10) *= 2; + CAST_WIDTH(s32, (s32)arg0, 0x18) *= 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; } @@ -7487,8 +7487,8 @@ void func_80184370(s32 p) D_80126B96 = 4; } - *(s32 *)(p + 0x10) = *(s32 *)(p + 0x10) * 31 / 32; - *(s32 *)(p + 0x18) = *(s32 *)(p + 0x18) * 31 / 32; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, p, 0x10) * 31 / 32; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, p, 0x18) * 31 / 32; func_8018765C(p); if ((u32)D_800B99DA % 6 == 0) { @@ -7499,19 +7499,19 @@ void func_80184370(s32 p) } } - if (*(s32 *)(p + 0x94) == 8) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 8) { ((s32 (*)())func_80189E60)(p, 0x8C0); } - if (*(u16 *)(p + 0x34) == 0) { - if (*(s32 *)(p + 0x94) == 0xE) { - *(u16 *)(p + 0x98) = 0; - *(s32 *)(p + 0x1C) = 0x1E; - *(u16 *)(p + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 0xE) { + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } } else { if (func_8012BEE8(p) != 0) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; } } } @@ -7538,9 +7538,9 @@ void func_80184500(s32 p) { func_8012F214(p, D_801B5164, buf10); if (func_8012BEE8(p) != 0 && !(D_80126B9C & 2)) { - *(u16 *)(p + 2) = 4; - } else if (func_80189284(buf10, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x400) == 0) { - *(u16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; + } else if (func_80189284(buf10, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; } } @@ -7566,65 +7566,65 @@ void func_8018457C(s32 p) s32 s1; s32 r; - uVar1 = *(u16 *)(p + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)p)->unk34; switch (uVar1) { case 0: - s1 = *(s32 *)(p + 0xCC); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(p + 0xEC) || + s1 = ((Unkstruct_800B5CB8 *)p)->unkCC; + if (s1 == 0 || *(s16 *)(s1 + 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEC || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x23; - *(u32 *)(p + 0xE0) |= 0x800; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x23; + CAST_SIGN(u32, p, 0xE0) |= 0x800; return; } goto call_b6d4; case 1: - if (*(s16 *)(p + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk98 != 0) { return; } - func_8012C218((void *)*(s32 *)(p + 0xCC)); - *(s32 *)(p + 0xCC) = 0; - func_8001C924(*(s32 *)(p + 0x20), &D_801BB67C); + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkCC); + ((Unkstruct_800B5CB8 *)p)->unkCC = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801BB67C); func_8012A828(p, D_801CC1E8); { u16 ns; - ns = *(u16 *)(p + 0x34); - *(s32 *)(p + 0x1C) = 0x200; + ns = ((Unkstruct_800B5CB8 *)p)->unk34; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x200; ns = ns + 1; - *(u32 *)(p + 0xE0) &= 0xFFFFFFFB; - *(u16 *)(p + 0x34) = ns; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFFB; + ((Unkstruct_800B5CB8 *)p)->unk34 = ns; } return; case 2: - s1 = *(s32 *)(p + 0xD0); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(p + 0xEE) || + s1 = ((Unkstruct_800B5CB8 *)p)->unkD0; + if (s1 == 0 || *(s16 *)(s1 + 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEE || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 4; - *(u32 *)(p + 0xE0) &= 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFFE; return; } call_b6d4: r = func_8012B6D4((s16 *)(p + 4), (s16 *)(s1 + 4)); - *(s32 *)(p + 0xE8) = r; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; goto LAB_80184738; case 3: - func_8012C218((void *)*(s32 *)(p + 0xD0)); - *(s32 *)(p + 0xD0) = 0; - func_8001C924(*(s32 *)(p + 0x20), &D_801B7EB8); + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkD0); + ((Unkstruct_800B5CB8 *)p)->unkD0 = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801B7EB8); func_8012A828(p, D_801CC1E8); - *(s32 *)(p + 0x48) = 0x4650; - *(u16 *)(p + 2) = 5; - *(u32 *)(p + 0xE0) |= 1; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 5; + CAST_SIGN(u32, p, 0xE0) |= 1; return; default: goto LAB_80184738; } LAB_80184738: - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) + r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 + r; - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { func_8012B178(p, 0xFFF8D000); } else { func_8012B178(p, 0xFFF90000); @@ -7634,10 +7634,10 @@ LAB_80184738: r = ((s32(*)(s32, s32))func_80013350)(p + 4, s1 + 4); if (r < 0x900) { - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { func_8012A828(p, D_801CD0E8); } - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; } } @@ -7648,9 +7648,9 @@ extern u8 D_801CC180[]; void func_801847FC(s32 a0) { func_8012A828(a0, D_801CC180); - *(u16 *)(a0 + 0x2) = 0x10; - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = func_8012B864(a0); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = func_8012B864(a0); } @@ -7664,18 +7664,18 @@ extern void func_80142414(s32 a0, s16 a1); void func_80184844(s32 p) { s32 r; - if (*(u16 *)(p + 0x34) == 0) { - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 4); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; if (func_8012BDBC(p, 0x200) != 0) { - *(s32 *)(p + 0x1C) = 0xF; - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; func_80142414(p, -0x90); } else if (r == 0) { - *(u16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; } } else if (func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; } } @@ -7689,8 +7689,8 @@ void func_80184904(s32 param_1) extern u8 D_801CC868[]; func_8012A828(param_1, D_801CC868); - *(s32 *)(param_1 + 0x48) = 0x4650; - *(s16 *)(param_1 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x12; } @@ -7714,36 +7714,36 @@ void func_80184944(s32 p) v = func_8012BCCC(p); if (v > 0x144000) { - *(s16 *)(p + 2) = 0x13; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x13; return; } if (v > 0xC4000) { - if ((*(u32 *)(p + 0xE0) & 0x40) == 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) == 0) { r = func_8012B8E4(p, 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; } } else { if ((u32)(v - 0x24000) <= 0xA0000) { - *(s16 *)(p + 2) = 0x15; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x15; return; } - if ((*(u32 *)(p + 0xE0) & 0x40) == 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) == 0) { if (func_8012BEE8(p) != 0) { t = func_8012B8A4((s16 *)p); - *(u32 *)(p + 0xE8) = (t + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)p)->unkE8 = (t + 0x800) & 0xFFF; r = rand(); - *(s32 *)(p + 0x1C) = r % 0x40 + 0x40; + ((Unkstruct_800B5CB8 *)p)->unk1C = r % 0x40 + 0x40; } } - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; } func_8012B178(p, 0xFFF9C000); - *(u32 *)(p + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFBF; if (func_8018765C(p) == 0) { func_801877E4(p); } @@ -7760,12 +7760,12 @@ s32 p; extern u8 D_801B4F5C[]; extern u8 D_801CC530[]; - *(s16 *)(p + 2) = 0x14; - if (!(*(u32 *)(p + 0xE0) & 0x400)) { - *(s16 *)(p + 0x34) = 1; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x14; + if (!(CAST_SIGN(u32, p, 0xE0) & 0x400)) { + ((Unkstruct_800B5CB8 *)p)->unk34 = 1; func_8012A828(p, D_801CC530); } else { - *(s16 *)(p + 0x34) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; func_8012A828(p, D_801B4F5C); } } @@ -7782,11 +7782,11 @@ void func_80184AFC(s32 p) { s32 v; - switch (*(u16 *)(p + 0x34)) { + switch (((Unkstruct_800B5CB8 *)p)->unk34) { case 0: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801CC530); - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } break; case 1: @@ -7795,18 +7795,18 @@ void func_80184AFC(s32 p) break; } - if ((*(u32 *)(p + 0xE0) & 0x400) == 0) { - *(s16 *)(p + 2) = 0x15; + if ((CAST_SIGN(u32, p, 0xE0) & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x15; } else { func_8012A828(p, D_801CC920); - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } break; case 2: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801CC868); - *(s32 *)(p + 0x48) = 0x4650; - *(s16 *)(p + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x12; } break; } @@ -7821,14 +7821,14 @@ s32 a0; { extern u8 D_801CC530[]; - *(s16 *)(a0 + 2) = 0x16; - if ((*(u32 *)(a0 + 0xE0) & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x16; + if ((CAST_SIGN(u32, a0, 0xE0) & 0x400) == 0) { func_8012A828(a0, D_801CC530); - *(s16 *)(a0 + 0x34) = 4; - *(s32 *)(a0 + 0x1C) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xF; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } } @@ -7859,61 +7859,61 @@ void func_80184C74(s32 p) s32 mat[8]; /* sp+0x20 - MATRIX: 3x3 s16 + pad, 3 s32 at +0x14 */ s32 s0; - switch (*(u16 *)(p + 0x34)) { + switch (((Unkstruct_800B5CB8 *)p)->unk34) { case 0: s0 = func_8012B8E4(p, 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += s0; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += s0; if (func_8012BEE8(p) == 0 && s0 != 0) { return; } func_8012A828(p, D_801B4F5C); - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; break; case 1: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801CC598); - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; } break; case 2: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { if (func_8012E778(p, 0xA000C8) == 0) { - *(s16 *)(p + 2) = 0x14; - if ((*(s32 *)(p + 0xE0) & 0x400) == 0) { - *(u16 *)(p + 0x34) = 1; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x14; + if ((((Unkstruct_800B5CB8 *)p)->unkE0 & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk34 = 1; func_8012A828(p, D_801CC530); } else { - *(u16 *)(p + 0x34) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; func_8012A828(p, D_801B4F5C); } return; } s0 = func_8012BCCC(p); - if ((*(s32 *)(p + 0xE0) & 0x400) == 0) { + if ((((Unkstruct_800B5CB8 *)p)->unkE0 & 0x400) == 0) { if (0x63FFF < s0) { - *(s16 *)(p + 2) = 0x14; - if ((*(s32 *)(p + 0xE0) & 0x400) == 0) { - *(u16 *)(p + 0x34) = 1; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x14; + if ((((Unkstruct_800B5CB8 *)p)->unkE0 & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk34 = 1; func_8012A828(p, D_801CC530); } else { - *(u16 *)(p + 0x34) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; func_8012A828(p, D_801B4F5C); } return; } } else if (0xA0000 < (u32)(s0 - 0x24000)) { func_8012A828(p, D_801CC920); - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; break; } } - if (*(s32 *)(p + 0x94) < 8) { - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B8E4(p, 8); + if (((Unkstruct_800B5CB8 *)p)->unk94 < 8) { + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B8E4(p, 8); } - if (*(s32 *)(p + 0x94) != 7) { + if (((Unkstruct_800B5CB8 *)p)->unk94 != 7) { return; } @@ -7922,7 +7922,7 @@ void func_80184C74(s32 p) ((void (*)(s32, void *))func_80180354)(p, v18); /* gte_SetRotMatrix */ - gte_SetRotMatrix(*(s32 *)(p + 0x20) + 0x34); + gte_SetRotMatrix(((Unkstruct_800B5CB8 *)p)->unk20 + 0x34); /* column 0: gte_ldclmv / gte_rtir / gte_stclmv */ gte_ldclmv((s16 *)mat); @@ -7940,7 +7940,7 @@ void func_80184C74(s32 p) gte_stclmv((s16 *)mat + 2); /* gte_SetTransMatrix */ - gte_SetTransMatrix(*(s32 *)(p + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)p)->unk20 + 0x34); /* gte_ldlvl / gte_rt / gte_stlvnl on the translation vector */ gte_ldlv0(&mat[5]); @@ -7955,17 +7955,17 @@ void func_80184C74(s32 p) return; case 3: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801CC868); - *(s32 *)(p + 0x48) = 0x4650; - *(s16 *)(p + 2) = 0x12; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x12; } return; case 4: if (func_8012BEE8(p) != 0) { func_8012A828(p, D_801CC598); - *(u16 *)(p + 0x34) = 2; + ((Unkstruct_800B5CB8 *)p)->unk34 = 2; } break; } @@ -8014,41 +8014,41 @@ void func_801850F4(s32 p) s32 s1; s32 r; - if (*(u16 *)(p + 0x34) == 0) { - s1 = *(s32 *)(p + 0xCC); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(p + 0xEC) || + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + s1 = ((Unkstruct_800B5CB8 *)p)->unkCC; + if (s1 == 0 || CAST_SIGN(s16, s1, 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEC || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x23; - *(u32 *)(p + 0xE0) |= 0x800; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x23; + CAST_SIGN(u32, p, 0xE0) |= 0x800; return; } r = func_8012B6D4((s16 *)(p + 4), (s16 *)(s1 + 4)); - *(s32 *)(p + 0xE8) = r; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) + r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 + r; func_8012B178(p, 0xFFF8D000); func_8018765C(p); r = ((s32 (*)(s32, s32))func_80013350)(p + 4, s1 + 4); if (r < 0x900) { - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; func_8012A828(p, D_801CD0E8); } } else { - if (*(s16 *)(p + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk98 != 0) { return; } - func_8012C218((void *)*(s32 *)(p + 0xCC)); - *(s32 *)(p + 0xCC) = 0; - func_8001C924(*(s32 *)(p + 0x20), D_801BC090); + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkCC); + ((Unkstruct_800B5CB8 *)p)->unkCC = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, D_801BC090); func_8012A828(p, D_801CC868); - *(s32 *)(p + 0x48) = 0x4650; - *(s16 *)(p + 2) = 0x12; - *(u32 *)(p + 0xE0) &= ~4; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x12; + CAST_SIGN(u32, p, 0xE0) &= ~4; } } @@ -8074,23 +8074,23 @@ void func_80185268(s32 param_1) { s32 base; s32 nv; - *(s16 *)(param_1 + 2) = 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x19; func_8012A828(param_1, D_801CC7A0); r = rand(); - *(s32 *)(param_1 + 0x1C) = r % 0x40 + 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = r % 0x40 + 0x80; r = rand(); off = r % 0x400; - base = *(s32 *)(param_1 + 0xE8); + base = ((Unkstruct_800B5CB8 *)param_1)->unkE8; if ((rand() & 1) != 0) { nv = base + off; } else { nv = base - off; } - *(s32 *)(param_1 + 0xE8) = nv; + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = nv; - *(s32 *)(param_1 + 0x48) = 18000; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 18000; } @@ -8111,23 +8111,23 @@ void func_80185320(s32 p) { s32 buf10[2]; s32 r_b608; - r_b608 = func_8012B608((s32)*(s16 *)(*(s32 *)(p + 0x20) + 0x12), - *(s32 *)(p + 0xE8), 0x10); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) + r_b608; + r_b608 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)p)->unkE8, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 + r_b608; func_8012B178(p, 0xFFFBD000); - *(u32 *)(p + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFBF; if (func_8018765C(p) == 0) { func_801877E4(p); } ((void (*)(s32, void *, void *))func_8012F214)(p, D_801B5164, buf10); - if (func_80189284(buf10, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x380) != 0 && + if (func_80189284(buf10, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x380) != 0 && func_8012BCCC(p) < 0x64000) { - *(u16 *)(p + 2) = 0x1C; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x1C; } else if (func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x1A; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x1A; } } @@ -8138,9 +8138,9 @@ extern void func_8012A828(s32 a0, void * a1); void func_80185400(a0) s32 a0; { - *(s16 *)(a0 + 0x2) = 27; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 27; func_8012A828(a0, &(*(u8 *)D_801CC358)); - *(s32 *)(a0 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; } @@ -8153,11 +8153,11 @@ extern s32 func_8012BEE8(); // K&R: 0 of 1 args (P37 rung D t4_D22) void func_80185440(s32 p) { s32 buf10[2]; ((void (*)(s32, void *, void *))func_8012F214)(p, D_801B5164, buf10); - if (func_80189284(buf10, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x380) != 0 && + if (func_80189284(buf10, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x380) != 0 && func_8012BCCC(p) < 0x64000) { - *(u16 *)(p + 2) = 0x1C; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x1C; } else if (func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x18; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x18; } } @@ -8212,15 +8212,15 @@ void func_801854F8(s32 p) { s32 i; s32 e; - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { if (func_8012BEE8() == 0) return; func_8012A828(p, D_801CC3D0); - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } - if (*(s32 *)(p + 0x94) < 0xe) { - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B8E4(p, 8); + if (((Unkstruct_800B5CB8 *)p)->unk94 < 0xe) { + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B8E4(p, 8); } - if (*(s32 *)(p + 0x94) == 0xe) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 0xe) { func_80189380(p, D_801B517C, out, 0xb); func_8018931C(p, out, 0x282, 0, 0, 0); e = func_80132EF4(p, 0x22); @@ -8232,7 +8232,7 @@ void func_801854F8(s32 p) { *(u16 *)(*(s32 *)(e + 0x20) + 0x2c) = 0xc006; } g28[0] = 0x40; - g28[1] = *(u16 *)(*(s32 *)(p + 0x20) + 0x12); + g28[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12; g28[2] = 0; ((void (*)(void *, void *))func_80049CAC)(g28, buf58); i = 0; @@ -8254,13 +8254,13 @@ void func_801854F8(s32 p) { } while (i < 5); ((s32 (*)())func_80189E60)(p, 0x8be); } - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { ((void (*)(s32, void *, void *))func_8012F214)(p, D_801B5164, buf18); if (0x63fff < func_8012BCCC(p) || - func_80189284(buf18, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x380) == 0) { - *(u16 *)(p + 2) = 0x1b; + func_80189284(buf18, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x380) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x1b; func_8012A828(p, D_801CC358); - *(s32 *)(p + 0x1c) = 0x20; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x20; } } } @@ -8307,44 +8307,44 @@ void func_801857CC(s32 param_1) s32 sVar1; s32 r; - if (*(u16 *)(param_1 + 0x34) == 0) { - s1 = *(s32 *)(param_1 + 0xCC); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(param_1 + 0xEC) || + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + s1 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; + if (s1 == 0 || CAST_SIGN(s16, s1, 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unkEC || func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 2) = 0x23; - *(u32 *)(param_1 + 0xE0) |= 0x800; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x23; + CAST_SIGN(u32, param_1, 0xE0) |= 0x800; return; } uVar4 = func_8012B6D4((s16 *)(param_1 + 4), (s16 *)(s1 + 4)); - *(s32 *)(param_1 + 0xE8) = uVar4; + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = uVar4; - sVar1 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), uVar4, 8); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + sVar1; + sVar1 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), uVar4, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + sVar1; func_8012B178(param_1, 0xFFF8D000); func_8018765C(param_1); r = ((s32 (*)(s32, s32))func_80013350)(param_1 + 4, s1 + 4); if (r < 0x900) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8012A828(param_1, D_801CD0E8); } return; } - if (*(s16 *)(param_1 + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk98 != 0) { return; } - func_8012C218((void *)*(s32 *)(param_1 + 0xCC)); - *(s32 *)(param_1 + 0xCC) = 0; - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801BBC78); - *(s16 *)(param_1 + 2) = 0x1D; - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0x1C) = 0xF; + func_8012C218((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = 0; + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801BBC78); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x1D; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xF; func_8012A828(param_1, D_801CC358); - *(u32 *)(param_1 + 0xE0) &= 0xFFFFFFFB; + CAST_SIGN(u32, param_1, 0xE0) &= 0xFFFFFFFB; } @@ -8352,11 +8352,11 @@ extern void func_8012A828(s32 a0, void * a1); extern u8 D_801CC6E8[]; void func_80185944(s32 p) { - *(u16 *)(p + 2) = 0x20; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x20; func_8012A828(p, D_801CC6E8); - *(s32 *)(p + 0x1C) = 0; - *(s32 *)(p + 0xE4) = 0; - *(s32 *)(p + 0x48) = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0; + ((Unkstruct_800B5CB8 *)p)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; } @@ -8408,7 +8408,7 @@ void func_8018598C(s32 param_1) { s32 tmp; coord = r0 % 0x400; - sVar1 = *(s16 *)((*(s32 *)&(*(s32 *)&D_80126B78)) + 0x12); + sVar1 = CAST_NONSTRUCT(s16, (*(s32 *)&(*(s32 *)&D_80126B78)), 0x12); s2v = sVar1 + 0x800; if ((rand() & 1) == 0) { coord = s2v - coord; @@ -8425,39 +8425,39 @@ void func_8018598C(s32 param_1) { psVar7[2] = b58->fe + (tmp >> 16); r3 = rand(); - *(s32 *)(param_1 + 0x1c) = 0x80; - *(s16 *)(param_1 + 0x100) = r3 % 9 + 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = r3 % 9 + 8; } - if ((*(u32 *)(param_1 + 0xe0) & 0x40) == 0) { - *(u32 *)(param_1 + 0xe8) = func_8012B744((void *)(param_1 + 4), psVar7); + if ((CAST_SIGN(u32, param_1, 0xe0) & 0x40) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = func_8012B744((void *)(param_1 + 4), psVar7); } - r_b608 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), - *(s32 *)(param_1 + 0xe8), - (s32)*(s16 *)(param_1 + 0x100)); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + r_b608; + r_b608 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), + ((Unkstruct_800B5CB8 *)param_1)->unkE8, + (s32)((Unkstruct_800B5CB8 *)param_1)->unk100); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + r_b608; func_8012B178(param_1, 0xfffa0000); - *(u32 *)(param_1 + 0xe0) &= 0xffffffbf; + CAST_SIGN(u32, param_1, 0xe0) &= 0xffffffbf; if (func_8018765C(param_1) == 0) { func_801877E4(param_1); sp20[1] = 0; sp20[0] = 0; sp20[2] = -0x100; - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)sp20, (s32)psVar7); } - if (((u32)D_800B99DA % 0x28 == 0) && ((*(u32 *)(param_1 + 0xe0) & 0x80) == 0)) { + if (((u32)D_800B99DA % 0x28 == 0) && ((CAST_SIGN(u32, param_1, 0xe0) & 0x80) == 0)) { ((void (*)(s32, s32, s32, s32))func_80189380)(param_1, (s32)&D_801B5184, (s32)auStack_38, 0xb); ((void (*)(s32, s32, s32, s32, s32, s32))func_8018931C)(param_1, (s32)auStack_38, 0x282, 1, 0, 0); - *(u32 *)(param_1 + 0xe0) |= 0x80; + CAST_SIGN(u32, param_1, 0xe0) |= 0x80; } if (func_80013478(param_1 + 4, (s32)psVar7) < 0x400) { - *(s32 *)(param_1 + 0x1c) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; } } @@ -8492,19 +8492,19 @@ void func_80185C2C(s32 p) s32 s0; s32 r; - if (*(u16 *)(p + 0x34) == 0) { - s0 = *(s32 *)(p + 0xCC); - if (s0 == 0 || *(s16 *)(s0 + 0x36) != *(s16 *)(p + 0xEC) || + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + s0 = ((Unkstruct_800B5CB8 *)p)->unkCC; + if (s0 == 0 || CAST_SIGN(s16, s0, 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEC || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x23; - *(u32 *)(p + 0xE0) |= 0x800; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x23; + CAST_SIGN(u32, p, 0xE0) |= 0x800; } else { r = func_8012B6D4((s16 *)(p + 4), (s16 *)(s0 + 4)); - *(s32 *)(p + 0xE8) = r; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) + r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 + r; func_8012B178(p, 0xFFF8D000); @@ -8512,21 +8512,21 @@ void func_80185C2C(s32 p) r = ((s32 (*)(s32, s32))func_80013350)(p + 4, s0 + 4); if (r < 0x900) { - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; func_8012A828(p, D_801CD0E8); } } } else { - if (*(s16 *)(p + 0x98) == 0) { - func_8012C218((void *)*(s32 *)(p + 0xCC)); - *(s32 *)(p + 0xCC) = 0; - func_8001C924(*(s32 *)(p + 0x20), &D_801BC494); - *(u16 *)(p + 2) = 0x20; + if (((Unkstruct_800B5CB8 *)p)->unk98 == 0) { + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkCC); + ((Unkstruct_800B5CB8 *)p)->unkCC = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801BC494); + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x20; func_8012A828(p, D_801CC6E8); - *(s32 *)(p + 0x48) = 0x4650; - *(s32 *)(p + 0x1C) = 0; - *(s32 *)(p + 0xE4) = 0; - *(u32 *)(p + 0xE0) &= 0xFFFFFFFB; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0; + ((Unkstruct_800B5CB8 *)p)->unkE4 = 0; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFFB; } } } @@ -8595,7 +8595,7 @@ void func_80185DD8(s32 a0) { s16 vecB[4]; s32 x; - if ((*(u32 *)(a0 + 0xE0) & 0x40) == 0) { + if ((CAST_SIGN(u32, a0, 0xE0) & 0x40) == 0) { s32 ret = ((s32 (*)(s32))func_8012BE54)(a0); if (ret <= 0x63FFF) { if (func_8012BEE8(a0) != 0) { @@ -8603,26 +8603,26 @@ void func_80185DD8(s32 a0) { s32 rr; t = func_8012B8A4((s16 *)a0); - *(u32 *)(a0 + 0xE8) = (t + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = (t + 0x800) & 0xFFF; rr = rand(); - *(s32 *)(a0 + 0x1C) = rr % 0x40 + 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk1C = rr % 0x40 + 0x40; } } } - r = func_8012B608((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12), *(s32 *)(a0 + 0xE8), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; + r = func_8012B608((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)a0)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; - *(u32 *)(a0 + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, a0, 0xE0) &= 0xFFFFFFBF; func_8012B178(a0, 0xFFF8D000); if (func_8018765C(a0) == 0) { func_801877E4(a0); } - vecA[0] = *(s16 *)(a0 + 0x6); - vecA[1] = *(s16 *)(a0 + 0xA); - vecA[2] = *(s16 *)(a0 + 0xE); + vecA[0] = CAST_SIGN(s16, a0, 0x6); + vecA[1] = CAST_SIGN(s16, a0, 0xA); + vecA[2] = CAST_SIGN(s16, a0, 0xE); ((s32 (*)(void *, void *))func_8012EFB8)(vecA, vecB); x = vecB[0]; @@ -8699,62 +8699,62 @@ void func_80185F58(s32 p) { void *ptr; func_8012E9C0(p); - *(s32 *)(p + 0x1C) = 0; - *(u16 *)(p + 0x5C) = *(u16 *)(p + 0x5C) & 0xFFFE; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0; + ((Unkstruct_800B5CB8 *)p)->unk5C = ((Unkstruct_800B5CB8 *)p)->unk5C & 0xFFFE; func_8012B23C(p); - t = (*(s16 *)(p + 0x60) * *(s16 *)(*(s32 *)(p + 0x78) + 0x30)) >> 12; + t = (((Unkstruct_800B5CB8 *)p)->unk60 * *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk78 + 0x30)) >> 12; iVar1 = t; t = t << 16; if (t <= 0) { iVar1 = 1; } - if (*(u32 *)(p + 0xE0) & 1) { + if (CAST_SIGN(u32, p, 0xE0) & 1) { ((void (*)(s32, void *, void *))func_8012F214)(p, D_801B5164, buf20); - if (func_80189284(buf20, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x400) != 0) { - func_80146A6C(6, (void *)p, *(s16 *)(p + 0x7C), *(s16 *)(p + 0x7E), - *(s16 *)(p + 0x80), 0, 0); - t = *(u16 *)(p + 0xFE) - iVar1; - *(s16 *)(p + 0xFE) = t; + if (func_80189284(buf20, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x400) != 0) { + func_80146A6C(6, (void *)p, ((Unkstruct_800B5CB8 *)p)->unk7C, ((Unkstruct_800B5CB8 *)p)->unk7E, + ((Unkstruct_800B5CB8 *)p)->unk80, 0, 0); + t = CAST_SIGN(u16, p, 0xFE) - iVar1; + ((Unkstruct_800B5CB8 *)p)->unkFE = t; if ((s16)t <= 0) { func_80189380(p, D_801B5164 + 8, buf20, 0xC); func_8018931C(p, buf20, 0x27F, 0, 0, 0); - *(s32 *)(p + 0x58) = (s32)D_801B5084 | 0x40000000 | 0x20000000; - *(u32 *)(p + 0xE0) = *(u32 *)(p + 0xE0) & 0xFFFFFFFE; - func_8001C924(*(s32 *)(p + 0x20), &D_801BB67C); + ((Unkstruct_800B5CB8 *)p)->unk58 = (s32)D_801B5084 | 0x40000000 | 0x20000000; + ((Unkstruct_800B5CB8 *)p)->unkE0 = CAST_SIGN(u32, p, 0xE0) & 0xFFFFFFFE; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801BB67C); } func_8012B14C(p, (s32)D_801B51EC); - *(s16 *)(p + 0x34) = 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = 3; return; } } - if (*(u16 *)(p + 0x5E) != 0x1D) { - if (*(u8 *)(p + 0xC8) != 0) { + if (CAST_WIDTH(u16, p, 0x5E) != 0x1D) { + if (((Unkstruct_800B5CB8 *)p)->unkC8 != 0) { func_8002A520(p); } - if (*(u8 *)(p + 0xC9) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unkC9 != 0) { func_8002A790(p); } } - t = *(u16 *)(p + 0x76) - iVar1; - *(s16 *)(p + 0x76) = t; + t = CAST_SIGN(u16, p, 0x76) - iVar1; + ((Unkstruct_800B5CB8 *)p)->unk76 = t; if ((s16)t <= 0) { func_80131E00(p, 0xC); return; } - *(s16 *)(p + 0x98) = 0; - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = (*(u16 *)(p + 0x62) + 0x800) & 0xFFF; - iVar2 = *(s32 *)(p + 0x20); + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = (((Unkstruct_800B5CB8 *)p)->unk62 + 0x800) & 0xFFF; + iVar2 = ((Unkstruct_800B5CB8 *)p)->unk20; *(s16 *)(iVar2 + 0x14) = 0; *(s16 *)(iVar2 + 0x10) = 0; func_8012B2CC(p); ((s32 (*)())func_80189E60)(p, 0x9B7); - switch (*(u16 *)(p + 0x5E)) { + switch (CAST_WIDTH(u16, p, 0x5E)) { case 1: case 2: case 3: @@ -8784,11 +8784,11 @@ void func_80185F58(s32 p) { case 0x30: case 0x31: case 0x32: - *(s16 *)(p + 0x34) = 4; - func_8012A828(p, D_801B534C[*(u16 *)(p + 0x70) & 0xF]); + ((Unkstruct_800B5CB8 *)p)->unk34 = 4; + func_8012A828(p, D_801B534C[CAST_SIGN(u16, p, 0x70) & 0xF]); return; case 8: - func_8012A828(p, D_801B534C[*(u16 *)(p + 0x70) & 0xF]); + func_8012A828(p, D_801B534C[CAST_SIGN(u16, p, 0x70) & 0xF]); ptr = D_801B51CC; break; case 5: @@ -8798,8 +8798,8 @@ void func_80185F58(s32 p) { case 0x2A: ptr = D_801B51DC; func_8012A828(p, D_801CCD68); - *(u32 *)(p + 0xE0) = *(u32 *)(p + 0xE0) | 8; - *(u16 *)(p + 0xAE) = *(u16 *)(p + 0xAE) | 1; + ((Unkstruct_800B5CB8 *)p)->unkE0 = CAST_SIGN(u32, p, 0xE0) | 8; + ((Unkstruct_800B5CB8 *)p)->unkAE = CAST_SIGN(u16, p, 0xAE) | 1; func_801874E4(p, -0x8000); break; default: @@ -8807,6 +8807,6 @@ void func_80185F58(s32 p) { break; } func_8012B14C(p, (s32)ptr); - *(s16 *)(p + 0x34) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; } diff --git a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c index 2892da2f50..9a68d57c1f 100644 --- a/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c +++ b/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c @@ -2984,57 +2984,57 @@ void func_80187AEC(s32 param_1) u16 uVar1; s32 pad[1]; /* see key (2): forces the 0x20 frame — never referenced */ - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFC); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0xFE); if ((((s32 (*)(s32, s32))func_8012CC40)( param_1, - ((*(u16 *)(param_1 + 0x70) & 0xF) * 8) + (s32)&D_801B5400) & + ((CAST_SIGN(u16, param_1, 0x70) & 0xF) * 8) + (s32)&D_801B5400) & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - if ((*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) & 0xFFFU) > 0x800U) { - *(u16 *)(param_1 + 0x102) = 0xC00; + if ((((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 & 0xFFFU) > 0x800U) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0xC00; } else { - *(u16 *)(param_1 + 0x102) = 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0x400; } - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; if (t < 4 && t != 0) { - *(u16 *)(param_1 + 0x102) = *(u16 *)(param_1 + 0x102) + 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = CAST_SIGN(u16, param_1, 0x102) + 0x400; } - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } else { - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); } return; case 1: - iVar = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), - (s32)*(s16 *)(param_1 + 0x102), 4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + iVar; + iVar = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), + (s32)((Unkstruct_800B5CB8 *)param_1)->unk102, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + iVar; if (func_8012BEE8(param_1) == 0) { return; } - st = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = st + 1; - if ((*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u16 *)(param_1 + 0x34) = st + 2; - } else if ((*(s16 *)(param_1 + 0x70) & 0xF) == 4) { - *(u16 *)(param_1 + 0x34) = 4; - *(s32 *)(param_1 + 0x1C) = 0x1E; + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 2; + } else if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0xF) == 4) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } return; case 2: @@ -3044,21 +3044,21 @@ void func_80187AEC(s32 param_1) } return; case 3: - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36) != *(s16 *)(param_1 + 0x10A) && - *(s32 *)(param_1 + 0xE0) == 0) { - *(s32 *)(param_1 + 0x1C) = 0x1E; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A && + ((Unkstruct_800B5CB8 *)param_1)->unkE0 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; uVar1 = 2; - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 4) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 4) { uVar1 = 4; } - *(u16 *)(param_1 + 0x34) = uVar1; - *(s32 *)(param_1 + 0xE0) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = uVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 1; } return; case 4: if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0xA; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8012E8A8((u8 *)param_1); func_80189000(param_1, 1); } @@ -3081,10 +3081,10 @@ extern void func_8012E8A8(u8 *a0); void func_80187DD0(s32 param_1) { - s32 t1 = *(s32 *)(param_1 + 0x64); + s32 t1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 pad[2]; - if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) { + if (*(s16 *)(t1 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A) { func_8012C218((void *)param_1); return; } @@ -3104,71 +3104,71 @@ void func_80187DD0(s32 param_1) u32 a0; u32 v1; - *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); + ((Unkstruct_800B5CB8 *)param_1)->unk102 = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c:1440-1449, :2711 reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) - *(u16 *)(param_1 + 0x104) = a0; - *(u16 *)(param_1 + 0x106) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = a0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = v1; } while (0); - *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); - *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64); - *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (s8)*(u8 *)(a1 + 0x63); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s8)*(u8 *)(a1 + 0x64); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = (s8)*(u8 *)(a1 + 0x65); } else { - *(UAlign12 *)(param_1 + 0xFC) = *(UAlign12 *)(a2 + 0x90); + CAST_WIDTH(UAlign12, param_1, 0xFC) = *(UAlign12 *)(a2 + 0x90); } - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = a3; } if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) { - if (*(u16 *)(param_1 + 0x34) == 0) { - s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40; - *(s16 *)(param_1 + 0x108) = sVar2; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + s16 sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk108 + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = sVar2; if (sVar2 > 0x200) { - *(u16 *)(param_1 + 0x108) = 0x200; - *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0x200; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = CAST_SIGN(s16, param_1, 0x34) + 1; } } else { - u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80; - *(u16 *)(param_1 + 0x108) = uVar3; + u16 uVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk108 - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = uVar3; if ((s16)uVar3 < 0) { - *(u16 *)(param_1 + 0x108) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80; } } } - *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108); + *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + ((Unkstruct_800B5CB8 *)param_1)->unk108; - *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4); - *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8); - *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC); + CAST_WIDTH(u32, param_1, 4) = *(u32 *)(t1 + 4); + CAST_WIDTH(u32, param_1, 8) = *(u32 *)(t1 + 8); + CAST_WIDTH(u32, param_1, 0xC) = *(u32 *)(t1 + 0xC); - *(UAlign8 *)(param_1 + 0x50) = *(UAlign8 *)(t1 + 0x50); + CAST_WIDTH(UAlign8, param_1, 0x50) = *(UAlign8 *)(t1 + 0x50); { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8 *)(dst + 0x10) = *(UAlign8 *)(src + 0x10); + CAST_WIDTH(UAlign8, dst, 0x10) = *(UAlign8 *)(src + 0x10); } { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8 *)(dst + 0x18) = *(UAlign8 *)(src + 0x18); + CAST_WIDTH(UAlign8, dst, 0x18) = *(UAlign8 *)(src + 0x18); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u32 *)(dst + 4) = *(u32 *)(src + 4); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u32, dst, 4) = *(u32 *)(src + 4); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)dst)->unk2C = *(u16 *)(src + 0x2C); } } } @@ -3179,7 +3179,7 @@ void func_80187DD0(s32 param_1) extern void (*D_801B554C[])(void); void func_80188088(void *a0) { - D_801B554C[*(u16 *)((s32)a0 + 0x2)](); + D_801B554C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3220,14 +3220,14 @@ void func_801880C4(s32 a0) { s32 v1; s32 obj; - v1 = *(u16 *)(a0 + 0x70) & 0xF; + v1 = CAST_SIGN(u16, a0, 0x70) & 0xF; switch (v1) { case 0: if (func_8012C354(a0, D_801B545C) == 0) { return; } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = a0 + 0xE8; - *(u16 *)(a0 + 0x104) = 0x78; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = a0 + 0xE8; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0x78; func_80188234(a0); func_80143994(a0, 0x1800); return; @@ -3235,26 +3235,26 @@ void func_801880C4(s32 a0) { if (func_8012C354(a0, D_801B5490) == 0) { return; } - *(u16 *)(a0 + 0x104) = 0xA0; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA0; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; return; } - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_80143994(a0, 0x1800); return; case 2: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)a0)->unk20 = obj; if (obj == 0) { func_8012CAE4(a0); return; } func_8001CA1C(obj, (s32)D_801B5430); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x14CC; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1199; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x58000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x14CC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1199; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x58000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; func_80188B00(a0); return; default: @@ -3270,15 +3270,15 @@ void func_80188234(s32 param_1) { s32 obj2; u16 w; - obj = *(s32 *)(param_1 + 0x20); - *(s32 *)(param_1 + 0x1C) = 0x18; + obj = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x18; *(s16 *)(obj + 0x10) = 0x80; - obj2 = *(s32 *)(param_1 + 0x20); - w = *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + obj2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; + w = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); *(s16 *)(obj2 + 0x12) = w; func_8012B2CC(param_1); func_8012B178(param_1, 0xFFF00000); - *(s16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } @@ -3302,7 +3302,7 @@ extern u16 D_80126CB8; void func_8018829C(s32 param_1) { u16 uVar1; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -3310,22 +3310,22 @@ void func_8018829C(s32 param_1) { { s32 base = (s32)&D_801B54C4; s32 r = func_8012D5E4(param_1, base, base + 8, 0x78); - if (r == 1 || (*(u16 *)(param_1 + 0x5C) & 1) != 0) { + if (r == 1 || (((Unkstruct_800B5CB8 *)param_1)->unk5C & 1) != 0) { func_80189000(param_1, 1); func_8012C218((void *)param_1); return; } } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { default: return; case 0: { - s32 sVar3 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), 0, 0x18); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + sVar3; + s32 sVar3 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), 0, 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + sVar3; } { s32 r = func_8012CBF4(param_1); @@ -3337,22 +3337,22 @@ void func_8018829C(s32 param_1) { s32 r = func_8012BEE8(param_1); if (r == 0) return; } - *(u16 *)(param_1 + 0xF4) = D_80126CB4; + CAST_WIDTH(u16, param_1, 0xF4) = D_80126CB4; *(u16 *)(param_1 + 0xF6) = D_80126CB6; { u16 tmp = D_80126CB8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(u16 *)(param_1 + 0xF8) = tmp; + CAST_ALIAS(u16, param_1, 0x34) = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + CAST_ALIAS(s32, param_1, 0x1C) = 0x3C; + CAST_WIDTH(u16, param_1, 0xF8) = tmp; } return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += func_8012B8E4(param_1, 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += func_8012B8E4(param_1, 0x20); { s32 r = func_8012BEE8(param_1); if (r != 0) { - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } break; @@ -3360,19 +3360,19 @@ void func_8018829C(s32 param_1) { break; } - *(u16 *)(param_1 + 0xF2) = *(u16 *)(param_1 + 0xF2) - 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkF2 = ((Unkstruct_800B5CB8 *)param_1)->unkF2 - 0x100; func_8012B178(param_1, 0xFFEC0000); { s32 r = func_8012CBF4(param_1); if (r != 0) goto LAB_8018847c; } - if (*(u16 *)(param_1 + 0x34) != 2) goto LAB_80188494; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 != 2) goto LAB_80188494; { s32 r = func_8012BEE8(param_1); if (r != 1) goto LAB_80188494; } LAB_8018847c: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80189000(param_1, 1); return; LAB_80188494: @@ -3382,9 +3382,9 @@ LAB_80188494: { u16 out[4]; ((void (*)(s32, void *, void *))func_8012F214)(param_1, D_801B5578, out); - *(u16 *)(iv + 6) = out[0]; - *(u16 *)(iv + 0xA) = out[1]; - *(u16 *)(iv + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)iv)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)iv)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)iv)->unkE = out[2]; } return; } @@ -3397,14 +3397,14 @@ extern void func_8012B178(s32 a0, s32 a1); void func_801884F4(s32 param_1) { s32 obj; - obj = *(s32 *)(param_1 + 0x64); - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(obj + 0x20) + 0x12); + obj = ((Unkstruct_800B5CB8 *)param_1)->unk64; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(*(s32 *)(obj + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, 0x20000); - *(u16 *)(param_1 + 2) = 4; - *(s32 *)(param_1 + 0x1C) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -3423,7 +3423,7 @@ void func_80188554(s32 param_1) { s32 v0; s32 iVar; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -3431,22 +3431,22 @@ void func_80188554(s32 param_1) { if (v0 < 0x1001) { goto LAB_tail; } - if (*(u16 *)(param_1 + 0x34) == 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) - 0x40; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 - 0x40; v0 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801B54E4); if ((v0 & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - u16 tmp = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0xA; - *(u16 *)(param_1 + 0x34) = tmp + 1; + u16 tmp = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = tmp + 1; return; } - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); return; } @@ -3454,7 +3454,7 @@ void func_80188554(s32 param_1) { return; } LAB_tail: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80189000(param_1, 0); } @@ -3518,14 +3518,14 @@ void func_801886B0(s32 param_1) { u16 buf[8]; s32 vec[3]; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { case 0: - psVar5 = *(s32 *)(param_1 + 0x64); + psVar5 = ((Unkstruct_800B5CB8 *)param_1)->unk64; if ((*(u16 *)psVar5 == 0) || (*(s32 *)(psVar5 + 0x90) != (s32)&D_801CD278)) { func_8012C218((void *)param_1); @@ -3533,94 +3533,94 @@ void func_801886B0(s32 param_1) { } if (*(s32 *)(psVar5 + 0x94) < 0x11) { ((void (*)(void *, void *, void *, s32))func_80189380)((void *)psVar5, (void *)&D_801B54EC, buf, 5); - *(s16 *)(param_1 + 6) = buf[0]; - *(s16 *)(param_1 + 0xA) = buf[1]; - *(s16 *)(param_1 + 0xE) = buf[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = buf[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = buf[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = buf[2]; return; } ((void (*)(void *, void *, void *, s32))func_80189380)((void *)psVar5, (void *)&D_801B54F4, buf, 4); ((void (*)(void *, void *, void *, s32))func_80189380)((void *)psVar5, (void *)&D_801B54F4, &buf[4], 5); - *(s16 *)(param_1 + 6) = + CAST_ALIAS(s16, param_1, 6) = (s16)((*(s16 *)&buf[0] + *(s16 *)&buf[4]) >> 1); - *(s16 *)(param_1 + 0xA) = + CAST_ALIAS(s16, param_1, 0xA) = (s16)((*(s16 *)&buf[1] + *(s16 *)&buf[5]) >> 1); - *(s16 *)(param_1 + 0xE) = + ((Unkstruct_800B5CB8 *)param_1)->unkE = (s16)((*(s16 *)&buf[2] + *(s16 *)&buf[6]) >> 1); if (*(s32 *)(psVar5 + 0x94) != 0x19) { return; } - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; vec[0] = 0; vec[1] = 0xfff40000; iVar3 = func_80013328((s32)&D_80126B5C, param_1 + 4); vec[2] = -((iVar3 << 0x10) / 0x22); func_8012B14C(param_1, (s32)vec); - *(s32 *)(param_1 + 0x48) = 0xc000; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xc000; return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x80; iVar3 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801B54E4); if (iVar3 == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0; - *(u16 *)(param_1 + 0x34) = (*(u16 *)(param_1 + 0x34)) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = (((Unkstruct_800B5CB8 *)param_1)->unk34) + 1; return; case 2: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; uVar4 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801B54E4); if ((uVar4 & 0x2000) == 0) { return; } - iVar4 = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar4; + iVar4 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar4; if (iVar4 >= 4) { - sVar2 = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0x1e; - *(u16 *)(param_1 + 0x34) = sVar2 + 1; + sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = sVar2 + 1; return; } - iVar3 = *(s32 *)(param_1 + 0x10) * 0xc; + iVar3 = CAST_WIDTH(s32, param_1, 0x10) * 0xc; if (iVar3 < 0) { iVar3 = iVar3 + 0xf; } - *(s32 *)(param_1 + 0x10) = iVar3 >> 4; - iVar5 = *(s32 *)(param_1 + 0x18) * 0xc; + CAST_WIDTH(s32, param_1, 0x10) = iVar3 >> 4; + iVar5 = CAST_WIDTH(s32, param_1, 0x18) * 0xc; if (iVar5 < 0) { iVar5 = iVar5 + 0xf; } - *(s32 *)(param_1 + 0x18) = iVar5 >> 4; - *(s32 *)(param_1 + 0x14) = -(0x80000 / *(s32 *)(param_1 + 0x1c)); + CAST_WIDTH(s32, param_1, 0x18) = iVar5 >> 4; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / ((Unkstruct_800B5CB8 *)param_1)->unk1C); func_80143B6C(param_1, 1); return; case 3: - uVar4 = *(u32 *)(param_1 + 0x1c); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); if ((uVar4 - 0xe < 0xb) && ((uVar4 & 1) == 0)) { - ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)*(s16 *)(param_1 + 0x104), param_1); - *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x104) + 1; + ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)((Unkstruct_800B5CB8 *)param_1)->unk104, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x104) + 1; } - if ((*(u32 *)(param_1 + 0x1c)) == 9) { - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) & 0x7fffffff; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 8) = *(u16 *)(param_1 + 6); - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xa) = - *(u16 *)(param_1 + 0xa) - 0x24; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xc) = *(u16 *)(param_1 + 0xe); + if ((CAST_SIGN(u32, param_1, 0x1c)) == 9) { + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) & 0x7fffffff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk8 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkA = + ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x24; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkC = ((Unkstruct_800B5CB8 *)param_1)->unkE; } - if (*(s32 *)(param_1 + 0x1c) - 4U < 6) { - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) + 0x200; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C - 4U < 6) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A + 0x200; } iVar3 = func_8012BEE8(param_1); if (iVar3 != 1) { return; } - ((void (*)(s32, s32))func_80016714)(*(s32 *)(param_1 + 0xcc), 0x38); - *(s16 *)(param_1 + 2) = 9; + ((void (*)(s32, s32))func_80016714)(((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80189000(param_1, 0); return; } @@ -3724,28 +3724,28 @@ void func_80188B9C(s32 param_1) SVECTOR flag; s32 iVar; - sv.vx = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - sv.vy = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sv.vx = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + sv.vy = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; sv.vz = 0; func_80049CAC((s32)&sv, (s32)&mat); gte_SetRotMatrix(&mat); - gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); RotTransSV(&D_801B54D4[0], &b, &flag); RotTransSV(&D_801B54D4[1], &c, &flag); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&b, (s32)&c) != 0) { - s16 sVar1 = *(s16 *)(param_1 + 0xFE); + s16 sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_8012F568(1, 1, sVar1, 0x50, (s32)&c, (s32)D_801152A8); } else { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) - 0x100; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) - 0x100; iVar = func_8012CBF4(param_1); if (iVar != 0) { - s16 sVar1 = *(s16 *)(param_1 + 6); - s16 sVar2 = *(s16 *)(param_1 + 0xA); - s16 sVar3 = *(s16 *)(param_1 + 0xE); + s16 sVar1 = CAST_SIGN(s16, param_1, 6); + s16 sVar2 = CAST_SIGN(s16, param_1, 0xA); + s16 sVar3 = CAST_SIGN(s16, param_1, 0xE); func_80146A6C(6, (void *)param_1, sVar1, sVar2, sVar3, 0, 0); iVar = func_80132EF4(param_1, 0x22); if (iVar != 0) { @@ -3780,12 +3780,12 @@ void func_80188D90(s32 a0) extern void func_8012C218(void *a0); extern u16 D_80126B96; - if (*(u16 *)(a0 + 0x70) & 1) { - if (func_8012D624(a0, 0x60, *(s16 *)(a0 + 0x104)) == 1) { + if (CAST_SIGN(u16, a0, 0x70) & 1) { + if (func_8012D624(a0, 0x60, ((Unkstruct_800B5CB8 *)a0)->unk104) == 1) { D_80126B96 = 0x4001; } } - if (func_8018944C(a0, 0x60, *(s16 *)(a0 + 0x104)) == 1) { + if (func_8018944C(a0, 0x60, ((Unkstruct_800B5CB8 *)a0)->unk104) == 1) { func_8012C218((void *)a0); } } @@ -4115,9 +4115,9 @@ s32 func_8018944C(s32 param_1, s32 a1, s32 a2) if (func_8012BEE8(param_1) != 0) { e = func_80132EF4(param_1, 0x22); if (e != 0) { - *(u16 *)(e + 0x34) = 0x7FFF; - *(u16 *)(*(s32 *)(e + 0x20) + 0x2C) = 0xC006; - *(s32 *)(e + 0x14) = 0xFFFE0000; + ((Unkstruct_800B5CB8 *)e)->unk34 = 0x7FFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(e + 0x20))->unk2C = 0xC006; + ((Unkstruct_800B5CB8 *)e)->unk14 = 0xFFFE0000; } return 1; } @@ -4129,7 +4129,7 @@ s32 func_8018944C(s32 param_1, s32 a1, s32 a2) extern void (*D_801B5580[])(void); void func_801894B4(void *a0) { - D_801B5580[*(u16 *)((s32)a0 + 0x2)](); + D_801B5580[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4158,31 +4158,31 @@ void func_801894F0(s32 param_1) { func_8012CAE4(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); r = raw; - *(u16 *)(obj + 0x2C) = *(u16 *)(obj + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk2C = ((Unkstruct_800B5CB8 *)obj)->unk2C | 0x10; v = r % 384 + 0x400; - *(s16 *)(obj + 0x1C) = v; - *(s16 *)(obj + 0x1A) = v; - *(s16 *)(obj + 0x18) = v; + CAST_WIDTH(s16, obj, 0x1C) = v; + ((Unkstruct_800B5CB8 *)obj)->unk1A = v; + ((Unkstruct_800B5CB8 *)obj)->unk18 = v; sgn = -1; if (raw & 1) { sgn = 1; } - *(s16 *)(obj + 0x10) = sgn * (r % 128) - 0x300; - *(s16 *)(obj + 0x12) = r % 4096; - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)obj)->unk10 = sgn * (r % 128) - 0x300; + ((Unkstruct_800B5CB8 *)obj)->unk12 = r % 4096; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(s16 *)(param_1 + 0xFE) = rand() & 0xF0; - *(s16 *)(param_1 + 0x100) = rand() & 0x1F0; - *(s16 *)(param_1 + 0x102) = rand() & 0x30; - tbl = &D_801B5588[(*(u16 *)(param_1 + 0x70) & 0xF) * 4]; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = rand() & 0x30; + tbl = &D_801B5588[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 4]; p = (s16 *)(param_1 + 0xDC); @@ -4257,7 +4257,7 @@ void func_801894F0(s32 param_1) { *((u8 *)p + 0x20) = tbl[0]; *((u8 *)p + 0x21) = tbl[1]; *((u8 *)p + 0x22) = tbl[2]; - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; } @@ -4269,17 +4269,17 @@ extern void func_8012C218(void *a0); /* TU-canonical (ov_SC06_018_jr_8017C24C extern void func_80017274(s32 a0, s32 a1); void func_80189954(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0x100); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x102); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0x100); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + CAST_SIGN(u16, param_1, 0x102); if (func_8012CBF4(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -4288,7 +4288,7 @@ void func_80189954(s32 param_1) { extern void (*D_801B55A0[])(void); void func_801899F8(void *a0) { - D_801B55A0[*(u16 *)((s32)a0 + 0x2)](); + D_801B55A0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4344,40 +4344,40 @@ void func_80189A34(s32 param_1) { s32 t; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4(param_1); } else { func_8001C214(obj, 0); - if ((*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x80 - (rand() % 0x300); - o2 = *(s32 *)(param_1 + 0x20); + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = -0x80 - (rand() % 0x300); + o2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; off = rand() % 0xC0; - base = *(s16 *)(param_1 + 0x70) * 0x300 + 0x180; + base = ((Unkstruct_800B5CB8 *)param_1)->unk70 * 0x300 + 0x180; if (rand() & 1) { v = base + off; } else { v = base - off; } *(s16 *)(o2 + 0x12) = v; - func_8012B0B4(buf, *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800, + func_8012B0B4(buf, *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800, rand() % 0x10 + 8); t = buf[0]; - *(u16 *)(param_1 + 0x6) = *(u16 *)(param_1 + 0x6) + t; - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + (t >> 16); - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = ((Unkstruct_800B5CB8 *)param_1)->unk6 + t; + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + (t >> 16); + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x10; func_8012B2CC(param_1); - *(s32 *)(param_1 + 0x1C) = 4; - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 0x2) + 1; } else { - *(s16 *)(param_1 + 0xDC) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCC); - *(s16 *)(param_1 + 0xDE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCE); - *(s16 *)(param_1 + 0xE0) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD0); - *(s16 *)(param_1 + 0xE4) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD4); - *(s16 *)(param_1 + 0xE6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD6); - *(s16 *)(param_1 + 0xE8) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD8); - *(s16 *)(param_1 + 0x2) = 2; - *(s32 *)(param_1 + 0x1C) = 8; + CAST_WIDTH(s16, param_1, 0xDC) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCC); + *(s16 *)(param_1 + 0xDE) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCE); + CAST_WIDTH(s16, param_1, 0xE0) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0); + CAST_WIDTH(s16, param_1, 0xE4) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD4); + *(s16 *)(param_1 + 0xE6) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD6); + CAST_WIDTH(s16, param_1, 0xE8) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; } } } @@ -4391,13 +4391,13 @@ void func_80189C28(void *a0) { u8 buf[0x34]; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(s32 *)((u8 *)a0 + 0xE0) = *(s32 *)((u8 *)a0 + 0xE0) - 0x14; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x14; if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 v1 = *(s32 *)((u8 *)a0 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s32 *)(*(s32 *)(v1 + 0x20) + 4) < 0 || *(u16 *)v1 == 0) { func_8012C218(a0); return; @@ -4416,12 +4416,12 @@ void func_80189C28(void *a0) } *(s16 *)(buf + 0x12) = 0; { - s32 t1 = *(s32 *)((u8 *)a0 + 0xE0); + s32 t1 = ((Unkstruct_800B5CB8 *)a0)->unkE0; s32 t2; *(s16 *)(buf + 0x18) = -0xC; *(s16 *)(buf + 0x1A) = 0; *(s16 *)(buf + 0x14) = t1; - t2 = *(s32 *)((u8 *)a0 + 0xE0); + t2 = CAST_ALIAS(s32, (u8 *)a0, 0xE0); *(s32 *)(buf + 0x30) = 0x50000000; *(u8 *)(buf + 0x22) = 0x80; *(u8 *)(buf + 0x21) = 0x80; @@ -4438,7 +4438,7 @@ void func_80189C28(void *a0) *(s16 *)(buf + 0x1C) = t2; } - func_80017758(buf, (u8 *)(*(s32 *)((u8 *)a0 + 0x20)) + 0x34); + func_80017758(buf, (u8 *)(CAST_ALIAS(s32, (u8 *)a0, 0x20)) + 0x34); } @@ -4462,32 +4462,32 @@ void func_80189D64(void *a0) extern Blk20_8018AF88 D_800AE620; s32 c; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(u16 *)((u8 *)a0 + 0xCC) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCC); - *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCE); - *(u16 *)((u8 *)a0 + 0xD0) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD0); - *(u16 *)((u8 *)a0 + 0xD4) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD4); - *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD6); - *(u16 *)((u8 *)a0 + 0xD8) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD8); - *(u16 *)((u8 *)a0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + CAST_WIDTH(u16, (u8 *)a0, 0xCC) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); + *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCE); + CAST_WIDTH(u16, (u8 *)a0, 0xD0) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); + CAST_WIDTH(u16, (u8 *)a0, 0xD4) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD4); + *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD6); + CAST_WIDTH(u16, (u8 *)a0, 0xD8) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } - *(s32 *)((u8 *)a0 + 0xFC) = 0x50000000; + CAST_WIDTH(s32, (u8 *)a0, 0xFC) = 0x50000000; - c = *(s32 *)((u8 *)a0 + 0x1C); + c = ((Unkstruct_800B5CB8 *)a0)->unk1C; { u8 v = (u8)(c * 30); - *(u8 *)((u8 *)a0 + 0xEC) = + CAST_WIDTH(u8, (u8 *)a0, 0xEC) = *(u8 *)((u8 *)a0 + 0xED) = - *(u8 *)((u8 *)a0 + 0xEE) = - *(u8 *)((u8 *)a0 + 0xF0) = - *(u8 *)((u8 *)a0 + 0xF1) = - *(u8 *)((u8 *)a0 + 0xF2) = - *(u8 *)((u8 *)a0 + 0xF4) = + CAST_WIDTH(u8, (u8 *)a0, 0xEE) = + ((Unkstruct_800B5CB8 *)a0)->unkF0 = + ((Unkstruct_800B5CB8 *)a0)->unkF1 = + CAST_WIDTH(u8, (u8 *)a0, 0xF2) = + CAST_WIDTH(u8, (u8 *)a0, 0xF4) = *(u8 *)((u8 *)a0 + 0xF5) = *(u8 *)((u8 *)a0 + 0xF6) = - *(u8 *)((u8 *)a0 + 0xF8) = + CAST_WIDTH(u8, (u8 *)a0, 0xF8) = *(u8 *)((u8 *)a0 + 0xF9) = *(u8 *)((u8 *)a0 + 0xFA) = v; } @@ -4495,9 +4495,9 @@ void func_80189D64(void *a0) func_80017758((u8 *)a0 + 0xCC, &D_800AE620); { - s32 d = *(s32 *)((u8 *)a0 + 0x1C) - 1; + s32 d = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; - *(s32 *)((u8 *)a0 + 0x1C) = d; + ((Unkstruct_800B5CB8 *)a0)->unk1C = d; if (d == 0) { func_8012C218(a0); } @@ -4610,9 +4610,9 @@ s32 func_80189E60(s32 arg0, u16 arg1) { } else if (b >= 0x10) { b = 0xF; } - sp20[0] = *(u16 *)(base + 6); - sp20[1] = *(u16 *)(base + 0xA); - sp20[2] = *(u16 *)(base + 0xE); + sp20[0] = CAST_SIGN(u16, base, 6); + sp20[1] = CAST_SIGN(u16, base, 0xA); + sp20[2] = CAST_SIGN(u16, base, 0xE); ((void (*)(s32, s32))func_8012EFB8)((s32)sp20, (s32)sp28); sp28[2] = 0; if ((var = func_800132BC(sp18, sp28) - 0x400) > 0) { @@ -4631,7 +4631,7 @@ s32 func_80189E60(s32 arg0, u16 arg1) { extern void (*D_801B55AC[])(void); void func_80189FCC(void *a0) { - D_801B55AC[*(u16 *)((s32)a0 + 0x2)](); + D_801B55AC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4676,7 +4676,7 @@ void func_8018A0B8(s32 param_1) { u8 b; u16 h; - q = *(s32 *)(param_1 + 0x20); + q = ((Unkstruct_800B5CB8 *)param_1)->unk20; a = *(u8 *)(q + 0x24) - 0x20; *(u8 *)(q + 0x24) = a; @@ -4713,44 +4713,44 @@ void func_8018A170(s32 a0) s32 ret; u16 val; - if (*(u16 *)(s0 + 2) == 0) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1; + if (CAST_SIGN(u16, s0, 2) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1; func_8012B23C((void *)s0); - *(s32 *)(s0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 1; return; } - *(s32 *)(s0 + 0xDC) = *(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unkDC = ((Unkstruct_800B5CB8 *)s0)->unk14; ret = ((s32 (*)(s32))func_8012CBCC)(s0); if (ret != 0 && (ret & 0x6000) != 0) { - s32 cnt = *(s32 *)(s0 + 0x1C) - 1; - *(s32 *)(s0 + 0x1C) = cnt; + s32 cnt = ((Unkstruct_800B5CB8 *)s0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = cnt; if (cnt == 0) { goto L8018A270; } - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0xDC) >> 2; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unkDC >> 2; } - val = *(u16 *)(s0 + 0xFC) + 1; - *(u16 *)(s0 + 0xFC) = val; + val = CAST_SIGN(u16, s0, 0xFC) + 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = val; if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6; + ((Unkstruct_800B5CB8 *)np)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA; { - u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + u16 t = ((Unkstruct_800B5CB8 *)s0)->unkE; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } - if (*(s16 *)(s0 + 0xA) < 0x20) { + if (CAST_SIGN(s16, s0, 0xA) < 0x20) { return; } @@ -4791,55 +4791,55 @@ void func_8018A28C(s32 param_1) { s32 obj; s32 g; - switch (*(u16 *)(param_1 + 0x70) & 3) { + switch (CAST_SIGN(u16, param_1, 0x70) & 3) { case 0: case 2: if (((s32 (*)(s32, u8 *))func_8012C354)(param_1, D_801CD3D8) == 0) { return; } - *(s32 *)(param_1 + 0xCC) = - func_8012C658(0x2E4, (*(u16 *)(param_1 + 0x70) & 2) | 1, param_1); - *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x70) & 0x102; - *(u16 *)(param_1 + 0x70) = *(u16 *)(param_1 + 0x70) & 1; - if (*(u16 *)(param_1 + 0x104) & 0x100) { + ((Unkstruct_800B5CB8 *)param_1)->unkCC = + func_8012C658(0x2E4, (CAST_SIGN(u16, param_1, 0x70) & 2) | 1, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x70) & 0x102; + ((Unkstruct_800B5CB8 *)param_1)->unk70 = CAST_SIGN(u16, param_1, 0x70) & 1; + if (CAST_SIGN(u16, param_1, 0x104) & 0x100) { func_8018C310(); func_8018AB00(); } - *(u8 *)(param_1 + 0xC0) = 1; - *(u8 **)(param_1 + 0xBC) = D_801CD3C0; - *(s32 *)(param_1 + 0xB4) = 0; - *(u8 *)(param_1 + 0xC1) = 0; - *(s16 *)(param_1 + 0xAE) = 0x6918; - *(u32 *)(param_1 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + CAST_SIGN(u8 *, param_1, 0xBC) = D_801CD3C0; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x6918; + CAST_SIGN(u32, param_1, 0xC4) |= 2; break; case 1: case 3: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, u8 *))func_8001C214)(obj, D_801D1094); - *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x70) & 2; - *(u16 *)(param_1 + 0x70) = *(u16 *)(param_1 + 0x70) & 1; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0xA0; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x70) & 2; + ((Unkstruct_800B5CB8 *)param_1)->unk70 = CAST_SIGN(u16, param_1, 0x70) & 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0xA0; break; } - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; /* one cached base for the three 0xE00 stores: the target loads 0x20($s0) * only once here, so the source must hold it in a pseudo (any indirect * store invalidates the CSE of the load in gcc-2.7.2). */ - g = *(s32 *)(param_1 + 0x20); + g = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(g + 0x1C) = 0xE00; *(s16 *)(g + 0x1A) = 0xE00; *(s16 *)(g + 0x18) = 0xE00; - *(u8 *)(param_1 + 0x75) = 0; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x80; - *(u8 **)(*(s32 *)(param_1 + 0x20) + 0x80) = D_801CD3B0; - if (*(s16 *)(param_1 + 0x70) != 0 && *(s16 *)(param_1 + 0x104) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x80; + *(u8 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = D_801CD3B0; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0 && ((Unkstruct_800B5CB8 *)param_1)->unk104 != 0) { func_8018A474((void *)param_1); } else { func_8012AD50((void *)param_1); @@ -4866,13 +4866,13 @@ void func_8018A498(s32 param_1) { extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); s32 st; - st = *(u16 *)(param_1 + 0x34); + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; if (st != 1) { if (st < 2 && st == 0) { if (func_8012BEE8(param_1) != 0) { - func_8001C924(*(s32 *)(param_1 + 0x20), &D_801CF2BC); - if (*(s32 *)(param_1 + 0xCC) != 0) { - func_8018A5D8(*(s32 *)(param_1 + 0xCC)); + func_8001C924(((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801CF2BC); + if (((Unkstruct_800B5CB8 *)param_1)->unkCC != 0) { + func_8018A5D8(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012C658(0x304, 0, param_1); func_8012C658(0x304, 1, param_1); @@ -4881,8 +4881,8 @@ void func_8018A498(s32 param_1) { func_8012C658(0x304, 4, param_1); func_8012C658(0x304, 5, param_1); func_8018ACD4(param_1); - *(s32 *)(param_1 + 0x1c) = 0x40; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8002D4C8(0x9BA, 0); } func_8018AC58(param_1); @@ -4890,7 +4890,7 @@ void func_8018A498(s32 param_1) { } else { func_8018AC58(param_1); if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } } @@ -4902,8 +4902,8 @@ extern void func_8012AD44(s32 *a0, s16 a1); void func_8018A5D8(s32 param_1) { func_8012B23C((void *)param_1); - *(s32 *)(param_1 + 0x14) = 0xFFD80000; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFD80000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; func_8012AD44((s32 *)param_1, 4); } @@ -4974,25 +4974,25 @@ void func_8018A7C8(void *a0) extern u8 D_801CD3B0[]; s32 a1; - a1 = *(s32 *)((s32)a0 + 0xCC); + a1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (a1 != 0) { - u16 v = *(u16 *)((s32)a0 + 0xFE) & 1; - *(u16 *)(a1 + 0x54) = v; - *(u16 *)(a1 + 0x50) = v; - *(u16 *)((s32)a0 + 0x54) = v; - *(u16 *)((s32)a0 + 0x50) = v; + u16 v = CAST_SIGN(u16, (s32)a0, 0xFE) & 1; + ((Unkstruct_800B5CB8 *)a1)->unk54 = v; + CAST_WIDTH(u16, a1, 0x50) = v; + ((Unkstruct_800B5CB8 *)a0)->unk54 = v; + CAST_WIDTH(u16, (s32)a0, 0x50) = v; } - if (*(s16 *)((s32)a0 + 0xFE) != 0) { - *(s16 *)((s32)a0 + 0xFE) = *(s16 *)((s32)a0 + 0xFE) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE = ((Unkstruct_800B5CB8 *)a0)->unkFE - 1; } else { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(u16 *)((s32)a0 + 0x5E) = 0; - *(u32 *)(*(s32 *)((s32)a0 + 0x20) + 0x80) = (u32)D_801CD3B0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(u16, (s32)a0, 0x5E) = 0; + *(u32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = (u32)D_801CD3B0; if (a1 != 0) { - *(u32 *)(*(s32 *)(a1 + 0x20) + 0x80) = (u32)D_801CD3B0; + *(u32 *)(((Unkstruct_800B5CB8 *)a1)->unk20 + 0x80) = (u32)D_801CD3B0; } - if (*(s16 *)((s32)a0 + 0x76) == 0) { - *(s32 *)((s32)a0 + 0x1C) = 4; + if (((Unkstruct_800B5CB8 *)a0)->unk76 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 4; func_8012AD44((s32 *)a0, 3); } } @@ -5333,12 +5333,12 @@ void func_8018AD74(s32 p1, s32 p2, s32 p3, s32 p4) do { } while (0); // !FAKE: do-while — its NOTE_INSN_LOOP_END ends cse1's extended block (cse.c:8054), so m below is not folded onto the struct copy's address pseudo (cse.c:846-862) and is set AFTER obj's copy: sched1 then ranks it last by LUID (sched.c:2428) (P36 S104 e5 minimum-lever) m = &local_30; if (obj != 0) { - *(u16 *)(obj + 0xA) = *(u16 *)(obj + 0xA) - 0x80; + ((Unkstruct_800B5CB8 *)obj)->unkA = ((Unkstruct_800B5CB8 *)obj)->unkA - 0x80; RotMatrixY((s16)p4, m); func_800484EC((s32)m, (s32)&D_801CD468, (s32)out); - *(s32 *)(obj + 0x10) = out[0]; - *(s32 *)(obj + 0x14) = 0xFFD80000; - *(s32 *)(obj + 0x18) = out[2]; + CAST_WIDTH(s32, obj, 0x10) = out[0]; + ((Unkstruct_800B5CB8 *)obj)->unk14 = 0xFFD80000; + CAST_WIDTH(s32, obj, 0x18) = out[2]; } } @@ -5361,25 +5361,25 @@ void func_8018AE64(s32 param_1) { u16 v; iVar2 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = iVar2; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = iVar2; if (iVar2 == 0) { func_8012CAE4(param_1); - } else if (*(s16 *)(param_1 + 0x70) < 0x10) { - func_8001C214(iVar2, D_801CD478[*(s16 *)(param_1 + 0x70)]); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) | 0x10; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk70 < 0x10) { + func_8001C214(iVar2, D_801CD478[((Unkstruct_800B5CB8 *)param_1)->unk70]); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C | 0x10; func_8012B23C(param_1); - if (*(s16 *)(param_1 + 0x70) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 0) { func_8018AF88(param_1); } else { func_8018B1D8(param_1); } } else { - func_8001C214(*(s32 *)(param_1 + 0x20), D_801CD47C[rand() & 3]); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) | 0x10; + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801CD47C[rand() & 3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C | 0x10; v = (rand() & 0x1F0) | 0x400; - o2 = *(s32 *)(param_1 + 0x20); + o2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(o2 + 0x1C) = v; *(u16 *)(o2 + 0x1A) = v; *(u16 *)(o2 + 0x18) = v; @@ -5429,13 +5429,13 @@ void func_8018AF88(s32 param_1) m = &local_30; RotMatrixY(iVar1, m); ((void (*)(void *, void *, s32))func_800484EC)(m, &D_801CD498, param_1 + 0x10); - *(s32 *)(param_1 + 0x14) = 0xFFDC0000; - *(s32 *)(param_1 + 0xE0) = 0xFFDC0000; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFDC0000; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0xFFDC0000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; iVar2 = rand(); - *(u16 *)(param_1 + 0x106) = iVar2 & 0x70; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = iVar2 & 0x70; iVar2 = rand(); - *(u16 *)(param_1 + 0x108) = iVar2 & 0x70; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = iVar2 & 0x70; func_8012AD44((s32 *)param_1, 1); } @@ -5462,37 +5462,37 @@ void func_8018B060(s32 param_1) s32 iVar; s32 pad[1]; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801CD490); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - u16 ns = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x14) = *(s32 *)(param_1 + 0xE0) >> 1; - *(s32 *)(param_1 + 0x18) = 0; - *(s32 *)(param_1 + 0x10) = 0; - *(u16 *)(param_1 + 0x34) = ns; + u16 ns = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = ((Unkstruct_800B5CB8 *)param_1)->unkE0 >> 1; + CAST_WIDTH(s32, param_1, 0x18) = 0; + CAST_WIDTH(s32, param_1, 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ns; } break; case 1: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801CD490); func_8018B698(param_1); if (iVar != 0) { - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; case 2: func_8018B698(param_1); if (func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); - } else if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } break; } @@ -5537,22 +5537,22 @@ void func_8018B1D8(s32 param_1) rotY = rand() & 0x1F0; m = &local_38; RotMatrixY(rotY, m); - ApplyMatrixSV(m, &D_801CD40C[*(s16 *)(param_1 + 0x70)], &out); + ApplyMatrixSV(m, &D_801CD40C[((Unkstruct_800B5CB8 *)param_1)->unk70], &out); - *(u16 *)(param_1 + 6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 6) + (u16)out.vx; - *(u16 *)(param_1 + 0xA) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xA) + (u16)out.vy; - *(u16 *)(param_1 + 0xE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xE) + (u16)out.vz; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6) + (u16)out.vx; + ((Unkstruct_800B5CB8 *)param_1)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xA) + (u16)out.vy; + ((Unkstruct_800B5CB8 *)param_1)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE) + (u16)out.vz; - *(s32 *)(param_1 + 0x10) = (s32)out.vx << 12; + CAST_WIDTH(s32, param_1, 0x10) = (s32)out.vx << 12; t = -(((rand() & 0x3F) << 12) + 0x200000); - *(s32 *)(param_1 + 0x14) = t; - *(s32 *)(param_1 + 0xE0) = t; - *(s32 *)(param_1 + 0x18) = (s32)out.vz << 12; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = t; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = t; + CAST_WIDTH(s32, param_1, 0x18) = (s32)out.vz << 12; - *(u16 *)(param_1 + 0x106) = rand() & 0xF0; - *(u16 *)(param_1 + 0x108) = rand() & 0xF0; - v1 = *(s16 *)(param_1 + 0x70); - *(u16 *)(param_1 + 0xFE) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = rand() & 0xF0; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk70; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = v1; func_8012AD44((s32 *)param_1, 2); } @@ -5570,41 +5570,41 @@ void func_8018B330(s32 param_1) extern s32 D_801CD4A8; s32 iVar; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801CD4A8); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - u16 ns = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x14) = *(s32 *)(param_1 + 0xE0) >> 1; - *(s32 *)(param_1 + 0x10) = *(s32 *)(param_1 + 0x10) >> 1; - *(s32 *)(param_1 + 0x18) = *(s32 *)(param_1 + 0x18) >> 1; - *(u16 *)(param_1 + 0x34) = ns; + u16 ns = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = ((Unkstruct_800B5CB8 *)param_1)->unkE0 >> 1; + CAST_WIDTH(s32, param_1, 0x10) = CAST_WIDTH(s32, param_1, 0x10) >> 1; + CAST_WIDTH(s32, param_1, 0x18) = CAST_WIDTH(s32, param_1, 0x18) >> 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ns; } func_8018B714(param_1); break; case 1: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801CD4A8); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; } func_8018B714(param_1); break; case 2: if (func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); - } else if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } break; } @@ -5636,22 +5636,22 @@ void func_8018B4D8(s32 param_1) out.vz = -0x40; m = &local_38; c = rand() & 0x3F0; - b = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x10A); + b = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x10A); b -= 0x200; - RotMatrixY((s16)(((*(u16 *)(param_1 + 0x70) & 3) * 0x400) + c + b), m); + RotMatrixY((s16)(((CAST_SIGN(u16, param_1, 0x70) & 3) * 0x400) + c + b), m); ApplyMatrixSV(m, &out, &out); - *(u16 *)(param_1 + 6) += out.vx; - *(u16 *)(param_1 + 0xA) += out.vy; - *(u16 *)(param_1 + 0xE) += out.vz; + ((Unkstruct_800B5CB8 *)param_1)->unk6 += out.vx; + ((Unkstruct_800B5CB8 *)param_1)->unkA += out.vy; + ((Unkstruct_800B5CB8 *)param_1)->unkE += out.vz; - *(s32 *)(param_1 + 0x10) = out.vx << 13; - *(s32 *)(param_1 + 0x18) = out.vz << 13; - *(s32 *)(param_1 + 0x14) = -(((rand() & 0xF) << 15) + 0x80000); + CAST_WIDTH(s32, param_1, 0x10) = out.vx << 13; + CAST_WIDTH(s32, param_1, 0x18) = out.vz << 13; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(((rand() & 0xF) << 15) + 0x80000); - *(u16 *)(param_1 + 0x106) = rand() & 0xF0; - *(u16 *)(param_1 + 0x108) = rand() & 0xF0; - *(s32 *)(param_1 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; func_8012AD44((s32 *)param_1, 3); } @@ -5660,7 +5660,7 @@ void func_8018B4D8(s32 param_1) extern void (*D_801CD4B0[])(void); void func_8018B65C(void *a0) { - D_801CD4B0[*(u16 *)((s32)a0 + 0x2)](); + D_801CD4B0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5689,14 +5689,14 @@ void func_8018B714(s32 param_1) s32 result; u16 counter; - counter = *(u16 *)(param_1 + 0xFE) + 1; - *(u16 *)(param_1 + 0xFE) = counter; + counter = CAST_SIGN(u16, param_1, 0xFE) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = counter; if ((counter & 7) == 0) { result = func_80132EF4(param_1, 0x22); if (result != 0) { - *(u32 *)(result + 0x14) = 0xFFF80000; - *(u16 *)(result + 0x34) = 0x4001; - *(u16 *)(*(s32 *)(result + 0x20) + 0x2C) = 0xC010; + ((Unkstruct_800B5CB8 *)result)->unk14 = 0xFFF80000; + ((Unkstruct_800B5CB8 *)result)->unk34 = 0x4001; + ((Unkstruct_800B5CB8 *)*(s32 *)(result + 0x20))->unk2C = 0xC010; } } } @@ -5731,7 +5731,7 @@ void func_8018B774(void *a0) s32 v2; do { v0 = ((s32 (*)(void))func_8012C1B8)(); } while (0); - *(s32 *)((s32)s1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)s1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((s32)s1); return; @@ -5739,38 +5739,38 @@ void func_8018B774(void *a0) func_8001C2C4(v0); - *(u16 *)((s32)s1 + 0x100) = *(u16 *)(*(s32 *)((s32)s1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)s1)->unk100 = *(u16 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x36); - func_8004914C((void *)(*(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0x20) + 0x34)); - func_800491AC((void *)(*(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0x20) + 0x34)); + func_8004914C((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x34)); + func_800491AC((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x34)); RotTransSV(D_801CD4C8, v, flg); - *(s16 *)((s32)s1 + 0x6) = v[0]; - *(s16 *)((s32)s1 + 0xA) = v[1]; - *(s16 *)((s32)s1 + 0xE) = v[2]; - *(s32 *)((s32)s1 + 0xE0) = *(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0xE0); - *(s32 *)((s32)s1 + 0xE4) = *(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0xE4); + ((Unkstruct_800B5CB8 *)s1)->unk6 = v[0]; + ((Unkstruct_800B5CB8 *)s1)->unkA = v[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = v[2]; + ((Unkstruct_800B5CB8 *)s1)->unkE0 = *(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xE0); + ((Unkstruct_800B5CB8 *)s1)->unkE4 = *(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xE4); s0 = (s32)s1 + 0xE0; func_8018BFA8((s32)&flg[2], (s32)v, s0); v0 = flg[2]; - v1 = *(s32 *)((s32)s1 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v1 + 0x10) = v0; - v1 = *(s32 *)((s32)s1 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v1 + 0x12) = v0 >> 16; - v2 = *(s32 *)((s32)s1 + 0x20); + v2 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v2 + 0x14) = 0; func_8012B2CC((s32)s1); - *(s16 *)((s32)s1 + 0xE8) = 0; + CAST_WIDTH(s16, (s32)s1, 0xE8) = 0; *(s16 *)((s32)s1 + 0xEA) = 0; - func_8012F038(*(s32 *)((s32)s1 + 0x20) + 0x34, (s16 *)s0, out); + func_8012F038(((Unkstruct_800B5CB8 *)s1)->unk20 + 0x34, (s16 *)s0, out); v0 = out[2]; - *(s16 *)((s32)s1 + 0xFE) = -v0; + ((Unkstruct_800B5CB8 *)s1)->unkFE = -v0; func_8018B8B0(s1); } @@ -5804,19 +5804,19 @@ void func_8018B8F8(s32 param_1) s0 = func_8012C194(); if (s0 != 0) { - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CD9C(s0, &D_801D57B0); - *(u16 *)((s32)s0 + 8) = *(u16 *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)s0)->unk8 = ((Unkstruct_800B5CB8 *)param_1)->unk6; k = 0x50000000; - *(u16 *)((s32)s0 + 0xA) = *(u16 *)(param_1 + 0xA); - t = *(u16 *)(param_1 + 0xE); - *(s32 *)((s32)s0 + 4) |= k; - *(u16 *)((s32)s0 + 0x1A) = 0x80; - *(u16 *)((s32)s0 + 0x18) = 0x80; - *(u16 *)((s32)s0 + 0x2C) = 0xC006; - *(u16 *)((s32)s0 + 0xC) = t; + ((Unkstruct_800B5CB8 *)s0)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA; + t = ((Unkstruct_800B5CB8 *)param_1)->unkE; + CAST_WIDTH(s32, (s32)s0, 4) |= k; + ((Unkstruct_800B5CB8 *)s0)->unk1A = 0x80; + ((Unkstruct_800B5CB8 *)s0)->unk18 = 0x80; + ((Unkstruct_800B5CB8 *)s0)->unk2C = 0xC006; + ((Unkstruct_800B5CB8 *)s0)->unkC = t; } - *(s32 *)(param_1 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; func_8012AD44((s32 *)param_1, 2); } @@ -5841,7 +5841,7 @@ void func_8018B9D4(s32 param_1) func_8018BCC4((void *)param_1, 1, (u16 *)(param_1 + 0xE8), 0x204040); t1.b = 0; t1.a = 0; - t1.c = -*(u16 *)(param_1 + 0xE8); + t1.c = -CAST_WIDTH(u16, param_1, 0xE8); t2.b = 0; t2.a = 0; t2.c = -*(u16 *)(param_1 + 0xEA); @@ -5849,21 +5849,21 @@ void func_8018B9D4(s32 param_1) D_80126B96 = 0x4018; D_80126B98 = 0x96; } - if (*(s16 *)(param_1 + 0xEA) < *(s16 *)(param_1 + 0xFE)) { + if (*(s16 *)(param_1 + 0xEA) < ((Unkstruct_800B5CB8 *)param_1)->unkFE) { *(s16 *)(param_1 + 0xEA) += 0x40; - if (*(s16 *)(param_1 + 0xEA) >= *(s16 *)(param_1 + 0xFE)) { - *(s16 *)(param_1 + 0xEA) = *(s16 *)(param_1 + 0xFE); + if (*(s16 *)(param_1 + 0xEA) >= ((Unkstruct_800B5CB8 *)param_1)->unkFE) { + *(s16 *)(param_1 + 0xEA) = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_8018BC40(param_1); } } else { - *(s16 *)(param_1 + 0xE8) += 0x40; - if (*(s16 *)(param_1 + 0xE8) < *(s16 *)(param_1 + 0xFE)) { + CAST_WIDTH(s16, param_1, 0xE8) += 0x40; + if (CAST_WIDTH(s16, param_1, 0xE8) < ((Unkstruct_800B5CB8 *)param_1)->unkFE) { return; } - if (*(s32 *)(param_1 + 0xCC) != 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + if (((Unkstruct_800B5CB8 *)param_1)->unkCC != 0) { + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); } - *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0) = 0; func_8012C218((void *)param_1); } } @@ -5874,12 +5874,12 @@ extern void func_8012C218(void *a0); extern void (*D_801CD4D0[])(void); void func_8018BB18(void *a0) { - D_801CD4D0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { - if ((*(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36) != *(s16 *)((s32)a0 + 0x100)) || - (*(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x2) == 4)) { - if (*(s32 *)((s32)a0 + 0xCC) != 0) { - func_80016714((void *)(*(s32 *)((s32)a0 + 0xCC)), 0x38); + D_801CD4D0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if ((*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)a0)->unk100) || + (*(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x2) == 4)) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_80016714((void *)(((Unkstruct_800B5CB8 *)a0)->unkCC), 0x38); } func_8012C218(a0); } @@ -5892,9 +5892,9 @@ void func_8018BBB8(s32 a0) short buf[4]; s32 p; - buf[0] = *(u16 *)(a0 + 0x6); - buf[1] = *(u16 *)(a0 + 0xA); - buf[2] = *(u16 *)(a0 + 0xE); + buf[0] = ((Unkstruct_800B5CB8 *)a0)->unk6; + buf[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + buf[2] = ((Unkstruct_800B5CB8 *)a0)->unkE; buf[3] = 0xC; p = func_8018D364(buf, 0, 0x40C0C0); @@ -6438,8 +6438,8 @@ void func_8018CA44(s32 param_1) func_8012C218((void *)param_1); } else { func_8012AD80(param_1); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; } } @@ -6466,7 +6466,7 @@ void func_8018CB14(s32 param_1) s32 var_a0; s16 var_v0; - var_a0 = *(s32 *)(param_1 + 0xCC); + var_a0 = ((Unkstruct_800B5CB8 *)param_1)->unkCC; if (var_a0 != 0) { var_v0 = *(s16 *)(var_a0 + 0x18); if (var_v0 < 0x500) { @@ -6486,17 +6486,17 @@ extern void func_8018CC88(void *a0); extern void func_8018CD04(void *a0); void func_8018CB88(void *a0) { - if (*(u16 *)((s32)a0 + 0x2) == 0) { + if (CAST_SIGN(u16, (s32)a0, 0x2) == 0) { func_8018CC88(a0); return; } - if (*(s32 *)((s32)a0 + 0x1C) != 0) { - *(s32 *)((s32)a0 + 0x1C) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C -= 1; func_8012931C((s32)a0); if (*(s16 *)((s32)a0 + 0x32) == 0) { - u16 t = *(u16 *)((s32)a0 + 0xA) + 0x1000; + u16 t = ((Unkstruct_800B5CB8 *)a0)->unkA + 0x1000; if (t >= 0x1001) { func_801292C8((s32)a0); return; @@ -6507,12 +6507,12 @@ void func_8018CB88(void *a0) { return; } - *(s32 *)((s32)a0 + 0x14) += *(s32 *)((s32)a0 + 0x34); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x14) += *(u16 *)((s32)a0 + 0x30); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0x8) = *(u16 *)((s32)a0 + 0x6); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xA) = *(u16 *)((s32)a0 + 0xA); - *(u16 *)(*(s32 *)((s32)a0 + 0x20) + 0xC) = *(u16 *)((s32)a0 + 0xE); - func_8018CD04((void *)*(s32 *)((s32)a0 + 0x20)); + ((Unkstruct_800B5CB8 *)a0)->unk14 += CAST_WIDTH(s32, (s32)a0, 0x34); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_WIDTH(u16, (s32)a0, 0x30); + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk8 = ((Unkstruct_800B5CB8 *)a0)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA; + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unkC = ((Unkstruct_800B5CB8 *)a0)->unkE; + func_8018CD04((void *)((Unkstruct_800B5CB8 *)a0)->unk20); } @@ -6778,45 +6778,45 @@ void func_8018D40C(s32 arg0) { v = func_8012B864(arg0); - d = (v + *(s16 *)(arg0 + 0x100)) - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + d = (v + ((Unkstruct_800B5CB8 *)arg0)->unk100) - *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); if (d > 0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + 0x1000; d = v - t; } if (d < -0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) - 0x1000; d = v - t; } if (d > 0) { if (d > 0x20) { d = 0x20; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + d; } else if (d < 0) { if (d < -0x20) { d = -0x20; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + d; } else { - *(s16 *)(arg0 + 0x100) = (rand() & 0x7FF) - 0x400; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (rand() & 0x7FF) - 0x400; } - d = *(s16 *)(*(s32 *)(arg0 + 0x64) + 0xFC) - *(s16 *)(arg0 + 0xFC); + d = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xFC) - ((Unkstruct_800B5CB8 *)arg0)->unkFC; if (d > 0) { if (d > 8) { d = 8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } else if (d < 0) { if (d < -8) { d = -8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = *(u16 *)(arg0 + 0xFC) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = CAST_SIGN(u16, arg0, 0xFC) & 0xFFF; } @@ -6826,46 +6826,46 @@ void func_8018D514(s32 arg0) { v = func_8012B864(arg0); - d = (v + *(s16 *)(arg0 + 0x100)) - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + d = (v + ((Unkstruct_800B5CB8 *)arg0)->unk100) - *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); if (d > 0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + 0x1000; d = v - t; } if (d < -0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) - 0x1000; d = v - t; } if (d > 0) { if (d > 0x20) { d = 0x20; } - *(s16 *)(arg0 + 0xFE) = *(u16 *)(arg0 + 0xFE) + d; - if (*(s16 *)(arg0 + 0xFE) > 0x200) { - *(s16 *)(arg0 + 0xFE) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = CAST_SIGN(u16, arg0, 0xFE) + d; + if (((Unkstruct_800B5CB8 *)arg0)->unkFE > 0x200) { + ((Unkstruct_800B5CB8 *)arg0)->unkFE = 0x200; } } else if (d < 0) { if (d < -0x20) { d = -0x20; } - *(s16 *)(arg0 + 0xFE) = *(u16 *)(arg0 + 0xFE) + d; - if (*(s16 *)(arg0 + 0xFE) < -0x200) { - *(s16 *)(arg0 + 0xFE) = -0x200; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = CAST_SIGN(u16, arg0, 0xFE) + d; + if (((Unkstruct_800B5CB8 *)arg0)->unkFE < -0x200) { + ((Unkstruct_800B5CB8 *)arg0)->unkFE = -0x200; } } else { - *(s16 *)(arg0 + 0x100) = (rand() & 0x7FF) - 0x400; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (rand() & 0x7FF) - 0x400; } - d = *(s16 *)(*(s32 *)(arg0 + 0x64) + 0xFC) - *(s16 *)(arg0 + 0xFC); + d = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xFC) - ((Unkstruct_800B5CB8 *)arg0)->unkFC; if (d > 0) { if (d > 8) { d = 8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } else if (d < 0) { if (d < -8) { d = -8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } } @@ -7167,10 +7167,10 @@ void func_8018D870(void *arg) { do { iv = ((s32 (*)(s32, void *))func_8012C588)(0x281, p); if (iv != 0) { - *(s32 *)(iv + 0x1C) = 2; - *(u16 *)(iv + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 2; + ((Unkstruct_800B5CB8 *)iv)->unk12 = (rand() & 0x1F) - 0x10; *(u16 *)(iv + 0x16) = -((rand() & 0x0F) + 0x10); - *(u16 *)(iv + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1A = (rand() & 0x1F) - 0x10; } i++; } while (i < 8); @@ -7181,62 +7181,62 @@ void func_8018D870(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unk6 = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unkA = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; r = rand(); sv = *(u16 *)(p + 0x0E); - *(s32 *)(iv + 0x18) = 0; - *(s32 *)(iv + 0x14) = 0; - *(s32 *)(iv + 0x10) = 0; - *(u16 *)(iv + 0x0E) = sv + (r & 0x3F) - 0x20; + CAST_WIDTH(s32, iv, 0x18) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk14 = 0; + CAST_WIDTH(s32, iv, 0x10) = 0; + ((Unkstruct_800B5CB8 *)iv)->unkE = sv + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x34) = (r & 0x17FF) + 0x1800; + ((Unkstruct_800B5CB8 *)iv)->unk34 = (r & 0x17FF) + 0x1800; } i++; } while (i < 8); iv = *(s32 *)(p + 0xCC); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } iv = *(s32 *)(p + 0xD0); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } iv = *(s32 *)(p + 0xD4); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } { @@ -7248,10 +7248,10 @@ void func_8018D870(void *arg) { do { iv = func_8012C588(0x281, d8); if (iv != 0) { - *(s32 *)(iv + 0x1C) = 2; - *(u16 *)(iv + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 2; + ((Unkstruct_800B5CB8 *)iv)->unk12 = (rand() & 0x1F) - 0x10; *(u16 *)(iv + 0x16) = -((rand() & 0x0F) + 0x10); - *(u16 *)(iv + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1A = (rand() & 0x1F) - 0x10; } i++; } while (i < 8); @@ -7262,17 +7262,17 @@ void func_8018D870(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(d8 + 0x06) + (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unk6 = *(u16 *)(d8 + 0x06) + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(d8 + 0x0A) - (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unkA = *(u16 *)(d8 + 0x0A) - (r & 0x3F) - 0x20; r = rand(); sv = *(u16 *)(d8 + 0x0E); - *(s32 *)(iv + 0x18) = 0; - *(s32 *)(iv + 0x14) = 0; - *(s32 *)(iv + 0x10) = 0; - *(u16 *)(iv + 0x0E) = sv + (r & 0x3F) - 0x20; + CAST_WIDTH(s32, iv, 0x18) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk14 = 0; + CAST_WIDTH(s32, iv, 0x10) = 0; + ((Unkstruct_800B5CB8 *)iv)->unkE = sv + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x34) = (r & 0x17FF) + 0x1800; + ((Unkstruct_800B5CB8 *)iv)->unk34 = (r & 0x17FF) + 0x1800; } i++; } while (i < 8); @@ -7514,10 +7514,10 @@ void func_8018E188(void *arg) { do { iv = ((s32 (*)(s32, void *))func_8012C588)(0x281, p); if (iv != 0) { - *(s32 *)(iv + 0x1C) = 2; - *(u16 *)(iv + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 2; + ((Unkstruct_800B5CB8 *)iv)->unk12 = (rand() & 0x1F) - 0x10; *(u16 *)(iv + 0x16) = -((rand() & 0x0F) + 0x10); - *(u16 *)(iv + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)iv)->unk1A = (rand() & 0x1F) - 0x10; } i++; } while (i < 8); @@ -7528,62 +7528,62 @@ void func_8018E188(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unk6 = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + ((Unkstruct_800B5CB8 *)iv)->unkA = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; r = rand(); sv = *(u16 *)(p + 0x0E); - *(s32 *)(iv + 0x18) = 0; - *(s32 *)(iv + 0x14) = 0; - *(s32 *)(iv + 0x10) = 0; - *(u16 *)(iv + 0x0E) = sv + (r & 0x3F) - 0x20; + CAST_WIDTH(s32, iv, 0x18) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk14 = 0; + CAST_WIDTH(s32, iv, 0x10) = 0; + ((Unkstruct_800B5CB8 *)iv)->unkE = sv + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x34) = (r & 0x17FF) + 0x1800; + ((Unkstruct_800B5CB8 *)iv)->unk34 = (r & 0x17FF) + 0x1800; } i++; } while (i < 8); iv = *(s32 *)(p + 0xCC); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } iv = *(s32 *)(p + 0xD0); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } iv = *(s32 *)(p + 0xD4); if (iv != 0) { - *(u16 *)(iv + 0x02) = 5; - *(u16 *)(iv + 0x34) = 0; + ((Unkstruct_800B5CB8 *)iv)->unk2 = 5; + ((Unkstruct_800B5CB8 *)iv)->unk34 = 0; func_8012B23C((void *)iv); func_8012B1B4((void *)iv, &D_801D1200); *(u16 *)(iv + 0x16) = (rand() & 3) - 0x1B; ((void (*)(void *, void *))func_8012A828)((void *)iv, &D_801D11DC); - *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x38; - *(u16 *)(iv + 0xFC) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0xFE) = (rand() & 0xFF) - 0x80; - *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; - *(s32 *)(iv + 0x1C) = 0x3C; + ((Unkstruct_800B5CB8 *)iv)->unkA = ((Unkstruct_800B5CB8 *)iv)->unkA - 0x38; + ((Unkstruct_800B5CB8 *)iv)->unkFC = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unkFE = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk100 = (rand() & 0xFF) - 0x80; + ((Unkstruct_800B5CB8 *)iv)->unk1C = 0x3C; } *(s32 *)(*(s32 *)(p + 0x64) + 0xCC) = 0; func_8012C218(p); @@ -7668,56 +7668,56 @@ void func_8018E5DC(void *arg) { s32 t; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801D1210); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { t = func_8012C658(0x33, 3, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(s16 *)(t + 0x1A) = -4; + CAST_ALIAS(s16, t, 0x1A) = -4; } t = func_8012C658(0x33, 2, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(u16 *)(t + 0x1A) = 0; + ((Unkstruct_800B5CB8 *)t)->unk1A = 0; } t = func_8012C658(0x32, 2, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(u16 *)(t + 0x1A) = 4; + ((Unkstruct_800B5CB8 *)t)->unk1A = 4; } i = 0; @@ -7738,11 +7738,11 @@ void func_8018E5DC(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -7753,9 +7753,9 @@ void func_8018E5DC(void *arg) { i++; } while (i < 8); - L.rv[0] = *(s32 *)(*(s32 *)(p + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(p + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(p + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -7773,10 +7773,10 @@ void func_8018E5DC(void *arg) { } func_8012C218((void *)p); } else { - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } diff --git a/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c b/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c index 02fabe9848..5e3d0b99cc 100644 --- a/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c +++ b/src/ov_SC06_022/ov_SC06_022_jr_80184A28.c @@ -2774,40 +2774,40 @@ void func_80184A28(s32 a0) { u16 sp10[4]; s32 s1; - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_80184F88(a0); return; } - if (*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0) { + if (CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0) { func_8012DBD0(a0, 0x50, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: func_80184E14(a0, (s32)&D_801BD2E4); - *(u8 *)(a0 + 0xC2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unkC2 += 1; case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_80131E00(a0, 0xD); return; } s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801BD2E4); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; } else if (s1 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; ((s32 (*)())func_80187EF4)(a0, 0x9B8); } break; @@ -2816,39 +2816,39 @@ void func_80184A28(s32 a0) { { s32 s2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_80131E00(a0, 0xD); return; } - s2 = *(s32 *)(a0 + 0x14); + s2 = ((Unkstruct_800B5CB8 *)a0)->unk14; s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801BD2E4); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; } else if (s1 & 0x2000) { func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = (-s2) / 3; - *(s32 *)(a0 + 0x1C) = 0; - *(u8 *)(a0 + 0xC2) = 3; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = (-s2) / 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; } } break; case 3: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; - if (*(u8 *)(a0 + 0xC3) & 1) { + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 & 1) { s1 = func_8012CBA4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (!(s1 & 0x6000)) { func_80131E00(a0, 0xD); @@ -2857,30 +2857,30 @@ void func_80184A28(s32 a0) { } else { s1 = func_8012CBF4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; break; } else if (s1 & 0x2000) { - *(u8 *)(a0 + 0xC3) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC3 |= 1; ((s32 (*)())func_80187EF4)(a0, 0x9B8); } } - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) < 0x11) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { break; } if (!(s1 & 0x6000)) { func_80131E00(a0, 0xD); return; } - if (*(s16 *)(a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80131E00(a0, 6); } else { func_80131C78(a0); @@ -2890,21 +2890,21 @@ void func_80184A28(s32 a0) { case 4: s1 = func_8012CBA4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x2000) { - if (*(s16 *)(a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80131E00(a0, 6); } else { func_80131C78(a0); } } else { - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x3D) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x3D) { func_80131E00(a0, 0xD); return; } @@ -2962,7 +2962,7 @@ extern void func_8012C098(void *a0); void func_80184F88(s32 a0) { - switch (*(u16 *)(a0 + 0x70) & 0xF) { + switch (CAST_SIGN(u16, a0, 0x70) & 0xF) { case 0: func_8002AC00(0x1F); break; @@ -2989,25 +2989,25 @@ void func_8018500C(s32 param_1) { u16 uVar1; s32 iVar2; - *(s16 *)(param_1 + 0x34) = 0; - if ((*(u32 *)(param_1 + 0xe0) & 8) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + if ((CAST_SIGN(u32, param_1, 0xe0) & 8) == 0) { func_801850CC(); } else { - if ((*(u32 *)(param_1 + 0xe0) & 0x20) != 0) { + if ((CAST_SIGN(u32, param_1, 0xe0) & 0x20) != 0) { func_80185578(param_1, -0x8000); } - *(s16 *)(param_1 + 2) = 0x22; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x22; func_8012A828(param_1, &D_801D50C8); } - iVar2 = *(s32 *)(param_1 + 0x20); + iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar2 + 0x14) = 0; *(s16 *)(iVar2 + 0x10) = 0; - uVar1 = *(u16 *)(*(s32 *)(param_1 + 0x78) + 2); - *(u32 *)(param_1 + 0xe0) = (*(u32 *)(param_1 + 0xe0) & 0xffffffd5) | 0x400; - *(s16 *)(param_1 + 0x5e) = 0; - *(u16 *)(param_1 + 0xae) = *(u16 *)(param_1 + 0xae) & 0xfffe; - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) & 0xfffffffb; - *(s16 *)(param_1 + 0x5c) = uVar1; + uVar1 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 2); + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = (CAST_SIGN(u32, param_1, 0xe0) & 0xffffffd5) | 0x400; + CAST_WIDTH(s16, param_1, 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = CAST_SIGN(u16, param_1, 0xae) & 0xfffe; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) & 0xfffffffb; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = uVar1; } @@ -3019,35 +3019,35 @@ void func_801850CC(s32 a0) { extern s32 D_801BD164[]; s32 flags; - flags = *(s32 *)(a0 + 0xE0); + flags = ((Unkstruct_800B5CB8 *)a0)->unkE0; if (flags & 4) { goto L_bit4; } if (flags & 0x800) { - *(u16 *)(a0 + 2) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; func_8012A828(a0, D_801D4E18); return; } if (flags & 1) { goto L_tbl154; } - if (*(s32 *)(a0 + 0xD0) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkD0 == 0) { goto L_tbl154; } - *(u16 *)(a0 + 2) = 0xE; - *(u16 *)(a0 + 0x34) = 2; - *(s32 *)(a0 + 0x1C) = 0x200; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x200; func_8012A828(a0, D_801D4140); return; L_tbl154: - *(u16 *)(a0 + 2) = D_801BD154[*(u16 *)(a0 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = D_801BD154[CAST_SIGN(u16, a0, 0x70) & 0xF]; return; L_bit4: - *(u16 *)(a0 + 2) = D_801BD164[*(u16 *)(a0 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)a0)->unk2 = D_801BD164[CAST_SIGN(u16, a0, 0x70) & 0xF]; func_8012A828(a0, D_801D4E18); - *(s32 *)(a0 + 0x1C) = 0x200; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x200; } @@ -3073,7 +3073,7 @@ s32 func_801851C4(s32 param_1, s32 param_2) RotTransSV(D_801BD2EC, v1, scratch); RotTransSV(D_801BD2EC + 8, v2, scratch); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)v1, (s32)v2) != 0) { - sVar1 = *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); func_8012F568(1, 1, sVar1, param_2, (s32)v2, (s32)D_801152A8); return 1; } @@ -3234,29 +3234,29 @@ void func_801853B4(s32 a0) { v18[2] = *(u16 *)(p + 0xE); v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v18[1] = *(u16 *)(a0 + 0xA); - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v18[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if ((func_8012CEB0(v10, v18, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - *(u16 *)(a0 + 0xE) = v18[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; return; } break; case 0x2F4: y = *(s16 *)(p + 0xE); - z = *(s16 *)(a0 + 0xE); + z = CAST_SIGN(s16, a0, 0xE); if (y + 0x10 < z) { func_8012C098((void *)a0); return; } if (y - 0x60 < z) { - *(s16 *)(a0 + 0xE) = y - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unkE = y - 0x60; } break; } @@ -3362,26 +3362,26 @@ void func_80185750(s32 a0, s32 a1) { extern u8 D_801D4BF8[]; extern u8 D_801D47C0[]; extern u16 D_800B99DA; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { return; } if ((a1 & 0xFF) != 0x24) { return; } - if (*(u8 **)(a0 + 0x90) == D_801D4140) { + if (CAST_SIGN(u8 *, a0, 0x90) == D_801D4140) { if (D_800B99DA % 3 == 0) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } - } else if (*(u8 **)(a0 + 0x90) == D_801D4B00 && *(u16 *)(a0 + 2) == 0xB) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + } else if (CAST_SIGN(u8 *, a0, 0x90) == D_801D4B00 && CAST_SIGN(u16, a0, 2) == 0xB) { + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } else { - if ((*(u8 **)(a0 + 0x90) == D_801D4BF8 || *(u8 **)(a0 + 0x90) == D_801D47C0) && + if ((CAST_SIGN(u8 *, a0, 0x90) == D_801D4BF8 || CAST_SIGN(u8 *, a0, 0x90) == D_801D47C0) && D_800B99DA % 6 == 0) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } } } @@ -3453,7 +3453,7 @@ s32 func_801858D8(s32 a0, s32 a1) { extern void (*D_801BD34C[])(void); void func_801859B8(void *a0) { - D_801BD34C[*(u16 *)((s32)a0 + 0x2)](); + D_801BD34C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3607,57 +3607,57 @@ void func_80185B80(s32 param_1) u16 uVar1; s32 pad[1]; /* see key (2): forces the 0x20 frame — never referenced */ - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFC); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0xFE); if ((((s32 (*)(s32, s32))func_8012CC40)( param_1, - ((*(u16 *)(param_1 + 0x70) & 0xF) * 8) + (s32)&D_801BD358) & + ((CAST_SIGN(u16, param_1, 0x70) & 0xF) * 8) + (s32)&D_801BD358) & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - if ((*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) & 0xFFFU) > 0x800U) { - *(u16 *)(param_1 + 0x102) = 0xC00; + if ((((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 & 0xFFFU) > 0x800U) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0xC00; } else { - *(u16 *)(param_1 + 0x102) = 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0x400; } - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; if (t < 4 && t != 0) { - *(u16 *)(param_1 + 0x102) = *(u16 *)(param_1 + 0x102) + 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = CAST_SIGN(u16, param_1, 0x102) + 0x400; } - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } else { - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); } return; case 1: - iVar = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), - (s32)*(s16 *)(param_1 + 0x102), 4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + iVar; + iVar = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), + (s32)((Unkstruct_800B5CB8 *)param_1)->unk102, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + iVar; if (func_8012BEE8(param_1) == 0) { return; } - st = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = st + 1; - if ((*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u16 *)(param_1 + 0x34) = st + 2; - } else if ((*(s16 *)(param_1 + 0x70) & 0xF) == 4) { - *(u16 *)(param_1 + 0x34) = 4; - *(s32 *)(param_1 + 0x1C) = 0x1E; + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 2; + } else if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0xF) == 4) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } return; case 2: @@ -3667,21 +3667,21 @@ void func_80185B80(s32 param_1) } return; case 3: - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36) != *(s16 *)(param_1 + 0x10A) && - *(s32 *)(param_1 + 0xE0) == 0) { - *(s32 *)(param_1 + 0x1C) = 0x1E; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A && + ((Unkstruct_800B5CB8 *)param_1)->unkE0 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; uVar1 = 2; - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 4) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 4) { uVar1 = 4; } - *(u16 *)(param_1 + 0x34) = uVar1; - *(s32 *)(param_1 + 0xE0) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = uVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 1; } return; case 4: if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0xA; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8012E8A8((u8 *)param_1); func_80187094(param_1, 1); } @@ -3703,10 +3703,10 @@ extern void func_8012E8A8(u8 *a0); void func_80185E64(s32 param_1) { - s32 t1 = *(s32 *)(param_1 + 0x64); + s32 t1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 pad[2]; - if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) { + if (*(s16 *)(t1 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A) { func_8012C218((void *)param_1); return; } @@ -3726,71 +3726,71 @@ void func_80185E64(s32 param_1) u32 a0; u32 v1; - *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); + ((Unkstruct_800B5CB8 *)param_1)->unk102 = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) - *(u16 *)(param_1 + 0x104) = a0; - *(u16 *)(param_1 + 0x106) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = a0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = v1; } while (0); - *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); - *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64); - *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (s8)*(u8 *)(a1 + 0x63); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s8)*(u8 *)(a1 + 0x64); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = (s8)*(u8 *)(a1 + 0x65); } else { - *(UAlign12_80185E64 *)(param_1 + 0xFC) = *(UAlign12_80185E64 *)(a2 + 0x90); + CAST_WIDTH(UAlign12_80185E64, param_1, 0xFC) = *(UAlign12_80185E64 *)(a2 + 0x90); } - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = a3; } if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) { - if (*(u16 *)(param_1 + 0x34) == 0) { - s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40; - *(s16 *)(param_1 + 0x108) = sVar2; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + s16 sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk108 + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = sVar2; if (sVar2 > 0x200) { - *(u16 *)(param_1 + 0x108) = 0x200; - *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0x200; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = CAST_SIGN(s16, param_1, 0x34) + 1; } } else { - u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80; - *(u16 *)(param_1 + 0x108) = uVar3; + u16 uVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk108 - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = uVar3; if ((s16)uVar3 < 0) { - *(u16 *)(param_1 + 0x108) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80; } } } - *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108); + *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + ((Unkstruct_800B5CB8 *)param_1)->unk108; - *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4); - *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8); - *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC); + CAST_WIDTH(u32, param_1, 4) = *(u32 *)(t1 + 4); + CAST_WIDTH(u32, param_1, 8) = *(u32 *)(t1 + 8); + CAST_WIDTH(u32, param_1, 0xC) = *(u32 *)(t1 + 0xC); - *(UAlign8_80185E64 *)(param_1 + 0x50) = *(UAlign8_80185E64 *)(t1 + 0x50); + CAST_WIDTH(UAlign8_80185E64, param_1, 0x50) = *(UAlign8_80185E64 *)(t1 + 0x50); { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_80185E64 *)(dst + 0x10) = *(UAlign8_80185E64 *)(src + 0x10); + CAST_WIDTH(UAlign8_80185E64, dst, 0x10) = *(UAlign8_80185E64 *)(src + 0x10); } { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_80185E64 *)(dst + 0x18) = *(UAlign8_80185E64 *)(src + 0x18); + CAST_WIDTH(UAlign8_80185E64, dst, 0x18) = *(UAlign8_80185E64 *)(src + 0x18); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u32 *)(dst + 4) = *(u32 *)(src + 4); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u32, dst, 4) = *(u32 *)(src + 4); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)dst)->unk2C = *(u16 *)(src + 0x2C); } } } @@ -3801,7 +3801,7 @@ void func_80185E64(s32 param_1) extern void (*D_801BD4A4[])(void); void func_8018611C(void *a0) { - D_801BD4A4[*(u16 *)((s32)a0 + 0x2)](); + D_801BD4A4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3820,14 +3820,14 @@ void func_80186158(s32 a0) { s32 v1; s32 obj; - v1 = *(u16 *)(a0 + 0x70) & 0xF; + v1 = CAST_SIGN(u16, a0, 0x70) & 0xF; switch (v1) { case 0: if (func_8012C354(a0, D_801BD3B4) == 0) { return; } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = a0 + 0xE8; - *(u16 *)(a0 + 0x104) = 0x78; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = a0 + 0xE8; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0x78; func_801862C8(a0); func_80143994(a0, 0x1800); return; @@ -3835,26 +3835,26 @@ void func_80186158(s32 a0) { if (func_8012C354(a0, D_801BD3E8) == 0) { return; } - *(u16 *)(a0 + 0x104) = 0xA0; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA0; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; return; } - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_80143994(a0, 0x1800); return; case 2: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)a0)->unk20 = obj; if (obj == 0) { func_8012CAE4(a0); return; } func_8001CA1C(obj, (s32)D_801BD388); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x14CC; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1199; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x58000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x14CC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1199; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x58000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; func_80186B94(a0); return; default: @@ -3867,13 +3867,13 @@ extern void func_8012B2CC(s32 a0); extern void func_8012B178(s32 a0, s32 a1); void func_801862C8(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x18; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0x80; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x18; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, -0x100000); - *(u16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } @@ -3899,7 +3899,7 @@ void func_80186330(s32 param_1) { extern u16 D_80126CB8; u16 uVar1; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -3907,22 +3907,22 @@ void func_80186330(s32 param_1) { { s32 base = (s32)&D_801BD41C; s32 r = func_8012D5E4(param_1, base, base + 8, 0x78); - if (r == 1 || (*(u16 *)(param_1 + 0x5C) & 1) != 0) { + if (r == 1 || (((Unkstruct_800B5CB8 *)param_1)->unk5C & 1) != 0) { func_80187094(param_1, 1); func_8012C218((void *)param_1); return; } } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { default: return; case 0: { - s32 sVar3 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), 0, 0x18); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + sVar3; + s32 sVar3 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), 0, 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + sVar3; } { s32 r = func_8012CBF4(param_1); @@ -3934,22 +3934,22 @@ void func_80186330(s32 param_1) { s32 r = func_8012BEE8(param_1); if (r == 0) return; } - *(u16 *)(param_1 + 0xF4) = D_80126CB4; + CAST_WIDTH(u16, param_1, 0xF4) = D_80126CB4; *(u16 *)(param_1 + 0xF6) = D_80126CB6; { u16 tmp = D_80126CB8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(u16 *)(param_1 + 0xF8) = tmp; + CAST_ALIAS(u16, param_1, 0x34) = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + CAST_ALIAS(s32, param_1, 0x1C) = 0x3C; + CAST_WIDTH(u16, param_1, 0xF8) = tmp; } return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += func_8012B8E4(param_1, 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += func_8012B8E4(param_1, 0x20); { s32 r = func_8012BEE8(param_1); if (r != 0) { - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } break; @@ -3957,19 +3957,19 @@ void func_80186330(s32 param_1) { break; } - *(u16 *)(param_1 + 0xF2) = *(u16 *)(param_1 + 0xF2) - 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkF2 = ((Unkstruct_800B5CB8 *)param_1)->unkF2 - 0x100; func_8012B178(param_1, 0xFFEC0000); { s32 r = func_8012CBF4(param_1); if (r != 0) goto LAB_8018847c; } - if (*(u16 *)(param_1 + 0x34) != 2) goto LAB_80188494; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 != 2) goto LAB_80188494; { s32 r = func_8012BEE8(param_1); if (r != 1) goto LAB_80188494; } LAB_8018847c: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80187094(param_1, 1); return; LAB_80188494: @@ -3979,9 +3979,9 @@ LAB_80188494: { u16 out[4]; ((void (*)(s32, void *, void *))func_8012F214)(param_1, D_801BD4D0, out); - *(u16 *)(iv + 6) = out[0]; - *(u16 *)(iv + 0xA) = out[1]; - *(u16 *)(iv + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)iv)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)iv)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)iv)->unkE = out[2]; } return; } @@ -3992,13 +3992,13 @@ extern void func_8012B2CC(s32 a0); extern void func_8012B178(s32 a0, s32 a1); void func_80186588(s32 param_1) { - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, 0x20000); - *(s16 *)(param_1 + 2) = 4; - *(s32 *)(param_1 + 0x1C) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -4017,7 +4017,7 @@ void func_801865E8(s32 param_1) { s32 v0; s32 iVar; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -4025,22 +4025,22 @@ void func_801865E8(s32 param_1) { if (v0 < 0x1001) { goto LAB_tail; } - if (*(u16 *)(param_1 + 0x34) == 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) - 0x40; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 - 0x40; v0 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BD43C); if ((v0 & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - u16 tmp = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0xA; - *(u16 *)(param_1 + 0x34) = tmp + 1; + u16 tmp = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = tmp + 1; return; } - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); return; } @@ -4048,7 +4048,7 @@ void func_801865E8(s32 param_1) { return; } LAB_tail: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80187094(param_1, 0); } @@ -4110,14 +4110,14 @@ void func_80186744(s32 param_1) { u16 buf[8]; s32 vec[3]; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { case 0: - psVar5 = *(s32 *)(param_1 + 0x64); + psVar5 = ((Unkstruct_800B5CB8 *)param_1)->unk64; if ((*(u16 *)psVar5 == 0) || (*(s32 *)(psVar5 + 0x90) != (s32)&D_801D51D0)) { func_8012C218((void *)param_1); @@ -4125,95 +4125,95 @@ void func_80186744(s32 param_1) { } if (*(s32 *)(psVar5 + 0x94) < 0x11) { ((void (*)(void *, void *, void *, s32))func_80187414)((void *)psVar5, (void *)&D_801BD444, buf, 5); - *(s16 *)(param_1 + 6) = buf[0]; - *(s16 *)(param_1 + 0xA) = buf[1]; - *(s16 *)(param_1 + 0xE) = buf[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = buf[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = buf[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = buf[2]; return; } ((void (*)(void *, void *, void *, s32))func_80187414)((void *)psVar5, (void *)&D_801BD44C, buf, 4); ((void (*)(void *, void *, void *, s32))func_80187414)((void *)psVar5, (void *)&D_801BD44C, &buf[4], 5); - *(s16 *)(param_1 + 6) = + CAST_ALIAS(s16, param_1, 6) = (s16)((*(s16 *)&buf[0] + *(s16 *)&buf[4]) >> 1); - *(s16 *)(param_1 + 0xA) = + CAST_ALIAS(s16, param_1, 0xA) = (s16)((*(s16 *)&buf[1] + *(s16 *)&buf[5]) >> 1); - *(s16 *)(param_1 + 0xE) = + ((Unkstruct_800B5CB8 *)param_1)->unkE = (s16)((*(s16 *)&buf[2] + *(s16 *)&buf[6]) >> 1); if (*(s32 *)(psVar5 + 0x94) != 0x19) { return; } - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; vec[0] = 0; vec[1] = 0xfff40000; iVar3 = func_80013328((s32)&D_80126B5C, param_1 + 4); vec[2] = -((iVar3 << 0x10) / 0x22); func_8012B14C(param_1, (s32)vec); - *(s32 *)(param_1 + 0x48) = 0xc000; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xc000; return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x80; iVar3 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BD43C); if (iVar3 == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0; - *(u16 *)(param_1 + 0x34) = (*(u16 *)(param_1 + 0x34)) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = (((Unkstruct_800B5CB8 *)param_1)->unk34) + 1; return; case 2: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; uVar4 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BD43C); if ((uVar4 & 0x2000) == 0) { return; } - iVar4 = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar4; + iVar4 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar4; if (iVar4 >= 4) { - sVar2 = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0x1e; - *(u16 *)(param_1 + 0x34) = sVar2 + 1; + sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = sVar2 + 1; return; } - iVar3 = *(s32 *)(param_1 + 0x10) * 0xc; + iVar3 = CAST_WIDTH(s32, param_1, 0x10) * 0xc; if (iVar3 < 0) { iVar3 = iVar3 + 0xf; } - *(s32 *)(param_1 + 0x10) = iVar3 >> 4; - iVar5 = *(s32 *)(param_1 + 0x18) * 0xc; + CAST_WIDTH(s32, param_1, 0x10) = iVar3 >> 4; + iVar5 = CAST_WIDTH(s32, param_1, 0x18) * 0xc; if (iVar5 < 0) { iVar5 = iVar5 + 0xf; } - *(s32 *)(param_1 + 0x18) = iVar5 >> 4; - *(s32 *)(param_1 + 0x14) = -(0x80000 / *(s32 *)(param_1 + 0x1c)); + CAST_WIDTH(s32, param_1, 0x18) = iVar5 >> 4; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / ((Unkstruct_800B5CB8 *)param_1)->unk1C); func_80143B6C(param_1, 1); return; case 3: - uVar4 = *(u32 *)(param_1 + 0x1c); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); if ((uVar4 - 0xe < 0xb) && ((uVar4 & 1) == 0)) { - ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)*(s16 *)(param_1 + 0x104), param_1); - do { *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x104) + 1; } while (0); - uVar4 = *(u32 *)(param_1 + 0x1c); + ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)((Unkstruct_800B5CB8 *)param_1)->unk104, param_1); + do { ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x104) + 1; } while (0); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); } if (uVar4 == 9) { - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) & 0x7fffffff; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 8) = *(u16 *)(param_1 + 6); - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xa) = - *(u16 *)(param_1 + 0xa) - 0x24; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xc) = *(u16 *)(param_1 + 0xe); + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) & 0x7fffffff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk8 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkA = + ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x24; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkC = ((Unkstruct_800B5CB8 *)param_1)->unkE; } - if (*(s32 *)(param_1 + 0x1c) - 4U < 6) { - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) + 0x200; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C - 4U < 6) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A + 0x200; } iVar3 = func_8012BEE8(param_1); if (iVar3 != 1) { return; } - ((void (*)(s32, s32))func_80016714)(*(s32 *)(param_1 + 0xcc), 0x38); - *(s16 *)(param_1 + 2) = 9; + ((void (*)(s32, s32))func_80016714)(((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80187094(param_1, 0); return; } @@ -4271,28 +4271,28 @@ void func_80186C30(s32 param_1) SVECTOR flag; s32 iVar; - sv.vx = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - sv.vy = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sv.vx = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + sv.vy = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; sv.vz = 0; func_80049CAC((s32)&sv, (s32)&mat); gte_SetRotMatrix(&mat); - gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); RotTransSV(&D_801BD42C[0], &b, &flag); RotTransSV(&D_801BD42C[1], &c, &flag); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&b, (s32)&c) != 0) { - s16 sVar1 = *(s16 *)(param_1 + 0xFE); + s16 sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_8012F568(1, 1, sVar1, 0x50, (s32)&c, (s32)D_801152A8); } else { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) - 0x100; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) - 0x100; iVar = func_8012CBF4(param_1); if (iVar != 0) { - s16 sVar1 = *(s16 *)(param_1 + 6); - s16 sVar2 = *(s16 *)(param_1 + 0xA); - s16 sVar3 = *(s16 *)(param_1 + 0xE); + s16 sVar1 = CAST_SIGN(s16, param_1, 6); + s16 sVar2 = CAST_SIGN(s16, param_1, 0xA); + s16 sVar3 = CAST_SIGN(s16, param_1, 0xE); func_80146A6C(6, (void *)param_1, sVar1, sVar2, sVar3, 0, 0); iVar = func_80132EF4(param_1, 0x22); if (iVar != 0) { @@ -4331,12 +4331,12 @@ void func_80186E24(s32 a0) extern void func_8012C218(void *a0); extern u16 D_80126B96; - if (*(u16 *)(a0 + 0x70) & 1) { - if (func_8012D624(a0, 0x60, *(s16 *)(a0 + 0x104)) == 1) { + if (CAST_SIGN(u16, a0, 0x70) & 1) { + if (func_8012D624(a0, 0x60, ((Unkstruct_800B5CB8 *)a0)->unk104) == 1) { D_80126B96 = 0x4001; } } - if (func_801874E0(a0, 0x60, *(s16 *)(a0 + 0x104)) == 1) { + if (func_801874E0(a0, 0x60, ((Unkstruct_800B5CB8 *)a0)->unk104) == 1) { func_8012C218((void *)a0); } } @@ -4664,9 +4664,9 @@ s32 func_801874E0(s32 param_1, s32 param_2, s32 param_3) if (func_8012BEE8(param_1) != 0) { result = func_80132EF4(param_1, 0x22); if (result != 0) { - *(u16 *)(result + 0x34) = 0x7FFF; - *(u16 *)(*(s32 *)(result + 0x20) + 0x2C) = 0xC006; - *(u32 *)(result + 0x14) = 0xFFFE0000; + ((Unkstruct_800B5CB8 *)result)->unk34 = 0x7FFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(result + 0x20))->unk2C = 0xC006; + ((Unkstruct_800B5CB8 *)result)->unk14 = 0xFFFE0000; } return 1; } @@ -4678,7 +4678,7 @@ s32 func_801874E0(s32 param_1, s32 param_2, s32 param_3) extern void (*D_801BD4D8[])(void); void func_80187548(void *a0) { - D_801BD4D8[*(u16 *)((s32)a0 + 0x2)](); + D_801BD4D8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4710,31 +4710,31 @@ void func_80187584(s32 param_1) { ((void (*)(s32))func_8012CAE4)(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); r = raw; - *(u16 *)(obj + 0x2C) = *(u16 *)(obj + 0x2C) | 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk2C = ((Unkstruct_800B5CB8 *)obj)->unk2C | 0x10; v = r % 384 + 0x400; - *(s16 *)(obj + 0x1C) = v; - *(s16 *)(obj + 0x1A) = v; - *(s16 *)(obj + 0x18) = v; + CAST_WIDTH(s16, obj, 0x1C) = v; + ((Unkstruct_800B5CB8 *)obj)->unk1A = v; + ((Unkstruct_800B5CB8 *)obj)->unk18 = v; sgn = -1; if (raw & 1) { sgn = 1; } - *(s16 *)(obj + 0x10) = sgn * (r % 128) - 0x300; - *(s16 *)(obj + 0x12) = r % 4096; - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)obj)->unk10 = sgn * (r % 128) - 0x300; + ((Unkstruct_800B5CB8 *)obj)->unk12 = r % 4096; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(s16 *)(param_1 + 0xFE) = rand() & 0xF0; - *(s16 *)(param_1 + 0x100) = rand() & 0x1F0; - *(s16 *)(param_1 + 0x102) = rand() & 0x30; - tbl = &D_801BD4E0[(*(u16 *)(param_1 + 0x70) & 0xF) * 4]; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = rand() & 0x30; + tbl = &D_801BD4E0[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 4]; p = (s16 *)(param_1 + 0xDC); @@ -4809,7 +4809,7 @@ void func_80187584(s32 param_1) { *((u8 *)p + 0x20) = tbl[0]; *((u8 *)p + 0x21) = tbl[1]; *((u8 *)p + 0x22) = tbl[2]; - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; } @@ -4820,17 +4820,17 @@ extern void func_8012C218(void *a0); /* TU-canonical (ov_SC06_018_jr_8017C24C extern void func_80017274(s32 a0, s32 a1); void func_801879E8(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0x100); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x102); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0x100); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + CAST_SIGN(u16, param_1, 0x102); if (func_8012CBF4(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -4839,7 +4839,7 @@ void func_801879E8(s32 param_1) { extern void (*D_801BD4F8[])(void); void func_80187A8C(void *a0) { - D_801BD4F8[*(u16 *)((s32)a0 + 0x2)](); + D_801BD4F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4861,40 +4861,40 @@ void func_80187AC8(s32 param_1) { s32 t; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { ((void (*)(s32))func_8012CAE4)(param_1); } else { func_8001C214(obj, 0); - if ((*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x80 - (rand() % 0x300); - o2 = *(s32 *)(param_1 + 0x20); + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = -0x80 - (rand() % 0x300); + o2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; off = rand() % 0xC0; - base = *(s16 *)(param_1 + 0x70) * 0x300 + 0x180; + base = ((Unkstruct_800B5CB8 *)param_1)->unk70 * 0x300 + 0x180; if (rand() & 1) { v = base + off; } else { v = base - off; } *(s16 *)(o2 + 0x12) = v; - func_8012B0B4(buf, *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800, + func_8012B0B4(buf, *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800, rand() % 0x10 + 8); t = buf[0]; - *(u16 *)(param_1 + 0x6) = *(u16 *)(param_1 + 0x6) + t; - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + (t >> 16); - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = ((Unkstruct_800B5CB8 *)param_1)->unk6 + t; + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + (t >> 16); + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x10; func_8012B2CC(param_1); - *(s32 *)(param_1 + 0x1C) = 4; - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 0x2) + 1; } else { - *(s16 *)(param_1 + 0xDC) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCC); - *(s16 *)(param_1 + 0xDE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCE); - *(s16 *)(param_1 + 0xE0) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD0); - *(s16 *)(param_1 + 0xE4) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD4); - *(s16 *)(param_1 + 0xE6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD6); - *(s16 *)(param_1 + 0xE8) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD8); - *(s16 *)(param_1 + 0x2) = 2; - *(s32 *)(param_1 + 0x1C) = 8; + CAST_WIDTH(s16, param_1, 0xDC) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCC); + *(s16 *)(param_1 + 0xDE) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCE); + CAST_WIDTH(s16, param_1, 0xE0) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0); + CAST_WIDTH(s16, param_1, 0xE4) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD4); + *(s16 *)(param_1 + 0xE6) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD6); + CAST_WIDTH(s16, param_1, 0xE8) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; } } } @@ -4910,13 +4910,13 @@ void func_80187CBC(void *a0) { u8 buf[0x34]; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(s32 *)((u8 *)a0 + 0xE0) = *(s32 *)((u8 *)a0 + 0xE0) - 0x14; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x14; if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 v1 = *(s32 *)((u8 *)a0 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s32 *)(*(s32 *)(v1 + 0x20) + 4) < 0 || *(u16 *)v1 == 0) { func_8012C218(a0); return; @@ -4935,12 +4935,12 @@ void func_80187CBC(void *a0) } *(s16 *)(buf + 0x12) = 0; { - s32 t1 = *(s32 *)((u8 *)a0 + 0xE0); + s32 t1 = ((Unkstruct_800B5CB8 *)a0)->unkE0; s32 t2; *(s16 *)(buf + 0x18) = -0xC; *(s16 *)(buf + 0x1A) = 0; *(s16 *)(buf + 0x14) = t1; - t2 = *(s32 *)((u8 *)a0 + 0xE0); + t2 = CAST_ALIAS(s32, (u8 *)a0, 0xE0); *(s32 *)(buf + 0x30) = 0x50000000; *(u8 *)(buf + 0x22) = 0x80; *(u8 *)(buf + 0x21) = 0x80; @@ -4957,7 +4957,7 @@ void func_80187CBC(void *a0) *(s16 *)(buf + 0x1C) = t2; } - func_80017758(buf, (u8 *)(*(s32 *)((u8 *)a0 + 0x20)) + 0x34); + func_80017758(buf, (u8 *)(CAST_ALIAS(s32, (u8 *)a0, 0x20)) + 0x34); } @@ -4982,32 +4982,32 @@ void func_80187DF8(void *a0) extern Blk20_8018AF88 D_800AE620; s32 c; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(u16 *)((u8 *)a0 + 0xCC) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCC); - *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCE); - *(u16 *)((u8 *)a0 + 0xD0) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD0); - *(u16 *)((u8 *)a0 + 0xD4) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD4); - *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD6); - *(u16 *)((u8 *)a0 + 0xD8) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD8); - *(u16 *)((u8 *)a0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + CAST_WIDTH(u16, (u8 *)a0, 0xCC) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); + *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCE); + CAST_WIDTH(u16, (u8 *)a0, 0xD0) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); + CAST_WIDTH(u16, (u8 *)a0, 0xD4) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD4); + *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD6); + CAST_WIDTH(u16, (u8 *)a0, 0xD8) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } - *(s32 *)((u8 *)a0 + 0xFC) = 0x50000000; + CAST_WIDTH(s32, (u8 *)a0, 0xFC) = 0x50000000; - c = *(s32 *)((u8 *)a0 + 0x1C); + c = ((Unkstruct_800B5CB8 *)a0)->unk1C; { u8 v = (u8)(c * 30); - *(u8 *)((u8 *)a0 + 0xEC) = + CAST_WIDTH(u8, (u8 *)a0, 0xEC) = *(u8 *)((u8 *)a0 + 0xED) = - *(u8 *)((u8 *)a0 + 0xEE) = - *(u8 *)((u8 *)a0 + 0xF0) = - *(u8 *)((u8 *)a0 + 0xF1) = - *(u8 *)((u8 *)a0 + 0xF2) = - *(u8 *)((u8 *)a0 + 0xF4) = + CAST_WIDTH(u8, (u8 *)a0, 0xEE) = + ((Unkstruct_800B5CB8 *)a0)->unkF0 = + ((Unkstruct_800B5CB8 *)a0)->unkF1 = + CAST_WIDTH(u8, (u8 *)a0, 0xF2) = + CAST_WIDTH(u8, (u8 *)a0, 0xF4) = *(u8 *)((u8 *)a0 + 0xF5) = *(u8 *)((u8 *)a0 + 0xF6) = - *(u8 *)((u8 *)a0 + 0xF8) = + CAST_WIDTH(u8, (u8 *)a0, 0xF8) = *(u8 *)((u8 *)a0 + 0xF9) = *(u8 *)((u8 *)a0 + 0xFA) = v; } @@ -5015,9 +5015,9 @@ void func_80187DF8(void *a0) func_80017758((u8 *)a0 + 0xCC, &D_800AE620); { - s32 d = *(s32 *)((u8 *)a0 + 0x1C) - 1; + s32 d = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; - *(s32 *)((u8 *)a0 + 0x1C) = d; + ((Unkstruct_800B5CB8 *)a0)->unk1C = d; if (d == 0) { func_8012C218(a0); } @@ -5055,9 +5055,9 @@ s32 func_80187EF4(s32 arg0, u16 arg1) { } else if (b >= 0x10) { b = 0xF; } - sp20[0] = *(u16 *)(base + 6); - sp20[1] = *(u16 *)(base + 0xA); - sp20[2] = *(u16 *)(base + 0xE); + sp20[0] = CAST_SIGN(u16, base, 6); + sp20[1] = CAST_SIGN(u16, base, 0xA); + sp20[2] = CAST_SIGN(u16, base, 0xE); ((void (*)(s32, s32))func_8012EFB8)((s32)sp20, (s32)sp28); sp28[2] = 0; if ((var = func_800132BC(sp18, sp28) - 0x400) > 0) { @@ -5076,7 +5076,7 @@ s32 func_80187EF4(s32 arg0, u16 arg1) { extern void (*D_801BD504[])(void); void func_80188060(void *a0) { - D_801BD504[*(u16 *)((s32)a0 + 0x2)](); + D_801BD504[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5120,7 +5120,7 @@ void func_8018814C(s32 param_1) { u8 b; u16 h; - q = *(s32 *)(param_1 + 0x20); + q = ((Unkstruct_800B5CB8 *)param_1)->unk20; a = *(u8 *)(q + 0x24) - 0x20; *(u8 *)(q + 0x24) = a; @@ -5266,13 +5266,13 @@ s32 func_80188478(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_801D52F8; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -5304,7 +5304,7 @@ s32 func_80188478(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_801D52F8; @@ -5340,7 +5340,7 @@ s32 func_80188478(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -5352,7 +5352,7 @@ s32 func_80188478(s32 param_1) { extern void (*D_801D5344[])(void); void func_80188718(void *a0) { - D_801D5344[*(u16 *)((s32)a0 + 0x2)](); + D_801D5344[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5374,29 +5374,29 @@ int func_80188754(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -5405,9 +5405,9 @@ int func_80188754(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -5475,7 +5475,7 @@ void func_80188964(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -5495,10 +5495,10 @@ void func_80188964(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -5513,9 +5513,9 @@ void func_80188964(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -5544,11 +5544,11 @@ void func_80188964(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -5565,7 +5565,7 @@ void func_80188964(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -5605,23 +5605,23 @@ void func_80188D68(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -5642,8 +5642,8 @@ void func_80188D68(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -5684,42 +5684,42 @@ void func_80188EDC(int param_1) { iVar1 = func_8012C354(param_1, D_801D5A58); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801D599C, D_801D595C); func_800599B8(D_801D59A4, D_801D597C); - func_8001C214(*(int *)(param_1 + 0x20), D_801D9CC4); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801D9CC4); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801DCF74); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801D5A98; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801D5A98; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801DCDDC); - func_8012A828(*(int *)(param_1 + 0xcc), D_801DCE64); - func_8012A828(*(int *)(param_1 + 0xd0), D_801DCEEC); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801DCE64); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801DCEEC); return; } @@ -5792,18 +5792,18 @@ void func_8018908C(s32 a0) { func_8012B1B4(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_80188754(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, tbl); } else { goto set1; @@ -5820,21 +5820,21 @@ void func_8018908C(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_80188754(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -5843,7 +5843,7 @@ void func_8018908C(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_80188754(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -5855,24 +5855,24 @@ void func_8018908C(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -5935,20 +5935,20 @@ void func_80189318(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -5957,29 +5957,29 @@ void func_80189318(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801D591C[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801D591C[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801DCDDC); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801DCE64); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801DCEEC); } @@ -6010,31 +6010,31 @@ void func_801897DC(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6119,7 +6119,7 @@ void func_801899AC(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -6133,31 +6133,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6208,15 +6208,15 @@ void func_80189B9C(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801D5AC8[*(u16 *)(a0 + 0x2)](); + D_801D5AC8[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -6227,11 +6227,11 @@ void func_80189B9C(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -6251,17 +6251,17 @@ void func_80189B9C(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6316,34 +6316,34 @@ void func_80189EB4(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -6364,8 +6364,8 @@ void func_80189EB4(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -6411,7 +6411,7 @@ void func_8018A0AC(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -6432,11 +6432,11 @@ void func_8018A0AC(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -6450,9 +6450,9 @@ void func_8018A0AC(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -6486,16 +6486,16 @@ void func_8018A0AC(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -6514,7 +6514,7 @@ void func_8018A0AC(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6546,34 +6546,34 @@ void func_8018A4F4(short *param_1) D_801D5B50[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -6619,7 +6619,7 @@ void func_8018A704(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -6638,9 +6638,9 @@ void func_8018A704(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -6653,9 +6653,9 @@ void func_8018A704(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6679,7 +6679,7 @@ void func_8018A704(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -6687,15 +6687,15 @@ void func_8018A704(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -6715,7 +6715,7 @@ void func_8018A704(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6813,51 +6813,51 @@ void func_8018AD58(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801D59AC; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801D59B8); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801D59AC; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801D59B8); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -6891,22 +6891,22 @@ void func_8018AFFC(s32 a0) { func_8012B1B4(a0, (s32)D_801D5AB8); func_8012CBCC(a0); func_80188754(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801DD274); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DD364); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DD364); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DD454); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DD454); } } } @@ -6919,18 +6919,18 @@ void func_8018B0FC(s32 a0) { extern u8 D_801DD074[]; extern u8 D_801DD174[]; - if (*(s16 *)(a0 + 0x100) == 0) { - *(u16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0x100) = 0x3C; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801DCF74); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DD074); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DD074); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DD174); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DD174); } } else { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } } @@ -6946,21 +6946,21 @@ void func_8018B19C(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6977,17 +6977,17 @@ void func_8018B25C(s32 a0) { extern u8 D_801DD074[]; extern u8 D_801DD174[]; - if (*(s16 *)(a0 + 0xFC) == 0) { - *(u16 *)(a0 + 2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801DCF74); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DD074); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DD074); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DD174); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DD174); } } else { - *(s16 *)(a0 + 0xFC) = *(s16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = ((Unkstruct_800B5CB8 *)a0)->unkFC - 1; } } @@ -7038,22 +7038,22 @@ void func_8018B314(s32 a0) { v0 = func_8012C354(a0, (s32)D_801D5AFC); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801DAA34); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801DAA34); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801DD074); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_801D5B30; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_801D5B30; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -7069,24 +7069,24 @@ void func_8018B40C(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -7103,21 +7103,21 @@ void func_8018B4E0(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -7178,22 +7178,22 @@ void func_8018B5E0(s32 a0) { v0 = func_8012C354(a0, (s32)D_801D5B74); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801DB7A0); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801DB7A0); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_801D5BA8; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_801D5BA8; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801DD174); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -7211,38 +7211,38 @@ void func_8018B6DC(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -7260,21 +7260,21 @@ void func_8018B7D0(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -7304,21 +7304,21 @@ s32 param_2; SVECTOR sv1; SVECTOR sv2; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (short)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } return 0; @@ -7502,8 +7502,8 @@ void func_8018BD68(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -7520,11 +7520,11 @@ void func_8018BD68(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -7563,34 +7563,34 @@ void func_8018BF50(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -7608,18 +7608,18 @@ void func_8018BF50(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; func_8012B1B4(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -7637,19 +7637,19 @@ void func_8018BF50(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_8018B8B0(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -7662,7 +7662,7 @@ void func_8018BF50(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_8018B8B0(a0, 0x51) != 0) { goto rand_tail; } @@ -7670,7 +7670,7 @@ void func_8018BF50(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -7682,26 +7682,26 @@ void func_8018BF50(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -7742,41 +7742,41 @@ void func_8018C28C(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; func_80188204(param_1, (s32)&D_801DD650); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801DD658, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801DD658, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801DD660, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801DD660, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -7802,7 +7802,7 @@ void func_8018C28C(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -7897,10 +7897,10 @@ void func_8018C664(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_801DD688[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_801DD688[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_8018BBBC)(a0); @@ -7908,15 +7908,15 @@ void func_8018C664(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -7925,7 +7925,7 @@ void func_8018C664(s32 a0) extern void (*D_801DD6B4[])(void); void func_8018C73C(void *a0) { - D_801DD6B4[*(u16 *)((s32)a0 + 0x2)](); + D_801DD6B4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7974,40 +7974,40 @@ void func_8018C778(s32 a0) SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_801DD6BC); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_801DD6BC); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { func_8012C218((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { func_8012C218((void *)a0); } @@ -8019,7 +8019,7 @@ void func_8018C778(s32 a0) extern void (*D_801DD6D4[])(void); void func_8018C8EC(void *a0) { - D_801DD6D4[*(u16 *)((s32)a0 + 0x2)](); + D_801DD6D4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8030,19 +8030,19 @@ extern void func_8012C218(void *a0); void func_8018C928(a0) s32 a0; { - if (*(s16 *)(a0 + 0x70) != 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u8 *)(a0 + 0xC1) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; return; } - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8002A04C(a0); func_8012C218((void *)a0); @@ -8147,7 +8147,7 @@ extern void func_80131C78(s32 a0); extern void func_8018B9E8(void); void func_8018CBDC(s32 a0) { - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_801319E0(a0); } else { if (func_8012BEE8(a0) != 0) { @@ -8187,38 +8187,38 @@ void func_8018CC68(s32 a0) { if (func_8012C354(a0, D_801DD554) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801DF294); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801DD588; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801DD588; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801DEFA4); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_8018D644; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_8018D644; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: func_8012CAE4((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801DF27C); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_8018D644; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_8018D644; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -8235,37 +8235,37 @@ void func_8018CD90(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); func_8018B8B0(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -8304,20 +8304,20 @@ void func_8018CF24(s32 a0) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)a0); } else { func_8001C214(v0, (s32)D_801DF374); func_8012A828(a0, (void *)D_8018D644); - *(u16 *)(a0 + 0x2) = 1; - *(s32 *)(a0 + 0x1C) = 0x40; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x14); } } @@ -8332,14 +8332,14 @@ extern void func_8012B370(s32 a0); void func_8018CFE4(void *param_1) { s32 v0; - if ((*(s16 *)((s32)param_1 + 6) == *(s16 *)((s32)param_1 + 0xDE)) && - (*(s16 *)((s32)param_1 + 0xE) == *(s16 *)((s32)param_1 + 0xE2))) { + if ((CAST_SIGN(s16, (s32)param_1, 6) == *(s16 *)((s32)param_1 + 0xDE)) && + (CAST_SIGN(s16, (s32)param_1, 0xE) == *(s16 *)((s32)param_1 + 0xE2))) { func_8012C218(param_1); return; } - *(s32 *)((s32)param_1 + 0xDC) = *(s32 *)((s32)param_1 + 4); - *(s32 *)((s32)param_1 + 0xE0) = *(s32 *)((s32)param_1 + 0xC); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = CAST_WIDTH(s32, (s32)param_1, 4); + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = CAST_WIDTH(s32, (s32)param_1, 0xC); func_8012B14C((s32)param_1, (s32)&D_801DD6A0); func_8012AD80((s32)param_1); @@ -8349,9 +8349,9 @@ void func_8018CFE4(void *param_1) { return; } - v0 = *(s32 *)((s32)param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v0 = v0 - 1; - *(s32 *)((s32)param_1 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 == 0) { func_8012C218(param_1); } else { @@ -8372,47 +8372,47 @@ void func_8018D0B8(s32 param_1) { extern u8 D_801DF434[]; - *(s32 *)(param_1 + 0x20) = ((s32 (*)(void))func_8012C1B8)(); - if (*(s32 *)(param_1 + 0x20) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk20 = ((s32 (*)(void))func_8012C1B8)(); + if (((Unkstruct_800B5CB8 *)param_1)->unk20 == 0) { func_8012CAE4((void *)param_1); } else { - func_8001C214(*(s32 *)(param_1 + 0x20), (s32)D_801DF434); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, (s32)D_801DF434); - *(u16 *)(param_1 + 0x2) = 1; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_80047948(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0xC) + (r << 8); + CAST_WIDTH(s32, param_1, 0xC) = CAST_WIDTH(s32, param_1, 0xC) + (r << 8); } { - s32 v1 = *(s32 *)(param_1 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 t = *(s32 *)(v1 + 0x20); s32 r = func_8004787C(*(s16 *)(t + 0x12)); - *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x4) + (r << 8); + CAST_WIDTH(s32, param_1, 0x4) = CAST_WIDTH(s32, param_1, 0x4) + (r << 8); } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(t + 0x2C) = *(u16 *)(t + 0x2C) | 0x10; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x18) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1A) = 0x1800; } { - s32 t = *(s32 *)(param_1 + 0x20); + s32 t = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(t + 0x1C) = 0x1800; } - *(u16 *)(param_1 + 0xAC) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unkAC = 2; { s32 r = rand(); - *(u16 *)(param_1 + 0xFC) = r & 0xFF; + ((Unkstruct_800B5CB8 *)param_1)->unkFC = r & 0xFF; } } } @@ -8430,44 +8430,44 @@ void func_8018D1B0(s32 a0) s32 ret; u16 val; - if (*(u16 *)(s0 + 2) == 0) { - *(u8 *)(s0 + 0xC0) = 1; - *(u16 *)(s0 + 2) = *(u16 *)(s0 + 2) + 1; + if (CAST_SIGN(u16, s0, 2) == 0) { + ((Unkstruct_800B5CB8 *)s0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)s0)->unk2 = CAST_SIGN(u16, s0, 2) + 1; func_8012B23C(s0); - *(s32 *)(s0 + 0x1C) = 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 1; return; } - *(s32 *)(s0 + 0xDC) = *(s32 *)(s0 + 0x14); + ((Unkstruct_800B5CB8 *)s0)->unkDC = ((Unkstruct_800B5CB8 *)s0)->unk14; ret = ((s32 (*)(s32))func_8012CBCC)(s0); if (ret != 0 && (ret & 0x6000) != 0) { - s32 cnt = *(s32 *)(s0 + 0x1C) - 1; - *(s32 *)(s0 + 0x1C) = cnt; + s32 cnt = ((Unkstruct_800B5CB8 *)s0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)s0)->unk1C = cnt; if (cnt == 0) { goto L80183CF4; } - *(s32 *)(s0 + 0x14) = -*(s32 *)(s0 + 0xDC) >> 2; + ((Unkstruct_800B5CB8 *)s0)->unk14 = -((Unkstruct_800B5CB8 *)s0)->unkDC >> 2; } - val = *(u16 *)(s0 + 0xFC) + 1; - *(u16 *)(s0 + 0xFC) = val; + val = CAST_SIGN(u16, s0, 0xFC) + 1; + ((Unkstruct_800B5CB8 *)s0)->unkFC = val; if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = ((Unkstruct_800B5CB8 *)s0)->unk6; + ((Unkstruct_800B5CB8 *)np)->unkA = ((Unkstruct_800B5CB8 *)s0)->unkA; { - u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + u16 t = ((Unkstruct_800B5CB8 *)s0)->unkE; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } - if (*(s16 *)(s0 + 0xA) < 0x20) { + if (CAST_SIGN(s16, s0, 0xA) < 0x20) { return; } diff --git a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c index 9a93a84827..d34d4b99b3 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c @@ -2807,40 +2807,40 @@ void func_80186F00(s32 a0) { u16 sp10[4]; s32 s1; - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_80187460(a0); return; } - if (*(s32 *)(a0 + 0x10) != 0 || *(s32 *)(a0 + 0x18) != 0) { + if (CAST_WIDTH(s32, a0, 0x10) != 0 || CAST_WIDTH(s32, a0, 0x18) != 0) { func_8012DBD0(a0, 0x50, - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) + 0x800, 0x1D); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + 0x800, 0x1D); } - switch (*(u8 *)(a0 + 0xC2)) { + switch (((Unkstruct_800B5CB8 *)a0)->unkC2) { case 0: func_801872EC(a0, (s32)&D_801BC428); - *(u8 *)(a0 + 0xC2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unkC2 += 1; case 1: - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_80131E00(a0, 0xD); return; } s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801BC428); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; } else if (s1 & 0x2000) { - *(u8 *)(a0 + 0xC2) = 2; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 2; func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = 0xFFF30000; - *(s32 *)(a0 + 0x1C) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFF30000; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; ((s32 (*)())func_8018A3CC)(a0, 0x9B8); } break; @@ -2849,39 +2849,39 @@ void func_80186F00(s32 a0) { { s32 s2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) -= 0x100; - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x29) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 -= 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x29) { func_80131E00(a0, 0xD); return; } - s2 = *(s32 *)(a0 + 0x14); + s2 = ((Unkstruct_800B5CB8 *)a0)->unk14; s1 = ((s32 (*)(s32, s32))func_8012CC64)(a0, (s32)&D_801BC428); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; } else if (s1 & 0x2000) { func_80143B6C(a0, 1); - *(s32 *)(a0 + 0x14) = (-s2) / 3; - *(s32 *)(a0 + 0x1C) = 0; - *(u8 *)(a0 + 0xC2) = 3; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk14 = (-s2) / 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 3; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = 0; } } break; case 3: - *(s32 *)(a0 + 0x10) = *(s32 *)(a0 + 0x10) * 15 / 16; - *(s32 *)(a0 + 0x18) = *(s32 *)(a0 + 0x18) * 15 / 16; - if (*(u8 *)(a0 + 0xC3) & 1) { + CAST_WIDTH(s32, a0, 0x10) = CAST_WIDTH(s32, a0, 0x10) * 15 / 16; + CAST_WIDTH(s32, a0, 0x18) = CAST_WIDTH(s32, a0, 0x18) * 15 / 16; + if (((Unkstruct_800B5CB8 *)a0)->unkC3 & 1) { s1 = func_8012CBA4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (!(s1 & 0x6000)) { func_80131E00(a0, 0xD); @@ -2890,30 +2890,30 @@ void func_80186F00(s32 a0) { } else { s1 = func_8012CBF4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x4000) { func_8012B23C(a0); - *(u8 *)(a0 + 0xC2) = 4; + ((Unkstruct_800B5CB8 *)a0)->unkC2 = 4; break; } else if (s1 & 0x2000) { - *(u8 *)(a0 + 0xC3) |= 1; + ((Unkstruct_800B5CB8 *)a0)->unkC3 |= 1; ((s32 (*)())func_8018A3CC)(a0, 0x9B8); } } - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) < 0x11) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C < 0x11) { break; } if (!(s1 & 0x6000)) { func_80131E00(a0, 0xD); return; } - if (*(s16 *)(a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80131E00(a0, 6); } else { func_80131C78(a0); @@ -2923,21 +2923,21 @@ void func_80186F00(s32 a0) { case 4: s1 = func_8012CBA4(a0); if (s1 & 0x8000) { - *(s32 *)(a0 + 0x18) = 0; - *(s32 *)(a0 + 0x10) = 0; + CAST_WIDTH(s32, a0, 0x18) = 0; + CAST_WIDTH(s32, a0, 0x10) = 0; } if (s1 & 0x2000) { - if (*(s16 *)(a0 + 0x76) <= 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk76 <= 0) { func_80131E00(a0, 6); } else { func_80131C78(a0); } } else { - if ((*(s32 *)(a0 + 0x1C) & 3) == 3) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 3) == 3) { func_80143B6C(a0, 1); } - *(s32 *)(a0 + 0x1C) += 1; - if (*(s32 *)(a0 + 0x1C) >= 0x3D) { + ((Unkstruct_800B5CB8 *)a0)->unk1C += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk1C >= 0x3D) { func_80131E00(a0, 0xD); return; } @@ -2995,7 +2995,7 @@ void func_80187460(s32 a0) { extern void func_8002A04C(s32 arg0); extern void func_8012C098(void *a0); - switch (*(u16 *)(a0 + 0x70) & 0xF) { + switch (CAST_SIGN(u16, a0, 0x70) & 0xF) { case 0: func_8002AC00(0x1F); break; @@ -3023,25 +3023,25 @@ void func_801874E4(s32 param_1) { u16 uVar1; s32 iVar2; - *(s16 *)(param_1 + 0x34) = 0; - if ((*(u32 *)(param_1 + 0xe0) & 8) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + if ((CAST_SIGN(u32, param_1, 0xe0) & 8) == 0) { func_801875A4(); } else { - if ((*(u32 *)(param_1 + 0xe0) & 0x20) != 0) { + if ((CAST_SIGN(u32, param_1, 0xe0) & 0x20) != 0) { func_80187A50(param_1, -0x8000); } - *(s16 *)(param_1 + 2) = 0x22; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x22; func_8012A828(param_1, &D_801D420C); } - iVar2 = *(s32 *)(param_1 + 0x20); + iVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(iVar2 + 0x14) = 0; *(s16 *)(iVar2 + 0x10) = 0; - uVar1 = *(u16 *)(*(s32 *)(param_1 + 0x78) + 2); - *(u32 *)(param_1 + 0xe0) = (*(u32 *)(param_1 + 0xe0) & 0xffffffd5) | 0x400; - *(s16 *)(param_1 + 0x5e) = 0; - *(u16 *)(param_1 + 0xae) = *(u16 *)(param_1 + 0xae) & 0xfffe; - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) & 0xfffffffb; - *(s16 *)(param_1 + 0x5c) = uVar1; + uVar1 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 2); + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = (CAST_SIGN(u32, param_1, 0xe0) & 0xffffffd5) | 0x400; + CAST_WIDTH(s16, param_1, 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = CAST_SIGN(u16, param_1, 0xae) & 0xfffe; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) & 0xfffffffb; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = uVar1; } @@ -3052,23 +3052,23 @@ void func_801875A4(s32 s0) { extern u32 D_801BC298[]; extern u32 D_801BC2A8[]; - s32 f = *(s32 *)(s0 + 0xE0); + s32 f = ((Unkstruct_800B5CB8 *)s0)->unkE0; if (!(f & 4)) { if (f & 0x800) { - *(u16 *)(s0 + 2) = 14; + ((Unkstruct_800B5CB8 *)s0)->unk2 = 14; func_8012A828(s0, D_801D3F5C); - } else if (!((f & 1) || *(s32 *)(s0 + 0xD0) == 0)) { - *(u16 *)(s0 + 2) = 14; - *(u16 *)(s0 + 0x34) = 2; - *(s32 *)(s0 + 0x1C) = 0x200; + } else if (!((f & 1) || ((Unkstruct_800B5CB8 *)s0)->unkD0 == 0)) { + ((Unkstruct_800B5CB8 *)s0)->unk2 = 14; + ((Unkstruct_800B5CB8 *)s0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x200; func_8012A828(s0, D_801D3284); } else { - *(u16 *)(s0 + 2) = D_801BC298[*(u16 *)(s0 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)s0)->unk2 = D_801BC298[CAST_SIGN(u16, s0, 0x70) & 0xF]; } } else { - *(u16 *)(s0 + 2) = D_801BC2A8[*(u16 *)(s0 + 0x70) & 0xF]; + ((Unkstruct_800B5CB8 *)s0)->unk2 = D_801BC2A8[CAST_SIGN(u16, s0, 0x70) & 0xF]; func_8012A828(s0, D_801D3F5C); - *(s32 *)(s0 + 0x1C) = 0x200; + ((Unkstruct_800B5CB8 *)s0)->unk1C = 0x200; } } @@ -3096,7 +3096,7 @@ s32 func_8018769C(s32 param_1, s32 param_2) RotTransSV(D_801BC430, v1, scratch); RotTransSV(D_801BC430 + 8, v2, scratch); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)v1, (s32)v2) != 0) { - sVar1 = *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sVar1 = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12); func_8012F568(1, 1, sVar1, param_2, (s32)v2, (s32)D_801152A8); return 1; } @@ -3257,29 +3257,29 @@ void func_8018788C(s32 a0) { v18[2] = *(u16 *)(p + 0xE); v18[0] += sp20[0]; v18[2] += sp20[0] >> 16; - v18[1] = *(u16 *)(a0 + 0xA); - v10[0] = *(u16 *)(a0 + 0x3A); - v10[1] = *(u16 *)(a0 + 0x3E); - v10[2] = *(u16 *)(a0 + 0x42); + v18[1] = ((Unkstruct_800B5CB8 *)a0)->unkA; + v10[0] = ((Unkstruct_800B5CB8 *)a0)->unk3A; + v10[1] = ((Unkstruct_800B5CB8 *)a0)->unk3E; + v10[2] = ((Unkstruct_800B5CB8 *)a0)->unk42; if ((func_8012CEB0(v10, v18, 0) & 0x2000) == 0) { func_8012ADE4((u8 *)a0); return; } - *(u16 *)(a0 + 6) = v18[0]; - *(u16 *)(a0 + 0xA) = v18[1]; - *(u16 *)(a0 + 0xE) = v18[2]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = v18[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = v18[1]; + ((Unkstruct_800B5CB8 *)a0)->unkE = v18[2]; return; } break; case 0x2F4: y = *(s16 *)(p + 0xE); - z = *(s16 *)(a0 + 0xE); + z = CAST_SIGN(s16, a0, 0xE); if (y + 0x10 < z) { func_8012C098((void *)a0); return; } if (y - 0x60 < z) { - *(s16 *)(a0 + 0xE) = y - 0x60; + ((Unkstruct_800B5CB8 *)a0)->unkE = y - 0x60; } break; } @@ -3312,8 +3312,8 @@ void func_80187A50(s32 arg0, s32 arg1) { s32 flags; __asm__("addu %0, %1, $zero" : "=r"(y) : "r"(x)); // !FAKE: instruction addu — NEEDED DIFFERS (P36 rung B tus9) - state = *(u16 *)(arg0 + 0x70) & 0xF; - flags = *(u32 *)(arg0 + 0xE0); + state = CAST_SIGN(u16, arg0, 0x70) & 0xF; + flags = CAST_SIGN(u32, arg0, 0xE0); if (flags & 4) { rv = 0; goto epi; @@ -3323,10 +3323,10 @@ void func_80187A50(s32 arg0, s32 arg1) { if (flags & 1) { func_801898EC(arg0, D_801BC208, buf, 0xC); res = ((s32 (*)(s32, void *, s32, s32, s32, s32))func_80189888)(arg0, buf, 0x27F, (s16)x, 0, 0); - *(s32 *)(arg0 + 0xD0) = res; - *(u32 *)(arg0 + 0xE0) &= ~1; + ((Unkstruct_800B5CB8 *)arg0)->unkD0 = res; + CAST_SIGN(u32, arg0, 0xE0) &= ~1; if (res != 0) { - *(u16 *)(arg0 + 0xEE) = *(u16 *)(res + 0x36); + ((Unkstruct_800B5CB8 *)arg0)->unkEE = *(u16 *)(res + 0x36); } } /* fallthrough */ @@ -3335,11 +3335,11 @@ void func_80187A50(s32 arg0, s32 arg1) { case 3: func_801898EC(arg0, D_800D3918, buf, 0xB); res = ((s32 (*)(s32, void *, s32, s32, s32, s32))func_80189888)(arg0, buf, 0x27F, (s16)(y | (state + 1)), 0, 0); - *(s32 *)(arg0 + 0xCC) = res; - *(u32 *)(arg0 + 0xE0) |= 4; - func_8001C924(*(s32 *)(arg0 + 0x20), (void *)D_801BC440[state]); + ((Unkstruct_800B5CB8 *)arg0)->unkCC = res; + CAST_SIGN(u32, arg0, 0xE0) |= 4; + func_8001C924(((Unkstruct_800B5CB8 *)arg0)->unk20, (void *)D_801BC440[state]); if (res != 0) { - *(u16 *)(arg0 + 0xEC) = *(u16 *)(res + 0x36); + ((Unkstruct_800B5CB8 *)arg0)->unkEC = *(u16 *)(res + 0x36); } break; default: @@ -3388,26 +3388,26 @@ void func_80187C28(s32 a0, s32 a1) { extern u8 D_801D3D3C[]; extern u8 D_801D3904[]; extern u16 D_800B99DA; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { return; } if ((a1 & 0xFF) != 0x24) { return; } - if (*(u8 **)(a0 + 0x90) == D_801D3284) { + if (CAST_SIGN(u8 *, a0, 0x90) == D_801D3284) { if (D_800B99DA % 3 == 0) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } - } else if (*(u8 **)(a0 + 0x90) == D_801D3C44 && *(u16 *)(a0 + 2) == 0xB) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + } else if (CAST_SIGN(u8 *, a0, 0x90) == D_801D3C44 && CAST_SIGN(u16, a0, 2) == 0xB) { + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } else { - if ((*(u8 **)(a0 + 0x90) == D_801D3D3C || *(u8 **)(a0 + 0x90) == D_801D3904) && + if ((CAST_SIGN(u8 *, a0, 0x90) == D_801D3D3C || CAST_SIGN(u8 *, a0, 0x90) == D_801D3904) && D_800B99DA % 6 == 0) { - ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, *(s16 *)(a0 + 6), (s16)(*(u16 *)(a0 + 0xA) - 0xA0), - *(s16 *)(a0 + 0xE), 0, 0, 0x14); + ((s32 (*)(int, void *, int, int, s32, int, int, int))func_801469C8)(0x53, (void *)a0, CAST_SIGN(s16, a0, 6), (s16)(((Unkstruct_800B5CB8 *)a0)->unkA - 0xA0), + CAST_SIGN(s16, a0, 0xE), 0, 0, 0x14); } } } @@ -3477,7 +3477,7 @@ s32 func_80187DB0(s32 a0, s32 a1) { extern void (*D_801BC490[])(void); void func_80187E90(void *a0) { - D_801BC490[*(u16 *)((s32)a0 + 0x2)](); + D_801BC490[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3525,22 +3525,22 @@ void func_80187ECC(void *a0) { s32 m; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4((s32)a0); return; } - func_8001C214(v0, D_801BC468[*(u16 *)((s32)a0 + 0x70) & 0xF]); + func_8001C214(v0, D_801BC468[CAST_SIGN(u16, (s32)a0, 0x70) & 0xF]); - *(u16 *)((s32)a0 + 0x10A) = *(u16 *)(*(s32 *)((s32)a0 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)a0)->unk10A = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x36); - if ((*(u16 *)((s32)a0 + 0x70) & 0xF) == 4) { - *(s32 *)(*(s32 *)((s32)a0 + 0x20) + 0x20) = (s32)D_811BC480; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) == 4) { + ((Unkstruct_800B5CB8 *)*(s32 *)((s32)a0 + 0x20))->unk20 = (s32)D_811BC480; } - if ((*(u16 *)((s32)a0 + 0x70) & 0xF) == 5) { - *(s16 *)((s32)a0 + 0x2) = 2; + if ((CAST_SIGN(u16, (s32)a0, 0x70) & 0xF) == 5) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; return; } @@ -3554,18 +3554,18 @@ void func_80187ECC(void *a0) { rv[0] = -0x380 - m; } - rv[1] = *(u16 *)(*(s32 *)(*(s32 *)((s32)a0 + 0x64) + 0x20) + 0x12) + 0x800; + rv[1] = *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12) + 0x800; rv[2] = 0; func_80049CAC((s32)rv, (s32)buf); func_800484EC((s32)buf, (s32)w, (s32)a0 + 0x10); - *(s32 *)((s32)a0 + 0x48) = 0x18000; - *(u16 *)((s32)a0 + 0xFC) = rand() & 0xF0; - *(u16 *)((s32)a0 + 0xFE) = rand() & 0x7F; - *(u16 *)((s32)a0 + 0x100) = rand() & 0x30; - *(s32 *)((s32)a0 + 0x1C) = 0; - *(u16 *)((s32)a0 + 0x2) = *(u16 *)((s32)a0 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x18000; + ((Unkstruct_800B5CB8 *)a0)->unkFC = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)a0)->unkFE = rand() & 0x7F; + ((Unkstruct_800B5CB8 *)a0)->unk100 = rand() & 0x30; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 0x2) + 1; } @@ -3630,57 +3630,57 @@ void func_80188058(s32 param_1) u16 uVar1; s32 pad[1]; /* see key (2): forces the 0x20 frame — never referenced */ - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { ((void (*)(void *))func_8012C218)((void *)param_1); return; } - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFC); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0xFE); if ((((s32 (*)(s32, s32))func_8012CC40)( param_1, - ((*(u16 *)(param_1 + 0x70) & 0xF) * 8) + (s32)&D_801BC49C) & + ((CAST_SIGN(u16, param_1, 0x70) & 0xF) * 8) + (s32)&D_801BC49C) & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - if ((*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) & 0xFFFU) > 0x800U) { - *(u16 *)(param_1 + 0x102) = 0xC00; + if ((((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 & 0xFFFU) > 0x800U) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0xC00; } else { - *(u16 *)(param_1 + 0x102) = 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0x400; } - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; if (t < 4 && t != 0) { - *(u16 *)(param_1 + 0x102) = *(u16 *)(param_1 + 0x102) + 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = CAST_SIGN(u16, param_1, 0x102) + 0x400; } - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } else { - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); } return; case 1: - iVar = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), - (s32)*(s16 *)(param_1 + 0x102), 4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + iVar; + iVar = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), + (s32)((Unkstruct_800B5CB8 *)param_1)->unk102, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + iVar; if (func_8012BEE8(param_1) == 0) { return; } - st = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = st + 1; - if ((*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u16 *)(param_1 + 0x34) = st + 2; - } else if ((*(s16 *)(param_1 + 0x70) & 0xF) == 4) { - *(u16 *)(param_1 + 0x34) = 4; - *(s32 *)(param_1 + 0x1C) = 0x1E; + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 2; + } else if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0xF) == 4) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } return; case 2: @@ -3690,21 +3690,21 @@ void func_80188058(s32 param_1) } return; case 3: - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36) != *(s16 *)(param_1 + 0x10A) && - *(s32 *)(param_1 + 0xE0) == 0) { - *(s32 *)(param_1 + 0x1C) = 0x1E; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A && + ((Unkstruct_800B5CB8 *)param_1)->unkE0 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; uVar1 = 2; - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 4) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 4) { uVar1 = 4; } - *(u16 *)(param_1 + 0x34) = uVar1; - *(s32 *)(param_1 + 0xE0) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = uVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 1; } return; case 4: if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0xA; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8012E8A8((u8 *)param_1); func_8018956C(param_1, 1); } @@ -3725,10 +3725,10 @@ extern void func_8012E8A8(u8 *a0); void func_8018833C(s32 param_1) { - s32 t1 = *(s32 *)(param_1 + 0x64); + s32 t1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 pad[2]; - if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) { + if (*(s16 *)(t1 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A) { ((void (*)(void *))func_8012C218)((void *)param_1); return; } @@ -3748,71 +3748,71 @@ void func_8018833C(s32 param_1) u32 a0; u32 v1; - *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); + ((Unkstruct_800B5CB8 *)param_1)->unk102 = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) - *(u16 *)(param_1 + 0x104) = a0; - *(u16 *)(param_1 + 0x106) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = a0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = v1; } while (0); - *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); - *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64); - *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (s8)*(u8 *)(a1 + 0x63); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s8)*(u8 *)(a1 + 0x64); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = (s8)*(u8 *)(a1 + 0x65); } else { - *(UAlign12_8018833C *)(param_1 + 0xFC) = *(UAlign12_8018833C *)(a2 + 0x90); + CAST_WIDTH(UAlign12_8018833C, param_1, 0xFC) = *(UAlign12_8018833C *)(a2 + 0x90); } - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = a3; } if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) { - if (*(u16 *)(param_1 + 0x34) == 0) { - s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40; - *(s16 *)(param_1 + 0x108) = sVar2; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + s16 sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk108 + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = sVar2; if (sVar2 > 0x200) { - *(u16 *)(param_1 + 0x108) = 0x200; - *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0x200; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = CAST_SIGN(s16, param_1, 0x34) + 1; } } else { - u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80; - *(u16 *)(param_1 + 0x108) = uVar3; + u16 uVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk108 - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = uVar3; if ((s16)uVar3 < 0) { - *(u16 *)(param_1 + 0x108) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80; } } } - *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108); + *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + ((Unkstruct_800B5CB8 *)param_1)->unk108; - *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4); - *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8); - *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC); + CAST_WIDTH(u32, param_1, 4) = *(u32 *)(t1 + 4); + CAST_WIDTH(u32, param_1, 8) = *(u32 *)(t1 + 8); + CAST_WIDTH(u32, param_1, 0xC) = *(u32 *)(t1 + 0xC); - *(UAlign8_8018833C *)(param_1 + 0x50) = *(UAlign8_8018833C *)(t1 + 0x50); + CAST_WIDTH(UAlign8_8018833C, param_1, 0x50) = *(UAlign8_8018833C *)(t1 + 0x50); { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_8018833C *)(dst + 0x10) = *(UAlign8_8018833C *)(src + 0x10); + CAST_WIDTH(UAlign8_8018833C, dst, 0x10) = *(UAlign8_8018833C *)(src + 0x10); } { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_8018833C *)(dst + 0x18) = *(UAlign8_8018833C *)(src + 0x18); + CAST_WIDTH(UAlign8_8018833C, dst, 0x18) = *(UAlign8_8018833C *)(src + 0x18); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u32 *)(dst + 4) = *(u32 *)(src + 4); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u32, dst, 4) = *(u32 *)(src + 4); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)dst)->unk2C = *(u16 *)(src + 0x2C); } } } @@ -3823,7 +3823,7 @@ void func_8018833C(s32 param_1) extern void (*D_801BC5E8[])(void); void func_801885F4(void *a0) { - D_801BC5E8[*(u16 *)((s32)a0 + 0x2)](); + D_801BC5E8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3864,14 +3864,14 @@ void func_80188630(s32 a0) { s32 v1; s32 obj; - v1 = *(u16 *)(a0 + 0x70) & 0xF; + v1 = CAST_SIGN(u16, a0, 0x70) & 0xF; switch (v1) { case 0: if (func_8012C354(a0, D_801BC4F8) == 0) { return; } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = a0 + 0xE8; - *(u16 *)(a0 + 0x104) = 0x78; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = a0 + 0xE8; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0x78; func_801887A0(a0); func_80143994(a0, 0x1800); return; @@ -3879,26 +3879,26 @@ void func_80188630(s32 a0) { if (func_8012C354(a0, D_801BC52C) == 0) { return; } - *(u16 *)(a0 + 0x104) = 0xA0; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA0; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; return; } - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_80143994(a0, 0x1800); return; case 2: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)a0)->unk20 = obj; if (obj == 0) { func_8012CAE4(a0); return; } func_8001CA1C(obj, (s32)D_801BC4CC); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x14CC; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1199; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x58000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x14CC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1199; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x58000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; func_8018906C(a0); return; default: @@ -3909,13 +3909,13 @@ void func_80188630(s32 a0) { void func_801887A0(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x18; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0x80; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x18; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, -0x100000); - *(s16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } @@ -3941,7 +3941,7 @@ void func_80188808(s32 param_1) { extern u16 D_80126CB8; u16 uVar1; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { ((void (*)(void *))func_8012C218)((void *)param_1); return; } @@ -3949,22 +3949,22 @@ void func_80188808(s32 param_1) { { s32 base = (s32)&D_801BC560; s32 r = func_8012D5E4(param_1, base, base + 8, 0x78); - if (r == 1 || (*(u16 *)(param_1 + 0x5C) & 1) != 0) { + if (r == 1 || (((Unkstruct_800B5CB8 *)param_1)->unk5C & 1) != 0) { func_8018956C(param_1, 1); ((void (*)(void *))func_8012C218)((void *)param_1); return; } } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { default: return; case 0: { - s32 sVar3 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), 0, 0x18); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + sVar3; + s32 sVar3 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), 0, 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + sVar3; } { s32 r = func_8012CBF4(param_1); @@ -3976,22 +3976,22 @@ void func_80188808(s32 param_1) { s32 r = func_8012BEE8(param_1); if (r == 0) return; } - *(u16 *)(param_1 + 0xF4) = D_80126CB4; + CAST_WIDTH(u16, param_1, 0xF4) = D_80126CB4; *(u16 *)(param_1 + 0xF6) = D_80126CB6; { u16 tmp = D_80126CB8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(u16 *)(param_1 + 0xF8) = tmp; + CAST_ALIAS(u16, param_1, 0x34) = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + CAST_ALIAS(s32, param_1, 0x1C) = 0x3C; + CAST_WIDTH(u16, param_1, 0xF8) = tmp; } return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += func_8012B8E4(param_1, 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += func_8012B8E4(param_1, 0x20); { s32 r = func_8012BEE8(param_1); if (r != 0) { - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } break; @@ -3999,19 +3999,19 @@ void func_80188808(s32 param_1) { break; } - *(u16 *)(param_1 + 0xF2) = *(u16 *)(param_1 + 0xF2) - 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkF2 = ((Unkstruct_800B5CB8 *)param_1)->unkF2 - 0x100; func_8012B178(param_1, 0xFFEC0000); { s32 r = func_8012CBF4(param_1); if (r != 0) goto LAB_8018847c; } - if (*(u16 *)(param_1 + 0x34) != 2) goto LAB_80188494; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 != 2) goto LAB_80188494; { s32 r = func_8012BEE8(param_1); if (r != 1) goto LAB_80188494; } LAB_8018847c: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_8018956C(param_1, 1); return; LAB_80188494: @@ -4021,9 +4021,9 @@ LAB_80188494: { u16 out[4]; ((void (*)(s32, void *, void *))func_8012F214)(param_1, D_801BC614, out); - *(u16 *)(iv + 6) = out[0]; - *(u16 *)(iv + 0xA) = out[1]; - *(u16 *)(iv + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)iv)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)iv)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)iv)->unkE = out[2]; } return; } @@ -4034,14 +4034,14 @@ extern void func_8012B2CC(s32 a0); extern void func_8012B178(s32 a0, s32 a1); void func_80188A60(s32 param_1) { - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, 0x20000); - *(u16 *)(param_1 + 2) = 4; - *(s32 *)(param_1 + 0x1C) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -4060,7 +4060,7 @@ void func_80188AC0(s32 param_1) { s32 v0; s32 iVar; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { ((void (*)(void *))func_8012C218)((void *)param_1); return; } @@ -4068,22 +4068,22 @@ void func_80188AC0(s32 param_1) { if (v0 < 0x1001) { goto LAB_tail; } - if (*(u16 *)(param_1 + 0x34) == 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) - 0x40; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 - 0x40; v0 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BC580); if ((v0 & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - u16 tmp = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0xA; - *(u16 *)(param_1 + 0x34) = tmp + 1; + u16 tmp = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = tmp + 1; return; } - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); return; } @@ -4091,7 +4091,7 @@ void func_80188AC0(s32 param_1) { return; } LAB_tail: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_8018956C(param_1, 0); } @@ -4157,14 +4157,14 @@ void func_80188C1C(s32 param_1) { u16 buf[8]; s32 vec[3]; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { ((void (*)(void *))func_8012C218)((void *)param_1); return; } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { case 0: - psVar5 = *(s32 *)(param_1 + 0x64); + psVar5 = ((Unkstruct_800B5CB8 *)param_1)->unk64; if ((*(u16 *)psVar5 == 0) || (*(s32 *)(psVar5 + 0x90) != (s32)&D_801D4314)) { ((void (*)(void *))func_8012C218)((void *)param_1); @@ -4172,95 +4172,95 @@ void func_80188C1C(s32 param_1) { } if (*(s32 *)(psVar5 + 0x94) < 0x11) { ((void (*)(void *, void *, void *, s32))func_801898EC)((void *)psVar5, (void *)&D_801BC588, buf, 5); - *(s16 *)(param_1 + 6) = buf[0]; - *(s16 *)(param_1 + 0xA) = buf[1]; - *(s16 *)(param_1 + 0xE) = buf[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = buf[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = buf[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = buf[2]; return; } ((void (*)(void *, void *, void *, s32))func_801898EC)((void *)psVar5, (void *)&D_801BC590, buf, 4); ((void (*)(void *, void *, void *, s32))func_801898EC)((void *)psVar5, (void *)&D_801BC590, &buf[4], 5); - *(s16 *)(param_1 + 6) = + CAST_ALIAS(s16, param_1, 6) = (s16)((*(s16 *)&buf[0] + *(s16 *)&buf[4]) >> 1); - *(s16 *)(param_1 + 0xA) = + CAST_ALIAS(s16, param_1, 0xA) = (s16)((*(s16 *)&buf[1] + *(s16 *)&buf[5]) >> 1); - *(s16 *)(param_1 + 0xE) = + ((Unkstruct_800B5CB8 *)param_1)->unkE = (s16)((*(s16 *)&buf[2] + *(s16 *)&buf[6]) >> 1); if (*(s32 *)(psVar5 + 0x94) != 0x19) { return; } - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; vec[0] = 0; vec[1] = 0xfff40000; iVar3 = func_80013328((s32)&D_80126B5C, param_1 + 4); vec[2] = -((iVar3 << 0x10) / 0x22); func_8012B14C(param_1, (s32)vec); - *(s32 *)(param_1 + 0x48) = 0xc000; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xc000; return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x80; iVar3 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BC580); if (iVar3 == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0; - *(u16 *)(param_1 + 0x34) = (*(u16 *)(param_1 + 0x34)) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = (((Unkstruct_800B5CB8 *)param_1)->unk34) + 1; return; case 2: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; uVar4 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801BC580); if ((uVar4 & 0x2000) == 0) { return; } - iVar4 = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar4; + iVar4 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar4; if (iVar4 >= 4) { - sVar2 = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0x1e; - *(u16 *)(param_1 + 0x34) = sVar2 + 1; + sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = sVar2 + 1; return; } - iVar3 = *(s32 *)(param_1 + 0x10) * 0xc; + iVar3 = CAST_WIDTH(s32, param_1, 0x10) * 0xc; if (iVar3 < 0) { iVar3 = iVar3 + 0xf; } - *(s32 *)(param_1 + 0x10) = iVar3 >> 4; - iVar5 = *(s32 *)(param_1 + 0x18) * 0xc; + CAST_WIDTH(s32, param_1, 0x10) = iVar3 >> 4; + iVar5 = CAST_WIDTH(s32, param_1, 0x18) * 0xc; if (iVar5 < 0) { iVar5 = iVar5 + 0xf; } - *(s32 *)(param_1 + 0x18) = iVar5 >> 4; - *(s32 *)(param_1 + 0x14) = -(0x80000 / *(s32 *)(param_1 + 0x1c)); + CAST_WIDTH(s32, param_1, 0x18) = iVar5 >> 4; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / ((Unkstruct_800B5CB8 *)param_1)->unk1C); func_80143B6C(param_1, 1); return; case 3: - uVar4 = *(u32 *)(param_1 + 0x1c); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); if ((uVar4 - 0xe < 0xb) && ((uVar4 & 1) == 0)) { - ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)*(s16 *)(param_1 + 0x104), param_1); - do { *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x104) + 1; } while (0); - uVar4 = *(u32 *)(param_1 + 0x1c); + ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)((Unkstruct_800B5CB8 *)param_1)->unk104, param_1); + do { ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x104) + 1; } while (0); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); } if (uVar4 == 9) { - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) & 0x7fffffff; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 8) = *(u16 *)(param_1 + 6); - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xa) = - *(u16 *)(param_1 + 0xa) - 0x24; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xc) = *(u16 *)(param_1 + 0xe); + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) & 0x7fffffff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk8 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkA = + ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x24; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkC = ((Unkstruct_800B5CB8 *)param_1)->unkE; } - if (*(s32 *)(param_1 + 0x1c) - 4U < 6) { - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) + 0x200; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C - 4U < 6) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A + 0x200; } iVar3 = func_8012BEE8(param_1); if (iVar3 != 1) { return; } - ((void (*)(s32, s32))func_80016714)(*(s32 *)(param_1 + 0xcc), 0x38); - *(s16 *)(param_1 + 2) = 9; + ((void (*)(s32, s32))func_80016714)(((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_8018956C(param_1, 0); return; } @@ -4318,28 +4318,28 @@ void func_80189108(s32 param_1) SVECTOR flag; s32 iVar; - sv.vx = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - sv.vy = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sv.vx = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + sv.vy = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; sv.vz = 0; func_80049CAC((s32)&sv, (s32)&mat); gte_SetRotMatrix(&mat); - gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); RotTransSV(&D_801BC570[0], &b, &flag); RotTransSV(&D_801BC570[1], &c, &flag); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&b, (s32)&c) != 0) { - s16 sVar1 = *(s16 *)(param_1 + 0xFE); + s16 sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_8012F568(1, 1, sVar1, 0x50, (s32)&c, (s32)D_801152A8); } else { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) - 0x100; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) - 0x100; iVar = func_8012CBF4(param_1); if (iVar != 0) { - s16 sVar1 = *(s16 *)(param_1 + 6); - s16 sVar2 = *(s16 *)(param_1 + 0xA); - s16 sVar3 = *(s16 *)(param_1 + 0xE); + s16 sVar1 = CAST_SIGN(s16, param_1, 6); + s16 sVar2 = CAST_SIGN(s16, param_1, 0xA); + s16 sVar3 = CAST_SIGN(s16, param_1, 0xE); func_80146A6C(6, (void *)param_1, sVar1, sVar2, sVar3, 0, 0); iVar = func_80132EF4(param_1, 0x22); if (iVar != 0) { @@ -4377,12 +4377,12 @@ void func_801892FC(s32 param_1) { extern u16 D_80126B96; - if (*(u16 *)(param_1 + 0x70) & 1) { - if (func_8012D624((void *)param_1, 0x60, *(s16 *)(param_1 + 0x104)) == 1) { + if (CAST_SIGN(u16, param_1, 0x70) & 1) { + if (func_8012D624((void *)param_1, 0x60, ((Unkstruct_800B5CB8 *)param_1)->unk104) == 1) { D_80126B96 = 0x4001; } } - if (func_801899B8(param_1, 0x60, *(s16 *)(param_1 + 0x104)) == 1) { + if (func_801899B8(param_1, 0x60, ((Unkstruct_800B5CB8 *)param_1)->unk104) == 1) { ((void (*)(void *))func_8012C218)((void *)param_1); } } @@ -4704,8 +4704,8 @@ s32 func_801899B8(s32 a0, s32 a1, s32 a2) a0 = func_80132EF4(a0, 0x22); if (a0 != 0) { *(unsigned short *)(a0 + 0x34) = 0x7FFF; - *(unsigned short *)(*(s32 *)(a0 + 0x20) + 0x2C) = 0xC006; - *(s32 *)(a0 + 0x14) = 0xFFFE0000; + *(unsigned short *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x2C) = 0xC006; + ((Unkstruct_800B5CB8 *)a0)->unk14 = 0xFFFE0000; } return 1; } @@ -4717,7 +4717,7 @@ s32 func_801899B8(s32 a0, s32 a1, s32 a2) extern void (*D_801BC61C[])(void); void func_80189A20(void *a0) { - D_801BC61C[*(u16 *)((s32)a0 + 0x2)](); + D_801BC61C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4749,7 +4749,7 @@ void func_80189A5C(s32 param_1) { func_8012CAE4(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); @@ -4765,15 +4765,15 @@ void func_80189A5C(s32 param_1) { } *(s16 *)(obj + 0x10) = sgn * (r % 128) - 0x300; *(s16 *)(obj + 0x12) = r % 4096; - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(s16 *)(param_1 + 0xFE) = rand() & 0xF0; - *(s16 *)(param_1 + 0x100) = rand() & 0x1F0; - *(s16 *)(param_1 + 0x102) = rand() & 0x30; - tbl = &D_801BC624[(*(u16 *)(param_1 + 0x70) & 0xF) * 4]; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = rand() & 0x30; + tbl = &D_801BC624[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 4]; p = (s16 *)(param_1 + 0xDC); @@ -4848,7 +4848,7 @@ void func_80189A5C(s32 param_1) { *((u8 *)p + 0x20) = tbl[0]; *((u8 *)p + 0x21) = tbl[1]; *((u8 *)p + 0x22) = tbl[2]; - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; } @@ -4859,17 +4859,17 @@ extern void func_8012C218(void *a0); extern void func_80017274(s32 a0, s32 a1); void func_80189EC0(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0x100); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x102); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0x100); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + CAST_SIGN(u16, param_1, 0x102); if (func_8012CBF4(param_1) != 0 || func_8012BEE8(param_1) != 0) { ((void (*)(void *))func_8012C218)((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -4878,7 +4878,7 @@ void func_80189EC0(s32 param_1) { extern void (*D_801BC63C[])(void); void func_80189F64(void *a0) { - D_801BC63C[*(u16 *)((s32)a0 + 0x2)](); + D_801BC63C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4900,40 +4900,40 @@ void func_80189FA0(s32 param_1) { s32 t; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4(param_1); } else { func_8001C214(obj, 0); - if ((*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x80 - (rand() % 0x300); - o2 = *(s32 *)(param_1 + 0x20); + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = -0x80 - (rand() % 0x300); + o2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; off = rand() % 0xC0; - base = *(s16 *)(param_1 + 0x70) * 0x300 + 0x180; + base = ((Unkstruct_800B5CB8 *)param_1)->unk70 * 0x300 + 0x180; if (rand() & 1) { v = base + off; } else { v = base - off; } *(s16 *)(o2 + 0x12) = v; - func_8012B0B4(buf, *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800, + func_8012B0B4(buf, *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800, rand() % 0x10 + 8); t = buf[0]; - *(u16 *)(param_1 + 0x6) = *(u16 *)(param_1 + 0x6) + t; - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + (t >> 16); - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = ((Unkstruct_800B5CB8 *)param_1)->unk6 + t; + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + (t >> 16); + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x10; func_8012B2CC(param_1); - *(s32 *)(param_1 + 0x1C) = 4; - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 0x2) + 1; } else { - *(s16 *)(param_1 + 0xDC) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCC); - *(s16 *)(param_1 + 0xDE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCE); - *(s16 *)(param_1 + 0xE0) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD0); - *(s16 *)(param_1 + 0xE4) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD4); - *(s16 *)(param_1 + 0xE6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD6); - *(s16 *)(param_1 + 0xE8) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD8); - *(s16 *)(param_1 + 0x2) = 2; - *(s32 *)(param_1 + 0x1C) = 8; + CAST_WIDTH(s16, param_1, 0xDC) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCC); + *(s16 *)(param_1 + 0xDE) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCE); + CAST_WIDTH(s16, param_1, 0xE0) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0); + CAST_WIDTH(s16, param_1, 0xE4) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD4); + *(s16 *)(param_1 + 0xE6) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD6); + CAST_WIDTH(s16, param_1, 0xE8) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; } } } @@ -4949,13 +4949,13 @@ void func_8018A194(void *a0) { u8 buf[0x34]; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(s32 *)((u8 *)a0 + 0xE0) = *(s32 *)((u8 *)a0 + 0xE0) - 0x14; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x14; if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 v1 = *(s32 *)((u8 *)a0 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s32 *)(*(s32 *)(v1 + 0x20) + 4) < 0 || *(u16 *)v1 == 0) { ((void (*)(void *))func_8012C218)(a0); return; @@ -4974,12 +4974,12 @@ void func_8018A194(void *a0) } *(s16 *)(buf + 0x12) = 0; { - s32 t1 = *(s32 *)((u8 *)a0 + 0xE0); + s32 t1 = ((Unkstruct_800B5CB8 *)a0)->unkE0; s32 t2; *(s16 *)(buf + 0x18) = -0xC; *(s16 *)(buf + 0x1A) = 0; *(s16 *)(buf + 0x14) = t1; - t2 = *(s32 *)((u8 *)a0 + 0xE0); + t2 = CAST_ALIAS(s32, (u8 *)a0, 0xE0); *(s32 *)(buf + 0x30) = 0x50000000; *(u8 *)(buf + 0x22) = 0x80; *(u8 *)(buf + 0x21) = 0x80; @@ -4996,7 +4996,7 @@ void func_8018A194(void *a0) *(s16 *)(buf + 0x1C) = t2; } - func_80017758(buf, (u8 *)(*(s32 *)((u8 *)a0 + 0x20)) + 0x34); + func_80017758(buf, (u8 *)(CAST_ALIAS(s32, (u8 *)a0, 0x20)) + 0x34); } @@ -5135,9 +5135,9 @@ s32 func_8018A3CC(s32 arg0, u16 arg1) { } else if (b >= 0x10) { b = 0xF; } - sp20[0] = *(u16 *)(base + 6); - sp20[1] = *(u16 *)(base + 0xA); - sp20[2] = *(u16 *)(base + 0xE); + sp20[0] = CAST_SIGN(u16, base, 6); + sp20[1] = CAST_SIGN(u16, base, 0xA); + sp20[2] = CAST_SIGN(u16, base, 0xE); ((void (*)(s32, s32))func_8012EFB8)((s32)sp20, (s32)sp28); sp28[2] = 0; if ((var = func_800132BC(sp18, sp28) - 0x400) > 0) { @@ -5156,7 +5156,7 @@ s32 func_8018A3CC(s32 arg0, u16 arg1) { extern void (*D_801BC648[])(void); void func_8018A538(void *a0) { - D_801BC648[*(u16 *)((s32)a0 + 0x2)](); + D_801BC648[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5441,7 +5441,7 @@ s32 func_8018A950(s32 param_1) { extern void (*D_801D4488[])(void); void func_8018ABF0(void *a0) { - D_801D4488[*(u16 *)((s32)a0 + 0x2)](); + D_801D4488[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5463,29 +5463,29 @@ int func_8018AC2C(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -5494,9 +5494,9 @@ int func_8018AC2C(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -5564,7 +5564,7 @@ void func_8018AE3C(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -5584,10 +5584,10 @@ void func_8018AE3C(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -5602,9 +5602,9 @@ void func_8018AE3C(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -5633,11 +5633,11 @@ void func_8018AE3C(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -5654,7 +5654,7 @@ void func_8018AE3C(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -5694,23 +5694,23 @@ void func_8018B240(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -5731,8 +5731,8 @@ void func_8018B240(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -5773,42 +5773,42 @@ void func_8018B3B4(int param_1) { iVar1 = func_8012C354(param_1, D_801D4B9C); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801D4AE0, D_801D4AA0); func_800599B8(D_801D4AE8, D_801D4AC0); - func_8001C214(*(int *)(param_1 + 0x20), D_801D8E08); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801D8E08); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801DC0B8); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801D4BDC; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801D4BDC; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801DBF20); - func_8012A828(*(int *)(param_1 + 0xcc), D_801DBFA8); - func_8012A828(*(int *)(param_1 + 0xd0), D_801DC030); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801DBFA8); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801DC030); return; } @@ -5881,18 +5881,18 @@ void func_8018B564(s32 a0) { func_8012B1B4(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8018AC2C(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; func_8012B1B4(a0, tbl); } else { goto set1; @@ -5909,21 +5909,21 @@ void func_8018B564(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8018AC2C(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -5932,7 +5932,7 @@ void func_8018B564(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_8018AC2C(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -5944,24 +5944,24 @@ void func_8018B564(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -6024,20 +6024,20 @@ void func_8018B7F0(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -6046,29 +6046,29 @@ void func_8018B7F0(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801D4A60[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801D4A60[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801DBF20); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801DBFA8); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801DC030); } @@ -6099,31 +6099,31 @@ void func_8018BCB4(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6208,7 +6208,7 @@ void func_8018BE84(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -6222,31 +6222,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6297,15 +6297,15 @@ void func_8018C074(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801D4C0C[*(u16 *)(a0 + 0x2)](); + D_801D4C0C[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - ((void (*)(void *))func_8012C218)(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + ((void (*)(void *))func_8012C218)(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - ((void (*)(void *))func_8012C218)(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + ((void (*)(void *))func_8012C218)(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -6316,11 +6316,11 @@ void func_8018C074(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -6340,17 +6340,17 @@ void func_8018C074(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6405,34 +6405,34 @@ void func_8018C38C(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -6453,8 +6453,8 @@ void func_8018C38C(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -6500,7 +6500,7 @@ void func_8018C584(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -6521,11 +6521,11 @@ void func_8018C584(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -6539,9 +6539,9 @@ void func_8018C584(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -6575,16 +6575,16 @@ void func_8018C584(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -6603,7 +6603,7 @@ void func_8018C584(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6635,34 +6635,34 @@ void func_8018C9CC(short *param_1) D_801D4C94[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -6707,7 +6707,7 @@ void func_8018CBDC(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -6726,9 +6726,9 @@ void func_8018CBDC(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -6741,9 +6741,9 @@ void func_8018CBDC(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -6767,7 +6767,7 @@ void func_8018CBDC(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); ((void (*)(void *))func_8012C218)((void *)a0); return; @@ -6775,15 +6775,15 @@ void func_8018CBDC(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -6803,7 +6803,7 @@ void func_8018CBDC(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -6901,51 +6901,51 @@ void func_8018D230(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801D4AF0; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801D4AFC); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801D4AF0; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801D4AFC); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -6979,22 +6979,22 @@ void func_8018D4D4(s32 a0) { func_8012B1B4(a0, (s32)D_801D4BFC); func_8012CBCC(a0); func_8018AC2C(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801DC3B8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DC4A8); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DC4A8); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DC598); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DC598); } } } @@ -7008,19 +7008,19 @@ void func_8018D5D4(s32 a0) { extern u8 D_801DC2B8[]; s16 v; - v = *(s16 *)(a0 + 0x100); + v = ((Unkstruct_800B5CB8 *)a0)->unk100; if (v == 0) { - *(u16 *)(a0 + 2) = 1; - *(u16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801DC0B8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DC1B8); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DC1B8); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DC2B8); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DC2B8); } } else { - *(s16 *)(a0 + 0x100) = v - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = v - 1; } } @@ -7037,17 +7037,17 @@ void func_8018D674(s32 a0) s32 *a1; u32 v0; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - a1 = *(s32 **)(a0 + 0x20); - v0 = *(u32 *)(a1 + 0x1); + a1 = CAST_SIGN(s32 *, a0, 0x20); + v0 = CAST_MISALIGNED(u32, a1, 0x1); v0 ^= 0x80000000; - *(u32 *)(a1 + 0x1) = v0; + CAST_MISALIGNED(u32, a1, 0x1) = v0; ((void (*)(int a0))func_8012B370)(a0); - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if ((t & 0x3) != 0) { s32 s0 = func_8012C588(0x281, a0); if (s0 != 0) { @@ -7072,18 +7072,18 @@ void func_8018D734(s32 a0) { extern u8 D_801DC2B8[]; s16 v; - v = *(s16 *)(a0 + 0xFC); + v = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (v == 0) { - *(u16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801DC0B8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801DC1B8); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801DC1B8); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801DC2B8); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801DC2B8); } } else { - *(s16 *)(a0 + 0xFC) = v - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = v - 1; } } @@ -7134,22 +7134,22 @@ void func_8018D7EC(s32 a0) { v0 = ((s32 (*)(s32, s32))func_8012C354)(a0, (s32)D_801D4C40); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801D9B78); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801D9B78); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801DC1B8); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_801D4C74; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_801D4C74; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -7165,24 +7165,24 @@ void func_8018D8E4(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -7200,17 +7200,17 @@ void func_8018D9B8(s32 a0) s32 *a1; u32 v0; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - a1 = *(s32 **)(a0 + 0x20); - v0 = *(u32 *)(a1 + 0x1); + a1 = CAST_SIGN(s32 *, a0, 0x20); + v0 = CAST_MISALIGNED(u32, a1, 0x1); v0 ^= 0x80000000; - *(u32 *)(a1 + 0x1) = v0; + CAST_MISALIGNED(u32, a1, 0x1) = v0; ((void (*)(int a0))func_8012B370)(a0); - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if ((t & 0x3) != 0) { s32 s0 = func_8012C588(0x281, a0); if (s0 != 0) { @@ -7275,22 +7275,22 @@ void func_8018DAB8(s32 a0) { v0 = ((s32 (*)(s32, s32))func_8012C354)(a0, (s32)D_801D4CB8); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801DA8E4); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801DA8E4); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_801D4CEC; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_801D4CEC; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801DC2B8); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -7308,38 +7308,38 @@ void func_8018DBB4(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -7358,17 +7358,17 @@ void func_8018DCA8(s32 a0) s32 *a1; u32 v0; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - a1 = *(s32 **)(a0 + 0x20); - v0 = *(u32 *)(a1 + 0x1); + a1 = CAST_SIGN(s32 *, a0, 0x20); + v0 = CAST_MISALIGNED(u32, a1, 0x1); v0 ^= 0x80000000; - *(u32 *)(a1 + 0x1) = v0; + CAST_MISALIGNED(u32, a1, 0x1) = v0; ((void (*)(int a0))func_8012B370)(a0); - t = *(s32 *)(a0 + 0x1C); + t = ((Unkstruct_800B5CB8 *)a0)->unk1C; if ((t & 0x3) != 0) { s32 s0 = func_8012C588(0x281, a0); if (s0 != 0) { @@ -7405,21 +7405,21 @@ s32 param_2; SVECTOR sv1; SVECTOR sv2; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (short)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } return 0; @@ -7603,8 +7603,8 @@ void func_8018E240(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -7621,11 +7621,11 @@ void func_8018E240(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -7664,34 +7664,34 @@ void func_8018E428(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -7709,18 +7709,18 @@ void func_8018E428(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; func_8012B1B4(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -7738,19 +7738,19 @@ void func_8018E428(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_8018DD88(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -7763,7 +7763,7 @@ void func_8018E428(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_8018DD88(a0, 0x51) != 0) { goto rand_tail; } @@ -7771,7 +7771,7 @@ void func_8018E428(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -7783,26 +7783,26 @@ void func_8018E428(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -7843,41 +7843,41 @@ void func_8018E764(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; func_8018A6DC(param_1, (s32)&D_801DC794); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801DC79C, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801DC79C, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801DC7A4, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801DC7A4, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -7903,7 +7903,7 @@ void func_8018E764(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -7998,10 +7998,10 @@ void func_8018EB3C(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_801DC7CC[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_801DC7CC[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_8018E094)(a0); @@ -8009,15 +8009,15 @@ void func_8018EB3C(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -8026,7 +8026,7 @@ void func_8018EB3C(s32 a0) extern void (*D_801DC7F8[])(void); void func_8018EC14(void *a0) { - D_801DC7F8[*(u16 *)((s32)a0 + 0x2)](); + D_801DC7F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8075,40 +8075,40 @@ void func_8018EC50(s32 a0) SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_801DC800); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_801DC800); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { ((void (*)(void *))func_8012C218)((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { ((void (*)(void *))func_8012C218)((void *)a0); } @@ -8120,7 +8120,7 @@ void func_8018EC50(s32 a0) extern void (*D_801DC818[])(void); void func_8018EDC4(void *a0) { - D_801DC818[*(u16 *)((s32)a0 + 0x2)](); + D_801DC818[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8235,7 +8235,7 @@ extern void func_80131C78(s32 a0); extern void func_8018DEC0(void); void func_8018F0B4(s32 a0) { - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { ((void (*)(void))func_801319E0)(); } else { if (func_8012BEE8(a0) != 0) { @@ -8275,38 +8275,38 @@ void func_8018F140(s32 a0) { if (((s32 (*)(s32, s32))func_8012C354)(a0, D_801DC698) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801DE3D8); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801DC6CC; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801DC6CC; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801DE0E8); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_8018FB1C; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_8018FB1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: ((void (*)(void *))func_8012CAE4)((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801DE3C0); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_8018FB1C; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_8018FB1C; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -8323,37 +8323,37 @@ void func_8018F268(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; func_8012B1B4(a0, (s32)sp10); func_8012CBCC(a0); func_8018DD88(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -8393,19 +8393,19 @@ void func_8018F3FC(s32 a0) { s32 v1; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { ((void (*)(s32))func_8012CAE4)(a0); return; } func_8001C214(v0, (s32)D_801DE4B8); func_8012A828(a0, D_8018FB1C); - v1 = *(s32 *)(a0 + 0x64); - *(s16 *)(a0 + 2) = 1; - *(s32 *)(a0 + 0x1C) = 0x40; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x10) = *(s16 *)(*(s32 *)(v1 + 0x20) + 0x10); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) = *(s16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) = *(s16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x14); + v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 = *(s16 *)(*(s32 *)(v1 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = *(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = *(s16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x14); } @@ -8421,21 +8421,21 @@ extern u8 D_801DC7F0; void func_8018F4BC(s32 param_1) { s32 v0; - if ((*(s16 *)(param_1 + 6) == *(s16 *)(param_1 + 0xDE)) && - (*(s16 *)(param_1 + 0xE) == *(s16 *)(param_1 + 0xE2))) { + if ((CAST_SIGN(s16, param_1, 6) == *(s16 *)(param_1 + 0xDE)) && + (CAST_SIGN(s16, param_1, 0xE) == *(s16 *)(param_1 + 0xE2))) { ((void (*)(s32))func_8012C218)(param_1); } else { - *(s32 *)(param_1 + 0xDC) = *(s32 *)(param_1 + 4); - *(s32 *)(param_1 + 0xE0) = *(s32 *)(param_1 + 0xC); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = CAST_WIDTH(s32, param_1, 4); + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = CAST_WIDTH(s32, param_1, 0xC); func_8012B14C(param_1, (s32)&D_801DC7E4); func_8012AD80(param_1); v0 = func_8012D5E4(param_1, (s32)&D_801DC7F0, (s32)&D_800D3918, 0x30); if (v0 != 0) { ((void (*)(s32))func_8012C218)(param_1); } else { - v0 = *(s32 *)(param_1 + 0x1C); + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk1C; v0 = v0 - 1; - *(s32 *)(param_1 + 0x1C) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = v0; if (v0 == 0) { ((void (*)(s32))func_8012C218)(param_1); } else { @@ -8540,15 +8540,15 @@ void func_8018F688(s32 a0) if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = *(u16 *)(s0 + 6); + ((Unkstruct_800B5CB8 *)np)->unkA = *(u16 *)(s0 + 0xA); { u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } diff --git a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c index 73ef06afe3..73b75090fb 100644 --- a/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c +++ b/src/ov_SC06_029/ov_SC06_029_jr_8017C954.c @@ -3300,7 +3300,7 @@ void func_8017C954(s32 arg0) extern void (*D_8018FFB0[])(void); void func_8017DBFC(void *a0) { - D_8018FFB0[*(u16 *)((s32)a0 + 0x2)](); + D_8018FFB0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3979,8 +3979,8 @@ void func_8017EBC4(Obj8017EBC4_SC06_029_8017C954 *a0) { if (D_801DDBF4 != 0) { p = &D_80190450; func_8001CD9C((int)D_801DDBF4, p); - *(u16 *)((s32)D_801DDBF4 + 0x2C) = 0xC010; - *(s32 *)((s32)D_801DDBF4 + 0x4) |= 0xD0000000; + ((Unkstruct_800B5CB8 *)D_801DDBF4)->unk2C = 0xC010; + CAST_WIDTH(s32, (s32)D_801DDBF4, 0x4) |= 0xD0000000; *p = 0; D_80190451 = 0; D_80190452 = 0; @@ -5072,7 +5072,7 @@ void func_80180A70(s32 param_1) { s32 base; s32 r; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 1: rec.s0 = 0; rec.s2 = -0x100; @@ -5097,16 +5097,16 @@ void func_80180A70(s32 param_1) { rec.s4 = 0x260; rec.s6 = 0x32C; rec.sE = 0; - *(s32 *)(param_1 + 0xD0) = func_8012C51C(&rec, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = func_8012C51C(&rec, param_1); rec.s2 = -0x680; rec.s4 = 0; rec.s6 = 0x32D; - *(s32 *)(param_1 + 0xCC) = func_8012C51C(&rec, param_1); - func_8001C924((void *)*(s32 *)(param_1 + 0x20), &D_801A072C); - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_8012C51C(&rec, param_1); + func_8001C924((void *)((Unkstruct_800B5CB8 *)param_1)->unk20, &D_801A072C); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8013373C(0); func_800D0C48(1); - *(s32 *)(param_1 + 0x1C) = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; func_8002D4C8(0xB35, 0); break; case 2: @@ -5116,21 +5116,21 @@ void func_80180A70(s32 param_1) { * `sh` still ends up in the `j`'s delay slot. A function-scope * temp reuses $s0 (call-live in case 1) and costs 2; no temp at * all flips the two load chains and costs 4. */ - u16 t = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0xE0) |= 0x4000; - *(u16 *)(param_1 + 0x34) = t; + u16 t = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 |= 0x4000; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = t; } break; case 5: - *(s32 *)(param_1 + 0x14) = 0x50000; - *(s32 *)(param_1 + 0x1C) = 0; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0x50000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8002D4C8(0x9C9, 0); /* fallthrough */ case 6: func_8012AD80(param_1); - *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) + 1; - if ((*(s32 *)(param_1 + 0x1C) & 3) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk1C & 3) == 0) { func_8013C9C4(D_801904A4); } /* fallthrough */ @@ -5149,15 +5149,15 @@ void func_80180A70(s32 param_1) { break; case 8: func_8012A568(func_8017E6E0); - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x8000; - *(s16 *)(*(s32 *)(param_1 + 0x20) + 2) = 5; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x8000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2 = 5; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; break; case 10: if (((s32 (*)(void))func_80174774)() != 0) { func_80016714(D_801DDBF4, 0x38); - func_8012C218(*(void **)(param_1 + 0xD0)); - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + func_8012C218(CAST_SIGN(void *, param_1, 0xD0)); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; /* §206-2: jtbl_801DB7EC entries 0/3/7/9 aim at the post-switch block, so @@ -5172,14 +5172,14 @@ void func_80180A70(s32 param_1) { break; } - if (*(s32 *)(param_1 + 0xE0) & 0x4000) { + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 & 0x4000) { if (func_8001AAA0(0x88) == 1) { - *(s32 *)(param_1 + 0xE0) &= ~0x4000; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 &= ~0x4000; } } if (func_801789AC(param_1) == 1) { ((void (*)(s32))func_80178D18)(param_1); - *(s16 *)(param_1 + 2) = 0xF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0xF; func_8012A568(func_8017E770); func_8002AC00(0x24); } @@ -5312,7 +5312,7 @@ s32 func_80180FE0(s32 a0, s32 a1) { s0 = CALL_80185C6C(idx, buf[rand() % count]); func_801856A4((s32 *)s0, (s32)D_80190348); *(u8 *)((u8 *)s0 + 6) |= 0x80; - *(s32 *)((u8 *)D_801DDBF4 + 4) &= 0x7FFFFFFF; + CAST_WIDTH(s32, (u8 *)D_801DDBF4, 4) &= 0x7FFFFFFF; return 1; } return 0; @@ -5531,23 +5531,23 @@ void func_801814B0(u16 *param_1, s32 param_2) } func_8012B0B4((unsigned int *)buf, sign * (rand() % 1024), 0x180); t = buf[0]; - *(s16 *)(ent + 0x6) = param_1[0] + t; - *(s16 *)(ent + 0xA) = param_1[1] + sign * (rand() % 128); - *(s16 *)(ent + 0xE) = param_1[2] + (t >> 16); - *(s16 *)(ent + 0x34) = + ((Unkstruct_800B5CB8 *)ent)->unk6 = param_1[0] + t; + ((Unkstruct_800B5CB8 *)ent)->unkA = param_1[1] + sign * (rand() % 128); + ((Unkstruct_800B5CB8 *)ent)->unkE = param_1[2] + (t >> 16); + ((Unkstruct_800B5CB8 *)ent)->unk34 = (((rand() % 12287) + 0x5000) & 0x7FF0) | (rand() & 1); - *(u16 *)(*(s32 *)(ent + 0x20) + 0x2C) = 0xC010; + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk2C = 0xC010; sub = func_8012913C(0x22); if (sub != 0) { - *(s16 *)(sub + 0x6) = *(u16 *)(ent + 0x6); - *(s16 *)(sub + 0xA) = *(u16 *)(ent + 0xA); - *(s16 *)(sub + 0xE) = *(u16 *)(ent + 0xE); - *(s32 *)(sub + 0x14) = -0x80000 - ((rand() % 9) << 16); - *(s16 *)(sub + 0x34) = + ((Unkstruct_800B5CB8 *)sub)->unk6 = ((Unkstruct_800B5CB8 *)ent)->unk6; + ((Unkstruct_800B5CB8 *)sub)->unkA = ((Unkstruct_800B5CB8 *)ent)->unkA; + ((Unkstruct_800B5CB8 *)sub)->unkE = ((Unkstruct_800B5CB8 *)ent)->unkE; + ((Unkstruct_800B5CB8 *)sub)->unk14 = -0x80000 - ((rand() % 9) << 16); + ((Unkstruct_800B5CB8 *)sub)->unk34 = (((rand() % 4) << 12) + 0x2000) | (rand() & 1); - *(u16 *)(*(s32 *)(sub + 0x20) + 0x2C) = - *(u16 *)(*(s32 *)(ent + 0x20) + 0x2C); - *(s32 *)(*(s32 *)(sub + 0x20) + 0x4) |= 0x40000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(sub + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(s32 *)(ent + 0x20))->unk2C; + *(s32 *)(((Unkstruct_800B5CB8 *)sub)->unk20 + 0x4) |= 0x40000000; } } do { i--; } while (0); @@ -5618,16 +5618,16 @@ extern D80190448_t D_80190448; void func_80181898(s32 param_1) { if (func_8012C354(param_1, &D_80190780)) { - func_8001D0E8(*(s32 *)(param_1 + 0x20), 0x7FFF, 0x7FFF); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x80; - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x80) = (s32)&D_80190448; - *(s32 *)(param_1 + 0xCC) = func_8012C658(0x295, 0, param_1); - *(s32 *)(param_1 + 0xD0) = func_8012C658(0x295, 1, param_1); - *(s32 *)(param_1 + 0xD4) = func_8012C658(0x295, 2, param_1); - *(s32 *)(param_1 + 0xD8) = func_8012C658(0x295, 3, param_1); + func_8001D0E8(((Unkstruct_800B5CB8 *)param_1)->unk20, 0x7FFF, 0x7FFF); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x80; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = (s32)&D_80190448; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = func_8012C658(0x295, 0, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = func_8012C658(0x295, 1, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD4 = func_8012C658(0x295, 2, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkD8 = func_8012C658(0x295, 3, param_1); func_80181D94(param_1); func_80182334(param_1); - *(s16 *)(param_1 + 0x2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; } } @@ -5637,35 +5637,35 @@ void func_80181898(s32 param_1) { void func_80181964(s32 arg0) { s32 flags; - if (*(s32 *)(arg0 + 0xE0) & 0x4) { - *(s32 *)(*(s32 *)(arg0 + 0xCC) + 0xE0) |= 0x4; - *(s32 *)(*(s32 *)(arg0 + 0xD0) + 0xE0) |= 0x4; - *(s32 *)(*(s32 *)(arg0 + 0xD4) + 0xE0) |= 0x4; - *(s32 *)(*(s32 *)(arg0 + 0xD8) + 0xE0) |= 0x4; - *(s16 *)(arg0 + 0x100) = 1; - *(s32 *)(arg0 + 0xE0) &= ~0x4; + if (((Unkstruct_800B5CB8 *)arg0)->unkE0 & 0x4) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xCC))->unkE0 |= 0x4; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD0))->unkE0 |= 0x4; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD4))->unkE0 |= 0x4; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD8))->unkE0 |= 0x4; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = 1; + ((Unkstruct_800B5CB8 *)arg0)->unkE0 &= ~0x4; } - if (*(s32 *)(arg0 + 0xE0) & 0x8) { - *(s32 *)(*(s32 *)(arg0 + 0xCC) + 0xE0) |= 0x8; - *(s32 *)(*(s32 *)(arg0 + 0xD0) + 0xE0) |= 0x8; - *(s32 *)(*(s32 *)(arg0 + 0xD4) + 0xE0) |= 0x8; - *(s32 *)(*(s32 *)(arg0 + 0xD8) + 0xE0) |= 0x8; - *(s16 *)(arg0 + 0x100) = 0; - *(s32 *)(arg0 + 0xE0) &= ~0x8; + if (((Unkstruct_800B5CB8 *)arg0)->unkE0 & 0x8) { + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xCC))->unkE0 |= 0x8; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD0))->unkE0 |= 0x8; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD4))->unkE0 |= 0x8; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0xD8))->unkE0 |= 0x8; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE0 &= ~0x8; } - flags = *(s32 *)(arg0 + 0xE0); + flags = ((Unkstruct_800B5CB8 *)arg0)->unkE0; if (flags & 0x1000) { - *(s16 *)(arg0 + 0x2) = 4; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 4; } else if (flags & 0x1) { - *(s16 *)(arg0 + 0x2) = 2; - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0xE8) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 = 0; } else if (flags & 0x2) { - *(s16 *)(arg0 + 0x2) = 3; - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0xE8) = 0; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)arg0)->unkE8 = 0; } } @@ -5771,8 +5771,8 @@ void func_80181D40(s32 param_1) s32 iVar1; func_80181964(param_1); - iVar1 = *(s32 *)(param_1 + 8) + *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x14); - *(s32 *)(param_1 + 8) = iVar1; + iVar1 = CAST_WIDTH(s32, param_1, 8) + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x14); + CAST_WIDTH(s32, param_1, 8) = iVar1; if (0xFFFFFF < iVar1) { func_8012C218((void *)param_1); } @@ -5856,18 +5856,18 @@ s32 func_80181DF8(s32 param_1) Rec_80181DF8 *r; s32 i; - r = (Rec_80181DF8 *)CALL_80185C6C(*(u16 *)(param_1 + 0x70) & 0xF, 0); + r = (Rec_80181DF8 *)CALL_80185C6C(CAST_SIGN(u16, param_1, 0x70) & 0xF, 0); i = 0; mtx = D_801DFD94; colp = &D_80190450; do { - pos[0] = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - pos[1] = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + D_801904AC[r->b6 & 0xF]; - pos[2] = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14); + pos[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + pos[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + D_801904AC[r->b6 & 0xF]; + pos[2] = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14); func_80049CAC((s32)pos, (s32)mtx); - D_801DFDA8 = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x68); - D_801DFDAC = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x6C); - D_801DFDB0 = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x70); + D_801DFDA8 = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk68; + D_801DFDAC = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk6C; + D_801DFDB0 = CAST_WIDTH(s32, *(s32 *)(param_1 + 0x20), 0x70); gte_SetRotMatrix(&D_800AF648); gte_ldclmv(D_801DFD94); gte_rtir(); @@ -5892,7 +5892,7 @@ s32 func_80181DF8(s32 param_1) colp[0] = colp[1] = colp[2] = r->b7 * 12; } else { if (D_801DDBF0 != 0) { - if (*(u16 *)D_801DDBF0 == 0) { + if (((Unkstruct_800B5CB8 *)D_801DDBF0)->unk0 == 0) { func_801856A4((s32 *)r, (s32)&D_801903C8); D_801DDBF0 = 0; } @@ -5908,9 +5908,9 @@ s32 func_80181DF8(s32 param_1) if (r->flag != 0) { colp[0] = colp[1] = colp[2] = -0x40 - r->b7 * 12; } else { - *(s32 *)(param_1 + 0xE0) &= ~0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 &= ~0x100; func_801856A4((s32 *)r, (s32)D_80190238); - *(s32 *)((u8 *)D_801DDBF4 + 4) |= 0x80000000; + CAST_WIDTH(s32, (u8 *)D_801DDBF4, 4) |= 0x80000000; r->b6 &= 0x7F; } } else if ((s32)r->tag == (s32)&D_801902C0) { @@ -5920,9 +5920,9 @@ s32 func_80181DF8(s32 param_1) } } else if ((s32)r->tag == (s32)D_80190240) { if (r->flag == 0) { - if (*(s32 *)(param_1 + 0xE0) & 0x200) { + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 & 0x200) { func_80182388(param_1, i); - } else if (*(s32 *)(param_1 + 0xE0) & 0x400) { + } else if (((Unkstruct_800B5CB8 *)param_1)->unkE0 & 0x400) { func_801825D8(param_1, (s32)r); } } @@ -6084,7 +6084,7 @@ void func_801825D8(s32 arg0, s32 arg1) u8 t; b = *(u8 *)(arg1 + 6); - e = &D_801DFBF8[(b & 0xF) + *(s16 *)(arg0 + 0x70) * 4]; + e = &D_801DFBF8[(b & 0xF) + ((Unkstruct_800B5CB8 *)arg0)->unk70 * 4]; if (!(b & 0x40)) { func_8012F14C((s32)D_801DFD94, (s32)e, (s32)buf); rec.u0 = buf[0]; @@ -6123,7 +6123,7 @@ void func_801825D8(s32 arg0, s32 arg1) extern void (*D_801908F8[])(void); void func_801827D0(void *a0) { - D_801908F8[*(u16 *)((s32)a0 + 0x2)](); + D_801908F8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6139,28 +6139,28 @@ void func_8018280C(s32 param_1) { s32 v0; v0 = func_8012C1B8(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); return; } - *(s32 *)(param_1 + 0xF4) = D_8019EA7C[0]; - *(s32 *)(param_1 + 0xF8) = 0; - func_8001C214(*(s32 *)(param_1 + 0x20), param_1 + 0xF4); - func_8001D0E8(*(s32 *)(param_1 + 0x20), 0x7FFF, 0x7FFF); + ((Unkstruct_800B5CB8 *)param_1)->unkF4 = D_8019EA7C[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkF8 = 0; + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, param_1 + 0xF4); + func_8001D0E8(((Unkstruct_800B5CB8 *)param_1)->unk20, 0x7FFF, 0x7FFF); - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = - (s32)&D_80190808[(*(u16 *)(param_1 + 0x70) & 0xF) * 12]; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = + (s32)&D_80190808[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 12]; - *(u16 *)(param_1 + 0x5C) = 0xC800; - *(s32 *)(param_1 + 0x58) = (param_1 + 0xFC) | 0x50000000; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xC800; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (param_1 + 0xFC) | 0x50000000; func_80182BC8((void *)param_1); - *(u8 *)(param_1 + 0x75) = 0; - *(u16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; - *(s32 *)(param_1 + 0xEC) = *(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; + CAST_WIDTH(s32, param_1, 0xEC) = *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36); } @@ -6191,16 +6191,16 @@ void func_801828E4(s32 param_1) { u16 uVar1; Blk8_801828E4 local; - obj = *(s32 *)(param_1 + 0x64); - if (*(s32 *)(param_1 + 0xEC) != *(s16 *)(obj + 0x36)) { + obj = ((Unkstruct_800B5CB8 *)param_1)->unk64; + if (CAST_WIDTH(s32, param_1, 0xEC) != *(s16 *)(obj + 0x36)) { func_8012C218((void *)param_1); return; } func_80182BC8((void *)param_1); - if (*(u16 *)(param_1 + 0x5C) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk5C != 0) { local = D_801DDB48; - if (func_80135888(*(s32 *)(param_1 + 0x20), *(s32 *)(param_1 + 0x58), + if (func_80135888(((Unkstruct_800B5CB8 *)param_1)->unk20, ((Unkstruct_800B5CB8 *)param_1)->unk58, (s32)((char *)&D_801DDB48 - 8), (s32)&local) != 0) { func_8012F568(1, 0x4004, func_8012B70C((s16 *)D_800D3918, (s16 *)D_801152A8), @@ -6208,55 +6208,55 @@ void func_801828E4(s32 param_1) { } } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { case 0: - if (*(s32 *)(param_1 + 0xE0) & 4) { - *(u16 *)(param_1 + 0x34) = uVar1 + 1; - *(s32 *)(param_1 + 0x94) = 0; - *(u16 *)(param_1 + 0x5C) = 0xC800; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 & 4) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = uVar1 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xC800; } - if (*(s32 *)(param_1 + 0xE0) & 8) { - *(u16 *)(param_1 + 0x34) = 2; - *(s32 *)(param_1 + 0x94) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unkE0 & 8) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = 0; } break; case 1: - *(s32 *)(param_1 + 0xF0) -= 0x14; - t = *(s32 *)(param_1 + 0x20); - p = *(s32 **)(t + 0x24); - n = *(s32 *)(param_1 + 0x94) + 1; - *(s32 *)(param_1 + 0x94) = n; + CAST_WIDTH(s32, param_1, 0xF0) -= 0x14; + t = ((Unkstruct_800B5CB8 *)param_1)->unk20; + p = CAST_WIDTH(s32 *, t, 0x24); + n = ((Unkstruct_800B5CB8 *)param_1)->unk94 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = n; *p = D_8019EA7C[n]; - p = *(s32 **)(*(s32 *)(param_1 + 0x20) + 0x24); + p = *(s32 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x24); if (*p == 0) { - *p = *(s32 *)((s32)D_8019EA7C + ((*(s32 *)(param_1 + 0x94) - 1) << 2)); - *(u16 *)(param_1 + 0x34) = 0; - *(s32 *)(param_1 + 0xE0) &= ~4; + *p = *(s32 *)((s32)D_8019EA7C + ((((Unkstruct_800B5CB8 *)param_1)->unk94 - 1) << 2)); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 &= ~4; } break; case 2: - *(s32 *)(param_1 + 0xF0) += 0x14; - t = *(s32 *)(param_1 + 0x20); - p = *(s32 **)(t + 0x24); - n = *(s32 *)(param_1 + 0x94) + 1; - *(s32 *)(param_1 + 0x94) = n; + CAST_WIDTH(s32, param_1, 0xF0) += 0x14; + t = ((Unkstruct_800B5CB8 *)param_1)->unk20; + p = CAST_WIDTH(s32 *, t, 0x24); + n = ((Unkstruct_800B5CB8 *)param_1)->unk94 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk94 = n; *p = D_8019EA38[n]; - p = *(s32 **)(*(s32 *)(param_1 + 0x20) + 0x24); + p = *(s32 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x24); if (*p == 0) { - *p = *(s32 *)((s32)D_8019EA38 + ((*(s32 *)(param_1 + 0x94) - 1) << 2)); - *(u16 *)(param_1 + 0x34) = 0; - *(u16 *)(param_1 + 0x5C) = 0; - *(s32 *)(param_1 + 0xE0) &= ~8; + *p = *(s32 *)((s32)D_8019EA38 + ((((Unkstruct_800B5CB8 *)param_1)->unk94 - 1) << 2)); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 &= ~8; } break; } - *(s32 *)(param_1 + 0x4) = *(s32 *)(obj + 0x4); - *(s32 *)(param_1 + 0x8) = *(s32 *)(obj + 0x8); - *(s32 *)(param_1 + 0xC) = *(s32 *)(obj + 0xC); - dst = *(s32 *)(param_1 + 0x20); - *(Blk8_801828E4 *)(dst + 0x10) = *(Blk8_801828E4 *)(*(s32 *)(obj + 0x20) + 0x10); + CAST_WIDTH(s32, param_1, 0x4) = *(s32 *)(obj + 0x4); + CAST_WIDTH(s32, param_1, 0x8) = *(s32 *)(obj + 0x8); + CAST_WIDTH(s32, param_1, 0xC) = *(s32 *)(obj + 0xC); + dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(Blk8_801828E4, dst, 0x10) = *(Blk8_801828E4 *)(*(s32 *)(obj + 0x20) + 0x10); } @@ -6359,7 +6359,7 @@ void func_80182BC8(s32 a0) { extern void (*D_80190940[])(void); void func_80182D74(void *a0) { - D_80190940[*(u16 *)((s32)a0 + 0x2)](); + D_80190940[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6477,7 +6477,7 @@ void func_80182ED8(s32 arg0) { func_801834D8((void *)arg0, 0); *(u16 *)(arg0 + 0x34) = *(u16 *)(arg0 + 0x34) + 1; } - if ((*(s16 *)(D_801DDB28 + 0x100) == 2) && ((D_800B99DA & 0x7F) == 0)) { + if ((((Unkstruct_800B5CB8 *)D_801DDB28)->unk100 == 2) && ((D_800B99DA & 0x7F) == 0)) { func_801834D8((void *)arg0, 0); *(u16 *)(arg0 + 0x34) = 4; } @@ -6540,14 +6540,14 @@ void func_80182ED8(s32 arg0) { top[1] += *(u16 *)(arg0 + 0xFE) + *(u16 *)(arg0 + 0xA); bot[1] += *(u16 *)(arg0 + 0x100) + *(u16 *)(arg0 + 0xA); if (*q != 0) { - *(s16 *)(*q + 8) = top[0]; - *(s16 *)(*q + 10) = top[1]; - *(s16 *)(*q + 12) = top[2]; + CAST_NONSTRUCT(s16, *q, 8) = top[0]; + CAST_NONSTRUCT(s16, *q, 10) = top[1]; + CAST_NONSTRUCT(s16, *q, 12) = top[2]; } if (*p != 0) { - *(s16 *)(*p + 8) = bot[0]; - *(s16 *)(*p + 10) = bot[1]; - *(s16 *)(*p + 12) = bot[2]; + CAST_NONSTRUCT(s16, *p, 8) = bot[0]; + CAST_NONSTRUCT(s16, *p, 10) = bot[1]; + CAST_NONSTRUCT(s16, *p, 12) = bot[2]; } func_80183534(arg0, (s32)top, (s32)bot, (s32)w); func_80183848(arg0, (s32)top, (s32)bot); @@ -6605,7 +6605,7 @@ void func_801833FC(void *a0) { void **slot; s32 i; - slot = D_801DFDD4[*(s16 *)((s32)a0 + 0x70)]; + slot = D_801DFDD4[((Unkstruct_800B5CB8 *)a0)->unk70]; for (i = 0; i < 8; i++) { if (*slot != NULL) { func_80016714(*slot, 0x38); @@ -6900,7 +6900,7 @@ void func_801838BC(short *param_1, short *param_2) extern void (*D_801909E4[])(void); void func_80183A1C(void *a0) { - D_801909E4[*(u16 *)((s32)a0 + 0x2)](); + D_801909E4[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -6913,24 +6913,24 @@ extern u8 D_80190970[]; void func_80183A58(s32 param_1) { s32 v0; - *(s32 *)(param_1 + 0x78) = (s32)&D_801909B0; + ((Unkstruct_800B5CB8 *)param_1)->unk78 = (s32)&D_801909B0; v0 = func_8012C1B8(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); return; } func_8001C214(v0, 0); - *(s32 *)(param_1 + 0x58) = (s32)&D_80190970[(*(u16 *)(param_1 + 0x70) & 0xF) * 16] | 0x50000000; - if ((*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(u8 *)(param_1 + 0x75) = 0x15; - *(u16 *)(param_1 + 0x5C) = 0x8000; - *(s16 *)(param_1 + 0xAE) = -3; + ((Unkstruct_800B5CB8 *)param_1)->unk58 = (s32)&D_80190970[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 16] | 0x50000000; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0x15; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0x8000; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -3; } else { - *(u8 *)(param_1 + 0x75) = 0x14; - *(u16 *)(param_1 + 0x5C) = 0xC000; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0x14; + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0xC000; } - *(u16 *)(param_1 + 2) += 1; + CAST_SIGN(u16, param_1, 2) += 1; } @@ -6957,47 +6957,47 @@ void func_80183B1C(s32 param_1) { s32 v0; s32 i; - *(s32 *)(param_1 + 0x8) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x8); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12) + 0xE00; + CAST_WIDTH(s32, param_1, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x8); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12) + 0xE00; - v70 = *(s16 *)(param_1 + 0x70); + v70 = ((Unkstruct_800B5CB8 *)param_1)->unk70; if (v70 & 0x8000) { - ret = func_80185C6C(*(s16 *)(*(s32 *)(param_1 + 0x64) + 0x70), v70 & 0xF); + ret = func_80185C6C(*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x70), v70 & 0xF); if (*(s32 *)ret == (s32)&D_801902C0) { func_8012C218((void *)param_1); return; } } - if (*(u16 *)(param_1 + 0x5C) & 1) { - *(u16 *)(param_1 + 0x60) = 0x28; + if (((Unkstruct_800B5CB8 *)param_1)->unk5C & 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk60 = 0x28; func_8012E9C0(param_1); func_8016B3F4(param_1); func_8002D4C8(0xB7C, 0); a2v = D_801DDB28; - v60 = *(u16 *)(param_1 + 0x60); - *(u16 *)(param_1 + 0x5C) = 0; - *(u16 *)(param_1 + 0x5E) = 0; - t76 = *(u16 *)(a2v + 0x76) - v60; - *(u16 *)(a2v + 0x76) = t76; + v60 = CAST_SIGN(u16, param_1, 0x60); + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; + CAST_WIDTH(u16, param_1, 0x5E) = 0; + t76 = CAST_SIGN(u16, a2v, 0x76) - v60; + ((Unkstruct_800B5CB8 *)a2v)->unk76 = t76; if ((s16)t76 <= 0) { - *(u16 *)(a2v + 0x76) = 0; - *(u16 *)(a2v + 0x2) = 0xC; - *(s32 *)(a2v + 0xE0) |= 0x1000; + ((Unkstruct_800B5CB8 *)a2v)->unk76 = 0; + ((Unkstruct_800B5CB8 *)a2v)->unk2 = 0xC; + ((Unkstruct_800B5CB8 *)a2v)->unkE0 |= 0x1000; for (i = 0; i < 5; i++) { *(s32 *)(D_801DDB2C[i] + 0xE0) |= 0x1000; } } a2v2 = D_801DDB28; - *(u16 *)(a2v2 + 0xFE) = *(u16 *)(a2v2 + 0xFE) + 1; - v0 = *(s16 *)(param_1 + 0x100) + 1; - *(s32 *)(a2v2 + 0xEC) = v0 * 100; - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)a2v2)->unkFE = CAST_SIGN(u16, a2v2, 0xFE) + 1; + v0 = ((Unkstruct_800B5CB8 *)param_1)->unk100 + 1; + CAST_WIDTH(s32, a2v2, 0xEC) = v0 * 100; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; } } @@ -7014,13 +7014,13 @@ void func_80183CB8(s32 param_1) { s32 iVar1; s16 *p0; - iVar1 = func_8004787C(*(s32 *)(param_1 + 0x1c) << 7); + iVar1 = func_8004787C(((Unkstruct_800B5CB8 *)param_1)->unk1C << 7); p0 = &D_80190448.f0; *p0 = ((iVar1 << 7) >> 12) + 0x80; D_8019044C = -0x40; D_8019044A = -0x40; - iVar1 = *(s32 *)(param_1 + 0x1c) - 1; - *(s32 *)(param_1 + 0x1c) = iVar1; + iVar1 = CAST_ALIAS(s32, param_1, 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar1; if (iVar1 == 0) { D_8019044C = 0xc0; D_8019044A = 0xc0; @@ -7034,7 +7034,7 @@ void func_80183CB8(s32 param_1) { extern void (*D_80190A00[])(void); void func_80183D48(void *a0) { - D_80190A00[*(u16 *)((s32)a0 + 0x2)](); + D_80190A00[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7074,7 +7074,7 @@ void func_80183D84(u8 *a0) { e = a0; q = (u8 *)((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(e + 0x20) = (s32)q; + ((Unkstruct_800B5CB8 *)e)->unk20 = (s32)q; if (q == 0) { func_8012CAE4(e); return; @@ -7082,18 +7082,18 @@ void func_80183D84(u8 *a0) { func_8001C214((s32)q, 0); - *(s32 *)(*(u8 **)(e + 0x20) + 0x20) = - (s32)&D_80190808[(*(u16 *)(e + 0x70) & 0xF) * 12]; - *(u16 *)(*(u8 **)(e + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(u8 **)(e + 0x20))->unk20 = + (s32)&D_80190808[(CAST_SIGN(u16, e, 0x70) & 0xF) * 12]; + ((Unkstruct_800B5CB8 *)*(u8 **)(e + 0x20))->unk2C |= 0x10; - *(s16 *)(e + 0xEC) = -0x50; - *(s16 *)(e + 0xEE) = 0x50; - *(s16 *)(e + 0xF0) = -0x50; - *(s16 *)(e + 0xF2) = 0x50; - *(s32 *)(e + 0xE8) = 0; - *(s16 *)(e + 0xF4) = 0; + ((Unkstruct_800B5CB8 *)e)->unkEC = -0x50; + ((Unkstruct_800B5CB8 *)e)->unkEE = 0x50; + CAST_WIDTH(s16, e, 0xF0) = -0x50; + ((Unkstruct_800B5CB8 *)e)->unkF2 = 0x50; + ((Unkstruct_800B5CB8 *)e)->unkE8 = 0; + CAST_WIDTH(s16, e, 0xF4) = 0; *(s16 *)(e + 0xF6) = 0; - *(s32 *)(e + 0x58) = (s32)(e + 0xE8) | 0x70000000; + ((Unkstruct_800B5CB8 *)e)->unk58 = (s32)(e + 0xE8) | 0x70000000; for (i = 0; i < 8; i++) { t = i << 9; @@ -7127,18 +7127,18 @@ void func_80183D84(u8 *a0) { } } - *(s32 *)(e + 0xCC) = (s32)obj[0]; - *(s32 *)(e + 0xD0) = (s32)obj[1]; - *(s32 *)(e + 0xD4) = (s32)obj[2]; - *(s32 *)(e + 0xD8) = (s32)obj[3]; - *(s32 *)(e + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)e)->unkCC = (s32)obj[0]; + ((Unkstruct_800B5CB8 *)e)->unkD0 = (s32)obj[1]; + ((Unkstruct_800B5CB8 *)e)->unkD4 = (s32)obj[2]; + ((Unkstruct_800B5CB8 *)e)->unkD8 = (s32)obj[3]; + ((Unkstruct_800B5CB8 *)e)->unk1C = 0x10; - p = ((u8 * (*)(s32, s32))func_80185C6C)(*(s16 *)(*(u8 **)(e + 0x64) + 0x70), *(s16 *)(e + 0x70)); + p = ((u8 * (*)(s32, s32))func_80185C6C)(*(s16 *)(CAST_SIGN(u8 *, e, 0x64) + 0x70), ((Unkstruct_800B5CB8 *)e)->unk70); func_801856A4((s32 *)p, (s32)D_80190240); *(u8 *)(p + 0x6) |= 0x80; - *(s16 *)(e + 0xFE) = -1; - *(u16 *)(e + 0x2) += 1; + ((Unkstruct_800B5CB8 *)e)->unkFE = -1; + CAST_SIGN(u16, e, 0x2) += 1; } @@ -7202,45 +7202,45 @@ void func_80184084(s32 param_1) s32 r; s32 r2; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: if (((s32 (*)(s32))func_8012BEE8)(param_1) != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8002D4C8(0xA7C, 0); } break; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) + 0x400; - switch (*(u16 *)(param_1 + 0x70) & 0xF) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A + 0x400; + switch (CAST_SIGN(u16, param_1, 0x70) & 0xF) { case 0: case 2: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) + 0x400; - if (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x18) > 0x2000) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x18) = 0x2000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = 0x2000; - *(s16 *)(param_1 + 0x100) = 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 + 0x400; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x18) > 0x2000) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk18 = 0x2000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x2000; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 1; } break; case 1: case 3: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) + 0x400; - if (*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) > 0x2000) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1A) = 0x2000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x1C) = 0x2000; - *(s16 *)(param_1 + 0x100) = 1; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) + 0x400; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) > 0x2000) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk1A = 0x2000; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1C) = 0x2000; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 1; } break; } - t = *(s32 *)(param_1 + 0xE0) - 0x40; - *(s32 *)(param_1 + 0xE0) = t; + t = ((Unkstruct_800B5CB8 *)param_1)->unkE0 - 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = t; if (t < -0x180) { - *(s16 *)(param_1 + 0xFE) = func_8018452C(); - if (*(s16 *)(param_1 + 0xFE) != -1) { + ((Unkstruct_800B5CB8 *)param_1)->unkFE = func_8018452C(); + if (((Unkstruct_800B5CB8 *)param_1)->unkFE != -1) { obj = func_8012C194(); if (obj != 0) { func_8001CD9C((int)obj, &D_801DFD4C); @@ -7249,38 +7249,38 @@ void func_80184084(s32 param_1) *(u16 *)(obj + 0x2C) = 0xC020; *(s32 *)(obj + 0x4) |= 0x50000000; } else { - *(s16 *)(param_1 + 0xFE) = -1; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = -1; } - D_801DFD38[*(s16 *)(param_1 + 0xFE)] = obj; + D_801DFD38[((Unkstruct_800B5CB8 *)param_1)->unkFE] = obj; } - *(s32 *)(param_1 + 0xE0) = -0x180; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = -0x180; r = rand(); - *(s32 *)(param_1 + 0x1C) = - 0x80 - (*(s16 *)(D_801DDB28 + 0x100) * 32) - (r % 32); - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = + 0x80 - (((Unkstruct_800B5CB8 *)D_801DDB28)->unk100 * 32) - (r % 32); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } func_80184564(param_1); break; case 2: if (((s32 (*)(s32))func_8012BEE8)(param_1) != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } func_80184564(param_1); break; case 3: - t = *(s32 *)(param_1 + 0xE4) - 0x40; - *(s32 *)(param_1 + 0xE4) = t; + t = ((Unkstruct_800B5CB8 *)param_1)->unkE4 - 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = t; if (t < -0x180) { - *(s32 *)(param_1 + 0xE4) = -0x180; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - func_80184EA0(*(s32 *)(param_1 + 0xCC)); - func_80184EA0(*(s32 *)(param_1 + 0xD0)); - func_80184EA0(*(s32 *)(param_1 + 0xD4)); - func_80184EA0(*(s32 *)(param_1 + 0xD8)); - if (*(s16 *)(param_1 + 0xFE) != -1) { - *(s32 *)(D_801DFD38[*(s16 *)(param_1 + 0xFE)] + 4) |= 0x80000000; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = -0x180; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + func_80184EA0(((Unkstruct_800B5CB8 *)param_1)->unkCC); + func_80184EA0(((Unkstruct_800B5CB8 *)param_1)->unkD0); + func_80184EA0(((Unkstruct_800B5CB8 *)param_1)->unkD4); + func_80184EA0(((Unkstruct_800B5CB8 *)param_1)->unkD8); + if (((Unkstruct_800B5CB8 *)param_1)->unkFE != -1) { + *(s32 *)(D_801DFD38[((Unkstruct_800B5CB8 *)param_1)->unkFE] + 4) |= 0x80000000; } } func_80184564(param_1); @@ -7288,12 +7288,12 @@ void func_80184084(s32 param_1) case 4: func_801856A4((s32 *)((void *(*)(s32, s32))func_80185C6C)( - *(s16 *)(*(s32 *)(param_1 + 0x64) + 0x70), - *(s16 *)(param_1 + 0x70)), + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x70), + ((Unkstruct_800B5CB8 *)param_1)->unk70), (s32)&D_801902C0); r2 = rand(); - *(s32 *)(param_1 + 0x1C) = (r2 % 16) + 0x10; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (r2 % 16) + 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; break; case 5: @@ -7304,9 +7304,9 @@ void func_80184084(s32 param_1) break; } - *(s32 *)(param_1 + 0x8) = *(s32 *)(*(s32 *)(param_1 + 0x64) + 0x8) - 0x1790000; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12) + 0xE00; + CAST_WIDTH(s32, param_1, 0x8) = *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x8) - 0x1790000; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12) + 0xE00; } @@ -7315,21 +7315,21 @@ extern void func_8012C218(void *a0); extern s32 D_801DFD38[]; void func_80184464(void *a0) { - if (*(s16 *)((s32)a0 + 0xFE) != -1) { - func_80016714((void *)D_801DFD38[*(s16 *)((s32)a0 + 0xFE)], 0x38); - D_801DFD38[*(s16 *)((s32)a0 + 0xFE)] = 0; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != -1) { + func_80016714((void *)D_801DFD38[((Unkstruct_800B5CB8 *)a0)->unkFE], 0x38); + D_801DFD38[((Unkstruct_800B5CB8 *)a0)->unkFE] = 0; } - if (*(s32 *)((s32)a0 + 0xCC) != 0) { - func_80016714(*(void **)((s32)a0 + 0xCC), 0x38); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_80016714(CAST_SIGN(void *, (s32)a0, 0xCC), 0x38); } - if (*(s32 *)((s32)a0 + 0xD0) != 0) { - func_80016714(*(void **)((s32)a0 + 0xD0), 0x38); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_80016714(CAST_SIGN(void *, (s32)a0, 0xD0), 0x38); } - if (*(s32 *)((s32)a0 + 0xD4) != 0) { - func_80016714(*(void **)((s32)a0 + 0xD4), 0x38); + if (((Unkstruct_800B5CB8 *)a0)->unkD4 != 0) { + func_80016714(CAST_SIGN(void *, (s32)a0, 0xD4), 0x38); } - if (*(s32 *)((s32)a0 + 0xD8) != 0) { - func_80016714(*(void **)((s32)a0 + 0xD8), 0x38); + if (((Unkstruct_800B5CB8 *)a0)->unkD8 != 0) { + func_80016714(CAST_SIGN(void *, (s32)a0, 0xD8), 0x38); } func_8012C218(a0); } @@ -7414,14 +7414,14 @@ void func_80184564(s32 param_1) gte_SetRotMatrix(m); gte_SetTransMatrix(m); - t = *(u32 *)(param_1 + 0x58) & 0xFFFFFFF; + t = CAST_SIGN(u32, param_1, 0x58) & 0xFFFFFFF; sv[0].vx = -0x28; sv[0].vy = -0x28; - tt = *(s32 *)(param_1 + 0xE0); + tt = ((Unkstruct_800B5CB8 *)param_1)->unkE0; sv[1].vx = 0x28; sv[1].vy = 0x28; sv[0].vz = tt - 0x177; - sv[1].vz = *(s32 *)(param_1 + 0xE4) - 0x177; + sv[1].vz = ((Unkstruct_800B5CB8 *)param_1)->unkE4 - 0x177; box = (Box_80184564 *)(t | 0x80000000); RotTransSV(&sv[0], &sv[0], &flag); RotTransSV(&sv[1], &sv[1], &flag); @@ -7450,14 +7450,14 @@ void func_80184564(s32 param_1) *(Blk8_801828E4 *)&sv[0] = D_801DDB48; p = &sv[0]; - if (func_80135888(*(s32 *)(param_1 + 0x20), *(s32 *)(param_1 + 0x58), + if (func_80135888(((Unkstruct_800B5CB8 *)param_1)->unk20, ((Unkstruct_800B5CB8 *)param_1)->unk58, (s32)((char *)&D_801DDB48 - 8), (s32)p) != 0) { func_8012F568(1, 0x4001, func_8012B70C((s16 *)D_800D3918, (s16 *)D_801152A8), 0x78, (s32)p, (s32)D_801152A8); } - gte_SetRotMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetRotMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); gte_ldclmv((s16 *)m); gte_rtir(); gte_stclmv((s16 *)m); @@ -7467,7 +7467,7 @@ void func_80184564(s32 param_1) gte_ldclmv((s16 *)m + 2); gte_rtir(); gte_stclmv((s16 *)m + 2); - gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); gte_ldlv0(&m[5]); gte_rtv0tr(); gte_stlvnl(&m[5]); @@ -7480,13 +7480,13 @@ void func_80184564(s32 param_1) * into a single reg (offsets 0/2/4). A pointer biv instead leaves +0 on the biv and * builds a SECOND register for {+2,+4} -- one extra insn and a whole-loop reshuffle. */ i = 0; - d = *(s32 *)(param_1 + 0xE0) - *(s32 *)(param_1 + 0xE4); + d = ((Unkstruct_800B5CB8 *)param_1)->unkE0 - ((Unkstruct_800B5CB8 *)param_1)->unkE4; w = d >> 2; z = d >> 3; do { sv[i].vy = 0; sv[i].vx = 0; - tz = *(s32 *)(param_1 + 0xE4) - 0x177; + tz = ((Unkstruct_800B5CB8 *)param_1)->unkE4 - 0x177; sv[i].vz = z + tz; RotTransSV(&sv[i], &sv[i], &flag); z += w; @@ -7494,15 +7494,15 @@ void func_80184564(s32 param_1) } while (i < 4); q = &sv[0]; - func_80184E6C(*(s32 **)(param_1 + 0xCC), (s32 *)q); - func_80184E6C(*(s32 **)(param_1 + 0xD0), (s32 *)&sv[1]); - func_80184E6C(*(s32 **)(param_1 + 0xD4), (s32 *)&sv[2]); - func_80184E6C(*(s32 **)(param_1 + 0xD8), (s32 *)&sv[3]); - if (*(s16 *)(param_1 + 0xFE) != -1) { + func_80184E6C(CAST_SIGN(s32 *, param_1, 0xCC), (s32 *)q); + func_80184E6C(CAST_SIGN(s32 *, param_1, 0xD0), (s32 *)&sv[1]); + func_80184E6C(CAST_SIGN(s32 *, param_1, 0xD4), (s32 *)&sv[2]); + func_80184E6C(CAST_SIGN(s32 *, param_1, 0xD8), (s32 *)&sv[3]); + if (((Unkstruct_800B5CB8 *)param_1)->unkFE != -1) { sv[0].vy = 0; sv[0].vx = 0; - sv[0].vz = *(s32 *)(param_1 + 0xE0) - 0x177; - RotTransSV(q, (void *)(D_801DFD38[*(s16 *)(param_1 + 0xFE)] + 8), &flag); + sv[0].vz = ((Unkstruct_800B5CB8 *)param_1)->unkE0 - 0x177; + RotTransSV(q, (void *)(D_801DFD38[((Unkstruct_800B5CB8 *)param_1)->unkFE] + 8), &flag); } gte_SetRotMatrix(&D_800AF648); @@ -7535,17 +7535,17 @@ void func_80184564(s32 param_1) do { sv[0].vx = r->vx; sv[0].vy = r->vy; - sv[0].vz = r->vz + *(s32 *)(param_1 + 0xE4); + sv[0].vz = r->vz + ((Unkstruct_800B5CB8 *)param_1)->unkE4; sv[1].vx = r->vx; sv[1].vy = r->vy; - sv[1].vz = r->vz + *(s32 *)(param_1 + 0xE0); + sv[1].vz = r->vz + ((Unkstruct_800B5CB8 *)param_1)->unkE0; r++; sv[2].vx = r->vx; sv[2].vy = r->vy; - sv[2].vz = r->vz + *(s32 *)(param_1 + 0xE4); + sv[2].vz = r->vz + ((Unkstruct_800B5CB8 *)param_1)->unkE4; sv[3].vx = r->vx; sv[3].vy = r->vy; - sv[3].vz = r->vz + *(s32 *)(param_1 + 0xE0); + sv[3].vz = r->vz + ((Unkstruct_800B5CB8 *)param_1)->unkE0; func_80184C68((u8 *)sv, i); j++; } while (j < 8); @@ -7670,7 +7670,7 @@ void func_80184EA0(s32 arg0) { extern void (*D_80190A18[])(void); void func_80184EC0(void *a0) { - D_80190A18[*(u16 *)((s32)a0 + 0x2)](); + D_80190A18[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7689,7 +7689,7 @@ void func_80184EFC(s32 a0) { s32 p20; ret = func_8012C1B8(); - *(s32 *)(a0 + 0x20) = ret; + ((Unkstruct_800B5CB8 *)a0)->unk20 = ret; if (ret == 0) { func_8012CAE4((void *)a0); return; @@ -7697,24 +7697,24 @@ void func_80184EFC(s32 a0) { func_8001C214(ret, 0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; /* P36 S104 e22: the tag is ONE expression (each `|` a fresh single-set pseudo, so sched1's birthing boost, * sched.c:2469-2544, keeps the chain after the flags store) and the flags update is a plain `|=` — the old * shared `tmp` (a two-death pseudo, refused by local-alloc.c:472) needed a $2 pin; the `s0 = a0` copy needed $16. */ - *(s32 *)(a0 + 0x58) = (s32)&D_80190A08 | 0x10000000 | 0x20000000 | 0x40000000; - if (*(s16 *)(a0 + 0x70) & 0x8000) { - *(s16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk58 = (s32)&D_80190A08 | 0x10000000 | 0x20000000 | 0x40000000; + if (((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; } - p20 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x20); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(p20 + 0x12) + D_80190810[(*(u16 *)(a0 + 0x70) & 0xF) * 6] + 0xE00; + p20 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(p20 + 0x12) + D_80190810[(CAST_SIGN(u16, a0, 0x70) & 0xF) * 6] + 0xE00; func_8012B2CC(a0); func_8012B178(a0, (s32)0xFFFC0000); - *(s32 *)(a0 + 0x1C) = 0x20; - *(u16 *)(a0 + 0x2) += 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x20; + CAST_SIGN(u16, a0, 0x2) += 1; } @@ -7747,7 +7747,7 @@ void func_80184FF8(s32 param_1) s32 n; s32 st; - st = *(u16 *)(param_1 + 0x34); + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; if (st == 1) goto join; if (st >= 2) goto skip; if (st != 0) goto skip; @@ -7755,48 +7755,48 @@ void func_80184FF8(s32 param_1) if (((s32 (*)(void))func_8012BEE8)() == 0) { return; } - *(s32 *)(param_1 + 0x1C) = 1; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - if (*(u16 *)(param_1 + 0x70) & 0x4000) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + if (CAST_SIGN(u16, param_1, 0x70) & 0x4000) { func_8002D4C8(0x9C6, 0); } join: - if ((*(s32 *)(param_1 + 0x1C) & 0xF) == 0) { - rec.u0 = *(u16 *)(param_1 + 0x88); - rec.u1 = *(u16 *)(param_1 + 0x8A); - rec.u2 = *(u16 *)(param_1 + 0x8C); + if ((((Unkstruct_800B5CB8 *)param_1)->unk1C & 0xF) == 0) { + rec.u0 = ((Unkstruct_800B5CB8 *)param_1)->unk88; + rec.u1 = ((Unkstruct_800B5CB8 *)param_1)->unk8A; + rec.u2 = ((Unkstruct_800B5CB8 *)param_1)->unk8C; rec.s6 = 0x31C; - rec.s8 = *(u16 *)(param_1 + 0x70) | 0x8000; + rec.s8 = CAST_SIGN(u16, param_1, 0x70) | 0x8000; rec.sA = 0; rec.w10 = 0; rec.sE = 0; rec.sC = 0x7FFF; - func_8012C51C(&rec, *(s32 *)(param_1 + 0x64)); - *(u16 *)(param_1 + 0xFE) = *(u16 *)(param_1 + 0xFE) + 1; - if (*(s16 *)(param_1 + 0xFE) >= 2) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + func_8012C51C(&rec, ((Unkstruct_800B5CB8 *)param_1)->unk64); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = CAST_SIGN(u16, param_1, 0xFE) + 1; + if (((Unkstruct_800B5CB8 *)param_1)->unkFE >= 2) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } skip: local = D_801DDB48; - if (func_80135888(*(s32 *)(param_1 + 0x20), *(s32 *)(param_1 + 0x58), + if (func_80135888(((Unkstruct_800B5CB8 *)param_1)->unk20, ((Unkstruct_800B5CB8 *)param_1)->unk58, (s32)((char *)&D_801DDB48 - 8), (s32)&local) != 0) { func_8012F568(1, 0x4019, - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), 0x50, (s32)&local, (s32)D_801152A8); } - obj = *(s32 *)(param_1 + 0x20); + obj = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(obj + 0x18) = *(u16 *)(obj + 0x18) + 0x140; - obj = *(s32 *)(param_1 + 0x20); + obj = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(obj + 0x1A) = *(u16 *)(obj + 0x1A) + 0x140; - obj = *(s32 *)(param_1 + 0x20); + obj = ((Unkstruct_800B5CB8 *)param_1)->unk20; if (*(s16 *)(obj + 0x18) >= 0x7001) { *(u16 *)(obj + 0x1A) = 0x7000; *(u16 *)(obj + 0x18) = 0x7000; } func_8012AD80(param_1); - n = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = n; + n = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = n; if (n >= 0x61) { func_8012C218((void *)param_1); } else { @@ -7878,21 +7878,21 @@ void func_801852E4(s32 arg0) s32 t; s32 h; - if (*(s16 *)(*(s32 *)(arg0 + 0x64) + 0x36) != *(s16 *)(arg0 + 0x100)) { + if (*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)arg0)->unk100) { func_8012C218((void *)arg0); return; } - *(s32 *)(arg0 + 8) = *(s32 *)(*(s32 *)(arg0 + 0x64) + 8) + 0xFF000000; - (*(s32 *)(arg0 + 0xE0)) -= 0x40; - if (*(s32 *)(arg0 + 0xE0) < -0x200) { - *(s32 *)(arg0 + 0xE0) = -0x200; + CAST_WIDTH(s32, arg0, 8) = *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 8) + 0xFF000000; + (((Unkstruct_800B5CB8 *)arg0)->unkE0) -= 0x40; + if (((Unkstruct_800B5CB8 *)arg0)->unkE0 < -0x200) { + ((Unkstruct_800B5CB8 *)arg0)->unkE0 = -0x200; } b.v[0].vx = -0x10; b.v[1].vx = 0x10; b.v[1].vz = -0x140; b.v[0].vz = -0x140; - b.v[2].vz = *(s32 *)(arg0 + 0xE0); - b.v[3].vz = *(s32 *)(arg0 + 0xE0); + b.v[2].vz = ((Unkstruct_800B5CB8 *)arg0)->unkE0; + b.v[3].vz = ((Unkstruct_800B5CB8 *)arg0)->unkE0; b.v[3].vy = 0; b.v[2].vy = 0; b.v[3].vx = 0; @@ -7902,10 +7902,10 @@ void func_801852E4(s32 arg0) func_8012F214(arg0, (s32)&b.v[0], (s32)&b.v[0]); func_8012F214(arg0, (s32)&b.v[1], (s32)&b.v[1]); m = (*(MTX *)&D_800AE620); - RotMatrixY(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + *(s16 *)(arg0 + 0xFE), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + ((Unkstruct_800B5CB8 *)arg0)->unkFE, &m); func_8012F14C((s32)&m, (s32)&b.v[2], (s32)&b.v[2]); m = (*(MTX *)&D_800AE620); - RotMatrixY(*(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - *(s16 *)(arg0 + 0xFE), &m); + RotMatrixY(*(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) - ((Unkstruct_800B5CB8 *)arg0)->unkFE, &m); func_8012F14C((s32)&m, (s32)&b.v[3], (s32)&b.v[3]); *(u16 *)&b.v[2].vx += *(u16 *)&b.v[0].vx; *(u16 *)&b.v[2].vy += *(u16 *)&b.v[0].vy; @@ -7943,7 +7943,7 @@ void func_801852E4(s32 arg0) extern void (*D_80190A20[])(void); void func_8018562C(void *a0) { - D_80190A20[*(u16 *)((s32)a0 + 0x2)](); + D_80190A20[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -7951,7 +7951,7 @@ void func_8018562C(void *a0) { extern void (*D_80190A28[])(void); void func_80185668(void *a0) { - D_80190A28[*(u16 *)((s32)a0 + 0x2)](); + D_80190A28[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8380,7 +8380,7 @@ void func_80185C88(void *arg0) { s32 v0 = func_8012C1B8(); s32 v1; - *(s32 *)((u8 *)arg0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)arg0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(arg0); return; @@ -8388,17 +8388,17 @@ void func_80185C88(void *arg0) { func_8001C214(v0, 0); - *(s32 *)((u8 *)arg0 + 8) = *(s32 *)((u8 *)arg0 + 8) + *(s32 *)(*(s32 *)((u8 *)arg0 + 0x64) + 8); - *(u16 *)(*(s32 *)((u8 *)arg0 + 0x20) + 0x12) = *(u16 *)((u8 *)arg0 + 0xFC); + CAST_WIDTH(s32, (u8 *)arg0, 8) = CAST_WIDTH(s32, (u8 *)arg0, 8) + *(s32 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 8); + ((Unkstruct_800B5CB8 *)*(s32 *)((u8 *)arg0 + 0x20))->unk12 = CAST_SIGN(u16, (u8 *)arg0, 0xFC); func_8012B2CC(arg0); - *(s32 *)((u8 *)arg0 + 0x1C) = 0x90; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x90; v1 = rand(); - *(s16 *)((u8 *)arg0 + 0xFE) = (v1 % 64) + 0x40; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = (v1 % 64) + 0x40; { - u16 x = *(u16 *)(*(s32 *)((u8 *)arg0 + 0x64) + 0x36); - *(u16 *)((u8 *)arg0 + 2) = *(u16 *)((u8 *)arg0 + 2) + 1; - *(u16 *)((u8 *)arg0 + 0x100) = x; + u16 x = *(u16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0x36); + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, (u8 *)arg0, 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = x; } } @@ -8434,7 +8434,7 @@ void func_80185D44(void *a0) { u8 *p; v0 = func_8012C1B8(); - *(s32 *)((s32)a0 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk20 = v0; if (v0 == 0) { func_8012CAE4(a0); return; @@ -8443,21 +8443,21 @@ void func_80185D44(void *a0) { m = 0x7FFF0000; __asm__("" : "=r"(m) : "0"(m)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus10) t = 0x80; - *(s16 *)((s32)a0 + 0xE0) = t; + CAST_WIDTH(s16, (s32)a0, 0xE0) = t; *(s16 *)((s32)a0 + 0xDE) = t; - *(s16 *)((s32)a0 + 0xDC) = t; + CAST_WIDTH(s16, (s32)a0, 0xDC) = t; t = -2; *(s16 *)((s32)a0 + 0xE2) = t; p = (u8 *)D_801DDBF4; - v1 = *(s32 *)((s32)a0 + 0x20); - *(u16 *)(v1 + 0x2C) |= 0x80; - v1 = *(s32 *)((s32)a0 + 0x20); - *(s32 *)(v1 + 0x80) = (s32)a0 + 0xDC; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + ((Unkstruct_800B5CB8 *)v1)->unk2C |= 0x80; + v1 = ((Unkstruct_800B5CB8 *)a0)->unk20; + CAST_WIDTH(s32, v1, 0x80) = (s32)a0 + 0xDC; *(s16 *)(p + 0x1A) = 0x800; *(s16 *)(p + 0x18) = 0x800; m |= 0xFFFF; *(s32 *)(p + 4) &= m; - *(u16 *)((s32)a0 + 2) = *(u16 *)((s32)a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, (s32)a0, 2) + 1; } @@ -8508,7 +8508,7 @@ void func_80185E00(void *a0) { extern void (*D_80190A30[])(void); void func_80185F08(void *a0) { - D_80190A30[*(u16 *)((s32)a0 + 0x2)](); + D_80190A30[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8647,19 +8647,19 @@ void func_80186214(s32 param_1) s32 v0; v0 = func_80186470(param_1, (s32)D_80190A44, 0x2E0, 0x1C0, 0xA5); - *(s32 *)(param_1 + 0xCC) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = v0; if (v0 == 0) { goto fail; } v0 = func_80186470(param_1, (s32)D_80190A44, 0x2F0, 0x1C0, 0xA6); - *(s32 *)(param_1 + 0xD0) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = v0; if (v0 == 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); fail: func_8012CAE4((void *)param_1); return; } - *(u16 *)(param_1 + 2) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; D_801DFF68 = 0; func_8017C8D0(); } @@ -8674,9 +8674,9 @@ void func_801862C0(s32 param_1) { if ((func_80029178(0x8E) & 0xFF) != 0) { if (func_8018656C((s32 *)param_1) == 1) { func_8012C588(0x353, param_1); - *(u16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } else { - *(u8 *)(*(s32 *)(param_1 + 0xCC) + 0x27) = 0xA5; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk27 = 0xA5; func_8018641C(param_1); } } @@ -8689,16 +8689,16 @@ extern void func_801863C8(s32); void func_80186334(s32 param_1) { if (D_801DFF68 != 0) { - *(u8 *)(*(s32 *)(param_1 + 0xCC) + 0x27) = 0xA5; - *(u8 *)(*(s32 *)(param_1 + 0xD0) + 0x27) = 0xA6; - *(u16 *)(param_1 + 2) = 3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk27 = 0xA5; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xD0))->unk27 = 0xA6; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; return; } if (func_8018656C((s32 *)param_1) == 1) { func_801863C8(param_1); func_8018641C(param_1); } else { - *(u8 *)(*(s32 *)(param_1 + 0xCC) + 0x27) = 0xA5; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xCC))->unk27 = 0xA5; func_8018641C(param_1); } } @@ -8758,9 +8758,9 @@ s32 func_80186470(s32 a0, s32 a1, s16 a2, s16 a3, s32 a4) *(u8 *)(obj + 0x27) = a4; *(s16 *)(obj + 0x1A) = 0x2D00; *(s16 *)(obj + 0x18) = 0x2D00; - *(u16 *)(obj + 8) = *(u16 *)(a0 + 6); - *(u16 *)(obj + 0xA) = *(u16 *)(a0 + 0xA); - t = *(u16 *)(a0 + 0xE); + *(u16 *)(obj + 8) = ((Unkstruct_800B5CB8 *)a0)->unk6; + *(u16 *)(obj + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA; + t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(u16 *)(obj + 0x2C) = 0xC002; *(u16 *)(obj + 0xC) = t; return obj; @@ -8786,7 +8786,7 @@ s32 func_8018656C(s32 *a0) { s32 s1; if (((s32 (*)(s32))func_8012BE54)((s32)a0) < 0x1FA5) { - s32 sum = *(s16 *)((s32)a0 + 0xA) + *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xA); + s32 sum = CAST_SIGN(s16, (s32)a0, 0xA) + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA); s32 diff = (s16)D_80126B62 - sum; if (diff < 0) { diff = sum - (s16)D_80126B62; @@ -8805,16 +8805,16 @@ s32 func_8018656C(s32 *a0) { SVECTOR_8018656C v0vec, v1vec; s32 dist; - v0vec.vx = *(u16 *)((s32)a0 + 0x6); + v0vec.vx = ((Unkstruct_800B5CB8 *)a0)->unk6; v0vec.vy = 0; - v0vec.vz = *(u16 *)((s32)a0 + 0xE); + v0vec.vz = ((Unkstruct_800B5CB8 *)a0)->unkE; v1vec.vx = *(u16 *)(s1 + 0x6); v1vec.vy = 0; v1vec.vz = *(u16 *)(s1 + 0xE); dist = func_800132BC(&v0vec, &v1vec); if (dist < 0x1FA5) { - s32 sum = *(s16 *)((s32)a0 + 0xA) + *(s16 *)(*(s32 *)((s32)a0 + 0x64) + 0xA); + s32 sum = CAST_SIGN(s16, (s32)a0, 0xA) + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xA); s32 diff = *(s16 *)(s1 + 0xA) - sum; if (diff >= 0) { if (diff < 0x10) { @@ -8841,7 +8841,7 @@ s32 func_8018656C(s32 *a0) { extern void (*D_80192174[])(void); void func_80186674(void *a0) { - D_80192174[*(u16 *)((s32)a0 + 0x2)](); + D_80192174[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -8870,7 +8870,7 @@ void func_801866B0(s32 param_1) { s16 v1; v0 = func_8012C1B8(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((void *)param_1); } else { @@ -8885,9 +8885,9 @@ void func_801866B0(s32 param_1) { D_801DFF88 = func_8012C588(0x39A, param_1); func_80178B18(param_1, (s32)&D_80191474); - v1 = *(u16 *)(param_1 + 0x2); - *(s16 *)(param_1 + 0xA) = -0x102; + v1 = CAST_SIGN(u16, param_1, 0x2); + CAST_ALIAS(s16, param_1, 0xA) = -0x102; D_801DFFDC = 0; - *(s16 *)(param_1 + 0x2) = v1 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = v1 + 1; } } diff --git a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c index 185c79dfc9..7d8c677d8f 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c @@ -2823,57 +2823,57 @@ void func_80182890(s32 param_1) u16 uVar1; s32 pad[1]; /* see key (2): forces the 0x20 frame — never referenced */ - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFC); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFC); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0xFE); if ((((s32 (*)(s32, s32))func_8012CC40)( param_1, - ((*(u16 *)(param_1 + 0x70) & 0xF) * 8) + (s32)&D_801A6890) & + ((CAST_SIGN(u16, param_1, 0x70) & 0xF) * 8) + (s32)&D_801A6890) & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1C) + 1; - *(s32 *)(param_1 + 0x1C) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - if ((*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) & 0xFFFU) > 0x800U) { - *(u16 *)(param_1 + 0x102) = 0xC00; + if ((((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 & 0xFFFU) > 0x800U) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0xC00; } else { - *(u16 *)(param_1 + 0x102) = 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 0x400; } - t = *(u16 *)(param_1 + 0x70) & 0xF; + t = CAST_SIGN(u16, param_1, 0x70) & 0xF; if (t < 4 && t != 0) { - *(u16 *)(param_1 + 0x102) = *(u16 *)(param_1 + 0x102) + 0x400; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = CAST_SIGN(u16, param_1, 0x102) + 0x400; } - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } else { - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); } return; case 1: - iVar = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), - (s32)*(s16 *)(param_1 + 0x102), 4); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + iVar; + iVar = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), + (s32)((Unkstruct_800B5CB8 *)param_1)->unk102, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + iVar; if (func_8012BEE8(param_1) == 0) { return; } - st = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1C) = 0x1E; - *(u16 *)(param_1 + 0x34) = st + 1; - if ((*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u16 *)(param_1 + 0x34) = st + 2; - } else if ((*(s16 *)(param_1 + 0x70) & 0xF) == 4) { - *(u16 *)(param_1 + 0x34) = 4; - *(s32 *)(param_1 + 0x1C) = 0x1E; + st = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 1; + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = st + 2; + } else if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0xF) == 4) { + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; } return; case 2: @@ -2883,21 +2883,21 @@ void func_80182890(s32 param_1) } return; case 3: - if (*(s16 *)(*(s32 *)(param_1 + 0x64) + 0x36) != *(s16 *)(param_1 + 0x10A) && - *(s32 *)(param_1 + 0xE0) == 0) { - *(s32 *)(param_1 + 0x1C) = 0x1E; + if (*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A && + ((Unkstruct_800B5CB8 *)param_1)->unkE0 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1E; uVar1 = 2; - if ((*(u16 *)(param_1 + 0x70) & 0xF) == 4) { + if ((CAST_SIGN(u16, param_1, 0x70) & 0xF) == 4) { uVar1 = 4; } - *(u16 *)(param_1 + 0x34) = uVar1; - *(s32 *)(param_1 + 0xE0) = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = uVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 1; } return; case 4: if (func_8012BEE8(param_1) != 0) { - *(s32 *)(param_1 + 0x1C) = 0xA; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; func_8012E8A8((u8 *)param_1); func_80183DA4(param_1, 1); } @@ -2918,10 +2918,10 @@ extern void func_8012E8A8(u8 *a0); void func_80182B74(s32 param_1) { - s32 t1 = *(s32 *)(param_1 + 0x64); + s32 t1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; s32 pad[2]; - if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) { + if (*(s16 *)(t1 + 0x36) != ((Unkstruct_800B5CB8 *)param_1)->unk10A) { func_8012C218((void *)param_1); return; } @@ -2941,71 +2941,71 @@ void func_80182B74(s32 param_1) u32 a0; u32 v1; - *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); + ((Unkstruct_800B5CB8 *)param_1)->unk102 = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) - *(u16 *)(param_1 + 0x104) = a0; - *(u16 *)(param_1 + 0x106) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = a0; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = v1; } while (0); - *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); - *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64); - *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65); + ((Unkstruct_800B5CB8 *)param_1)->unkFC = (s8)*(u8 *)(a1 + 0x63); + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s8)*(u8 *)(a1 + 0x64); + ((Unkstruct_800B5CB8 *)param_1)->unk100 = (s8)*(u8 *)(a1 + 0x65); } else { - *(UAlign12_80182B74 *)(param_1 + 0xFC) = *(UAlign12_80182B74 *)(a2 + 0x90); + CAST_WIDTH(UAlign12_80182B74, param_1, 0xFC) = *(UAlign12_80182B74 *)(a2 + 0x90); } - *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk20 = a3; } if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) { - if (*(u16 *)(param_1 + 0x34) == 0) { - s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40; - *(s16 *)(param_1 + 0x108) = sVar2; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + s16 sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk108 + 0x40; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = sVar2; if (sVar2 > 0x200) { - *(u16 *)(param_1 + 0x108) = 0x200; - *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0x200; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = CAST_SIGN(s16, param_1, 0x34) + 1; } } else { - u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80; - *(u16 *)(param_1 + 0x108) = uVar3; + u16 uVar3 = ((Unkstruct_800B5CB8 *)param_1)->unk108 - 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = uVar3; if ((s16)uVar3 < 0) { - *(u16 *)(param_1 + 0x108) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80; } } } - *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108); + *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + ((Unkstruct_800B5CB8 *)param_1)->unk108; - *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4); - *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8); - *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC); + CAST_WIDTH(u32, param_1, 4) = *(u32 *)(t1 + 4); + CAST_WIDTH(u32, param_1, 8) = *(u32 *)(t1 + 8); + CAST_WIDTH(u32, param_1, 0xC) = *(u32 *)(t1 + 0xC); - *(UAlign8_80182B74 *)(param_1 + 0x50) = *(UAlign8_80182B74 *)(t1 + 0x50); + CAST_WIDTH(UAlign8_80182B74, param_1, 0x50) = *(UAlign8_80182B74 *)(t1 + 0x50); { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_80182B74 *)(dst + 0x10) = *(UAlign8_80182B74 *)(src + 0x10); + CAST_WIDTH(UAlign8_80182B74, dst, 0x10) = *(UAlign8_80182B74 *)(src + 0x10); } { - s32 dst = *(s32 *)(param_1 + 0x20); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; s32 src = *(s32 *)(t1 + 0x20); - *(UAlign8_80182B74 *)(dst + 0x18) = *(UAlign8_80182B74 *)(src + 0x18); + CAST_WIDTH(UAlign8_80182B74, dst, 0x18) = *(UAlign8_80182B74 *)(src + 0x18); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u32 *)(dst + 4) = *(u32 *)(src + 4); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + CAST_WIDTH(u32, dst, 4) = *(u32 *)(src + 4); } { s32 src = *(s32 *)(t1 + 0x20); - s32 dst = *(s32 *)(param_1 + 0x20); - *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C); + s32 dst = ((Unkstruct_800B5CB8 *)param_1)->unk20; + ((Unkstruct_800B5CB8 *)dst)->unk2C = *(u16 *)(src + 0x2C); } } } @@ -3016,7 +3016,7 @@ void func_80182B74(s32 param_1) extern void (*D_801A69DC[])(void); void func_80182E2C(void *a0) { - D_801A69DC[*(u16 *)((s32)a0 + 0x2)](); + D_801A69DC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3035,14 +3035,14 @@ void func_80182E68(s32 a0) { s32 v1; s32 obj; - v1 = *(u16 *)(a0 + 0x70) & 0xF; + v1 = CAST_SIGN(u16, a0, 0x70) & 0xF; switch (v1) { case 0: if (func_8012C354(a0, D_801A68EC) == 0) { return; } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = a0 + 0xE8; - *(u16 *)(a0 + 0x104) = 0x78; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = a0 + 0xE8; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0x78; func_80182FD8(a0); func_80143994(a0, 0x1800); return; @@ -3050,26 +3050,26 @@ void func_80182E68(s32 a0) { if (func_8012C354(a0, D_801A6920) == 0) { return; } - *(u16 *)(a0 + 0x104) = 0xA0; - if ((*(s16 *)(a0 + 0x70) & 0x8000) == 0) { - *(s16 *)(a0 + 0x2) = 3; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0xA0; + if ((((Unkstruct_800B5CB8 *)a0)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; return; } - *(s16 *)(a0 + 0x2) = 5; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; func_80143994(a0, 0x1800); return; case 2: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(a0 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)a0)->unk20 = obj; if (obj == 0) { func_8012CAE4(a0); return; } func_8001CA1C(obj, (s32)D_801A68C0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x14CC; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x1199; - *(s32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x58000000; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x14CC; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x1199; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 4) |= 0x58000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C |= 0x10; func_801838A4(a0); return; default: @@ -3082,13 +3082,13 @@ extern void func_8012B2CC(s32 a0); extern void func_8012B178(s32 a0, s32 a1); void func_80182FD8(s32 param_1) { - *(s32 *)(param_1 + 0x1C) = 0x18; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = 0x80; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x18; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, -0x100000); - *(u16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } @@ -3114,7 +3114,7 @@ void func_80183040(s32 param_1) { extern u16 D_80126CB8; u16 uVar1; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -3122,22 +3122,22 @@ void func_80183040(s32 param_1) { { s32 base = (s32)&D_801A6954; s32 r = func_8012D5E4(param_1, base, base + 8, 0x78); - if (r == 1 || (*(u16 *)(param_1 + 0x5C) & 1) != 0) { + if (r == 1 || (((Unkstruct_800B5CB8 *)param_1)->unk5C & 1) != 0) { func_80183DA4(param_1, 1); func_8012C218((void *)param_1); return; } } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { default: return; case 0: { - s32 sVar3 = func_8012B608((s32)*(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10), 0, 0x18); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + sVar3; + s32 sVar3 = func_8012B608((s32)*(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10), 0, 0x18); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + sVar3; } { s32 r = func_8012CBF4(param_1); @@ -3149,22 +3149,22 @@ void func_80183040(s32 param_1) { s32 r = func_8012BEE8(param_1); if (r == 0) return; } - *(u16 *)(param_1 + 0xF4) = D_80126CB4; + CAST_WIDTH(u16, param_1, 0xF4) = D_80126CB4; *(u16 *)(param_1 + 0xF6) = D_80126CB6; { u16 tmp = D_80126CB8; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(u16 *)(param_1 + 0xF8) = tmp; + CAST_ALIAS(u16, param_1, 0x34) = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + CAST_ALIAS(s32, param_1, 0x1C) = 0x3C; + CAST_WIDTH(u16, param_1, 0xF8) = tmp; } return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) += func_8012B8E4(param_1, 0x20); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 += func_8012B8E4(param_1, 0x20); { s32 r = func_8012BEE8(param_1); if (r != 0) { - *(s32 *)(param_1 + 0x1C) = 0x5A; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x5A; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } } break; @@ -3172,19 +3172,19 @@ void func_80183040(s32 param_1) { break; } - *(u16 *)(param_1 + 0xF2) = *(u16 *)(param_1 + 0xF2) - 0x100; + ((Unkstruct_800B5CB8 *)param_1)->unkF2 = ((Unkstruct_800B5CB8 *)param_1)->unkF2 - 0x100; func_8012B178(param_1, 0xFFEC0000); { s32 r = func_8012CBF4(param_1); if (r != 0) goto LAB_8018847c; } - if (*(u16 *)(param_1 + 0x34) != 2) goto LAB_80188494; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 != 2) goto LAB_80188494; { s32 r = func_8012BEE8(param_1); if (r != 1) goto LAB_80188494; } LAB_8018847c: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80183DA4(param_1, 1); return; LAB_80188494: @@ -3194,9 +3194,9 @@ LAB_80188494: { u16 out[4]; ((void (*)(s32, void *, void *))func_8012F214)(param_1, D_801A6A08, out); - *(u16 *)(iv + 6) = out[0]; - *(u16 *)(iv + 0xA) = out[1]; - *(u16 *)(iv + 0xE) = out[2]; + ((Unkstruct_800B5CB8 *)iv)->unk6 = out[0]; + ((Unkstruct_800B5CB8 *)iv)->unkA = out[1]; + ((Unkstruct_800B5CB8 *)iv)->unkE = out[2]; } return; } @@ -3208,16 +3208,16 @@ void func_80183298(s32 param_1) { s32 v0; s32 v2; - v1 = *(s32 *)(param_1 + 0x64); - *(s32 *)(param_1 + 0x48) = 0xC000; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk64; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; v0 = *(s32 *)(v1 + 0x20); - v2 = *(s32 *)(param_1 + 0x20); + v2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(u16 *)(v2 + 0x12) = *(u16 *)(v0 + 0x12); func_8012B2CC(param_1); func_8012B178(param_1, 0x20000); - *(s16 *)(param_1 + 0x2) = 4; - *(s32 *)(param_1 + 0x1C) = 0; - *(s16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } @@ -3236,7 +3236,7 @@ void func_801832F8(s32 param_1) { s32 v0; s32 iVar; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } @@ -3244,22 +3244,22 @@ void func_801832F8(s32 param_1) { if (v0 < 0x1001) { goto LAB_tail; } - if (*(u16 *)(param_1 + 0x34) == 0) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) - 0x40; + if (((Unkstruct_800B5CB8 *)param_1)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 - 0x40; v0 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801A6974); if ((v0 & 0x2000) == 0) { return; } - iVar = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar; + iVar = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar; if (iVar >= 4) { - u16 tmp = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0xA; - *(u16 *)(param_1 + 0x34) = tmp + 1; + u16 tmp = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0xA; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = tmp + 1; return; } - *(s32 *)(param_1 + 0x14) = -(0x80000 / iVar); + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / iVar); func_80143B6C(param_1, 1); return; } @@ -3267,7 +3267,7 @@ void func_801832F8(s32 param_1) { return; } LAB_tail: - *(u16 *)(param_1 + 2) = 9; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80183DA4(param_1, 0); } @@ -3335,14 +3335,14 @@ void func_80183454(s32 param_1) { u16 buf[8]; s32 vec[3]; - if (0xf < *(s16 *)(param_1 + 0xA)) { + if (0xf < CAST_SIGN(s16, param_1, 0xA)) { func_8012C218((void *)param_1); return; } - uVar1 = *(u16 *)(param_1 + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk34; switch (uVar1) { case 0: - psVar5 = *(s32 *)(param_1 + 0x64); + psVar5 = ((Unkstruct_800B5CB8 *)param_1)->unk64; if ((*(u16 *)psVar5 == 0) || (*(s32 *)(psVar5 + 0x90) != (s32)&D_801BE708)) { func_8012C218((void *)param_1); @@ -3350,95 +3350,95 @@ void func_80183454(s32 param_1) { } if (*(s32 *)(psVar5 + 0x94) < 0x11) { ((void (*)(void *, void *, void *, s32))func_80184124)((void *)psVar5, (void *)&D_801A697C, buf, 5); - *(s16 *)(param_1 + 6) = buf[0]; - *(s16 *)(param_1 + 0xA) = buf[1]; - *(s16 *)(param_1 + 0xE) = buf[2]; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = buf[0]; + ((Unkstruct_800B5CB8 *)param_1)->unkA = buf[1]; + ((Unkstruct_800B5CB8 *)param_1)->unkE = buf[2]; return; } ((void (*)(void *, void *, void *, s32))func_80184124)((void *)psVar5, (void *)&D_801A6984, buf, 4); ((void (*)(void *, void *, void *, s32))func_80184124)((void *)psVar5, (void *)&D_801A6984, &buf[4], 5); - *(s16 *)(param_1 + 6) = + CAST_ALIAS(s16, param_1, 6) = (s16)((*(s16 *)&buf[0] + *(s16 *)&buf[4]) >> 1); - *(s16 *)(param_1 + 0xA) = + CAST_ALIAS(s16, param_1, 0xA) = (s16)((*(s16 *)&buf[1] + *(s16 *)&buf[5]) >> 1); - *(s16 *)(param_1 + 0xE) = + ((Unkstruct_800B5CB8 *)param_1)->unkE = (s16)((*(s16 *)&buf[2] + *(s16 *)&buf[6]) >> 1); if (*(s32 *)(psVar5 + 0x94) != 0x19) { return; } - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; vec[0] = 0; vec[1] = 0xfff40000; iVar3 = func_80013328((s32)&D_80126B5C, param_1 + 4); vec[2] = -((iVar3 << 0x10) / 0x22); func_8012B14C(param_1, (s32)vec); - *(s32 *)(param_1 + 0x48) = 0xc000; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xc000; return; case 1: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x80; iVar3 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801A6974); if (iVar3 == 0) { return; } - *(s32 *)(param_1 + 0x1c) = 0; - *(u16 *)(param_1 + 0x34) = (*(u16 *)(param_1 + 0x34)) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = (((Unkstruct_800B5CB8 *)param_1)->unk34) + 1; return; case 2: - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + 0x40; uVar4 = ((s32 (*)(s32, s32))func_8012CC64)(param_1, (s32)&D_801A6974); if ((uVar4 & 0x2000) == 0) { return; } - iVar4 = *(s32 *)(param_1 + 0x1c) + 1; - *(s32 *)(param_1 + 0x1c) = iVar4; + iVar4 = ((Unkstruct_800B5CB8 *)param_1)->unk1C + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = iVar4; if (iVar4 >= 4) { - sVar2 = *(u16 *)(param_1 + 0x34); - *(s32 *)(param_1 + 0x1c) = 0x1e; - *(u16 *)(param_1 + 0x34) = sVar2 + 1; + sVar2 = ((Unkstruct_800B5CB8 *)param_1)->unk34; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = sVar2 + 1; return; } - iVar3 = *(s32 *)(param_1 + 0x10) * 0xc; + iVar3 = CAST_WIDTH(s32, param_1, 0x10) * 0xc; if (iVar3 < 0) { iVar3 = iVar3 + 0xf; } - *(s32 *)(param_1 + 0x10) = iVar3 >> 4; - iVar5 = *(s32 *)(param_1 + 0x18) * 0xc; + CAST_WIDTH(s32, param_1, 0x10) = iVar3 >> 4; + iVar5 = CAST_WIDTH(s32, param_1, 0x18) * 0xc; if (iVar5 < 0) { iVar5 = iVar5 + 0xf; } - *(s32 *)(param_1 + 0x18) = iVar5 >> 4; - *(s32 *)(param_1 + 0x14) = -(0x80000 / *(s32 *)(param_1 + 0x1c)); + CAST_WIDTH(s32, param_1, 0x18) = iVar5 >> 4; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(0x80000 / ((Unkstruct_800B5CB8 *)param_1)->unk1C); func_80143B6C(param_1, 1); return; case 3: - uVar4 = *(u32 *)(param_1 + 0x1c); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); if ((uVar4 - 0xe < 0xb) && ((uVar4 & 1) == 0)) { - ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)*(s16 *)(param_1 + 0x104), param_1); - do { *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x104) + 1; } while (0); - uVar4 = *(u32 *)(param_1 + 0x1c); + ((void (*)(s32, s32, s32))func_8012C658)(0x2a8, (s32)((Unkstruct_800B5CB8 *)param_1)->unk104, param_1); + do { ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x104) + 1; } while (0); + uVar4 = CAST_SIGN(u32, param_1, 0x1c); } if (uVar4 == 9) { - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) = - *(u32 *)(*(s32 *)(param_1 + 0xcc) + 4) & 0x7fffffff; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 8) = *(u16 *)(param_1 + 6); - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xa) = - *(u16 *)(param_1 + 0xa) - 0x24; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0xc) = *(u16 *)(param_1 + 0xe); + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) = + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unkCC + 4) & 0x7fffffff; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk8 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkA = + ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x24; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unkC = ((Unkstruct_800B5CB8 *)param_1)->unkE; } - if (*(s32 *)(param_1 + 0x1c) - 4U < 6) { - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x18) + 0x200; - *(s16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) = - *(u16 *)(*(s32 *)(param_1 + 0xcc) + 0x1a) + 0x200; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C - 4U < 6) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk18 + 0x200; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0xcc))->unk1A + 0x200; } iVar3 = func_8012BEE8(param_1); if (iVar3 != 1) { return; } - ((void (*)(s32, s32))func_80016714)(*(s32 *)(param_1 + 0xcc), 0x38); - *(s16 *)(param_1 + 2) = 9; + ((void (*)(s32, s32))func_80016714)(((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 9; func_80183DA4(param_1, 0); return; } @@ -3574,30 +3574,30 @@ void func_80183940(s32 param_1) SVEC_80183940 flag; /* sp+0x58 */ s32 iVar; - sv.vx = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10); - sv.vy = *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12); + sv.vx = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10; + sv.vy = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12; sv.vz = 0; func_80049CAC((s32)&sv, (s32)&mat); /* gte_SetRotMatrix(&mat) -- expansion is byte-for-byte this TU's L6488 */ gte_SetRotMatrix(&mat); /* gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34) -- this TU's L6502 */ - gte_SetTransMatrix(*(s32 *)(param_1 + 0x20) + 0x34); + gte_SetTransMatrix(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); RotTransSV(&D_801A6964[0], &b, &flag); RotTransSV(&D_801A6964[1], &c, &flag); if (func_80135888((s32)D_80126B78, (s32)D_80126B90, (s32)&b, (s32)&c) != 0) { - s16 sVar1 = *(s16 *)(param_1 + 0xFE); + s16 sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_8012F568(1, 1, sVar1, 0x50, (s32)&c, (s32)D_801152A8); } else { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) - 0x100; + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) - 0x100; iVar = func_8012CBF4(param_1); if (iVar != 0) { - s16 sVar1 = *(s16 *)(param_1 + 6); - s16 sVar2 = *(s16 *)(param_1 + 0xA); - s16 sVar3 = *(s16 *)(param_1 + 0xE); + s16 sVar1 = CAST_SIGN(s16, param_1, 6); + s16 sVar2 = CAST_SIGN(s16, param_1, 0xA); + s16 sVar3 = CAST_SIGN(s16, param_1, 0xE); func_80146A6C(6, (void *)param_1, sVar1, sVar2, sVar3, 0, 0); iVar = func_80132EF4(param_1, 0x22); if (iVar != 0) { @@ -3631,12 +3631,12 @@ extern s32 func_8012D624(void *a0, s32 a1, s32 a2); void func_80183B34(s32 param_1) { extern u16 D_80126B96; - if (*(u16 *)(param_1 + 0x70) & 1) { - if (func_8012D624((void *)param_1, 0x60, *(s16 *)(param_1 + 0x104)) == 1) { + if (CAST_SIGN(u16, param_1, 0x70) & 1) { + if (func_8012D624((void *)param_1, 0x60, ((Unkstruct_800B5CB8 *)param_1)->unk104) == 1) { D_80126B96 = 0x4001; } } - if (func_801841F0(param_1, 0x60, *(s16 *)(param_1 + 0x104)) == 1) { + if (func_801841F0(param_1, 0x60, ((Unkstruct_800B5CB8 *)param_1)->unk104) == 1) { func_8012C218((void *)param_1); } } @@ -3962,9 +3962,9 @@ s32 func_801841F0(s32 param_1, s32 param_2, s32 param_3) if (func_8012BEE8(param_1) != 0) { result = func_80132EF4(param_1, 0x22); if (result != 0) { - *(u16 *)(result + 0x34) = 0x7FFF; - *(u16 *)(*(s32 *)(result + 0x20) + 0x2C) = 0xC006; - *(u32 *)(result + 0x14) = 0xFFFE0000; + ((Unkstruct_800B5CB8 *)result)->unk34 = 0x7FFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(result + 0x20))->unk2C = 0xC006; + ((Unkstruct_800B5CB8 *)result)->unk14 = 0xFFFE0000; } return 1; } @@ -3976,7 +3976,7 @@ s32 func_801841F0(s32 param_1, s32 param_2, s32 param_3) extern void (*D_801A6A10[])(void); void func_80184258(void *a0) { - D_801A6A10[*(u16 *)((s32)a0 + 0x2)](); + D_801A6A10[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4008,7 +4008,7 @@ void func_80184294(s32 param_1) { func_8012CAE4(param_1); return; } - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; func_8001C214(obj, 0); raw = rand(); @@ -4024,15 +4024,15 @@ void func_80184294(s32 param_1) { } *(s16 *)(obj + 0x10) = sgn * (r % 128) - 0x300; *(s16 *)(obj + 0x12) = r % 4096; - *(s32 *)(param_1 + 0x48) = 0xC000; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x19; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0xC000; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x19; func_8012B2CC(param_1); func_8012B178(param_1, -0xC0000 - ((r % 8) << 16)); - *(s32 *)(param_1 + 0x1C) = 0x3C; - *(s16 *)(param_1 + 0xFE) = rand() & 0xF0; - *(s16 *)(param_1 + 0x100) = rand() & 0x1F0; - *(s16 *)(param_1 + 0x102) = rand() & 0x30; - tbl = &D_801A6A18[(*(u16 *)(param_1 + 0x70) & 0xF) * 4]; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = rand() & 0x1F0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = rand() & 0x30; + tbl = &D_801A6A18[(CAST_SIGN(u16, param_1, 0x70) & 0xF) * 4]; p = (s16 *)(param_1 + 0xDC); @@ -4107,7 +4107,7 @@ void func_80184294(s32 param_1) { *((u8 *)p + 0x20) = tbl[0]; *((u8 *)p + 0x21) = tbl[1]; *((u8 *)p + 0x22) = tbl[2]; - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; } @@ -4118,17 +4118,17 @@ extern void func_8012C218(void *a0); /* TU-canonical (ov_SC06_018_jr_8017C24C extern void func_80017274(s32 a0, s32 a1); void func_801846F8(s32 param_1) { - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0xFE); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + *(u16 *)(param_1 + 0x100); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x102); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0xFE); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 + CAST_SIGN(u16, param_1, 0x100); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + CAST_SIGN(u16, param_1, 0x102); if (func_8012CBF4(param_1) != 0 || func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); } else { - func_80017274(param_1 + 0xDC, *(s32 *)(param_1 + 0x20) + 0x34); + func_80017274(param_1 + 0xDC, ((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34); } } @@ -4137,7 +4137,7 @@ void func_801846F8(s32 param_1) { extern void (*D_801A6A30[])(void); void func_8018479C(void *a0) { - D_801A6A30[*(u16 *)((s32)a0 + 0x2)](); + D_801A6A30[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4159,40 +4159,40 @@ void func_801847D8(s32 param_1) { s32 t; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4(param_1); } else { func_8001C214(obj, 0); - if ((*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = -0x80 - (rand() % 0x300); - o2 = *(s32 *)(param_1 + 0x20); + if ((((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = -0x80 - (rand() % 0x300); + o2 = ((Unkstruct_800B5CB8 *)param_1)->unk20; off = rand() % 0xC0; - base = *(s16 *)(param_1 + 0x70) * 0x300 + 0x180; + base = ((Unkstruct_800B5CB8 *)param_1)->unk70 * 0x300 + 0x180; if (rand() & 1) { v = base + off; } else { v = base - off; } *(s16 *)(o2 + 0x12) = v; - func_8012B0B4(buf, *(s16 *)(*(s32 *)(param_1 + 0x20) + 0x12) + 0x800, + func_8012B0B4(buf, *(s16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) + 0x800, rand() % 0x10 + 8); t = buf[0]; - *(u16 *)(param_1 + 0x6) = *(u16 *)(param_1 + 0x6) + t; - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + (t >> 16); - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = ((Unkstruct_800B5CB8 *)param_1)->unk6 + t; + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + (t >> 16); + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x10; func_8012B2CC(param_1); - *(s32 *)(param_1 + 0x1C) = 4; - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 4; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 0x2) + 1; } else { - *(s16 *)(param_1 + 0xDC) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCC); - *(s16 *)(param_1 + 0xDE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xCE); - *(s16 *)(param_1 + 0xE0) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD0); - *(s16 *)(param_1 + 0xE4) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD4); - *(s16 *)(param_1 + 0xE6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD6); - *(s16 *)(param_1 + 0xE8) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xD8); - *(s16 *)(param_1 + 0x2) = 2; - *(s32 *)(param_1 + 0x1C) = 8; + CAST_WIDTH(s16, param_1, 0xDC) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCC); + *(s16 *)(param_1 + 0xDE) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xCE); + CAST_WIDTH(s16, param_1, 0xE0) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0); + CAST_WIDTH(s16, param_1, 0xE4) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD4); + *(s16 *)(param_1 + 0xE6) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD6); + CAST_WIDTH(s16, param_1, 0xE8) = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; } } } @@ -4208,13 +4208,13 @@ void func_801849CC(void *a0) { u8 buf[0x34]; - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(s32 *)((u8 *)a0 + 0xE0) = *(s32 *)((u8 *)a0 + 0xE0) - 0x14; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ((Unkstruct_800B5CB8 *)a0)->unkE0 - 0x14; if (func_8012BEE8((s32)a0) != 0) { - *(u16 *)((u8 *)a0 + 0x34) = *(u16 *)((u8 *)a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } } else { - s32 v1 = *(s32 *)((u8 *)a0 + 0x64); + s32 v1 = ((Unkstruct_800B5CB8 *)a0)->unk64; if (*(s32 *)(*(s32 *)(v1 + 0x20) + 4) < 0 || *(u16 *)v1 == 0) { func_8012C218(a0); return; @@ -4233,12 +4233,12 @@ void func_801849CC(void *a0) } *(s16 *)(buf + 0x12) = 0; { - s32 t1 = *(s32 *)((u8 *)a0 + 0xE0); + s32 t1 = ((Unkstruct_800B5CB8 *)a0)->unkE0; s32 t2; *(s16 *)(buf + 0x18) = -0xC; *(s16 *)(buf + 0x1A) = 0; *(s16 *)(buf + 0x14) = t1; - t2 = *(s32 *)((u8 *)a0 + 0xE0); + t2 = CAST_ALIAS(s32, (u8 *)a0, 0xE0); *(s32 *)(buf + 0x30) = 0x50000000; *(u8 *)(buf + 0x22) = 0x80; *(u8 *)(buf + 0x21) = 0x80; @@ -4255,7 +4255,7 @@ void func_801849CC(void *a0) *(s16 *)(buf + 0x1C) = t2; } - func_80017758(buf, (u8 *)(*(s32 *)((u8 *)a0 + 0x20)) + 0x34); + func_80017758(buf, (u8 *)(CAST_ALIAS(s32, (u8 *)a0, 0x20)) + 0x34); } @@ -4302,35 +4302,35 @@ void func_80184B08(void *a0) * interleaves the counter chain and the +0xD8 chain itself (§190-B: * compile the plain natural order; an interleaved target is NOT evidence * of an interleaved source). */ - if (*(u16 *)((u8 *)a0 + 0x34) == 0) { - *(u16 *)((u8 *)a0 + 0xCC) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCC); - *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xCE); - *(u16 *)((u8 *)a0 + 0xD0) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD0); - *(u16 *)((u8 *)a0 + 0xD4) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD4); - *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD6); - *(u16 *)((u8 *)a0 + 0xD8) = *(u16 *)(*(s32 *)((u8 *)a0 + 0x64) + 0xD8); - *(u16 *)((u8 *)a0 + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + CAST_WIDTH(u16, (u8 *)a0, 0xCC) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); + *(u16 *)((u8 *)a0 + 0xCE) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCE); + CAST_WIDTH(u16, (u8 *)a0, 0xD0) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); + CAST_WIDTH(u16, (u8 *)a0, 0xD4) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD4); + *(u16 *)((u8 *)a0 + 0xD6) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD6); + CAST_WIDTH(u16, (u8 *)a0, 0xD8) = *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD8); + ((Unkstruct_800B5CB8 *)a0)->unk34 += 1; } /* GPU primitive tag word. */ - *(s32 *)((u8 *)a0 + 0xFC) = 0x50000000; + CAST_WIDTH(s32, (u8 *)a0, 0xFC) = 0x50000000; /* 12 colour bytes at +0xEC..+0xFA (every 4th byte skipped) all take the * same value = (u8)(lifetime * 30); *30 strength-reduces to sll4/subu/sll1. */ - c = *(s32 *)((u8 *)a0 + 0x1C); + c = ((Unkstruct_800B5CB8 *)a0)->unk1C; { u8 v = (u8)(c * 30); - *(u8 *)((u8 *)a0 + 0xEC) = + CAST_WIDTH(u8, (u8 *)a0, 0xEC) = *(u8 *)((u8 *)a0 + 0xED) = - *(u8 *)((u8 *)a0 + 0xEE) = - *(u8 *)((u8 *)a0 + 0xF0) = - *(u8 *)((u8 *)a0 + 0xF1) = - *(u8 *)((u8 *)a0 + 0xF2) = - *(u8 *)((u8 *)a0 + 0xF4) = + CAST_WIDTH(u8, (u8 *)a0, 0xEE) = + ((Unkstruct_800B5CB8 *)a0)->unkF0 = + ((Unkstruct_800B5CB8 *)a0)->unkF1 = + CAST_WIDTH(u8, (u8 *)a0, 0xF2) = + CAST_WIDTH(u8, (u8 *)a0, 0xF4) = *(u8 *)((u8 *)a0 + 0xF5) = *(u8 *)((u8 *)a0 + 0xF6) = - *(u8 *)((u8 *)a0 + 0xF8) = + CAST_WIDTH(u8, (u8 *)a0, 0xF8) = *(u8 *)((u8 *)a0 + 0xF9) = *(u8 *)((u8 *)a0 + 0xFA) = v; } @@ -4346,9 +4346,9 @@ void func_80184B08(void *a0) * $v1 instead of $v0 (3 mismatches). Same lesson as the "THREE SEPARATE * locals" note in ov_SC06_032_jr_801902EC.c lever (3). */ { - s32 d = *(s32 *)((u8 *)a0 + 0x1C) - 1; + s32 d = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; - *(s32 *)((u8 *)a0 + 0x1C) = d; + ((Unkstruct_800B5CB8 *)a0)->unk1C = d; if (d == 0) { func_8012C218(a0); } @@ -4434,9 +4434,9 @@ s32 func_80184C04(s32 arg0, u16 arg1) { } else if (b >= 0x10) { b = 0xF; } - sp20[0] = *(u16 *)(base + 6); - sp20[1] = *(u16 *)(base + 0xA); - sp20[2] = *(u16 *)(base + 0xE); + sp20[0] = CAST_SIGN(u16, base, 6); + sp20[1] = CAST_SIGN(u16, base, 0xA); + sp20[2] = CAST_SIGN(u16, base, 0xE); ((void (*)(s32, s32))func_8012EFB8)((s32)sp20, (s32)sp28); sp28[2] = 0; if ((var = func_800132BC(sp18, sp28) - 0x400) > 0) { @@ -4455,7 +4455,7 @@ s32 func_80184C04(s32 arg0, u16 arg1) { extern void (*D_801A6A3C[])(void); void func_80184D70(void *a0) { - D_801A6A3C[*(u16 *)((s32)a0 + 0x2)](); + D_801A6A3C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4499,7 +4499,7 @@ void func_80184E5C(s32 param_1) { u8 b; u16 h; - q = *(s32 *)(param_1 + 0x20); + q = ((Unkstruct_800B5CB8 *)param_1)->unk20; a = *(u8 *)(q + 0x24) - 0x20; *(u8 *)(q + 0x24) = a; @@ -4644,13 +4644,13 @@ s32 func_80185188(s32 param_1) { int td; unsigned short t; - do { iVar1 = *(int *)(self + 0x1c); } while (0); - iVar6 = *(int *)(self + 0x20); - *(int *)(self + 0x1c) = iVar1 + 1; + do { iVar1 = ((Unkstruct_800B5CB8 *)self)->unk1C; } while (0); + iVar6 = ((Unkstruct_800B5CB8 *)self)->unk20; + ((Unkstruct_800B5CB8 *)self)->unk1C = iVar1 + 1; if (iVar1 < 2) { p = D_801BE830; i = 0; - dest = *(int *)(self + 0xcc); + dest = ((Unkstruct_800B5CB8 *)self)->unkCC; t = *(unsigned short *)(self + 0x70); *(short *)(buf + 0x0c) = 0; *(short *)(buf + 0x0a) = 0; @@ -4682,7 +4682,7 @@ s32 func_80185188(s32 param_1) { i++; } while (i < 4); - td = *(int *)(self + 0xd0); + td = ((Unkstruct_800B5CB8 *)self)->unkD0; if (td != 0) { dest = td; p = D_801BE830; @@ -4718,7 +4718,7 @@ s32 func_80185188(s32 param_1) { i++; } while (i < 4); } - do { *(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1; } while (0); + do { ((Unkstruct_800B5CB8 *)self)->unk70 = ((Unkstruct_800B5CB8 *)self)->unk70 >> 1; } while (0); *(unsigned short *)(iVar6 + 0x2c) |= 1; } else { func_8012C218((void *)self); @@ -4730,7 +4730,7 @@ s32 func_80185188(s32 param_1) { extern void (*D_801BE87C[])(void); void func_80185428(void *a0) { - D_801BE87C[*(u16 *)((s32)a0 + 0x2)](); + D_801BE87C[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4765,55 +4765,55 @@ void func_80185464(s32 param_1) { s32 obj; s32 g; - switch (*(u16 *)(param_1 + 0x70) & 3) { + switch (CAST_SIGN(u16, param_1, 0x70) & 3) { case 0: case 2: if (((s32 (*)(s32, u8 *))func_8012C354)(param_1, D_801BEE8C) == 0) { return; } - *(s32 *)(param_1 + 0xCC) = - func_8012C658(0x2E4, (*(u16 *)(param_1 + 0x70) & 2) | 1, param_1); - *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x70) & 0x102; - *(u16 *)(param_1 + 0x70) = *(u16 *)(param_1 + 0x70) & 1; - if (*(u16 *)(param_1 + 0x104) & 0x100) { + ((Unkstruct_800B5CB8 *)param_1)->unkCC = + func_8012C658(0x2E4, (CAST_SIGN(u16, param_1, 0x70) & 2) | 1, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x70) & 0x102; + ((Unkstruct_800B5CB8 *)param_1)->unk70 = CAST_SIGN(u16, param_1, 0x70) & 1; + if (CAST_SIGN(u16, param_1, 0x104) & 0x100) { func_801874E8(); func_80185CD8(); } - *(u8 *)(param_1 + 0xC0) = 1; - *(u8 **)(param_1 + 0xBC) = D_801BEE74; - *(s32 *)(param_1 + 0xB4) = 0; - *(u8 *)(param_1 + 0xC1) = 0; - *(s16 *)(param_1 + 0xAE) = 0x6918; - *(u32 *)(param_1 + 0xC4) |= 2; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + CAST_SIGN(u8 *, param_1, 0xBC) = D_801BEE74; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x6918; + CAST_SIGN(u32, param_1, 0xC4) |= 2; break; case 1: case 3: obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { ((void (*)(s32))func_8012CAE4)(param_1); return; } ((void (*)(s32, u8 *))func_8001C214)(obj, D_801C2B48); - *(u16 *)(param_1 + 0x104) = *(u16 *)(param_1 + 0x70) & 2; - *(u16 *)(param_1 + 0x70) = *(u16 *)(param_1 + 0x70) & 1; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) - 0xA0; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = CAST_SIGN(u16, param_1, 0x70) & 2; + ((Unkstruct_800B5CB8 *)param_1)->unk70 = CAST_SIGN(u16, param_1, 0x70) & 1; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0xA0; break; } - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; /* one cached base for the three 0xE00 stores: the target loads 0x20($s0) * only once here, so the source must hold it in a pseudo (any indirect * store invalidates the CSE of the load in gcc-2.7.2). */ - g = *(s32 *)(param_1 + 0x20); + g = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(g + 0x1C) = 0xE00; *(s16 *)(g + 0x1A) = 0xE00; *(s16 *)(g + 0x18) = 0xE00; - *(u8 *)(param_1 + 0x75) = 0; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x80; - *(u8 **)(*(s32 *)(param_1 + 0x20) + 0x80) = D_801BEE64; - if (*(s16 *)(param_1 + 0x70) != 0 && *(s16 *)(param_1 + 0x104) != 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x80; + *(u8 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = D_801BEE64; + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0 && ((Unkstruct_800B5CB8 *)param_1)->unk104 != 0) { func_8018564C((void *)param_1); } else { func_8012AD50((void *)param_1); @@ -4834,13 +4834,13 @@ extern void func_80185E30(s32 param_1); extern void func_80185EAC(s32 a0); void func_80185670(s32 a0) { - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8012BEE8(a0) != 0) { u16 t; - func_8001C924(*(s32 *)(a0 + 0x20), &D_801C0D70); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_801857B0(*(s32 *)(a0 + 0xCC)); + func_8001C924(((Unkstruct_800B5CB8 *)a0)->unk20, &D_801C0D70); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_801857B0(((Unkstruct_800B5CB8 *)a0)->unkCC); } func_8012C658(0x304, 0, a0); func_8012C658(0x304, 1, a0); @@ -4849,9 +4849,9 @@ void func_80185670(s32 a0) { func_8012C658(0x304, 4, a0); func_8012C658(0x304, 5, a0); func_80185EAC(a0); - t = *(u16 *)(a0 + 0x34); - *(s32 *)(a0 + 0x1c) = 0x40; - *(u16 *)(a0 + 0x34) = t + 1; + t = ((Unkstruct_800B5CB8 *)a0)->unk34; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)a0)->unk34 = t + 1; func_8002D4C8(0x9BA, 0); } func_80185E30(a0); @@ -4859,7 +4859,7 @@ void func_80185670(s32 a0) { case 1: func_80185E30(a0); if (func_8012BEE8(a0) != 0) { - *(u16 *)(a0 + 0x34) = *(u16 *)(a0 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ((Unkstruct_800B5CB8 *)a0)->unk34 + 1; } break; case 2: @@ -4875,8 +4875,8 @@ void func_801857B0(param_1) s32 param_1; { func_8012B23C((void *)param_1); - *(s32 *)(param_1 + 0x14) = 0xFFD80000; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFD80000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; func_8012AD44((s32 *)param_1, 4); } @@ -4907,35 +4907,35 @@ void func_80185860(u8 *arg) { s32 cc; s16 t; - cc = *(s32 *)(arg + 0xCC); - if (*(s32 *)(arg + 0x78) != 0) { - dec = (*(s16 *)(arg + 0x60) * *(s16 *)(*(s32 *)(arg + 0x78) + 0x30)) >> 12; + cc = ((Unkstruct_800B5CB8 *)arg)->unkCC; + if (((Unkstruct_800B5CB8 *)arg)->unk78 != 0) { + dec = (((Unkstruct_800B5CB8 *)arg)->unk60 * *(s16 *)(((Unkstruct_800B5CB8 *)arg)->unk78 + 0x30)) >> 12; if (dec < 1) { dec = 1; } } - if (*(s16 *)(arg + 0x76) != 0) { + if (((Unkstruct_800B5CB8 *)arg)->unk76 != 0) { func_8016AA50((s32)arg, dec); - t = *(s16 *)(arg + 0x76) - dec; - *(s16 *)(arg + 0x76) = t; + t = ((Unkstruct_800B5CB8 *)arg)->unk76 - dec; + ((Unkstruct_800B5CB8 *)arg)->unk76 = t; if (t < 0) { - *(s16 *)(arg + 0x76) = 0; + ((Unkstruct_800B5CB8 *)arg)->unk76 = 0; } - *(u16 *)(arg + 0x10A) = rand() & 0x3F0; + ((Unkstruct_800B5CB8 *)arg)->unk10A = rand() & 0x3F0; cnt = (rand() & 3) + 1; for (i = 0; i < cnt; i++) { func_8012C658(0x304, i + 0x10, (s32)arg); } } - *(u8 *)(arg + 0xC1) = 1; - *(u16 *)(arg + 0x5C) &= 0xFFFE; - *(s32 *)(*(s32 *)(arg + 0x20) + 0x80) = (s32)D_801BEE6C; + ((Unkstruct_800B5CB8 *)arg)->unkC1 = 1; + ((Unkstruct_800B5CB8 *)arg)->unk5C &= 0xFFFE; + *(s32 *)(((Unkstruct_800B5CB8 *)arg)->unk20 + 0x80) = (s32)D_801BEE6C; if (cc != 0) { - *(s32 *)(*(s32 *)(cc + 0x20) + 0x80) = (s32)D_801BEE6C; + *(s32 *)(((Unkstruct_800B5CB8 *)cc)->unk20 + 0x80) = (s32)D_801BEE6C; } - *(u16 *)(arg + 0xFE) = 8; - if (*(s16 *)(arg + 0x76) == 0) { - *(u16 *)(arg + 0x5C) = 0x800; + ((Unkstruct_800B5CB8 *)arg)->unkFE = 8; + if (((Unkstruct_800B5CB8 *)arg)->unk76 == 0) { + ((Unkstruct_800B5CB8 *)arg)->unk5C = 0x800; } func_8002D4C8(0xAAC, 0); } @@ -4948,25 +4948,25 @@ void func_801859A0(void *a0) { s32 a1; - a1 = *(s32 *)((s32)a0 + 0xCC); + a1 = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (a1 != 0) { - s32 f = *(u16 *)((s32)a0 + 0xFE) & 1; - *(s16 *)(a1 + 0x54) = f; - *(s16 *)(a1 + 0x50) = f; - *(s16 *)((s32)a0 + 0x54) = f; - *(s16 *)((s32)a0 + 0x50) = f; + s32 f = CAST_SIGN(u16, (s32)a0, 0xFE) & 1; + ((Unkstruct_800B5CB8 *)a1)->unk54 = f; + CAST_WIDTH(s16, a1, 0x50) = f; + ((Unkstruct_800B5CB8 *)a0)->unk54 = f; + CAST_WIDTH(s16, (s32)a0, 0x50) = f; } - if (*(s16 *)((s32)a0 + 0xFE) != 0) { - *(s16 *)((s32)a0 + 0xFE) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFE != 0) { + ((Unkstruct_800B5CB8 *)a0)->unkFE -= 1; } else { - *(u8 *)((s32)a0 + 0xC1) = 0; - *(s16 *)((s32)a0 + 0x5E) = 0; - *(u8 **)(*(s32 *)((s32)a0 + 0x20) + 0x80) = D_801BEE64; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; + CAST_WIDTH(s16, (s32)a0, 0x5E) = 0; + *(u8 **)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x80) = D_801BEE64; if (a1 != 0) { - *(u8 **)(*(s32 *)(a1 + 0x20) + 0x80) = D_801BEE64; + *(u8 **)(((Unkstruct_800B5CB8 *)a1)->unk20 + 0x80) = D_801BEE64; } - if (*(s16 *)((s32)a0 + 0x76) == 0) { - *(s32 *)((s32)a0 + 0x1C) = 4; + if (((Unkstruct_800B5CB8 *)a0)->unk76 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk1C = 4; func_8012AD44((s32 *)a0, 3); } } @@ -5263,27 +5263,27 @@ void func_8018603C(s32 param_1) s32 p48; obj = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = obj; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = obj; if (obj == 0) { func_8012CAE4(param_1); return; } - v = *(s16 *)(param_1 + 0x70); + v = ((Unkstruct_800B5CB8 *)param_1)->unk70; if (v < 0x10) { func_8001C214(obj, D_801BEF2C[v]); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; func_8012B23C(param_1); - if (*(s16 *)(param_1 + 0x70) == 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 == 0) { func_80186160(param_1); } else { func_801863B0(param_1); } return; } else { - func_8001C214(*(s32 *)(param_1 + 0x20), D_801BEF30[rand() & 3]); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2C) |= 0x10; + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801BEF30[rand() & 3]); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x10; w = (rand() & 0x1F0) | 0x400; - p48 = *(s32 *)(param_1 + 0x20); + p48 = ((Unkstruct_800B5CB8 *)param_1)->unk20; *(s16 *)(p48 + 0x1C) = w; *(s16 *)(p48 + 0x1A) = w; *(s16 *)(p48 + 0x18) = w; @@ -5332,13 +5332,13 @@ void func_80186160(s32 param_1) m = &local_30; RotMatrixY(iVar1, m); ((void (*)(void *, void *, s32))func_800484EC)(m, &D_801BEF4C, param_1 + 0x10); - *(s32 *)(param_1 + 0x14) = 0xFFDC0000; - *(s32 *)(param_1 + 0xE0) = 0xFFDC0000; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = 0xFFDC0000; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0xFFDC0000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; iVar2 = rand(); - *(u16 *)(param_1 + 0x106) = iVar2 & 0x70; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = iVar2 & 0x70; iVar2 = rand(); - *(u16 *)(param_1 + 0x108) = iVar2 & 0x70; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = iVar2 & 0x70; func_8012AD44((s32 *)param_1, 1); } @@ -5353,37 +5353,37 @@ void func_80186238(s32 param_1) extern s32 D_801BEF44; s32 iVar; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801BEF44); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - u16 ns = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x14) = *(s32 *)(param_1 + 0xE0) >> 1; - *(s32 *)(param_1 + 0x18) = 0; - *(s32 *)(param_1 + 0x10) = 0; - *(u16 *)(param_1 + 0x34) = ns; + u16 ns = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = ((Unkstruct_800B5CB8 *)param_1)->unkE0 >> 1; + CAST_WIDTH(s32, param_1, 0x18) = 0; + CAST_WIDTH(s32, param_1, 0x10) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ns; } break; case 1: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801BEF44); func_80186870(param_1); if (iVar != 0) { - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; case 2: func_80186870(param_1); if (func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); - } else if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } break; } @@ -5430,22 +5430,22 @@ void func_801863B0(s32 param_1) rotY = rand() & 0x1F0; m = &local_38; RotMatrixY(rotY, m); - ApplyMatrixSV(m, &D_801BEEC0[*(s16 *)(param_1 + 0x70)], &out); + ApplyMatrixSV(m, &D_801BEEC0[((Unkstruct_800B5CB8 *)param_1)->unk70], &out); - *(u16 *)(param_1 + 6) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 6) + (u16)out.vx; - *(u16 *)(param_1 + 0xA) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xA) + (u16)out.vy; - *(u16 *)(param_1 + 0xE) = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0xE) + (u16)out.vz; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 6) + (u16)out.vx; + ((Unkstruct_800B5CB8 *)param_1)->unkA = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xA) + (u16)out.vy; + ((Unkstruct_800B5CB8 *)param_1)->unkE = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xE) + (u16)out.vz; - *(s32 *)(param_1 + 0x10) = (s32)out.vx << 12; + CAST_WIDTH(s32, param_1, 0x10) = (s32)out.vx << 12; t = -(((rand() & 0x3F) << 12) + 0x200000); - *(s32 *)(param_1 + 0x14) = t; - *(s32 *)(param_1 + 0xE0) = t; - *(s32 *)(param_1 + 0x18) = (s32)out.vz << 12; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = t; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = t; + CAST_WIDTH(s32, param_1, 0x18) = (s32)out.vz << 12; - *(u16 *)(param_1 + 0x106) = rand() & 0xF0; - *(u16 *)(param_1 + 0x108) = rand() & 0xF0; - v1 = *(s16 *)(param_1 + 0x70); - *(u16 *)(param_1 + 0xFE) = v1; + ((Unkstruct_800B5CB8 *)param_1)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = rand() & 0xF0; + v1 = ((Unkstruct_800B5CB8 *)param_1)->unk70; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = v1; func_8012AD44((s32 *)param_1, 2); } @@ -5463,41 +5463,41 @@ void func_80186508(s32 param_1) { s32 iVar; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801BEF5C); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - u16 ns = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x14) = *(s32 *)(param_1 + 0xE0) >> 1; - *(s32 *)(param_1 + 0x10) = *(s32 *)(param_1 + 0x10) >> 1; - *(s32 *)(param_1 + 0x18) = *(s32 *)(param_1 + 0x18) >> 1; - *(u16 *)(param_1 + 0x34) = ns; + u16 ns = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = ((Unkstruct_800B5CB8 *)param_1)->unkE0 >> 1; + CAST_WIDTH(s32, param_1, 0x10) = CAST_WIDTH(s32, param_1, 0x10) >> 1; + CAST_WIDTH(s32, param_1, 0x18) = CAST_WIDTH(s32, param_1, 0x18) >> 1; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ns; } func_801868EC(param_1); break; case 1: iVar = ((s32 (*)(s32, s32))func_8012CC40)(param_1, (s32)&D_801BEF5C); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; if (iVar != 0) { - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; - *(s32 *)(param_1 + 0x1C) = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; } func_801868EC(param_1); break; case 2: if (func_8012BEE8(param_1) != 0) { func_8012C218((void *)param_1); - } else if (*(s32 *)(param_1 + 0x1C) & 1) { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + } else if (((Unkstruct_800B5CB8 *)param_1)->unk1C & 1) { + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } else { - *(s32 *)(*(s32 *)(param_1 + 0x20) + 4) &= 0x7FFFFFFF; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) &= 0x7FFFFFFF; } break; } @@ -5546,22 +5546,22 @@ void func_801866B0(s32 param_1) out.vy = -((rand() & 0x3F) + 0x50); out.vz = -0x40; m = &local_38; - angle = ((*(u16 *)(param_1 + 0x70) & 3) << 10) + (rand() & 0x3F0); - t = *(u16 *)(*(s32 *)(param_1 + 0x64) + 0x10A) - 0x200; + angle = ((CAST_SIGN(u16, param_1, 0x70) & 3) << 10) + (rand() & 0x3F0); + t = *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x10A) - 0x200; RotMatrixY((s16)(angle + t), m); ApplyMatrixSV(m, &out, &out); - *(u16 *)(param_1 + 6) = *(u16 *)(param_1 + 6) + (u16)out.vx; - *(u16 *)(param_1 + 0xA) = *(u16 *)(param_1 + 0xA) + (u16)out.vy; - *(u16 *)(param_1 + 0xE) = *(u16 *)(param_1 + 0xE) + (u16)out.vz; + ((Unkstruct_800B5CB8 *)param_1)->unk6 = ((Unkstruct_800B5CB8 *)param_1)->unk6 + (u16)out.vx; + ((Unkstruct_800B5CB8 *)param_1)->unkA = ((Unkstruct_800B5CB8 *)param_1)->unkA + (u16)out.vy; + ((Unkstruct_800B5CB8 *)param_1)->unkE = ((Unkstruct_800B5CB8 *)param_1)->unkE + (u16)out.vz; - *(s32 *)(param_1 + 0x10) = (s32)out.vx << 13; - *(s32 *)(param_1 + 0x18) = (s32)out.vz << 13; - *(s32 *)(param_1 + 0x14) = -(((rand() & 0xF) << 15) + 0x80000); - *(u16 *)(param_1 + 0x106) = rand() & 0xF0; - *(u16 *)(param_1 + 0x108) = rand() & 0xF0; + CAST_WIDTH(s32, param_1, 0x10) = (s32)out.vx << 13; + CAST_WIDTH(s32, param_1, 0x18) = (s32)out.vz << 13; + ((Unkstruct_800B5CB8 *)param_1)->unk14 = -(((rand() & 0xF) << 15) + 0x80000); + ((Unkstruct_800B5CB8 *)param_1)->unk106 = rand() & 0xF0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = rand() & 0xF0; - *(s32 *)(param_1 + 0x1C) = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; func_8012AD44((s32 *)param_1, 3); } @@ -5570,7 +5570,7 @@ void func_801866B0(s32 param_1) extern void (*D_801BEF64[])(void); void func_80186834(void *a0) { - D_801BEF64[*(u16 *)((s32)a0 + 0x2)](); + D_801BEF64[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -5586,12 +5586,12 @@ void func_80186870(s32 param_1) u16 f6; } local; - local.f0 = *(u16 *)(param_1 + 0x6); - local.f2 = *(u16 *)(param_1 + 0xA) - 0x40; - local.f4 = *(u16 *)(param_1 + 0xE); + local.f0 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + local.f2 = ((Unkstruct_800B5CB8 *)param_1)->unkA - 0x40; + local.f4 = ((Unkstruct_800B5CB8 *)param_1)->unkE; local.f6 = 0x3000; func_801437D8(param_1 + 0xFE, (s32)&local, (s32)D_801BEF74, 0); - if ((*(u16 *)(param_1 + 0xFE) & 3) == 0) { + if ((CAST_SIGN(u16, param_1, 0xFE) & 3) == 0) { func_8002D4C8(0xA9F, 0); } } @@ -5604,15 +5604,15 @@ void func_801868EC(s32 param_1) u16 val_fe; s32 result; - val_fe = *(u16 *)(param_1 + 0xFE); + val_fe = CAST_SIGN(u16, param_1, 0xFE); val_fe = val_fe + 1; - *(u16 *)(param_1 + 0xFE) = val_fe; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = val_fe; if ((val_fe & 7) == 0) { result = func_80132EF4(param_1, 0x22); if (result != 0) { - *(u32 *)(result + 0x14) = 0xFFF80000; - *(u16 *)(result + 0x34) = 0x4001; - *(u16 *)(*(s32 *)(result + 0x20) + 0x2C) = 0xC010; + ((Unkstruct_800B5CB8 *)result)->unk14 = 0xFFF80000; + ((Unkstruct_800B5CB8 *)result)->unk34 = 0x4001; + ((Unkstruct_800B5CB8 *)*(s32 *)(result + 0x20))->unk2C = 0xC010; } } } @@ -5642,7 +5642,7 @@ void func_8018694C(void *a0) s32 v2; do { v0 = ((s32 (*)(void))func_8012C1B8)(); } while (0); - *(s32 *)((s32)s1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)s1)->unk20 = v0; if (v0 == 0) { func_8012CAE4((s32)s1); return; @@ -5650,38 +5650,38 @@ void func_8018694C(void *a0) func_8001C2C4(v0); - *(u16 *)((s32)s1 + 0x100) = *(u16 *)(*(s32 *)((s32)s1 + 0x64) + 0x36); + ((Unkstruct_800B5CB8 *)s1)->unk100 = *(u16 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x36); - func_8004914C((void *)(*(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0x20) + 0x34)); - func_800491AC((void *)(*(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0x20) + 0x34)); + func_8004914C((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x34)); + func_800491AC((void *)(*(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0x20) + 0x34)); RotTransSV(D_801BEF7C, v, flg); - *(s16 *)((s32)s1 + 0x6) = v[0]; - *(s16 *)((s32)s1 + 0xA) = v[1]; - *(s16 *)((s32)s1 + 0xE) = v[2]; - *(s32 *)((s32)s1 + 0xE0) = *(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0xE0); - *(s32 *)((s32)s1 + 0xE4) = *(s32 *)(*(s32 *)((s32)s1 + 0x64) + 0xE4); + ((Unkstruct_800B5CB8 *)s1)->unk6 = v[0]; + ((Unkstruct_800B5CB8 *)s1)->unkA = v[1]; + ((Unkstruct_800B5CB8 *)s1)->unkE = v[2]; + ((Unkstruct_800B5CB8 *)s1)->unkE0 = *(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xE0); + ((Unkstruct_800B5CB8 *)s1)->unkE4 = *(s32 *)(((Unkstruct_800B5CB8 *)s1)->unk64 + 0xE4); s0 = (s32)s1 + 0xE0; func_80187180((s32)&flg[2], (s32)v, s0); v0 = flg[2]; - v1 = *(s32 *)((s32)s1 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v1 + 0x10) = v0; - v1 = *(s32 *)((s32)s1 + 0x20); + v1 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v1 + 0x12) = v0 >> 16; - v2 = *(s32 *)((s32)s1 + 0x20); + v2 = ((Unkstruct_800B5CB8 *)s1)->unk20; *(s16 *)(v2 + 0x14) = 0; func_8012B2CC((s32)s1); - *(s16 *)((s32)s1 + 0xE8) = 0; + CAST_WIDTH(s16, (s32)s1, 0xE8) = 0; *(s16 *)((s32)s1 + 0xEA) = 0; - func_8012F038(*(s32 *)((s32)s1 + 0x20) + 0x34, (s16 *)s0, out); + func_8012F038(((Unkstruct_800B5CB8 *)s1)->unk20 + 0x34, (s16 *)s0, out); v0 = out[2]; - *(s16 *)((s32)s1 + 0xFE) = -v0; + ((Unkstruct_800B5CB8 *)s1)->unkFE = -v0; func_80186A88(s1); } @@ -5717,17 +5717,17 @@ void func_80186AD0(s32 param_1) s0 = func_8012C194(); a = s0; if (s0 != 0) { - *(s32 *)(param_1 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)param_1)->unkCC = s0; func_8001CD9C(a, &D_801D0D80); - *(u16 *)(s0 + 8) = *(u16 *)(param_1 + 6); - *(u16 *)(s0 + 0xA) = *(u16 *)(param_1 + 0xA); - *(u16 *)(s0 + 0xC) = *(u16 *)(param_1 + 0xE); + *(u16 *)(s0 + 8) = ((Unkstruct_800B5CB8 *)param_1)->unk6; + *(u16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)param_1)->unkA; + *(u16 *)(s0 + 0xC) = ((Unkstruct_800B5CB8 *)param_1)->unkE; *(s32 *)(s0 + 4) |= 0x50000000; *(u16 *)(s0 + 0x1A) = 0x80; *(u16 *)(s0 + 0x18) = 0x80; *(u16 *)(s0 + 0x2C) = 0xC006; } - *(s32 *)(param_1 + 0x1C) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 8; func_8012AD44((s32 *)param_1, 2); } @@ -5758,7 +5758,7 @@ void func_80186BAC(s32 param_1) func_80186E9C((void *)param_1, 1, (u16 *)(param_1 + 0xE8), 0x204040); t1.b = 0; t1.a = 0; - t1.c = -*(u16 *)(param_1 + 0xE8); + t1.c = -CAST_WIDTH(u16, param_1, 0xE8); t2.b = 0; t2.a = 0; t2.c = -*(u16 *)(param_1 + 0xEA); @@ -5766,21 +5766,21 @@ void func_80186BAC(s32 param_1) D_80126B96 = 0x4018; D_80126B98 = 0x96; } - if (*(s16 *)(param_1 + 0xEA) < *(s16 *)(param_1 + 0xFE)) { + if (*(s16 *)(param_1 + 0xEA) < ((Unkstruct_800B5CB8 *)param_1)->unkFE) { *(s16 *)(param_1 + 0xEA) += 0x40; - if (*(s16 *)(param_1 + 0xEA) >= *(s16 *)(param_1 + 0xFE)) { - *(s16 *)(param_1 + 0xEA) = *(s16 *)(param_1 + 0xFE); + if (*(s16 *)(param_1 + 0xEA) >= ((Unkstruct_800B5CB8 *)param_1)->unkFE) { + *(s16 *)(param_1 + 0xEA) = ((Unkstruct_800B5CB8 *)param_1)->unkFE; func_80186E18(param_1); } } else { - *(s16 *)(param_1 + 0xE8) += 0x40; - if (*(s16 *)(param_1 + 0xE8) < *(s16 *)(param_1 + 0xFE)) { + CAST_WIDTH(s16, param_1, 0xE8) += 0x40; + if (CAST_WIDTH(s16, param_1, 0xE8) < ((Unkstruct_800B5CB8 *)param_1)->unkFE) { return; } - if (*(s32 *)(param_1 + 0xCC) != 0) { - func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38); + if (((Unkstruct_800B5CB8 *)param_1)->unkCC != 0) { + func_80016714((void *)((Unkstruct_800B5CB8 *)param_1)->unkCC, 0x38); } - *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xD0) = 0; func_8012C218((void *)param_1); } } @@ -5788,13 +5788,13 @@ void func_80186BAC(s32 param_1) void func_80186CF0(void *a0) { extern void (*D_801BEF84[])(void); - D_801BEF84[*(u16 *)(a0 + 2)](); - if (*(u16 *)a0 != 0) { - s32 p = *(s32 *)(a0 + 0x64); - if (*(s16 *)(p + 0x36) == *(s16 *)(a0 + 0x100)) { + D_801BEF84[CAST_SIGN(u16, a0, 2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + s32 p = ((Unkstruct_800B5CB8 *)a0)->unk64; + if (*(s16 *)(p + 0x36) == ((Unkstruct_800B5CB8 *)a0)->unk100) { if (*(u16 *)(p + 2) != 4) return; } - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_80016714((void *)p, 0x38); } @@ -6273,31 +6273,31 @@ extern s32 func_8012BEE8(s32 a0); void func_80187A64(s32 param_1) { s32 r; - switch (*(u16 *)(param_1 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)param_1)->unk34) { case 0: r = func_8012B8A4((s16 *)param_1); - *(u16 *)(param_1 + 0x106) = (u16)r; - func_80185DAC((s32)(s16)r, (u16 *)(*(s32 *)(param_1 + 0x20) + 0x12), 0x20); + ((Unkstruct_800B5CB8 *)param_1)->unk106 = (u16)r; + func_80185DAC((s32)(s16)r, (u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12), 0x20); func_8012B2CC(param_1); - *(u16 *)(param_1 + 0xE0) = D_80126B5E; + CAST_WIDTH(u16, param_1, 0xE0) = D_80126B5E; *(u16 *)(param_1 + 0xE2) = D_80126B62 - 0x38; - *(u16 *)(param_1 + 0xE4) = D_80126B66; + CAST_WIDTH(u16, param_1, 0xE4) = D_80126B66; if (func_80185A44(param_1) == 0) { break; } - *(s32 *)(param_1 + 0xD0) = func_8012C588(0x30E, param_1); - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = func_8012C588(0x30E, param_1); + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; break; case 1: - if (*(s32 *)(param_1 + 0xD0) == 0) { - *(s32 *)(param_1 + 0x1C) = 0x10; - *(u16 *)(param_1 + 0x34) = *(u16 *)(param_1 + 0x34) + 1; + if (((Unkstruct_800B5CB8 *)param_1)->unkD0 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = ((Unkstruct_800B5CB8 *)param_1)->unk34 + 1; } break; case 2: if (func_8012BEE8(param_1) != 0) { - *(u16 *)(param_1 + 0x108) = 0; - *(u16 *)(param_1 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk108 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk34 = 0; } break; } @@ -6318,12 +6318,12 @@ void func_80187B88(s32 param_1) } local; func_8012AD80(param_1); - local.f0 = *(u16 *)(param_1 + 0x6); - local.f2 = *(u16 *)(param_1 + 0xA); - local.f4 = *(u16 *)(param_1 + 0xE); + local.f0 = ((Unkstruct_800B5CB8 *)param_1)->unk6; + local.f2 = ((Unkstruct_800B5CB8 *)param_1)->unkA; + local.f4 = ((Unkstruct_800B5CB8 *)param_1)->unkE; local.f6 = 0x3000; func_801437D8(param_1 + 0x100, (s32)&local, (s32)D_801BEEF0, 0); - if ((*(u16 *)(param_1 + 0x100) & 3) == 0) { + if ((CAST_SIGN(u16, param_1, 0x100) & 3) == 0) { func_8002D4C8(0xA9F, 0); } if (func_8012BEE8(param_1) != 0) { @@ -6341,10 +6341,10 @@ void func_80187C1C(s32 param_1) { func_8012C218((void *)param_1); } else { func_8012AD80(param_1); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) + *(u16 *)(param_1 + 0x106); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) + *(u16 *)(param_1 + 0x108); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 + CAST_SIGN(u16, param_1, 0x106); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) + ((Unkstruct_800B5CB8 *)param_1)->unk108; } } @@ -6370,7 +6370,7 @@ s32 param_1; void func_80187CEC(s32 a0) { s32 pad; - s32 p = *(s32 *)(a0 + 0xCC); + s32 p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0 && *(s16 *)(p + 0x18) < 0x500) { *(s16 *)(p + 0x18) += 0xC0; *(u16 *)(p + 0x1A) += 0xC0; @@ -6690,29 +6690,29 @@ int func_801885E4(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -6721,9 +6721,9 @@ int func_801885E4(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -6791,7 +6791,7 @@ void func_801887F4(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -6811,10 +6811,10 @@ void func_801887F4(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -6829,9 +6829,9 @@ void func_801887F4(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -6860,11 +6860,11 @@ void func_801887F4(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -6881,7 +6881,7 @@ void func_801887F4(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -6902,23 +6902,23 @@ void func_80188BF8(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -6939,8 +6939,8 @@ void func_80188BF8(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -6981,42 +6981,42 @@ void func_80188D6C(int param_1) { iVar1 = func_8012C354(param_1, D_801C2C8C); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801C2BD0, D_801C2B90); func_800599B8(D_801C2BD8, D_801C2BB0); - func_8001C214(*(int *)(param_1 + 0x20), D_801C6EF8); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801C6EF8); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801CA1A8); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801C2CCC; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801C2CCC; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801CA010); - func_8012A828(*(int *)(param_1 + 0xcc), D_801CA098); - func_8012A828(*(int *)(param_1 + 0xd0), D_801CA120); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801CA098); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801CA120); return; } @@ -7089,18 +7089,18 @@ void func_80188F1C(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_801885E4(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); } else { goto set1; @@ -7117,21 +7117,21 @@ void func_80188F1C(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_801885E4(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -7140,7 +7140,7 @@ void func_80188F1C(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_801885E4(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -7152,24 +7152,24 @@ void func_80188F1C(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -7232,20 +7232,20 @@ void func_801891A8(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -7254,29 +7254,29 @@ void func_801891A8(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801C2B50[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801C2B50[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801CA010); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801CA098); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801CA120); } @@ -7307,31 +7307,31 @@ void func_8018966C(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -7416,7 +7416,7 @@ void func_8018983C(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -7430,31 +7430,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -7505,15 +7505,15 @@ void func_80189A2C(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801C2CFC[*(u16 *)(a0 + 0x2)](); + D_801C2CFC[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -7524,11 +7524,11 @@ void func_80189A2C(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -7548,17 +7548,17 @@ void func_80189A2C(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -7613,34 +7613,34 @@ void func_80189D44(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -7661,8 +7661,8 @@ void func_80189D44(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -7708,7 +7708,7 @@ void func_80189F3C(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -7729,11 +7729,11 @@ void func_80189F3C(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -7747,9 +7747,9 @@ void func_80189F3C(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -7783,16 +7783,16 @@ void func_80189F3C(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -7811,7 +7811,7 @@ void func_80189F3C(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -7843,34 +7843,34 @@ void func_8018A384(short *param_1) D_801C2D84[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -7916,7 +7916,7 @@ void func_8018A594(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -7935,9 +7935,9 @@ void func_8018A594(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -7950,9 +7950,9 @@ void func_8018A594(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -7976,7 +7976,7 @@ void func_8018A594(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -7984,15 +7984,15 @@ void func_8018A594(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -8012,7 +8012,7 @@ void func_8018A594(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -8110,51 +8110,51 @@ void func_8018ABE8(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801C2BE0; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801C2BEC); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801C2BE0; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801C2BEC); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -8187,22 +8187,22 @@ void func_8018AE8C(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801C2CEC); func_8012CBCC(a0); func_801885E4(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801CA4A8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801CA598); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801CA598); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801CA688); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801CA688); } } } @@ -8216,20 +8216,20 @@ void func_8018AF8C(s32 a0) { extern u8 D_801CA3A8[]; s16 var; - var = *(s16 *)(a0 + 0x100); + var = ((Unkstruct_800B5CB8 *)a0)->unk100; if (var != 0) goto dec; - *(u16 *)(a0 + 2) = 1; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801CA1A8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801CA2A8); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801CA2A8); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801CA3A8); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801CA3A8); } return; dec: - *(s16 *)(a0 + 0x100) = var - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = var - 1; } @@ -8244,21 +8244,21 @@ void func_8018B02C(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -8276,19 +8276,19 @@ void func_8018B0EC(s32 a0) { extern u8 D_801CA3A8[]; s16 var; - var = *(s16 *)(a0 + 0xFC); + var = ((Unkstruct_800B5CB8 *)a0)->unkFC; if (var != 0) goto dec; - *(u16 *)(a0 + 2) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801CA1A8); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801CA2A8); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801CA2A8); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801CA3A8); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801CA3A8); } return; dec: - *(s16 *)(a0 + 0xFC) = var - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = var - 1; } @@ -8329,23 +8329,23 @@ void func_8018B1A4(int param_1) { iVar1 = func_8012C354(param_1, D_801C2D30); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { - func_8001C214(*(int *)(param_1 + 0x20), D_801C7C68); + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801C7C68); } - *(u8 *)(param_1 + 0xc0) = 1; - *(s32 *)(param_1 + 0xb4) = 0xffffdfdf; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfdf; func_8012B030(param_1); - *(s16 *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801CA2A8); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xbc) = (u32)D_801C2D64; - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801C2D64; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; } return; } @@ -8362,24 +8362,24 @@ void func_8018B29C(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -8396,21 +8396,21 @@ void func_8018B370(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -8471,23 +8471,23 @@ void func_8018B470(int param_1) { iVar1 = func_8012C354(param_1, D_801C2DA8); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { - func_8001C214(*(int *)(param_1 + 0x20), D_801C89D4); + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801C89D4); } - *(u8 *)(param_1 + 0xc0) = 1; - *(s32 *)(param_1 + 0xb4) = 0xffffdfdf; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfdf; func_8012B030(param_1); - *(u32 *)(param_1 + 0xbc) = (u32)D_801C2DDC; - *(s16 *)(param_1 + 0xae) = 0x2100; - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801C2DDC; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; func_8012A828(param_1, D_801CA3A8); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; } return; } @@ -8506,38 +8506,38 @@ void func_8018B56C(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -8555,21 +8555,21 @@ void func_8018B660(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -8740,8 +8740,8 @@ void func_8018BBF8(s32 a0) g = D_801151D4; - if (*(u16 *)a0 != 0) { - idx = *(s32 *)(a0 + 0x1C) & 3; + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + idx = ((Unkstruct_800B5CB8 *)a0)->unk1C & 3; switch (idx) { case 0: s0 = func_8012C588(0x281, a0); @@ -8758,11 +8758,11 @@ void func_8018BBF8(s32 a0) case 3: s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x3F) - 0x20; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x3F) - 0x30; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x3F) - 0x20; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x3F) - 0x30; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; *(s32 *)(s0 + 0x10) = 0; @@ -8801,34 +8801,34 @@ void func_8018BDE0(s32 a0) u16 state; s32 ret; - hi = *(s16 *)(a0 + 0x8A); - pos = *(s16 *)(a0 + 0xA); + hi = CAST_SIGN(s16, a0, 0x8A); + pos = CAST_SIGN(s16, a0, 0xA); if (pos >= hi - 8) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { if (hi + 8 >= pos) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - if (*(s32 *)(a0 + 0xDC) < -0x40000) { - *(s32 *)(a0 + 0xDC) = -0x40000; + if (((Unkstruct_800B5CB8 *)a0)->unkDC < -0x40000) { + ((Unkstruct_800B5CB8 *)a0)->unkDC = -0x40000; } sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); func_8012CBCC(a0); - state = *(u16 *)(a0 + 0x34); + state = ((Unkstruct_800B5CB8 *)a0)->unk34; switch (state) { case 0: { s32 s0v; @@ -8846,18 +8846,18 @@ void func_8018BDE0(s32 a0) } } p744 = func_8012B744((void *)(a0 + 4), (void *)s0v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 8); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); break; } case 1: { - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)); if (ret > 0x3FFFF) { goto rand_tail; @@ -8875,19 +8875,19 @@ void func_8018BDE0(s32 a0) s32 p20; p744 = func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 0x10); - p20 = *(s32 *)(a0 + 0x20); + p20 = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(p20 + 0x12) = *(u16 *)(p20 + 0x12) + b608; - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; *(u16 *)(v1p + 0x12) = *(u16 *)(v1p + 0x12) & 0xFFF; - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; func_8018B740(a0, 0x51); - if (*(s16 *)(a0 + 0x102) == 0) { - *(u16 *)(a0 + 0x34) = 3; + if (((Unkstruct_800B5CB8 *)a0)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk34 = 3; } else { - *(s16 *)(a0 + 0x102) = *(s16 *)(a0 + 0x102) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = ((Unkstruct_800B5CB8 *)a0)->unk102 - 1; } break; } @@ -8900,7 +8900,7 @@ void func_8018BDE0(s32 a0) s2v = a0 + 0x88; ret = ((s32 (*)(s32, u16 *))func_8012BE98)(a0, (u16 *)s2v); - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) << 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC << 1; if (func_8018B740(a0, 0x51) != 0) { goto rand_tail; } @@ -8908,7 +8908,7 @@ void func_8018BDE0(s32 a0) goto set_state1; } p744 = func_8012B744((void *)(a0 + 4), (void *)s2v); - v1p = *(s32 *)(a0 + 0x20); + v1p = ((Unkstruct_800B5CB8 *)a0)->unk20; snd = *(s16 *)(v1p + 0x12); b608 = func_8012B608(snd, p744, 1); if ((u32)(b608 + 0xFF) < 0x1FF) { @@ -8920,26 +8920,26 @@ void func_8018BDE0(s32 a0) goto end_switch; rand_tail: - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; { s32 r = rand(); - *(s16 *)(a0 + 0x102) = (r & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (r & 7) + 8; } goto end_switch; set_state1: - *(u16 *)(a0 + 0x34) = 1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; end_switch: - if (*(s16 *)(a0 + 0x100) != 0) { - *(s16 *)(a0 + 0x100) = *(s16 *)(a0 + 0x100) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk100 = ((Unkstruct_800B5CB8 *)a0)->unk100 - 1; } else { s32 ret3; ret3 = ((s32 (*)(s32))func_8012BE54)(a0); if (ret3 <= 0x24000) { - *(s16 *)(a0 + 0x2) = 2; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -8980,41 +8980,41 @@ void func_8018C11C(s32 param_1) s16 sVar1; s32 s0; - if (*(s32 *)(param_1 + 0x1c) == 0) { - sVar1 = *(s16 *)(param_1 + 0x100) - 1; - *(s16 *)(param_1 + 0x100) = sVar1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { + sVar1 = ((Unkstruct_800B5CB8 *)param_1)->unk100 - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = sVar1; if (sVar1 == 0) { - *(s16 *)(param_1 + 2) = 1; - *(s16 *)(param_1 + 0x100) = 0x3c; - *(s16 *)(param_1 + 0x8a) = *(s16 *)(param_1 + 0xa) - 0x140; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = 0x3c; + ((Unkstruct_800B5CB8 *)param_1)->unk8A = CAST_SIGN(s16, param_1, 0xa) - 0x140; } else { - *(s32 *)(param_1 + 0x1c) = (sVar1 == 1) ? 0x3c : 3; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = (sVar1 == 1) ? 0x3c : 3; ((s32 (*)(s32, s32))func_80184F14)(param_1, (s32)&D_801CA884); s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801CA88C, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801CA88C, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 0, s0); } s0 = func_8012C588(0x260, param_1); if (s0 != 0) { - ((void (*)(s32, s32, s32))func_8012F14C)(*(s32 *)(param_1 + 0x20) + 0x34, (s32)&D_801CA894, (s32)L.nv); - *(s16 *)(s0 + 6) = L.nv[0]; - *(s16 *)(s0 + 0xA) = L.nv[1]; - *(s16 *)(s0 + 0xE) = L.nv[2]; + ((void (*)(s32, s32, s32))func_8012F14C)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x34, (s32)&D_801CA894, (s32)L.nv); + ((Unkstruct_800B5CB8 *)s0)->unk6 = L.nv[0]; + ((Unkstruct_800B5CB8 *)s0)->unkA = L.nv[1]; + ((Unkstruct_800B5CB8 *)s0)->unkE = L.nv[2]; func_8012B370(s0); func_8012C658(0x261, 1, s0); } - L.rv[0] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -9040,7 +9040,7 @@ void func_8018C11C(s32 param_1) } } } else { - *(s32 *)(param_1 + 0x1c) = *(s32 *)(param_1 + 0x1c) - 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = ((Unkstruct_800B5CB8 *)param_1)->unk1C - 1; } } @@ -9135,10 +9135,10 @@ void func_8018C4F4(s32 a0) { void (*handler)(s32); - handler = (void (*)(s32))D_801CA8BC[*(u16 *)(a0 + 0x2)]; + handler = (void (*)(s32))D_801CA8BC[CAST_SIGN(u16, a0, 0x2)]; handler(a0); - if (*(u16 *)(a0 + 0x0) == 0) + if (((Unkstruct_800B5CB8 *)a0)->unk0 == 0) return; ((void (*)(s32))func_8018BA4C)(a0); @@ -9146,15 +9146,15 @@ void func_8018C4F4(s32 a0) if (func_8012C044(a0) == 0) return; - if (*(s16 *)(a0 + 0x70) == 0) { - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8012C098((void *)a0); } else { - if (*(u16 *)(a0 + 0x2) < 4) - *(u16 *)(a0 + 0x2) = 4; + if (CAST_SIGN(u16, a0, 0x2) < 4) + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; } } @@ -9163,7 +9163,7 @@ void func_8018C4F4(s32 a0) extern void (*D_801CA8E8[])(void); void func_8018C5CC(void *a0) { - D_801CA8E8[*(u16 *)((s32)a0 + 0x2)](); + D_801CA8E8[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9182,40 +9182,40 @@ s32 a0; SV4 out; u16 uStack_c; - if (*(u16 *)(a0 + 0x34) == 0) { - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(a0 + 0x64) + 0x20) + 0x12); + if (((Unkstruct_800B5CB8 *)a0)->unk34 == 0) { + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0x20) + 0x12); func_8012B2CC(a0); func_8012B23C(a0); - func_8012B14C(a0, *(s16 *)(a0 + 0x70) * 12 + (s32)&D_801CA8F0); + func_8012B14C(a0, ((Unkstruct_800B5CB8 *)a0)->unk70 * 12 + (s32)&D_801CA8F0); in.v[0] = 0; in.v[1] = 0; in.v[2] = 0x10; func_8012F214(a0, (s32)&in, (s32)&out); - *(u16 *)(a0 + 6) = out.v[0]; - *(u16 *)(a0 + 0xa) = out.v[1]; + ((Unkstruct_800B5CB8 *)a0)->unk6 = out.v[0]; + ((Unkstruct_800B5CB8 *)a0)->unkA = out.v[1]; uStack_c = out.v[2]; - *(s32 *)(a0 + 0x1c) = 0x5a; - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0xe) = uStack_c; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x5a; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkE = uStack_c; } - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x10) += -0x80; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) += 4; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) += *(u16 *)(a0 + 0xfc); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk10 += -0x80; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 += 4; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) += CAST_SIGN(u16, a0, 0xfc); - *(s32 *)(a0 + 0xdc) = *(s32 *)(a0 + 0x14); + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unk14; if ((((s32 (*)(s32))func_8012CBCC)(a0)) & 0x6000) { - *(s32 *)(a0 + 0x14) = -*(s32 *)(a0 + 0xdc); - if (--*(s16 *)(a0 + 0xac) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk14 = -((Unkstruct_800B5CB8 *)a0)->unkDC; + if (--((Unkstruct_800B5CB8 *)a0)->unkAC == 0) { func_8012C218((void *)a0); } } { - s32 iVar3 = *(s32 *)(a0 + 0x1c) - 1; - *(s32 *)(a0 + 0x1c) = iVar3; + s32 iVar3 = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = iVar3; if (iVar3 == 0) { func_8012C218((void *)a0); } @@ -9227,7 +9227,7 @@ s32 a0; extern void (*D_801CA908[])(void); void func_8018C77C(void *a0) { - D_801CA908[*(u16 *)((s32)a0 + 0x2)](); + D_801CA908[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -9238,19 +9238,19 @@ extern void func_8012C218(void *a0); void func_8018C7B8(a0) s32 a0; { - if (*(s16 *)(a0 + 0x70) != 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x5C) = 0; - *(u16 *)(a0 + 0x5E) = 0; - *(u8 *)(a0 + 0xC1) = 0; + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk5C = 0; + CAST_WIDTH(u16, a0, 0x5E) = 0; + ((Unkstruct_800B5CB8 *)a0)->unkC1 = 0; return; } - if (*(s32 *)(a0 + 0xCC) != 0) - func_80016714(*(void **)(a0 + 0xCC), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) + func_80016714(CAST_SIGN(void *, a0, 0xCC), 0x84); - if (*(s32 *)(a0 + 0xD0) != 0) - func_80016714(*(void **)(a0 + 0xD0), 0x84); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) + func_80016714(CAST_SIGN(void *, a0, 0xD0), 0x84); func_8002A04C(a0); func_8012C218((void *)a0); @@ -9355,7 +9355,7 @@ extern void func_80131C78(s32 a0); extern void func_8018B878(void); void func_8018CA6C(s32 a0) { - if (*(s16 *)(a0 + 0xA) >= 0x10) { + if (CAST_SIGN(s16, a0, 0xA) >= 0x10) { func_801319E0(a0); } else if (func_8012BEE8(a0) != 0) { func_80131E00(a0, 6); @@ -9393,38 +9393,38 @@ void func_8018CAF8(s32 a0) { if (func_8012C354(a0, D_801CA788) == 0) { return; } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = -0x1001; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = -0x1001; ((s32 (*)(s32))func_80143970)(a0); func_8012A828(a0, D_801CC4C8); - *(u16 *)(a0 + 0x2) += 1; + CAST_SIGN(u16, a0, 0x2) += 1; func_8012B200((u8 *)a0); - *(s32 *)(a0 + 0xBC) = (s32)D_801CA7BC; + ((Unkstruct_800B5CB8 *)a0)->unkBC = (s32)D_801CA7BC; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { goto fail; } - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; func_8001C214(s0, (s32)D_801CC1D8); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80193650; - *(u16 *)(s0 + 0x2C) = t; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80193650; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; s0 = ((s32 (*)(void))func_8012C1B8)(); if (s0 == 0) { - func_80016714((void *)*(s32 *)(a0 + 0xCC), 0x84); + func_80016714((void *)((Unkstruct_800B5CB8 *)a0)->unkCC, 0x84); fail: ((void (*)(void *))func_8012CAE4)((void *)a0); return; } - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; func_8001C214(s0, (s32)D_801CC4B0); - t = *(u16 *)(s0 + 0x2C) | 0x10; - *(s32 *)(s0 + 0x20) = *(s32 *)D_80193650; - *(u16 *)(s0 + 0x2C) = t; - *(u16 *)(a0 + 0x100) = 0x3C; - *(s32 *)(a0 + 0xDC) = 0xFFFC0000; + t = ((Unkstruct_800B5CB8 *)s0)->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)s0)->unk20 = *(s32 *)D_80193650; + ((Unkstruct_800B5CB8 *)s0)->unk2C = t; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unkDC = 0xFFFC0000; } @@ -9441,37 +9441,37 @@ void func_8018CC20(s32 a0) extern s32 D_80126B60; s32 sp10[3]; - if (*(s32 *)(a0 + 8) >= D_80126B60 - 0x200000) { - if (*(s32 *)(a0 + 0x48) >= 0) { - *(s32 *)(a0 + 0x48) = -0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (CAST_WIDTH(s32, a0, 8) >= D_80126B60 - 0x200000) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 >= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = -0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } else { - if (D_80126B60 - 0x180000 >= *(s32 *)(a0 + 8)) { - if (*(s32 *)(a0 + 0x48) <= 0) { - *(s32 *)(a0 + 0x48) = 0x8000; - *(s32 *)(a0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1; + if (D_80126B60 - 0x180000 >= CAST_WIDTH(s32, a0, 8)) { + if (((Unkstruct_800B5CB8 *)a0)->unk48 <= 0) { + ((Unkstruct_800B5CB8 *)a0)->unk48 = 0x8000; + ((Unkstruct_800B5CB8 *)a0)->unk14 = ((Unkstruct_800B5CB8 *)a0)->unk14 >> 1; } } } - *(s32 *)(a0 + 0xDC) = *(s32 *)(a0 + 0xDC) >> 1; + ((Unkstruct_800B5CB8 *)a0)->unkDC = ((Unkstruct_800B5CB8 *)a0)->unkDC >> 1; sp10[0] = 0; sp10[1] = 0; - sp10[2] = *(s32 *)(a0 + 0xDC); + sp10[2] = ((Unkstruct_800B5CB8 *)a0)->unkDC; ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)sp10); func_8012CBCC(a0); func_8018B740(a0, 0x51); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 3; - *(u16 *)(a0 + 0x100) = 5; - *(s32 *)(a0 + 0x1C) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; } } @@ -9510,20 +9510,20 @@ void func_8018CDB4(s32 param_1) s32 v0; v0 = ((s32 (*)(void))func_8012C1B8)(); - *(s32 *)(param_1 + 0x20) = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk20 = v0; if (v0 == 0) { ((void (*)(void *))func_8012CAE4)((void *)param_1); } else { func_8001C214(v0, (s32)D_801CC5A8); func_8012A828(param_1, (void *)D_80193650); - *(u16 *)(param_1 + 0x2) = 1; - *(s32 *)(param_1 + 0x1C) = 0x40; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x10) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x10); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x12); - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20) + 0x14); + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x40; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk10 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk12 = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(u16 *)(*(s32 *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } } @@ -9538,19 +9538,19 @@ extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3); extern void func_8012B370(int a0); void func_8018CE74(s32 param_1) { - if ((*(s16 *)(param_1 + 6) == *(s16 *)(param_1 + 0xDE)) && - (*(s16 *)(param_1 + 0xE) == *(s16 *)(param_1 + 0xE2))) { + if ((CAST_SIGN(s16, param_1, 6) == *(s16 *)(param_1 + 0xDE)) && + (CAST_SIGN(s16, param_1, 0xE) == *(s16 *)(param_1 + 0xE2))) { func_8012C218(param_1); } else { - *(s32 *)(param_1 + 0xDC) = *(s32 *)(param_1 + 4); - *(s32 *)(param_1 + 0xE0) = *(s32 *)(param_1 + 0xC); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = CAST_WIDTH(s32, param_1, 4); + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = CAST_WIDTH(s32, param_1, 0xC); func_8012B14C(param_1, (s32)D_801CA8D4); func_8012AD80(param_1); if (func_8012D5E4(param_1, (s32)D_801CA8E0, (s32)D_800D3918, 0x30) != 0) { func_8012C218(param_1); } else { - *(s32 *)(param_1 + 0x1C) -= 1; - if (*(s32 *)(param_1 + 0x1C) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk1C -= 1; + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0) { func_8012C218(param_1); } else { func_8012B370(param_1); @@ -9653,15 +9653,15 @@ void func_8018D040(s32 a0) if ((val & 1) != 0) { s32 np = (s32)func_8012913C(0x23); if (np != 0) { - *(u16 *)(np + 6) = *(u16 *)(s0 + 6); - *(u16 *)(np + 0xA) = *(u16 *)(s0 + 0xA); + ((Unkstruct_800B5CB8 *)np)->unk6 = *(u16 *)(s0 + 6); + ((Unkstruct_800B5CB8 *)np)->unkA = *(u16 *)(s0 + 0xA); { u16 t = *(u16 *)(s0 + 0xE); - *(u32 *)(np + 0x18) = 0; - *(u32 *)(np + 0x14) = 0; - *(u32 *)(np + 0x10) = 0; - *(u16 *)(np + 0x34) = 0x3000; - *(u16 *)(np + 0xE) = t; + CAST_WIDTH(u32, np, 0x18) = 0; + ((Unkstruct_800B5CB8 *)np)->unk14 = 0; + CAST_WIDTH(u32, np, 0x10) = 0; + ((Unkstruct_800B5CB8 *)np)->unk34 = 0x3000; + ((Unkstruct_800B5CB8 *)np)->unkE = t; } } } @@ -9705,45 +9705,45 @@ void func_8018D15C(s32 arg0) { v = func_8012B864(arg0); - d = (v + *(s16 *)(arg0 + 0x100)) - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + d = (v + ((Unkstruct_800B5CB8 *)arg0)->unk100) - *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); if (d > 0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + 0x1000; d = v - t; } if (d < -0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) - 0x1000; d = v - t; } if (d > 0) { if (d > 0x20) { d = 0x20; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + d; } else if (d < 0) { if (d < -0x20) { d = -0x20; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + d; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk12 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + d; } else { - *(s16 *)(arg0 + 0x100) = (rand() & 0x7FF) - 0x400; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (rand() & 0x7FF) - 0x400; } - d = *(s16 *)(*(s32 *)(arg0 + 0x64) + 0xFC) - *(s16 *)(arg0 + 0xFC); + d = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xFC) - ((Unkstruct_800B5CB8 *)arg0)->unkFC; if (d > 0) { if (d > 8) { d = 8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } else if (d < 0) { if (d < -8) { d = -8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x10) = *(u16 *)(arg0 + 0xFC) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk10 = CAST_SIGN(u16, arg0, 0xFC) & 0xFFF; } @@ -9754,46 +9754,46 @@ void func_8018D264(s32 arg0) { v = func_8012B864(arg0); - d = (v + *(s16 *)(arg0 + 0x100)) - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12); + d = (v + ((Unkstruct_800B5CB8 *)arg0)->unk100) - *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12); if (d > 0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) + 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) + 0x1000; d = v - t; } if (d < -0x800) { - s32 t = *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x12) - 0x1000; + s32 t = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x12) - 0x1000; d = v - t; } if (d > 0) { if (d > 0x20) { d = 0x20; } - *(u16 *)(arg0 + 0xFE) = w = *(u16 *)(arg0 + 0xFE) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = w = CAST_SIGN(u16, arg0, 0xFE) + d; if ((s16)w >= 0x201) { - *(u16 *)(arg0 + 0xFE) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = 0x200; } } else if (d < 0) { if (d < -0x20) { d = -0x20; } - *(u16 *)(arg0 + 0xFE) = w = *(u16 *)(arg0 + 0xFE) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = w = CAST_SIGN(u16, arg0, 0xFE) + d; if ((s16)w < -0x200) { - *(s16 *)(arg0 + 0xFE) = -0x200; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = -0x200; } } else { - *(s16 *)(arg0 + 0x100) = (rand() & 0x7FF) - 0x400; + ((Unkstruct_800B5CB8 *)arg0)->unk100 = (rand() & 0x7FF) - 0x400; } - d = *(s16 *)(*(s32 *)(arg0 + 0x64) + 0xFC) - *(s16 *)(arg0 + 0xFC); + d = *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk64 + 0xFC) - ((Unkstruct_800B5CB8 *)arg0)->unkFC; if (d > 0) { if (d > 8) { d = 8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } else if (d < 0) { if (d < -8) { d = -8; } - *(s16 *)(arg0 + 0xFC) = *(s16 *)(arg0 + 0xFC) + d; + ((Unkstruct_800B5CB8 *)arg0)->unkFC = ((Unkstruct_800B5CB8 *)arg0)->unkFC + d; } } @@ -9913,39 +9913,39 @@ void func_8018D5C0(void *arg) { s32 d8; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520((s32)p); - if (*(u8 *)(p + 0xC9)) func_8002A790((s32)p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520((s32)p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790((s32)p); } - if (*(s16 *)(p + 0x76) < 0) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { func_8002D4C8(0xAE0, 0); { @@ -9991,11 +9991,11 @@ void func_8018D5C0(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -10006,7 +10006,7 @@ void func_8018D5C0(void *arg) { i++; } while (i < 8); - iv = *(s32 *)(p + 0xCC); + iv = ((Unkstruct_800B5CB8 *)p)->unkCC; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10020,7 +10020,7 @@ void func_8018D5C0(void *arg) { *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; *(s32 *)(iv + 0x1C) = 0x3C; } - iv = *(s32 *)(p + 0xD0); + iv = ((Unkstruct_800B5CB8 *)p)->unkD0; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10034,7 +10034,7 @@ void func_8018D5C0(void *arg) { *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; *(s32 *)(iv + 0x1C) = 0x3C; } - iv = *(s32 *)(p + 0xD4); + iv = ((Unkstruct_800B5CB8 *)p)->unkD4; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10051,7 +10051,7 @@ void func_8018D5C0(void *arg) { { register s32 t __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9) - t = *(s32 *)(p + 0xD8); + t = ((Unkstruct_800B5CB8 *)p)->unkD8; d8 = t; if (t != 0) { i = 0; @@ -10092,10 +10092,10 @@ void func_8018D5C0(void *arg) { func_8012C218((void *)p); } else { func_8002D4C8(0x9B7, 0); - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } @@ -10129,52 +10129,52 @@ void func_8018DBB0(void *arg) { extern u8 D_801CC7E4; u8 *p = (u8 *)arg; - s32 e = *(u8 *)(p + 0x5E); + s32 e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { - s32 q = *(s32 *)(p + 0x20); - *(s16 *)(p + 0x02) = 0xA; - *(u16 *)(p + 0x5C) = 0x800; - *(u16 *)(p + 0x34) = 0; - *(u8 *)(p + 0xC1) = 0; - *(s32 *)(p + 0xF4) = 1; + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { + s32 q = ((Unkstruct_800B5CB8 *)p)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xA; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkF4 = 1; *(u16 *)(q + 0x2C) &= 0xFF7F; } else { func_8002D4C8(0xAD8, 0); - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; func_8018D3A4(p); } } @@ -10209,52 +10209,52 @@ void func_8018DD44(void *arg) { extern u8 D_801CC7E4; u8 *p = (u8 *)arg; - s32 e = *(u8 *)(p + 0x5E); + s32 e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { - s32 q = *(s32 *)(p + 0x20); - *(s16 *)(p + 0x02) = 0xB; - *(u16 *)(p + 0x5C) = 0x800; - *(u16 *)(p + 0x34) = 0; - *(u8 *)(p + 0xC1) = 0; - *(s32 *)(p + 0xF4) = 1; + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { + s32 q = ((Unkstruct_800B5CB8 *)p)->unk20; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xB; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x800; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkF4 = 1; *(u16 *)(q + 0x2C) &= 0xFF7F; } else { func_8002D4C8(0xAD8, 0); - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; func_8018D3A4(p); } } @@ -10291,40 +10291,40 @@ void func_8018DED8(void *arg) { s32 iv; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { - if (-1000 < *(s16 *)(p + 0x76)) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { + if (-1000 < ((Unkstruct_800B5CB8 *)p)->unk76) { func_8002D4C8(0xAE0, 0); } i = 0; @@ -10345,11 +10345,11 @@ void func_8018DED8(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -10360,7 +10360,7 @@ void func_8018DED8(void *arg) { i++; } while (i < 8); - iv = *(s32 *)(p + 0xCC); + iv = ((Unkstruct_800B5CB8 *)p)->unkCC; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10374,7 +10374,7 @@ void func_8018DED8(void *arg) { *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; *(s32 *)(iv + 0x1C) = 0x3C; } - iv = *(s32 *)(p + 0xD0); + iv = ((Unkstruct_800B5CB8 *)p)->unkD0; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10388,7 +10388,7 @@ void func_8018DED8(void *arg) { *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; *(s32 *)(iv + 0x1C) = 0x3C; } - iv = *(s32 *)(p + 0xD4); + iv = ((Unkstruct_800B5CB8 *)p)->unkD4; if (iv != 0) { *(u16 *)(iv + 0x02) = 5; *(u16 *)(iv + 0x34) = 0; @@ -10402,13 +10402,13 @@ void func_8018DED8(void *arg) { *(u16 *)(iv + 0x100) = (rand() & 0xFF) - 0x80; *(s32 *)(iv + 0x1C) = 0x3C; } - *(s32 *)(*(s32 *)(p + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)p)->unk64 + 0xCC) = 0; func_8012C218(p); } else { - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } @@ -10449,56 +10449,56 @@ void func_8018E32C(void *arg) { s32 t; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { t = func_8012C658(0x33, 3, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(s16 *)(t + 0x1A) = -4; + CAST_ALIAS(s16, t, 0x1A) = -4; } t = func_8012C658(0x33, 2, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(u16 *)(t + 0x1A) = 0; + ((Unkstruct_800B5CB8 *)t)->unk1A = 0; } t = func_8012C658(0x32, 2, (s32)p); if (t != 0) { - *(s16 *)(t + 0x12) = -4; + CAST_ALIAS(s16, t, 0x12) = -4; *(s16 *)(t + 0x16) = -0x10; - *(u16 *)(t + 0x1A) = 4; + ((Unkstruct_800B5CB8 *)t)->unk1A = 4; } i = 0; @@ -10519,11 +10519,11 @@ void func_8018E32C(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -10534,9 +10534,9 @@ void func_8018E32C(void *arg) { i++; } while (i < 8); - L.rv[0] = *(s32 *)(*(s32 *)(p + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(p + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(p + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -10554,10 +10554,10 @@ void func_8018E32C(void *arg) { } func_8012C218((void *)p); } else { - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } @@ -10637,39 +10637,39 @@ void func_8018E70C(void *arg) { s32 t; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { t = func_8012C658(0x33, 3, (s32)p); if (t != 0) { *(s16 *)(t + 0x12) = 4; @@ -10707,11 +10707,11 @@ void func_8018E70C(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -10722,14 +10722,14 @@ void func_8018E70C(void *arg) { i++; } while (i < 8); - t = *(s32 *)(p + 0x64); - if (*(s16 *)(t + 0x36) == *(s16 *)(p + 0xFC)) { + t = ((Unkstruct_800B5CB8 *)p)->unk64; + if (*(s16 *)(t + 0x36) == ((Unkstruct_800B5CB8 *)p)->unkFC) { *(s32 *)(t + 0xCC) = 0; } - L.rv[0] = *(s32 *)(*(s32 *)(p + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(p + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(p + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -10747,10 +10747,10 @@ void func_8018E70C(void *arg) { } func_8012C218((void *)p); } else { - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } @@ -10818,39 +10818,39 @@ void func_8018EB08(void *arg) { s32 iv; p = (u8 *)arg; - e = *(u8 *)(p + 0x5E); + e = ((Unkstruct_800B5CB8 *)p)->unk5E; - if (*(s16 *)(p + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk60 != 0) { if (e == 0x1D) { - *(u16 *)(p + 0x82) = 0; - *(u16 *)(p + 0x7C) = *(u16 *)(p + 0x06); - *(u16 *)(p + 0x7E) = *(u16 *)(p + 0x0A); - *(u16 *)(p + 0x80) = *(u16 *)(p + 0x0E); + ((Unkstruct_800B5CB8 *)p)->unk82 = 0; + ((Unkstruct_800B5CB8 *)p)->unk7C = ((Unkstruct_800B5CB8 *)p)->unk6; + ((Unkstruct_800B5CB8 *)p)->unk7E = ((Unkstruct_800B5CB8 *)p)->unkA; + ((Unkstruct_800B5CB8 *)p)->unk80 = ((Unkstruct_800B5CB8 *)p)->unkE; } { s32 dec; - s32 q = *(s32 *)(p + 0x78); - if (q != 0 && *(s16 *)(p + 0x60) != 0) { - dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12; + s32 q = ((Unkstruct_800B5CB8 *)p)->unk78; + if (q != 0 && ((Unkstruct_800B5CB8 *)p)->unk60 != 0) { + dec = ((s32)((Unkstruct_800B5CB8 *)p)->unk60 * (s32)*(s16 *)(q + 0x30)) >> 12; if (dec < 1) dec = 1; } else { - dec = *(s16 *)(p + 0x60); + dec = ((Unkstruct_800B5CB8 *)p)->unk60; } - *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec; + ((Unkstruct_800B5CB8 *)p)->unk76 = CAST_SIGN(u16, p, 0x76) - dec; ((void (*)(void *, s32))func_8016AA50)(p, dec); } - if (*(u16 *)(p + 0x82) & 1) { + if (CAST_SIGN(u16, p, 0x82) & 1) { ((void (*)(void *))func_8016B428)(p); func_80019064(&D_801CC7E4); } } if (e != 0x1D) { - if (*(u8 *)(p + 0xC8)) func_8002A520(p); - if (*(u8 *)(p + 0xC9)) func_8002A790(p); + if (((Unkstruct_800B5CB8 *)p)->unkC8) func_8002A520(p); + if (((Unkstruct_800B5CB8 *)p)->unkC9) func_8002A790(p); } - if (*(s16 *)(p + 0x76) < 0) { + if (((Unkstruct_800B5CB8 *)p)->unk76 < 0) { i = 0; do { iv = ((s32 (*)(s32, void *))func_8012C588)(0x281, p); @@ -10869,11 +10869,11 @@ void func_8018EB08(void *arg) { s32 r; s32 sv; r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(p + 0x06) + (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)p)->unk6 + (r & 0x3F) - 0x20; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(p + 0x0A) - (r & 0x3F) - 0x20; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)p)->unkA - (r & 0x3F) - 0x20; r = rand(); - sv = *(u16 *)(p + 0x0E); + sv = ((Unkstruct_800B5CB8 *)p)->unkE; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; *(s32 *)(iv + 0x10) = 0; @@ -10887,7 +10887,7 @@ void func_8018EB08(void *arg) { { s32 q; s32 sv; - iv = *(s32 *)(p + 0x64); + iv = ((Unkstruct_800B5CB8 *)p)->unk64; sv = *(s32 *)(iv + 0x20); q = iv; *(u16 *)(q + 0x5C) = 1; @@ -10902,10 +10902,10 @@ void func_8018EB08(void *arg) { func_8012C218(p); } else { func_8002D4C8(0x9B7, 0); - *(u16 *)(p + 0x5C) = 0x8800; - *(u16 *)(p + 0x60) = 0; - *(u8 *)(p + 0xC1) = 0; - *(u8 *)(p + 0xC2) = 0x10; + ((Unkstruct_800B5CB8 *)p)->unk5C = 0x8800; + ((Unkstruct_800B5CB8 *)p)->unk60 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC1 = 0; + ((Unkstruct_800B5CB8 *)p)->unkC2 = 0x10; } } diff --git a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c index c4e7313b37..8c0383fdca 100644 --- a/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c +++ b/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c @@ -2791,7 +2791,7 @@ void func_8017D1F8(s32 a0) { extern void (*D_80195264[])(void); void func_8017D354(void *a0) { - D_80195264[*(u16 *)((s32)a0 + 0x2)](); + D_80195264[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3247,7 +3247,7 @@ void func_8017DD88(void) { extern void (*D_801952FC[])(void); void func_8017DDC4(void *a0) { - D_801952FC[*(u16 *)((s32)a0 + 0x2)](); + D_801952FC[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -3261,17 +3261,17 @@ void func_8017DE00(s32 param_1) s32 r0; s32 r1; - v0 = *(u16 *)(param_1 + 0xFC); - v1 = *(u16 *)(param_1 + 0x70); - *(u32 *)(param_1 + 0xDC) = 0; - *(u32 *)(param_1 + 0xE0) = 0; - *(u32 *)(param_1 + 0xE4) = 0; - *(u16 *)(param_1 + 0x100) = v0; - *(u16 *)(param_1 + 0x102) = v1; + v0 = CAST_SIGN(u16, param_1, 0xFC); + v1 = CAST_SIGN(u16, param_1, 0x70); + ((Unkstruct_800B5CB8 *)param_1)->unkDC = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE0 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkE4 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk100 = v0; + ((Unkstruct_800B5CB8 *)param_1)->unk102 = v1; r0 = rand(); r1 = rand(); - *(u16 *)(param_1 + 0xFE) = (r0 & 0x1F) + (r1 & 0x1F) + 0x3C; - *(u16 *)(param_1 + 0x104) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (r0 & 0x1F) + (r1 & 0x1F) + 0x3C; + ((Unkstruct_800B5CB8 *)param_1)->unk104 = 0; func_8012AD50((void *)param_1); } @@ -3285,20 +3285,20 @@ void func_8017DE74(s32 arg0) { s32 v1; s16 temp; - temp = *(s16 *)(arg0 + 0xFE); + temp = ((Unkstruct_800B5CB8 *)arg0)->unkFE; if (temp == 0) { - sp14 = *(s32 *)(arg0 + 0xDC); - *(s32 *)(arg0 + 0xE0) = *(s32 *)(arg0 + 0xE0) + 11; - v1 = func_8004787C(*(s32 *)(arg0 + 0xE0)) * 48 / 4096; - if (*(s32 *)(arg0 + 0xE0) >= 0x800) { + sp14 = ((Unkstruct_800B5CB8 *)arg0)->unkDC; + ((Unkstruct_800B5CB8 *)arg0)->unkE0 = ((Unkstruct_800B5CB8 *)arg0)->unkE0 + 11; + v1 = func_8004787C(((Unkstruct_800B5CB8 *)arg0)->unkE0) * 48 / 4096; + if (((Unkstruct_800B5CB8 *)arg0)->unkE0 >= 0x800) { func_8012AD44((s32 *)arg0, 0); return; } func_8017DFE8(arg0, (void *)sp14, v1 | ((v1 << 16) | (v1 << 8))); } else { - *(s16 *)(arg0 + 0xFE) = temp - 1; + ((Unkstruct_800B5CB8 *)arg0)->unkFE = temp - 1; } - if (*(s16 *)(arg0 + 0x104) != 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk104 != 0) { func_8012AD44((s32 *)arg0, 2); } } @@ -3314,12 +3314,12 @@ void func_8017DF44(s32 a0) { s32 saved; s32 ang; - saved = *(s32 *)(a0 + 0xDC); - ang = (s16)func_80012F74(*(s16 *)(a0 + 0xE0), 0, 10, 1); - *(s32 *)(a0 + 0xE0) = ang; + saved = ((Unkstruct_800B5CB8 *)a0)->unkDC; + ang = (s16)func_80012F74(CAST_WIDTH(s16, a0, 0xE0), 0, 10, 1); + ((Unkstruct_800B5CB8 *)a0)->unkE0 = ang; col = func_8004787C(ang) * 0x30 / 0x1000; func_8017DFE8(a0, saved, col | ((col << 0x10) | (col << 8))); - if (*(s16 *)(a0 + 0x104) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk104 == 0) { func_8012AD44((s32 *)a0, 0); } } @@ -3450,50 +3450,50 @@ void func_8017E224(s32 a0) s32 v1; s32 t; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: s0 = func_8012C658(0x263, 1, a0); if (s0 != 0) { *(u16 *)(s0 + 0xFC) = 0x60; - *(s32 *)(a0 + 0xCC) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkCC = s0; t = *(u16 *)(s0 + 0x36); - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0x10A) = t; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk10A = t; } func_8002D4C8(0xB23, 0); break; case 1: - v0 = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; if ((s16)v0 < -0x3DF) { - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } - v0 = *(u16 *)(a0 + 0xA) - 0x20; - s0 = *(s32 *)(a0 + 0xCC); + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(u16 *)(s0 + 0xA) = v0; break; case 2: - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; v0 = -0x18; *(u16 *)(s0 + 0x16) = v0; v0 = 8; *(u16 *)(s0 + 0x12) = v0; v0 = 3; - *(u16 *)(a0 + 0x34) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = v0; break; case 3: - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (((s32 (*)(s32))func_8012CBCC)(s0) != 0 || *(s16 *)(s0 + 0xFC) == 0) { - *(u16 *)(a0 + 0x34) = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; func_8002D4C8(0xB24, 0); } break; case 4: - v0 = *(u16 *)(a0 + 0xA) + 4; - *(u16 *)(a0 + 0xA) = v0; - if ((s16)v0 - *(s16 *)(a0 + 0x8A) >= 0xC0) { - *(u16 *)(a0 + 0x2) = 3; - *(u16 *)(a0 + 0x34) = 0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA + 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; + if ((s16)v0 - CAST_SIGN(s16, a0, 0x8A) >= 0xC0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } break; } @@ -3501,10 +3501,10 @@ void func_8017E224(s32 a0) if (((s32 (*)(s32))func_8012BE54)(a0) <= 0x9000) { s0 = func_8012B8A4((s16 *)a0); v1 = func_8004787C(s0); - v0 = *(s32 *)(a0 + 4) - (v1 + v1 * 2) * 0x400; + v0 = CAST_WIDTH(s32, a0, 4) - (v1 + v1 * 2) * 0x400; *(s32 *)&D_80126B5C = v0; v1 = func_80047948(s0); - v0 = *(s32 *)(a0 + 0xC) - (v1 + v1 * 2) * 0x400; + v0 = CAST_WIDTH(s32, a0, 0xC) - (v1 + v1 * 2) * 0x400; D_80126B64 = v0; } } @@ -3527,42 +3527,42 @@ void func_8017E3EC(s32 a0) s32 v0; s32 v1; - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: s0 = func_8012C658(0x263, 1, a0); if (s0 != 0) { *(u16 *)(s0 + 0xFC) = 0x60; - *(s32 *)(a0 + 0xD0) = s0; + ((Unkstruct_800B5CB8 *)a0)->unkD0 = s0; v1 = *(u16 *)(s0 + 0x36); - *(u16 *)(a0 + 0x34) = 1; - *(u16 *)(a0 + 0x108) = v1; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 1; + ((Unkstruct_800B5CB8 *)a0)->unk108 = v1; func_8002D4C8(0xB23, 0); } break; case 1: - v0 = *(u16 *)(a0 + 0xA) - 4; - *(u16 *)(a0 + 0xA) = v0; + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + ((Unkstruct_800B5CB8 *)a0)->unkA = v0; if ((s16)v0 < -0x3DF) { - *(u16 *)(a0 + 0x34) = 2; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; } - v0 = *(u16 *)(a0 + 0xA) - 0x20; - s0 = *(s32 *)(a0 + 0xD0); + v0 = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x20; + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(u16 *)(s0 + 0xA) = v0; break; case 2: - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; v0 = -0x18; *(u16 *)(s0 + 0x16) = v0; v0 = -8; *(u16 *)(s0 + 0x12) = v0; v0 = 3; - *(u16 *)(a0 + 0x34) = v0; + ((Unkstruct_800B5CB8 *)a0)->unk34 = v0; break; case 3: - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (((s32 (*)(s32))func_8012CBCC)(s0) != 0 || *(s16 *)(s0 + 0xFC) == 0) { - *(u16 *)(a0 + 0x2) = 4; - *(u16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } break; } @@ -3570,10 +3570,10 @@ void func_8017E3EC(s32 a0) if (((s32 (*)(s32))func_8012BE54)(a0) <= 0x9000) { s0 = func_8012B8A4((s16 *)a0); v1 = func_8004787C(s0); - v0 = *(s32 *)(a0 + 4) - (v1 + v1 * 2) * 0x400; + v0 = CAST_WIDTH(s32, a0, 4) - (v1 + v1 * 2) * 0x400; *(s32 *)&D_80126B5C = v0; v1 = func_80047948(s0); - v0 = *(s32 *)(a0 + 0xC) - (v1 + v1 * 2) * 0x400; + v0 = CAST_WIDTH(s32, a0, 0xC) - (v1 + v1 * 2) * 0x400; D_80126B64 = v0; } } @@ -3612,14 +3612,14 @@ void func_8017E60C(s32 param_1) { v0 = func_8012C354(param_1, D_80195318); if (v0 != 0) { - *(u8 *)(param_1 + 0xc0) = 1; - *(s32 *)(param_1 + 0xb4) = -1; - *(s16 *)(param_1 + 0xae) = -1; - *(s16 *)(param_1 + 2) = 1; - *(u8 *)(param_1 + 0x75) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -1; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = -1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk75 = 0; func_8012A828(param_1, D_80195358); func_8012B2CC(param_1); - *(u32 *)(*(s32 *)(param_1 + 0x20) + 4) |= 0x80000000; + *(u32 *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 4) |= 0x80000000; } } @@ -3744,8 +3744,8 @@ void func_8017E8B0(s32 param_1) } } - cnt = *(u8 *)(param_1 + 0xde); - *(u8 *)(param_1 + 0xde) = cnt + 0xff; + cnt = CAST_SIGN(u8, param_1, 0xde); + ((Unkstruct_80126B58 *)param_1)->unkDE = cnt + 0xff; if (cnt == 0) { func_8017EA0C(param_1); func_80159B3C((void *)param_1); @@ -3799,8 +3799,8 @@ void func_8017EA0C(s32 a0) { func_80147364(4, 0x92F); func_80147324(0x930); - func_8014BC44(a0, *(s16 *)(a0 + 0xF2)); - *(u8 *)(a0 + 0xA8) = 0x20; + func_8014BC44(a0, ((Unkstruct_80126B58 *)a0)->unkF2); + ((Unkstruct_80126B58 *)a0)->unkA8 = 0x20; ((void (*)(s32))func_80151664)(a0); } @@ -3852,7 +3852,7 @@ done: extern void (*D_801953D0[])(void); void func_8017EAC8(void *a0) { - D_801953D0[*(u16 *)((s32)a0 + 0x2)](); + D_801953D0[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4023,7 +4023,7 @@ s32 func_8017ED0C(s32 *a0, s32 a1) { extern void (*D_80195408[])(void); void func_8017ED74(void *a0) { - D_80195408[*(u16 *)((s32)a0 + 0x2)](); + D_80195408[((Unkstruct_80126B58 *)a0)->unk2](); } @@ -4032,9 +4032,9 @@ extern void func_80146E90(s32 *a0, s32 a1); void func_8017EDB0(s32 param_1) { u8 pad[0x28]; - func_801495C4(*(s32 *)(param_1 + 0x34), param_1 + 0x4); + func_801495C4(((Unkstruct_80126B58 *)param_1)->unk34, param_1 + 0x4); func_80146E90((s32 *)param_1, 3); - *(u16 *)(param_1 + 0x2) = *(u16 *)(param_1 + 0x2) + 1; + ((Unkstruct_80126B58 *)param_1)->unk2 = ((Unkstruct_80126B58 *)param_1)->unk2 + 1; } @@ -4228,29 +4228,29 @@ int func_8017F32C(int param_1, short param_2) SVECTOR sv1; SVECTOR sv2; - if (*(int *)(param_1 + 0xdc) != 0) goto ret0; - sv1.vx = *(short *)(param_1 + 6); - sv1.vy = *(short *)(param_1 + 0xa) + -0x20; - sv1.vz = *(short *)(param_1 + 0xe); - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + if (((Unkstruct_800B5CB8 *)param_1)->unkDC != 0) goto ret0; + sv1.vx = CAST_SIGN(short, param_1, 6); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x20; + sv1.vz = CAST_SIGN(short, param_1, 0xe); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); iVar3 = (int)param_2; sv2.vy = sv1.vy; sv2.vx = sv1.vx - (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); sv2.vz = sv1.vz - (short)(iVar1 * iVar3 >> 0xc); uVar2 = ((int (*)(int, SVECTOR *, SVECTOR *))func_80133784)(1, &sv1, &sv2); if ((uVar2 & 0x8000) != 0) { - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 6) = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - *(short *)(param_1 + 0xe) = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unk6 = sv2.vx + (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + ((Unkstruct_800B5CB8 *)param_1)->unkE = sv2.vz + (short)(iVar1 * iVar3 >> 0xc); return 1; } - iVar1 = func_8004787C(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vx = *(short *)(param_1 + 6) - (short)(iVar1 * iVar3 >> 0xc); - sv1.vy = *(short *)(param_1 + 0xa) + -0x10; - iVar1 = func_80047948(*(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) & 0xfff); - sv1.vz = *(short *)(param_1 + 0xe) - (short)(iVar1 * iVar3 >> 0xc); + iVar1 = func_8004787C(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vx = CAST_SIGN(short, param_1, 6) - (short)(iVar1 * iVar3 >> 0xc); + sv1.vy = CAST_SIGN(short, param_1, 0xa) + -0x10; + iVar1 = func_80047948(*(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) & 0xfff); + sv1.vz = CAST_SIGN(short, param_1, 0xe) - (short)(iVar1 * iVar3 >> 0xc); sv2.vx = sv1.vx; sv2.vy = sv1.vy + 0x20; sv2.vz = sv1.vz; @@ -4259,9 +4259,9 @@ int func_8017F32C(int param_1, short param_2) ret0: return 0; docopy: - *(int *)(param_1 + 4) = *(int *)(param_1 + 0x38); - *(int *)(param_1 + 8) = *(int *)(param_1 + 0x3c); - *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0x40); + CAST_WIDTH(int, param_1, 4) = CAST_WIDTH(int, param_1, 0x38); + CAST_WIDTH(int, param_1, 8) = *(int *)(param_1 + 0x3c); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(param_1 + 0x40); return 1; } @@ -4329,7 +4329,7 @@ void func_8017F53C(s32 a0) g = D_801151D4; - if (*(s16 *)(a0 + 0xFC) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(u16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -4349,10 +4349,10 @@ void func_8017F53C(s32 a0) } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0xCC); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkCC; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; - s0 = *(s32 *)(a0 + 0xD0); + s0 = ((Unkstruct_800B5CB8 *)a0)->unkD0; *(s16 *)(s0 + 0x2) = 2; *(s16 *)(s0 + 0xFC) = 1; @@ -4367,9 +4367,9 @@ void func_8017F53C(s32 a0) } } - L.rv[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.rv[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.rv[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.rv[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.rv[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.rv[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.rv, (s32)L.sxy, &L.z, &L.flag); @@ -4398,11 +4398,11 @@ void func_8017F53C(s32 a0) } else { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0xE0; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0xE0; { s32 r = rand(); - s32 t = *(u16 *)(a0 + 0xE); + s32 t = ((Unkstruct_800B5CB8 *)a0)->unkE; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -4419,7 +4419,7 @@ void func_8017F53C(s32 a0) *(s16 *)(s0 + 0x34) = 0x3000; func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) - 1; } } @@ -4459,23 +4459,23 @@ void func_8017F940(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; if (*(short *)(param_1 + 0xe2) == 0) { *(short *)(param_1 + 0xe2) = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -4496,8 +4496,8 @@ void func_8017F940(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -4538,42 +4538,42 @@ void func_8017FAB4(int param_1) { iVar1 = func_8012C354(param_1, D_801A7C94); if (iVar1 != 0) { - if (*(short *)(param_1 + 0x70) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk70 != 0) { func_800599B8(D_801A7BD8, D_801A7B98); func_800599B8(D_801A7BE0, D_801A7BB8); - func_8001C214(*(int *)(param_1 + 0x20), D_801ABF00); + func_8001C214(((Unkstruct_800B5CB8 *)param_1)->unk20, D_801ABF00); } - *(u8 *)(param_1 + 0xc0) = 1; - *(int *)(param_1 + 0xb4) = 0xffffdfde; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = 0xffffdfde; func_80143970(param_1); func_8012B030(param_1); - *(short *)(param_1 + 0xae) = 0x2100; + ((Unkstruct_800B5CB8 *)param_1)->unkAE = 0x2100; func_8012A828(param_1, D_801AF1B0); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = CAST_SIGN(u16, param_1, 2) + 1; func_8012B23C(param_1); - *(u32 *)(param_1 + 0xc4) = *(u32 *)(param_1 + 0xc4) | 2; - iVar1 = func_8012C658(0x26f, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkC4 = CAST_SIGN(u32, param_1, 0xc4) | 2; + iVar1 = func_8012C658(0x26f, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) { - *(int *)(param_1 + 0xcc) = iVar1; - iVar1 = func_8012C658(0x270, (int)*(short *)(param_1 + 0x70), param_1); + ((Unkstruct_800B5CB8 *)param_1)->unkCC = iVar1; + iVar1 = func_8012C658(0x270, (int)((Unkstruct_800B5CB8 *)param_1)->unk70, param_1); if (iVar1 != 0) goto big; - func_8012C218(*(int *)(param_1 + 0xcc)); + func_8012C218(((Unkstruct_800B5CB8 *)param_1)->unkCC); } func_8012CAE4(param_1); } return; big: - *(int *)(param_1 + 0xd0) = iVar1; - *(u32 *)(param_1 + 0xbc) = (u32)D_801A7CD4; - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) = - *(u16 *)(*(int *)(param_1 + 0x20) + 0x2c) | 0x10; - *(short *)(*(int *)(param_1 + 0x20) + 0x18) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1a) = 0x2400; - *(short *)(*(int *)(param_1 + 0x20) + 0x1c) = 0x2400; - *(u16 *)(param_1 + 2) = 8; + ((Unkstruct_800B5CB8 *)param_1)->unkD0 = iVar1; + ((Unkstruct_800B5CB8 *)param_1)->unkBC = (u32)D_801A7CD4; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C = + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(int *)(param_1 + 0x20))->unk1A = 0x2400; + *(short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x1c) = 0x2400; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 8; func_8012A828(param_1, D_801AF018); - func_8012A828(*(int *)(param_1 + 0xcc), D_801AF0A0); - func_8012A828(*(int *)(param_1 + 0xd0), D_801AF128); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkCC, D_801AF0A0); + func_8012A828(((Unkstruct_800B5CB8 *)param_1)->unkD0, D_801AF128); return; } @@ -4646,18 +4646,18 @@ void func_8017FC64(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); func_8012CBCC(a0); - switch (*(u16 *)(a0 + 0x34)) { + switch (((Unkstruct_800B5CB8 *)a0)->unk34) { case 0: if (func_8017F32C(a0, 0x48) != 0 || ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) > 0x3FFFF) { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; ((void (*)(s32, s32))func_8012B1B4)(a0, tbl); } else { goto set1; @@ -4674,21 +4674,21 @@ void func_8017FC64(s32 a0) { case 2: { s32 r = func_8012B608( - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 + r; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 & 0xFFF; } func_8017F32C(a0, 0x48); { - s16 c = *(s16 *)(a0 + 0x102); + s16 c = ((Unkstruct_800B5CB8 *)a0)->unk102; if (c == 0) { ns = 3; goto setstate; } - *(s16 *)(a0 + 0x102) = c - 1; + ((Unkstruct_800B5CB8 *)a0)->unk102 = c - 1; } break; @@ -4697,7 +4697,7 @@ void func_8017FC64(s32 a0) { s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88); if (func_8017F32C(a0, 0x48) == 0) { if (ret > 0x40000) { - ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), + ret = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12), func_8012B744((void *)(a0 + 4), p88), 1); if (ret >= -0xFF && ret <= 0xFF) { break; @@ -4709,24 +4709,24 @@ void func_8017FC64(s32 a0) { } /* fall through into st2 */ st2: - *(u16 *)(a0 + 0x34) = 2; - *(u16 *)(a0 + 0x102) = (rand() & 7) + 8; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 2; + ((Unkstruct_800B5CB8 *)a0)->unk102 = (rand() & 7) + 8; break; set1: ns = 1; setstate: - *(u16 *)(a0 + 0x34) = ns; + ((Unkstruct_800B5CB8 *)a0)->unk34 = ns; break; } { - s16 t = *(s16 *)(a0 + 0x100); + s16 t = ((Unkstruct_800B5CB8 *)a0)->unk100; if (t != 0) { - *(s16 *)(a0 + 0x100) = t - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = t - 1; } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) { - *(s16 *)(a0 + 0x2) = 5; - *(s16 *)(a0 + 0x100) = 0x3C; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 5; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; } } } @@ -4789,20 +4789,20 @@ void func_8017FEF0(s32 a0) { s32 c; s32 p; - if (*(s16 *)(a0 + 0x98) == 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk98 == 0) { s32 spr = (s32)func_8012913C(0x7F); if (spr != 0) { - m = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) - + (func_8004787C(*(s16 *)(a0 + 0x104)) >> 3); - *(s16 *)(spr + 0x6) = *(u16 *)(a0 + 0x6) - (func_8004787C(m) * 0x6C) / 0x1000; - *(s16 *)(spr + 0xA) = *(u16 *)(a0 + 0xA) - 0x34; - *(s16 *)(spr + 0xE) = *(u16 *)(a0 + 0xE) - (func_80047948(m) * 0x6C) / 0x1000; - *(s32 *)(spr + 0x14) = 0x40000; - *(s32 *)(spr + 0x10) = -(func_8004787C(m) * 0xC0); - *(s32 *)(spr + 0x18) = -(func_80047948(m) * 0xC0); + m = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) + + (func_8004787C(((Unkstruct_800B5CB8 *)a0)->unk104) >> 3); + ((Unkstruct_800B5CB8 *)spr)->unk6 = ((Unkstruct_800B5CB8 *)a0)->unk6 - (func_8004787C(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 0x34; + ((Unkstruct_800B5CB8 *)spr)->unkE = ((Unkstruct_800B5CB8 *)a0)->unkE - (func_80047948(m) * 0x6C) / 0x1000; + ((Unkstruct_800B5CB8 *)spr)->unk14 = 0x40000; + CAST_WIDTH(s32, spr, 0x10) = -(func_8004787C(m) * 0xC0); + CAST_WIDTH(s32, spr, 0x18) = -(func_80047948(m) * 0xC0); } - t = *(u16 *)(a0 + 0x104) + 0x100; - *(s16 *)(a0 + 0x104) = t; + t = CAST_SIGN(u16, a0, 0x104) + 0x100; + ((Unkstruct_800B5CB8 *)a0)->unk104 = t; ang = (s16)t; idx = ang / 0x100; m = (s16)(idx % 0x10); @@ -4811,29 +4811,29 @@ void func_8017FEF0(s32 a0) { } else if (m == 0) { RTP_SND(0x960) // !FAKE: instruction via RTP_SND — REFUSED macro-carried instruction: the lever is inside `#define RTP_SND` with real code around it (T5) (P36 rung B tus9) } - *(s32 *)(*(s32 *)(a0 + 0x20) + 0x20) = D_801A7B58[m]; - c = *(u16 *)(a0 + 0x100) - 1; - *(s16 *)(a0 + 0x100) = c; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk20 = D_801A7B58[m]; + c = CAST_SIGN(u16, a0, 0x100) - 1; + ((Unkstruct_800B5CB8 *)a0)->unk100 = c; if ((s16)c == 0) { - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 0x98) = 1; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 1; if (p != 0) { *(s16 *)(p + 0x98) = 1; } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { *(s16 *)(p + 0x98) = 1; } } - } else if ((*(u16 *)(a0 + 0x72) & 0x4000) != 0) { - *(s16 *)(a0 + 0x2) = 7; - *(s16 *)(a0 + 0x100) = 0x3C; + } else if ((((Unkstruct_800B5CB8 *)a0)->unk72 & 0x4000) != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 7; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x3C; func_8012A828(a0, D_801AF018); - p = *(s32 *)(a0 + 0xCC); + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; if (p != 0) { func_8012A828(p, D_801AF0A0); } - p = *(s32 *)(a0 + 0xD0); + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; if (p != 0) { func_8012A828(p, D_801AF128); } @@ -4865,31 +4865,31 @@ void func_801803B4(s32 a0) { s16 hp; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp < 0x301) { s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + total; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + total; } else { - p = *(s32 *)(a0 + 0xD0); - *(s16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = 3; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkD0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = 3; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -4974,7 +4974,7 @@ void func_80180584(s32 a0) { s32 state; s32 p; - hp = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + hp = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (hp >= 0xD00) { goto L_A; } @@ -4988,31 +4988,31 @@ L_A: s32 count; s32 total; - count = *(u16 *)(a0 + 0xFC); - total = *(u16 *)(a0 + 0xFE); + count = CAST_SIGN(u16, a0, 0xFC); + total = CAST_SIGN(u16, a0, 0xFE); count = count + 1; total = total + count; - *(u16 *)(a0 + 0xFC) = count; - *(u16 *)(a0 + 0xFE) = total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - total; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + ((Unkstruct_800B5CB8 *)a0)->unkFC = count; + ((Unkstruct_800B5CB8 *)a0)->unkFE = total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - total; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; } goto L_end; L_B: - p = *(s32 *)(a0 + 0xCC); - *(s16 *)(a0 + 2) = state; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x98) = 0; - *(s16 *)(p + 2) = state; - *(s32 *)(p + 0x1C) = 0x1E; - *(s16 *)(p + 0x98) = 0; + p = ((Unkstruct_800B5CB8 *)a0)->unkCC; + ((Unkstruct_800B5CB8 *)a0)->unk2 = state; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk2 = state; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; { void *r4; r4 = &D_800AF648; func_8004914C(r4); } { void *r4; r4 = &D_800AF648_b; func_800491AC(r4); } RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5063,15 +5063,15 @@ void func_80180774(s32 a0) s32 flag; /* sp+0x20 */ } L; - D_801A7D04[*(u16 *)(a0 + 0x2)](); + D_801A7D04[CAST_SIGN(u16, a0, 0x2)](); - if (*(u16 *)(a0 + 0x0) != 0) { - if (*(s16 *)(a0 + 0x70) == 0 && func_8012C044(a0) != 0) { - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012C218(*(void **)(a0 + 0xCC)); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unk70 == 0 && func_8012C044(a0) != 0) { + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xCC)); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012C218(*(void **)(a0 + 0xD0)); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012C218(CAST_SIGN(void *, a0, 0xD0)); } func_8012C098((void *)a0); } else { @@ -5082,11 +5082,11 @@ void func_80180774(s32 a0) v = v - 1; *(s16 *)(a0 + 0xE2) = v; if (v == 0) { - *(u16 *)(a0 + 0x5C) &= 0xBFFF; + ((Unkstruct_800B5CB8 *)a0)->unk5C &= 0xBFFF; } } - if ((*(s16 *)(a0 + 0x76) < 5) && ((rand() & 3) == 0)) { + if ((((Unkstruct_800B5CB8 *)a0)->unk76 < 5) && ((rand() & 3) == 0)) { s32 iVar2 = ((s32 (*)(s32, s32))func_80143C74)(a0, 0); s32 r; @@ -5106,17 +5106,17 @@ void func_80180774(s32 a0) } } - if (*(u16 *)(a0 + 0x2) != 1 && *(u16 *)(a0 + 0x2) != 5) { - *(s16 *)(a0 + 0x84) = 0xE; + if (CAST_SIGN(u16, a0, 0x2) != 1 && CAST_SIGN(u16, a0, 0x2) != 5) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; } else { - if (*(s16 *)(a0 + 0x84) != 0) { - *(s16 *)(a0 + 0x84) = *(s16 *)(a0 + 0x84) - 1; + if (((Unkstruct_800B5CB8 *)a0)->unk84 != 0) { + ((Unkstruct_800B5CB8 *)a0)->unk84 = ((Unkstruct_800B5CB8 *)a0)->unk84 - 1; } else { - *(s16 *)(a0 + 0x84) = 0xE; + ((Unkstruct_800B5CB8 *)a0)->unk84 = 0xE; - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5171,34 +5171,34 @@ void func_80180A8C(int param_1) int unaff_s1; cVar1 = *(unsigned char *)(param_1 + 0x5e); - *(char *)(param_1 + 0xc1) = 0; - *(short *)(param_1 + 0x5e) = 0; + ((Unkstruct_800B5CB8 *)param_1)->unkC1 = 0; + CAST_WIDTH(short, param_1, 0x5e) = 0; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) & 0xfffe; - if (*(short *)(param_1 + 0xfc) == 0) { - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x64) + 4); - *(int *)(param_1 + 8) = *(int *)(*(int *)(param_1 + 0x64) + 8); - *(int *)(param_1 + 0xc) = *(int *)(*(int *)(param_1 + 0x64) + 0xc); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x10); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x12); - *(unsigned short *)(*(int *)(param_1 + 0x20) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x64) + 0x20) + 0x14); + if (((Unkstruct_800B5CB8 *)param_1)->unkFC == 0) { + CAST_WIDTH(int, param_1, 4) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 4); + CAST_WIDTH(int, param_1, 8) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 8); + CAST_WIDTH(int, param_1, 0xc) = *(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0xc); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x10) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x10); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x12) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x12); + *(unsigned short *)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x14) = + *(unsigned short *)(*(int *)(((Unkstruct_800B5CB8 *)param_1)->unk64 + 0x20) + 0x14); } - if (*(short *)(param_1 + 0x102) == 0) { - *(short *)(param_1 + 0x102) = 10; + if (((Unkstruct_800B5CB8 *)param_1)->unk102 == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk102 = 10; *(unsigned short *)(param_1 + 0x5c) = *(unsigned short *)(param_1 + 0x5c) | 0x4000; func_8002D4C8(0x9b7, 0); - if (*(short *)(param_1 + 0x60) != 0) { + if (((Unkstruct_800B5CB8 *)param_1)->unk60 != 0) { if (cVar1 == 0x1d) { - *(short *)(param_1 + 0x82) = 0; - *(short *)(param_1 + 0x7c) = *(unsigned short *)(param_1 + 6); - *(short *)(param_1 + 0x7e) = *(unsigned short *)(param_1 + 0xa); - *(short *)(param_1 + 0x80) = *(unsigned short *)(param_1 + 0xe); + ((Unkstruct_800B5CB8 *)param_1)->unk82 = 0; + ((Unkstruct_800B5CB8 *)param_1)->unk7C = *(unsigned short *)(param_1 + 6); + ((Unkstruct_800B5CB8 *)param_1)->unk7E = *(unsigned short *)(param_1 + 0xa); + ((Unkstruct_800B5CB8 *)param_1)->unk80 = *(unsigned short *)(param_1 + 0xe); } - if (*(int *)(param_1 + 0x78) != 0) { - unaff_s1 = (int)*(short *)(param_1 + 0x60) * - (int)*(short *)(*(int *)(param_1 + 0x78) + 0x30) >> 0xc; + if (((Unkstruct_800B5CB8 *)param_1)->unk78 != 0) { + unaff_s1 = (int)((Unkstruct_800B5CB8 *)param_1)->unk60 * + (int)*(short *)(((Unkstruct_800B5CB8 *)param_1)->unk78 + 0x30) >> 0xc; if (unaff_s1 < 1) { unaff_s1 = 1; } @@ -5219,8 +5219,8 @@ void func_80180A8C(int param_1) func_8002A790(param_1); } } - if (*(short *)(param_1 + 0x76) < 1) { - *(short *)(param_1 + 0x5c) = 0; + if (((Unkstruct_800B5CB8 *)param_1)->unk76 < 1) { + ((Unkstruct_800B5CB8 *)param_1)->unk5C = 0; func_80131E00(param_1, 6); } } @@ -5266,7 +5266,7 @@ void func_80180C84(s32 a0) { base = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { iv = func_8012C658(0x33, 3, a0); if (iv != 0) { *(u16 *)(iv + 0x0A) = *(u16 *)(iv + 0x0A) - 0x20; @@ -5287,11 +5287,11 @@ void func_80180C84(s32 a0) { func_8002AC00(0x22); - iv = *(s32 *)(a0 + 0x64); + iv = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(iv + 2) = 2; - iv = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0); + iv = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0); *(s16 *)(iv + 2) = 4; - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC) = 0; i = 0; do { @@ -5305,9 +5305,9 @@ void func_80180C84(s32 a0) { i++; } while (i < 8); - v18[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - v18[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - v18[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + v18[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + v18[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + v18[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)v18, (s32)&sxy, &z, &flag); @@ -5341,16 +5341,16 @@ void func_80180C84(s32 a0) { iv = (s32)func_8012913C(0x23); if (iv != 0) { r = rand(); - *(u16 *)(iv + 0x06) = *(u16 *)(a0 + 0x06) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x06) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (r & 0x7F) - 0x40; r = rand(); - *(u16 *)(iv + 0x0A) = *(u16 *)(a0 + 0x0A) + (r & 0x7F) - 0x80; + *(u16 *)(iv + 0x0A) = ((Unkstruct_800B5CB8 *)a0)->unkA + (r & 0x7F) - 0x80; r = rand(); - *(u16 *)(iv + 0x0E) = *(u16 *)(a0 + 0x0E) + (r & 0x7F) - 0x40; + *(u16 *)(iv + 0x0E) = ((Unkstruct_800B5CB8 *)a0)->unkE + (r & 0x7F) - 0x40; - t = func_80047948((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_80047948((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(s32 *)(iv + 0x04) = *(s32 *)(iv + 0x04) + (t << 10); - t = func_8004787C((s32) * (s16 *)(*(s32 *)(a0 + 0x20) + 0x12)); + t = func_8004787C((s32) * (s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)); *(u16 *)(iv + 0x34) = 0x1800; *(s32 *)(iv + 0x18) = 0; *(s32 *)(iv + 0x14) = 0; @@ -5369,7 +5369,7 @@ void func_80180C84(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(u16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -5401,34 +5401,34 @@ void func_801810CC(short *param_1) D_801A7D8C[*(unsigned short *)(param_1 + 1)](param_1); if (*(unsigned short *)param_1 != 0) { if (param_1[0x7e] == 0) { - *(int *)(param_1 + 2) = *(int *)(*(int *)(param_1 + 0x32) + 4); - *(int *)(param_1 + 4) = *(int *)(*(int *)(param_1 + 0x32) + 8); - *(int *)(param_1 + 6) = *(int *)(*(int *)(param_1 + 0x32) + 0xc); + CAST_MISALIGNED(int, param_1, 2) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 4); + *(int *)(param_1 + 4) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 8); + CAST_MISALIGNED(int, param_1, 6) = *(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0xc); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x10) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x10); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x10); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x12) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x12); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x12); *(unsigned short *)(*(int *)(param_1 + 0x10) + 0x14) = - *(unsigned short *)(*(int *)(*(int *)(param_1 + 0x32) + 0x20) + 0x14); + *(unsigned short *)(*(int *)(CAST_MISALIGNED(int, param_1, 0x32) + 0x20) + 0x14); } if ((param_1[0x3b] < 5) && ((rand() & 3) == 0) && ((iVar3 = func_80143C74(param_1, 0)) != 0)) { uVar2 = rand(); - *(int *)(iVar3 + 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 0x10) = ((uVar2 & 0x7ff) - 0x400) * 0x100; *(unsigned int *)(iVar3 + 0x14) = 0xfff00000; uVar2 = rand(); - *(int *)(iVar3 + 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; - *(int *)(iVar3 + 4) += + CAST_WIDTH(int, iVar3, 0x18) = ((uVar2 & 0x7ff) - 0x400) * 0x100; + CAST_WIDTH(int, iVar3, 4) += func_80047948((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; - *(int *)(iVar3 + 0xc) -= + CAST_WIDTH(int, iVar3, 0xc) -= func_8004787C((int)*(short *)(*(int *)(param_1 + 0x10) + 0x12)) * 0x400; uVar2 = rand(); - *(short *)(iVar3 + 6) -= 0x20; - *(short *)(iVar3 + 6) += (uVar2 & 0x3f); - *(short *)(iVar3 + 0xa) -= 0x40; + CAST_SIGN(short, iVar3, 6) -= 0x20; + CAST_SIGN(short, iVar3, 6) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xa) -= 0x40; uVar2 = rand(); - *(short *)(iVar3 + 0xe) -= 0x20; - *(short *)(iVar3 + 0xe) += (uVar2 & 0x3f); + CAST_SIGN(short, iVar3, 0xe) -= 0x20; + CAST_SIGN(short, iVar3, 0xe) += (uVar2 & 0x3f); } } return; @@ -5474,7 +5474,7 @@ void func_801812DC(s32 a0) { p = D_801151D4; - if (*(s16 *)(a0 + 0xFC) >= 0x1F) { + if (((Unkstruct_800B5CB8 *)a0)->unkFC >= 0x1F) { s0 = func_8012C658(0x33, 3, a0); if (s0 != 0) { *(s16 *)(s0 + 0xA) = *(u16 *)(s0 + 0xA) - 0x20; @@ -5493,9 +5493,9 @@ void func_801812DC(s32 a0) { *(s16 *)(s0 + 0x12) = *(u16 *)(s0 + 0x12) + 8; } func_8002AC00(0x22); - s0 = *(s32 *)(a0 + 0x64); + s0 = ((Unkstruct_800B5CB8 *)a0)->unk64; *(s16 *)(s0 + 0x2) = 4; - s0 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0xCC); + s0 = *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xCC); *(s16 *)(s0 + 0x2) = 4; for (i = 0; i < 8; i++) { @@ -5508,9 +5508,9 @@ void func_801812DC(s32 a0) { } } - L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48); - L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C); - L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50); + L.v[0] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk48; + L.v[1] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk4C; + L.v[2] = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk50; func_8004914C(&D_800AF648); func_800491AC(&D_800AF648_b); RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag); @@ -5534,7 +5534,7 @@ void func_801812DC(s32 a0) { } } - *(s32 *)(*(s32 *)(a0 + 0x64) + 0xD0) = 0; + *(s32 *)(((Unkstruct_800B5CB8 *)a0)->unk64 + 0xD0) = 0; func_8002A04C(a0); func_8012C218((void *)a0); return; @@ -5542,15 +5542,15 @@ void func_801812DC(s32 a0) { s0 = (s32)func_8012913C(0x23); if (s0 != 0) { - *(s16 *)(s0 + 0x6) = *(u16 *)(a0 + 0x6) + (rand() & 0x7F) - 0x40; - *(s16 *)(s0 + 0xA) = *(u16 *)(a0 + 0xA) + (rand() & 0x7F) - 0x80; - *(s16 *)(s0 + 0xE) = *(u16 *)(a0 + 0xE) + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0x6) = ((Unkstruct_800B5CB8 *)a0)->unk6 + (rand() & 0x7F) - 0x40; + *(s16 *)(s0 + 0xA) = ((Unkstruct_800B5CB8 *)a0)->unkA + (rand() & 0x7F) - 0x80; + *(s16 *)(s0 + 0xE) = ((Unkstruct_800B5CB8 *)a0)->unkE + (rand() & 0x7F) - 0x40; *(s32 *)(s0 + 0x4) = *(s32 *)(s0 + 0x4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; { - s32 t = func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x400; + s32 t = func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x400; *(s16 *)(s0 + 0x34) = 0x1800; *(s32 *)(s0 + 0x18) = 0; *(s32 *)(s0 + 0x14) = 0; @@ -5570,7 +5570,7 @@ void func_801812DC(s32 a0) { func_8002D4C8(0xAF8, 0); } - *(s16 *)(a0 + 0xFC) = *(u16 *)(a0 + 0xFC) + 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = CAST_SIGN(u16, a0, 0xFC) + 1; } @@ -5668,51 +5668,51 @@ void func_80181930(s32 arg0) { u8 *p; u16 sp[3]; - if (*(u16 *)(arg0 + 2) == 0) { - *(u8 **)(*(s32 *)(arg0 + 0x20) + 0x20) = &D_801A7BE8; - *(u32 *)(*(s32 *)(arg0 + 0x20) + 4) |= 0x50000000; - *(u8 *)(*(s32 *)(arg0 + 0x20) + 0x27) = 0x59; - func_80128EA8(*(s32 *)(arg0 + 0x20), arg0 + 0x24, (s32)&D_801A7BF4); + if (CAST_SIGN(u16, arg0, 2) == 0) { + *(u8 **)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x20) = &D_801A7BE8; + *(u32 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 4) |= 0x50000000; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk27 = 0x59; + func_80128EA8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24, (s32)&D_801A7BF4); rv = rand(); - *(s32 *)(arg0 + 0x1c) = 0x10; - *(s32 *)(arg0 + 0x2c) = 0x200; - *(s16 *)(arg0 + 0x28) = rv % 15; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = 0x1200; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = 0x1200; - *(u16 *)(arg0 + 2) = *(u16 *)(arg0 + 2) + 1; + ((Unkstruct_800B5CB8 *)arg0)->unk1C = 0x10; + CAST_WIDTH(s32, arg0, 0x2c) = 0x200; + ((Unkstruct_800B5CB8 *)arg0)->unk28 = rv % 15; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = 0x1200; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = 0x1200; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = CAST_SIGN(u16, arg0, 2) + 1; } else if (*(s16 *)&D_801270C0 == 1) { func_8012931C(arg0); - func_80128ED8(*(s32 *)(arg0 + 0x20), arg0 + 0x24); - *(s32 *)(arg0 + 0x1c) -= 1; + func_80128ED8(((Unkstruct_800B5CB8 *)arg0)->unk20, arg0 + 0x24); + ((Unkstruct_800B5CB8 *)arg0)->unk1C -= 1; if ((rand() & 7) == 0 && (p = func_8012913C(0x22)) != 0) { - *(u16 *)(p + 6) = *(u16 *)(arg0 + 6); - *(u16 *)(p + 0xa) = *(u16 *)(arg0 + 0xa); - *(u16 *)(p + 0xe) = *(u16 *)(arg0 + 0xe); - *(s32 *)(p + 0x10) = *(s32 *)(arg0 + 0x10) >> 3; - *(s32 *)(p + 0x14) = *(s32 *)(arg0 + 0x14) >> 3; - *(s32 *)(p + 0x18) = *(s32 *)(arg0 + 0x18) >> 3; - *(s16 *)(p + 0x34) = *(u16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + 1; - *(u16 *)(*(s32 *)(p + 0x20) + 0x2c) = 0xc008; + ((Unkstruct_800B5CB8 *)p)->unk6 = ((Unkstruct_800B5CB8 *)arg0)->unk6; + ((Unkstruct_800B5CB8 *)p)->unkA = ((Unkstruct_800B5CB8 *)arg0)->unkA; + ((Unkstruct_800B5CB8 *)p)->unkE = ((Unkstruct_800B5CB8 *)arg0)->unkE; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, arg0, 0x10) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk14 = ((Unkstruct_800B5CB8 *)arg0)->unk14 >> 3; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, arg0, 0x18) >> 3; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 + 1; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk2C = 0xc008; } - if (*(s32 *)(arg0 + 0x1c) == 0) { + if (((Unkstruct_800B5CB8 *)arg0)->unk1C == 0) { func_801292C8(arg0); } else { - *(s32 *)(arg0 + 0x14) = 0xffff0000; - iVar1 = *(s32 *)(arg0 + 0x2c) + 0x80; - *(s32 *)(arg0 + 0x2c) = iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x18) + (s16)iVar1; - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) = - *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1a) + (s16)*(s32 *)(arg0 + 0x2c); - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) - 0x20; - sp[0] = *(u16 *)(arg0 + 6); - sp[1] = *(u16 *)(arg0 + 0xa); - sp[2] = *(u16 *)(arg0 + 0xe); + ((Unkstruct_800B5CB8 *)arg0)->unk14 = 0xffff0000; + iVar1 = CAST_WIDTH(s32, arg0, 0x2c) + 0x80; + CAST_WIDTH(s32, arg0, 0x2c) = iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk18 = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x18) + (s16)iVar1; + ((Unkstruct_800B5CB8 *)*(s32 *)(arg0 + 0x20))->unk1A = + *(s16 *)(((Unkstruct_800B5CB8 *)arg0)->unk20 + 0x1a) + (s16)CAST_WIDTH(s32, arg0, 0x2c); + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) - 0x20; + sp[0] = ((Unkstruct_800B5CB8 *)arg0)->unk6; + sp[1] = ((Unkstruct_800B5CB8 *)arg0)->unkA; + sp[2] = ((Unkstruct_800B5CB8 *)arg0)->unkE; if (func_8012D664(sp, 0x10, 0xb4) == 1) { u16 *q = &D_80126B96; *q |= 0x4200; } - *(s16 *)(arg0 + 0xa) = *(s16 *)(arg0 + 0xa) + 0x20; + ((Unkstruct_800B5CB8 *)arg0)->unkA = CAST_SIGN(s16, arg0, 0xa) + 0x20; } } } @@ -5750,22 +5750,22 @@ void func_80181BD4(s32 a0) { ((void (*)(s32, s32))func_8012B1B4)(a0, (s32)D_801A7CF4); func_8012CBCC(a0); func_8017F32C(a0, 0x48); - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12) += func_8012B8E4(a0, 0x10); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) &= 0xFFF; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12) += func_8012B8E4(a0, 0x10); + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk12 &= 0xFFF; - *(u16 *)(a0 + 0x100) -= 1; - if (*(s16 *)(a0 + 0x100) == 0) { - *(s16 *)(a0 + 2) = 6; - *(u16 *)(a0 + 0x100) = 0x2D; - *(s32 *)(a0 + 0x1C) = 0; - *(s16 *)(a0 + 0x104) = 0; + CAST_SIGN(u16, a0, 0x100) -= 1; + if (((Unkstruct_800B5CB8 *)a0)->unk100 == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 6; + ((Unkstruct_800B5CB8 *)a0)->unk100 = 0x2D; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0; + ((Unkstruct_800B5CB8 *)a0)->unk104 = 0; func_8012A828(a0, D_801AF4B0); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801AF5A0); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801AF5A0); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801AF690); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801AF690); } } } @@ -5810,21 +5810,21 @@ void func_80181D74(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -5841,17 +5841,17 @@ void func_80181E34(s32 a0) { extern u8 D_801AF2B0[]; extern u8 D_801AF3B0[]; - if (*(s16 *)(a0 + 0xFC) == 0) { - *(u16 *)(a0 + 2) = 1; + if (((Unkstruct_800B5CB8 *)a0)->unkFC == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 1; func_8012A828(a0, D_801AF1B0); - if (*(s32 *)(a0 + 0xCC) != 0) { - func_8012A828(*(s32 *)(a0 + 0xCC), D_801AF2B0); + if (((Unkstruct_800B5CB8 *)a0)->unkCC != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkCC, D_801AF2B0); } - if (*(s32 *)(a0 + 0xD0) != 0) { - func_8012A828(*(s32 *)(a0 + 0xD0), D_801AF3B0); + if (((Unkstruct_800B5CB8 *)a0)->unkD0 != 0) { + func_8012A828(((Unkstruct_800B5CB8 *)a0)->unkD0, D_801AF3B0); } } else { - *(s16 *)(a0 + 0xFC) = *(s16 *)(a0 + 0xFC) - 1; + ((Unkstruct_800B5CB8 *)a0)->unkFC = ((Unkstruct_800B5CB8 *)a0)->unkFC - 1; } } @@ -5906,22 +5906,22 @@ s32 a0; v0 = func_8012C354(a0, (s32)D_801A7D38); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801ACC70); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801ACC70); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(s16 *)(a0 + 0xAE) = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; func_8012A828(a0, D_801AF2B0); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(void **)(a0 + 0xBC) = D_801A7D6C; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + CAST_SIGN(void *, a0, 0xBC) = D_801A7D6C; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -5937,24 +5937,24 @@ void func_80181FE4(s32 a0) { u16 cnt; u16 acc; - if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x14) < 0x401) { - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + if (*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) < 0x401) { + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) + acc; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 4; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) + - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) - - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x40; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) + acc; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 4; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) + + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) - + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x40; } else { - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; } func_8012B370(a0); } @@ -5971,21 +5971,21 @@ void func_801820B8(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6051,22 +6051,22 @@ s32 a0; v0 = func_8012C354(a0, (s32)D_801A7DB0); if (v0 != 0) { - if (*(s16 *)(a0 + 0x70) != 0) { - func_8001C214(*(s32 *)(a0 + 0x20), (s32)D_801AD9DC); + if (((Unkstruct_800B5CB8 *)a0)->unk70 != 0) { + func_8001C214(((Unkstruct_800B5CB8 *)a0)->unk20, (s32)D_801AD9DC); } - *(u8 *)(a0 + 0xC0) = 1; - *(s32 *)(a0 + 0xB4) = 0xFFFFDFDF; + ((Unkstruct_800B5CB8 *)a0)->unkC0 = 1; + ((Unkstruct_800B5CB8 *)a0)->unkB4 = 0xFFFFDFDF; func_8012B030(a0); - *(void **)(a0 + 0xBC) = D_801A7DE4; - *(s16 *)(a0 + 0xAE) = 0x2100; - *(u32 *)(a0 + 0xC4) = *(u32 *)(a0 + 0xC4) | 2; + CAST_SIGN(void *, a0, 0xBC) = D_801A7DE4; + ((Unkstruct_800B5CB8 *)a0)->unkAE = 0x2100; + ((Unkstruct_800B5CB8 *)a0)->unkC4 = CAST_SIGN(u32, a0, 0xC4) | 2; func_8012A828(a0, D_801AF3B0); - *(u16 *)(a0 + 2) = *(u16 *)(a0 + 2) + 1; + ((Unkstruct_800B5CB8 *)a0)->unk2 = CAST_SIGN(u16, a0, 2) + 1; func_8012B23C(a0); - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) | 0x10; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A) = 0x2400; - *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1C) = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C = ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk2C | 0x10; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk18 = 0x2400; + ((Unkstruct_800B5CB8 *)*(s32 *)(a0 + 0x20))->unk1A = 0x2400; + *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x1C) = 0x2400; } } @@ -6084,38 +6084,38 @@ void func_801822B4(s32 a0) { u16 cnt; u16 acc; - ang = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x14); + ang = *(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14); if (ang < 0xC00) { if (ang != 0) { goto state3; } } - cnt = *(u16 *)(a0 + 0xFC); - acc = *(u16 *)(a0 + 0xFE); + cnt = CAST_SIGN(u16, a0, 0xFC); + acc = CAST_SIGN(u16, a0, 0xFE); cnt = cnt + 1; acc = acc + cnt; - *(u16 *)(a0 + 0xFC) = cnt; - *(u16 *)(a0 + 0xFE) = acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) - acc; + ((Unkstruct_800B5CB8 *)a0)->unkFC = cnt; + ((Unkstruct_800B5CB8 *)a0)->unkFE = acc; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) - acc; - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) = - *(u16 *)(*(s32 *)(a0 + 0x20) + 0x14) & 0xFFF; + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) = + *(u16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x14) & 0xFFF; - *(u16 *)(a0 + 0xA) = *(u16 *)(a0 + 0xA) - 8; + ((Unkstruct_800B5CB8 *)a0)->unkA = ((Unkstruct_800B5CB8 *)a0)->unkA - 8; - *(s32 *)(a0 + 4) = *(s32 *)(a0 + 4) - - func_80047948(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 4) = CAST_WIDTH(s32, a0, 4) - + func_80047948(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; - *(s32 *)(a0 + 0xC) = *(s32 *)(a0 + 0xC) + - func_8004787C(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12)) * 0x80; + CAST_WIDTH(s32, a0, 0xC) = CAST_WIDTH(s32, a0, 0xC) + + func_8004787C(*(s16 *)(((Unkstruct_800B5CB8 *)a0)->unk20 + 0x12)) * 0x80; goto tail; state3: - *(u16 *)(a0 + 2) = 3; - *(s32 *)(a0 + 0x1C) = 0x1E; - *(u16 *)(a0 + 0x98) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk2 = 3; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk98 = 0; tail: func_8012B370(a0); @@ -6133,21 +6133,21 @@ void func_801823A8(s32 a0) s32 t; u32 *p; - t = *(s32 *)(a0 + 0x1C) - 1; - *(s32 *)(a0 + 0x1C) = t; + t = ((Unkstruct_800B5CB8 *)a0)->unk1C - 1; + ((Unkstruct_800B5CB8 *)a0)->unk1C = t; if (t != 0) { - p = *(u32 **)(a0 + 0x20); + p = CAST_SIGN(u32 *, a0, 0x20); p[1] ^= 0x80000000; func_8012B370(a0); - if ((*(s32 *)(a0 + 0x1C) & 0x3) != 0) { + if ((((Unkstruct_800B5CB8 *)a0)->unk1C & 0x3) != 0) { s32 obj = func_8012C588(0x281, a0); if (obj != 0) { - *(s32 *)(obj + 0x1C) = 2; - *(s16 *)(obj + 0x12) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1C = 2; + ((Unkstruct_800B5CB8 *)obj)->unk12 = (rand() & 0x1F) - 0x10; *(s16 *)(obj + 0x16) = -((rand() & 0xF) + 0x10); - *(s16 *)(obj + 0x1A) = (rand() & 0x1F) - 0x10; + ((Unkstruct_800B5CB8 *)obj)->unk1A = (rand() & 0x1F) - 0x10; } } return; @@ -6169,8 +6169,8 @@ extern void func_80185CD8(void *a0); extern void func_80185DA8(void *a0); void func_80182488(void *a0) { - D_801AFAE0[*(u16 *)((s32)a0 + 0x2)](); - if (*(u16 *)a0 != 0) { + D_801AFAE0[CAST_SIGN(u16, (s32)a0, 0x2)](); + if (((Unkstruct_800B5CB8 *)a0)->unk0 != 0) { func_80185CD8(a0); func_80185DA8(a0); func_8012C0EC(a0); @@ -6202,45 +6202,45 @@ void func_801824F8(s32 param_1) { s32 iVar1; u16 uVar2; - iVar1 = func_8012C354(param_1, &D_801AF8B8[*(u16 *)(param_1 + 0x70) & 0xf]); + iVar1 = func_8012C354(param_1, &D_801AF8B8[CAST_SIGN(u16, param_1, 0x70) & 0xf]); if (iVar1 != 0) { - *(u8 *)(param_1 + 0xc0) = 1; - *(u8 **)(param_1 + 0xbc) = D_801AFA50; - *(s32 *)(param_1 + 0xb4) = -0x8ad; - *(u32 *)(param_1 + 0xc4) |= 2; - *(u16 *)(*(s32 *)(param_1 + 0x20) + 0x2c) |= 0x80; - *(u8 **)(*(s32 *)(param_1 + 0x20) + 0x80) = D_801AF9D8; + ((Unkstruct_800B5CB8 *)param_1)->unkC0 = 1; + CAST_SIGN(u8 *, param_1, 0xbc) = D_801AFA50; + ((Unkstruct_800B5CB8 *)param_1)->unkB4 = -0x8ad; + CAST_SIGN(u32, param_1, 0xc4) |= 2; + ((Unkstruct_800B5CB8 *)*(s32 *)(param_1 + 0x20))->unk2C |= 0x80; + *(u8 **)(((Unkstruct_800B5CB8 *)param_1)->unk20 + 0x80) = D_801AF9D8; func_80143994(param_1, 0x4000); - *(s32 *)(param_1 + 0x48) = 0x18000; - uVar2 = *(u16 *)(param_1 + 0x70) & 0xf; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x18000; + uVar2 = CAST_SIGN(u16, param_1, 0x70) & 0xf; switch (uVar2) { case 0: { s32 t; - *(u32 *)(param_1 + 0xe0) |= 1; - t = (s32)*(u16 *)(*(s32 *)(param_1 + 0x78)) << 0x10; - *(s16 *)(param_1 + 0xfe) = (s16)((t >> 0x10) / 2); - if (((s32)*(s16 *)(param_1 + 0x70) & 0x8000) == 0) { - *(s16 *)(param_1 + 2) = 2; + CAST_SIGN(u32, param_1, 0xe0) |= 1; + t = (s32)*(u16 *)(((Unkstruct_800B5CB8 *)param_1)->unk78) << 0x10; + ((Unkstruct_800B5CB8 *)param_1)->unkFE = (s16)((t >> 0x10) / 2); + if (((s32)((Unkstruct_800B5CB8 *)param_1)->unk70 & 0x8000) == 0) { + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } else { - *(s16 *)(param_1 + 2) = 1; - *(s32 *)(param_1 + 0x1c) = 0x1e; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 1; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x1e; func_8012A828(param_1, &D_801C69A4); } break; } case 1: - *(s16 *)(param_1 + 2) = 0x13; + CAST_ALIAS(s16, param_1, 2) = 0x13; D_801C6E98 = 0x28; - if (((s32)*(s16 *)(param_1 + 0x70) & 0x8000) != 0) { - *(u32 *)(param_1 + 0xe0) |= 0x400; + if (((s32)CAST_ALIAS(s16, param_1, 0x70) & 0x8000) != 0) { + CAST_SIGN(u32, param_1, 0xe0) |= 0x400; } break; case 2: - *(s16 *)(param_1 + 2) = 0x18; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x18; D_801C6CF0 = 0x28; break; case 3: - *(s16 *)(param_1 + 2) = 0x1f; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x1f; if (func_8012C658(0x27f, 5, param_1) == 0) { func_8012CAE4(param_1); return; @@ -6248,9 +6248,9 @@ void func_801824F8(s32 param_1) { break; } func_8012B030(param_1); - *(s32 *)(param_1 + 0x38) = *(s32 *)(param_1 + 4); - *(s32 *)(param_1 + 0x3c) = *(s32 *)(param_1 + 8); - *(s32 *)(param_1 + 0x40) = *(s32 *)(param_1 + 0xc); + CAST_WIDTH(s32, param_1, 0x38) = CAST_WIDTH(s32, param_1, 4); + *(s32 *)(param_1 + 0x3c) = CAST_WIDTH(s32, param_1, 8); + *(s32 *)(param_1 + 0x40) = CAST_WIDTH(s32, param_1, 0xc); func_8012B2CC(param_1); } } @@ -6259,11 +6259,11 @@ void func_801824F8(s32 param_1) { void func_80182714(s32 param_1) { extern void func_80142414(s32 a0, s16 a1); extern s32 func_8012BEE8(s32 a0); - if (*(s32 *)(param_1 + 0x1C) == 0xF) { + if (((Unkstruct_800B5CB8 *)param_1)->unk1C == 0xF) { func_80142414(param_1, -0x90); } if (func_8012BEE8(param_1) != 0) { - *(s16 *)(param_1 + 2) = 2; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 2; } } @@ -6290,22 +6290,22 @@ void func_80182764(s32 param_1) { s32 nv; r = rand(); - *(s32 *)(param_1 + 0x1C) = r % 0x40 + 0x80; - *(s32 *)(param_1 + 0x48) = 18000; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = r % 0x40 + 0x80; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 18000; r = rand(); off = r % 0x400; - base = *(s32 *)(param_1 + 0xE8); + base = ((Unkstruct_800B5CB8 *)param_1)->unkE8; if ((rand() & 1) != 0) { nv = base + off; } else { nv = base - off; } - *(s32 *)(param_1 + 0xE8) = nv; + ((Unkstruct_800B5CB8 *)param_1)->unkE8 = nv; func_8012A828(param_1, D_801C74C4); - *(s16 *)(param_1 + 2) = 3; - *(u32 *)(param_1 + 0xE0) &= 0xFFFFFFBF; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 3; + CAST_SIGN(u32, param_1, 0xE0) &= 0xFFFFFFBF; } @@ -6327,10 +6327,10 @@ void func_8018282C(s32 param_1) s32 s0; s32 s2; - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); func_8012B178(p, 0xFFFB0000); - *(u32 *)(p + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFBF; if (func_801860E4(p) == 0) { func_8018626C(p); } @@ -6339,18 +6339,18 @@ void func_8018282C(s32 param_1) if (r != 0) { r = func_8012BCCC(p); if (r < 0x100000) { - *(s16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; return; } } else { r = func_8012BCCC(p); if (r < 0x4000) { - *(s16 *)(p + 2) = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xF; return; } } - if ((*(u32 *)(p + 0xE0) & 0x40) != 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) != 0) { return; } if (func_8012BEE8(p) == 0) { @@ -6358,14 +6358,14 @@ void func_8018282C(s32 param_1) } s0 = rand() % 1024; - s2 = *(s32 *)(p + 0xE8); + s2 = ((Unkstruct_800B5CB8 *)p)->unkE8; if ((rand() & 1) == 0) { r = s2 - s0; } else { r = s2 + s0; } - *(s32 *)(p + 0xE8) = r; - *(s32 *)(p + 0x1C) = (rand() % 64) + 0x80; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; + ((Unkstruct_800B5CB8 *)p)->unk1C = (rand() % 64) + 0x80; } @@ -6378,8 +6378,8 @@ void func_80182998(s32 param_1) extern u8 D_801C6A0C[]; func_8012A828(param_1, D_801C6A0C); - *(s32 *)(param_1 + 0x48) = 0x4650; - *(s16 *)(param_1 + 0x2) = 0x5; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x5; } @@ -6400,7 +6400,7 @@ void func_801829D8(s32 p) s32 s1; s32 e; - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += func_8012B8E4(p, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += func_8012B8E4(p, 8); func_8012B178(p, 0xFFF90000); if ((u32)D_800B99DA % 10 == 0) { @@ -6414,23 +6414,23 @@ void func_801829D8(s32 p) func_801860E4(p); if (func_8012BDBC(p, 0x300) == 0) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; return; } s1 = func_8012BCCC(p); if (s1 >= 0x100000) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; return; } if (s1 < 0x6400) { e = func_801862CC(p, 0); if (e == 0) { - *(s16 *)(p + 2) = 8; + ((Unkstruct_800B5CB8 *)p)->unk2 = 8; return; } if (s1 < D_801D0AF0) { s32 rv = 8; - *(s16 *)(p + 2) = rv; + ((Unkstruct_800B5CB8 *)p)->unk2 = rv; } return; } @@ -6443,13 +6443,13 @@ void func_801829D8(s32 p) } e = func_801862CC(p, 0); if (e == 0) { - *(s16 *)(p + 2) = 0xA; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xA; return; } if (D_801D0AF0 <= s1) { return; } - *(s16 *)(p + 2) = 8; + ((Unkstruct_800B5CB8 *)p)->unk2 = 8; } @@ -6457,8 +6457,8 @@ extern void func_8012A828(s32 a0, void * a1); void func_80182B60(s32 param_1) { extern u8 D_801C69A4[]; - *(s32 *)(param_1 + 0x1c) = 0x20; - *(s16 *)(param_1 + 0x2) = 7; + ((Unkstruct_800B5CB8 *)param_1)->unk1C = 0x20; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 7; func_8012A828(param_1, &D_801C69A4); } @@ -6474,19 +6474,19 @@ void func_80182B94(s32 param_1) if (func_8012BDBC(p, 0x300) != 0) { s32 r = func_8012BCCC(p); if (r < 0x100000) { - *(s16 *)(p + 2) = (r < 0x6400) ? 8 : 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = (r < 0x6400) ? 8 : 4; return; } } else { s32 r = func_8012BCCC(p); if (r < 0x4000) { - *(s16 *)(p + 2) = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0xF; return; } } if (func_8012BEE8(p) != 0) { - *(s16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; } } @@ -6501,9 +6501,9 @@ void func_80182C1C(s32 p) u32 f; func_8012A828(p, D_801C6AB4); - f = *(u32 *)(p + 0xE0); - *(u16 *)(p + 2) = 9; - *(u32 *)(p + 0xE0) = (f | 2) & ~0x10; + f = CAST_SIGN(u32, p, 0xE0); + ((Unkstruct_800B5CB8 *)p)->unk2 = 9; + ((Unkstruct_800B5CB8 *)p)->unkE0 = (f | 2) & ~0x10; } @@ -6523,20 +6523,20 @@ void func_80182C68(s32 p) s32 s1; if (func_80185BB8(p, 0x64) == 1) { - *(u32 *)(p + 0xE0) |= 0x10; + CAST_SIGN(u32, p, 0xE0) |= 0x10; } - if (*(s32 *)(p + 0x90) == (s32) D_801C6AB4) { - if (*(s32 *)(p + 0x94) == 0xB) { + if (((Unkstruct_800B5CB8 *)p)->unk90 == (s32) D_801C6AB4) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 0xB) { ((s32 (*)())func_801888E8)(p, 0x8C0); } } else { - if (*(s32 *)(p + 0x94) == 8) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 8) { ((s32 (*)())func_801888E8)(p, 0x8C0); } } - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { if (func_8012BDBC(p, 0x300) == 0) { v0 = 6; goto set_and_return; @@ -6548,15 +6548,15 @@ void func_80182C68(s32 p) } if (s1 < 0x4000) { func_8012A828(p, D_801C73CC); - *(u32 *)(p + 0xE0) &= ~0x10; + CAST_SIGN(u32, p, 0xE0) &= ~0x10; return; } else if (s1 < 0x6400) { - if ((*(s32 *)(p + 0xE0) & 0x10) == 0) { + if ((((Unkstruct_800B5CB8 *)p)->unkE0 & 0x10) == 0) { func_8012A828(p, D_801C73CC); return; } func_8012A828(p, D_801C6AB4); - *(u32 *)(p + 0xE0) &= ~0x10; + CAST_SIGN(u32, p, 0xE0) &= ~0x10; return; } else { v0 = 4; @@ -6566,7 +6566,7 @@ void func_80182C68(s32 p) return; set_and_return: - *(s16 *)(p + 2) = v0; + ((Unkstruct_800B5CB8 *)p)->unk2 = v0; } @@ -6578,12 +6578,12 @@ void func_80182DA4(s32 arg0) { s32 t1; func_8012A828(arg0, D_801C73CC); - *(s16 *)(arg0 + 2) = 0xB; - t0 = *(s32 *)(arg0 + 0x10); - t1 = *(s32 *)(arg0 + 0x18); - *(s16 *)(arg0 + 0x34) = 0; - *(s32 *)(arg0 + 0x10) = t0 * 2; - *(s32 *)(arg0 + 0x18) = t1 * 2; + ((Unkstruct_800B5CB8 *)arg0)->unk2 = 0xB; + t0 = CAST_WIDTH(s32, arg0, 0x10); + t1 = CAST_WIDTH(s32, arg0, 0x18); + ((Unkstruct_800B5CB8 *)arg0)->unk34 = 0; + CAST_WIDTH(s32, arg0, 0x10) = t0 * 2; + CAST_WIDTH(s32, arg0, 0x18) = t1 * 2; } @@ -6605,8 +6605,8 @@ void func_80182DF8(s32 p) D_80126B96 = 4; } - *(s32 *)(p + 0x10) = *(s32 *)(p + 0x10) * 31 / 32; - *(s32 *)(p + 0x18) = *(s32 *)(p + 0x18) * 31 / 32; + CAST_WIDTH(s32, p, 0x10) = CAST_WIDTH(s32, p, 0x10) * 31 / 32; + CAST_WIDTH(s32, p, 0x18) = CAST_WIDTH(s32, p, 0x18) * 31 / 32; func_801860E4(p); if ((u32)D_800B99DA % 6 == 0) { @@ -6617,19 +6617,19 @@ void func_80182DF8(s32 p) } } - if (*(s32 *)(p + 0x94) == 8) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 8) { ((s32 (*)())func_801888E8)(p, 0x8C0); } - if (*(u16 *)(p + 0x34) == 0) { - if (*(s32 *)(p + 0x94) == 0xE) { - *(u16 *)(p + 0x98) = 0; - *(s32 *)(p + 0x1C) = 0x1E; - *(u16 *)(p + 0x34) += 1; + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk94 == 0xE) { + ((Unkstruct_800B5CB8 *)p)->unk98 = 0; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } } else { if (func_8012BEE8(p) != 0) { - *(s16 *)(p + 2) = 6; + ((Unkstruct_800B5CB8 *)p)->unk2 = 6; } } } @@ -6658,9 +6658,9 @@ void func_80182F88(s32 p) { func_8012F214(p, D_801AF988, buf10); if (func_8012BEE8(p) != 0 && !(D_80126B9C & 2)) { - *(u16 *)(p + 2) = 4; - } else if (func_80187D0C(buf10, *(s16 *)(*(s32 *)(p + 0x20) + 0x12), 0x400) == 0) { - *(u16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; + } else if (func_80187D0C(buf10, *(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; } } @@ -6688,65 +6688,65 @@ void func_80183004(s32 p) s32 s1; s32 r; - uVar1 = *(u16 *)(p + 0x34); + uVar1 = ((Unkstruct_800B5CB8 *)p)->unk34; switch (uVar1) { case 0: - s1 = *(s32 *)(p + 0xCC); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(p + 0xEC) || + s1 = ((Unkstruct_800B5CB8 *)p)->unkCC; + if (s1 == 0 || *(s16 *)(s1 + 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEC || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 0x23; - *(u32 *)(p + 0xE0) |= 0x800; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x23; + CAST_SIGN(u32, p, 0xE0) |= 0x800; return; } goto call_b6d4; case 1: - if (*(s16 *)(p + 0x98) != 0) { + if (((Unkstruct_800B5CB8 *)p)->unk98 != 0) { return; } - func_8012C218((void *)*(s32 *)(p + 0xCC)); - *(s32 *)(p + 0xCC) = 0; - func_8001C924(*(s32 *)(p + 0x20), &D_801B5EA0); + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkCC); + ((Unkstruct_800B5CB8 *)p)->unkCC = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801B5EA0); func_8012A828(p, D_801C6A0C); { u16 ns; - ns = *(u16 *)(p + 0x34); - *(s32 *)(p + 0x1C) = 0x200; + ns = ((Unkstruct_800B5CB8 *)p)->unk34; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0x200; ns = ns + 1; - *(u32 *)(p + 0xE0) &= 0xFFFFFFFB; - *(u16 *)(p + 0x34) = ns; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFFB; + ((Unkstruct_800B5CB8 *)p)->unk34 = ns; } return; case 2: - s1 = *(s32 *)(p + 0xD0); - if (s1 == 0 || *(s16 *)(s1 + 0x36) != *(s16 *)(p + 0xEE) || + s1 = ((Unkstruct_800B5CB8 *)p)->unkD0; + if (s1 == 0 || *(s16 *)(s1 + 0x36) != ((Unkstruct_800B5CB8 *)p)->unkEE || func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 4; - *(u32 *)(p + 0xE0) &= 0xFFFFFFFE; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFFE; return; } call_b6d4: r = func_8012B6D4((s16 *)(p + 4), (s16 *)(s1 + 4)); - *(s32 *)(p + 0xE8) = r; + ((Unkstruct_800B5CB8 *)p)->unkE8 = r; goto LAB_80184738; case 3: - func_8012C218((void *)*(s32 *)(p + 0xD0)); - *(s32 *)(p + 0xD0) = 0; - func_8001C924(*(s32 *)(p + 0x20), &D_801B26DC); + func_8012C218((void *)((Unkstruct_800B5CB8 *)p)->unkD0); + ((Unkstruct_800B5CB8 *)p)->unkD0 = 0; + func_8001C924(((Unkstruct_800B5CB8 *)p)->unk20, &D_801B26DC); func_8012A828(p, D_801C6A0C); - *(s32 *)(p + 0x48) = 0x4650; - *(u16 *)(p + 2) = 5; - *(u32 *)(p + 0xE0) |= 1; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 5; + CAST_SIGN(u32, p, 0xE0) |= 1; return; default: goto LAB_80184738; } LAB_80184738: - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) = - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) + r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 = + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 + r; - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { func_8012B178(p, 0xFFF8D000); } else { func_8012B178(p, 0xFFF90000); @@ -6756,10 +6756,10 @@ LAB_80184738: r = ((s32(*)(s32, s32))func_80013350)(p + 4, s1 + 4); if (r < 0x900) { - if (*(u16 *)(p + 0x34) == 0) { + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { func_8012A828(p, D_801C790C); } - *(u16 *)(p + 0x34) = *(u16 *)(p + 0x34) + 1; + ((Unkstruct_800B5CB8 *)p)->unk34 = ((Unkstruct_800B5CB8 *)p)->unk34 + 1; } } @@ -6772,9 +6772,9 @@ extern u8 D_801C69A4[]; void func_80183284(s32 a0) { func_8012A828(a0, D_801C69A4); - *(u16 *)(a0 + 0x2) = 0x10; - *(u16 *)(a0 + 0x34) = 0; - *(s32 *)(a0 + 0xE8) = func_8012B864(a0); + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x10; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; + ((Unkstruct_800B5CB8 *)a0)->unkE8 = func_8012B864(a0); } @@ -6787,18 +6787,18 @@ extern void func_80142414(s32 a0, s16 a1); void func_801832CC(s32 p) { s32 r; - if (*(u16 *)(p + 0x34) == 0) { - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 4); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + if (((Unkstruct_800B5CB8 *)p)->unk34 == 0) { + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 4); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; if (func_8012BDBC(p, 0x200) != 0) { - *(s32 *)(p + 0x1C) = 0xF; - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk1C = 0xF; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; func_80142414(p, -0x90); } else if (r == 0) { - *(u16 *)(p + 2) = 2; + ((Unkstruct_800B5CB8 *)p)->unk2 = 2; } } else if (func_8012BEE8(p) != 0) { - *(u16 *)(p + 2) = 4; + ((Unkstruct_800B5CB8 *)p)->unk2 = 4; } } @@ -6812,8 +6812,8 @@ void func_8018338C(s32 param_1) extern u8 D_801C708C[]; func_8012A828(param_1, D_801C708C); - *(s32 *)(param_1 + 0x48) = 0x4650; - *(s16 *)(param_1 + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)param_1)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)param_1)->unk2 = 0x12; } @@ -6836,36 +6836,36 @@ void func_801833CC(s32 p) v = func_8012BCCC(p); if (v > 0x144000) { - *(s16 *)(p + 2) = 0x13; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x13; return; } if (v > 0xC4000) { - if ((*(u32 *)(p + 0xE0) & 0x40) == 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) == 0) { r = func_8012B8E4(p, 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; } } else { if ((u32)(v - 0x24000) <= 0xA0000) { - *(s16 *)(p + 2) = 0x15; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x15; return; } - if ((*(u32 *)(p + 0xE0) & 0x40) == 0) { + if ((CAST_SIGN(u32, p, 0xE0) & 0x40) == 0) { if (func_8012BEE8(p) != 0) { t = func_8012B8A4((s16 *)p); - *(u32 *)(p + 0xE8) = (t + 0x800) & 0xFFF; + ((Unkstruct_800B5CB8 *)p)->unkE8 = (t + 0x800) & 0xFFF; r = rand(); - *(s32 *)(p + 0x1C) = r % 0x40 + 0x40; + ((Unkstruct_800B5CB8 *)p)->unk1C = r % 0x40 + 0x40; } } - r = func_8012B608(*(s16 *)(*(s32 *)(p + 0x20) + 0x12), *(s32 *)(p + 0xE8), 8); - *(u16 *)(*(s32 *)(p + 0x20) + 0x12) += r; + r = func_8012B608(*(s16 *)(((Unkstruct_800B5CB8 *)p)->unk20 + 0x12), ((Unkstruct_800B5CB8 *)p)->unkE8, 8); + ((Unkstruct_800B5CB8 *)*(s32 *)(p + 0x20))->unk12 += r; } func_8012B178(p, 0xFFF9C000); - *(u32 *)(p + 0xE0) &= 0xFFFFFFBF; + CAST_SIGN(u32, p, 0xE0) &= 0xFFFFFFBF; if (func_801860E4(p) == 0) { func_8018626C(p); } @@ -6878,12 +6878,12 @@ void func_80183530(s32 p) extern s32 D_801AF780; extern void func_8012A828(s32 a0, void * a1); - *(s16 *)(p + 2) = 0x14; - if ((*(u32 *)(p + 0xE0) & 0x400) == 0) { - *(s16 *)(p + 0x34) = 1; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x14; + if ((CAST_SIGN(u32, p, 0xE0) & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk34 = 1; func_8012A828(p, D_801C6D54); } else { - *(s16 *)(p + 0x34) = 0; + ((Unkstruct_800B5CB8 *)p)->unk34 = 0; func_8012A828(p, &D_801AF780); } } @@ -6902,11 +6902,11 @@ void func_80183584(s32 p) extern u8 D_801C7144[]; s32 v; - switch (*(u16 *)(p + 0x34)) { + switch (((Unkstruct_800B5CB8 *)p)->unk34) { case 0: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801C6D54); - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } break; case 1: @@ -6915,18 +6915,18 @@ void func_80183584(s32 p) break; } - if ((*(u32 *)(p + 0xE0) & 0x400) == 0) { - *(s16 *)(p + 2) = 0x15; + if ((CAST_SIGN(u32, p, 0xE0) & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x15; } else { func_8012A828(p, D_801C7144); - *(u16 *)(p + 0x34) += 1; + ((Unkstruct_800B5CB8 *)p)->unk34 += 1; } break; case 2: - if (*(u16 *)(p + 0x72) & 0x4000) { + if (((Unkstruct_800B5CB8 *)p)->unk72 & 0x4000) { func_8012A828(p, D_801C708C); - *(s32 *)(p + 0x48) = 0x4650; - *(s16 *)(p + 0x2) = 0x12; + ((Unkstruct_800B5CB8 *)p)->unk48 = 0x4650; + ((Unkstruct_800B5CB8 *)p)->unk2 = 0x12; } break; } @@ -6938,14 +6938,14 @@ void func_80183694(s32 a0) extern u8 D_801C6D54[]; extern void func_8012A828(s32 a0, void * a1); - *(s16 *)(a0 + 2) = 0x16; - if ((*(s32 *)(a0 + 0xE0) & 0x400) == 0) { + ((Unkstruct_800B5CB8 *)a0)->unk2 = 0x16; + if ((((Unkstruct_800B5CB8 *)a0)->unkE0 & 0x400) == 0) { func_8012A828(a0, D_801C6D54); - *(s16 *)(a0 + 0x34) = 4; - *(s32 *)(a0 + 0x1C) = 0xF; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 4; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0xF; } else { - *(s32 *)(a0 + 0x1C) = 0x1E; - *(s16 *)(a0 + 0x34) = 0; + ((Unkstruct_800B5CB8 *)a0)->unk1C = 0x1E; + ((Unkstruct_800B5CB8 *)a0)->unk34 = 0; } }