From 4de2fb06ade59f05c57fc83e41b839395171b91c Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 01:34:39 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe6=20=E2=80=94=20func?= =?UTF-8?q?=5F8017D0BC=20banked=20at=200=20through=20the=20whole-object=20?= =?UTF-8?q?gate=20+=20propagated=20=E2=80=94=20e6=20port=20onto=20the=20sh?= =?UTF-8?q?ared=20header=20(4=20includers)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 374 ++++++++++++------------ .run/P36/delever/ledger.jsonl | 1 + src/shared/ov/func_8017D0BC__4f23330c.h | 10 +- 3 files changed, 195 insertions(+), 190 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index cbe83006d..059f89ddf 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "8d5555539", + "head": "0f928391b", "stamp": "15956e4a96c4", - "generated": "2026-09-11 01:33", + "generated": "2026-09-11 01:34", "aliases": [ "main", "ov_SC03_014", @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 9.679999999999994, - "mean_s": 0.114 + "seconds": 11.988999999999999, + "mean_s": 0.141 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 6.215, - "mean_s": 0.194 + "seconds": 7.323999999999999, + "mean_s": 0.229 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 5.866, - "mean_s": 0.183 + "seconds": 7.171, + "mean_s": 0.224 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 5.204, - "mean_s": 0.186 + "seconds": 6.3870000000000005, + "mean_s": 0.228 } }, "per_object_seconds": { - "build/src/800.o": 1.034, - "build/src/800_b.o": 0.127, - "build/src/800_b_2.o": 0.375, - "build/src/800_b_o0a.o": 0.112, - "build/src/800_c.o": 0.258, - "build/src/800b2.o": 0.12, - "build/src/apicard1.o": 0.154, - "build/src/apicard2.o": 0.117, - "build/src/apicard3.o": 0.149, - "build/src/apicard4.o": 0.065, - "build/src/apicard5.o": 0.11, - "build/src/apicard6.o": 0.08, - "build/src/apicard7.o": 0.127, - "build/src/boot.o": 0.127, - "build/src/gap.o": 0.105, - "build/src/libapi1.o": 0.076, - "build/src/libapi2.o": 0.075, - "build/src/libc2_1.o": 0.086, - "build/src/libc2_2.o": 0.076, - "build/src/libcd1.o": 0.127, - "build/src/libcd2.o": 0.081, - "build/src/libetc.o": 0.102, - "build/src/libgpu.o": 0.075, - "build/src/libgpu2.o": 0.123, - "build/src/libgs1.o": 0.117, - "build/src/libgs2.o": 0.085, - "build/src/libgs3.o": 0.087, - "build/src/libgs4.o": 0.073, - "build/src/libgs5.o": 0.072, - "build/src/libgs6.o": 0.106, - "build/src/libgs7.o": 0.084, - "build/src/libgs8.o": 0.097, - "build/src/libgte1.o": 0.092, - "build/src/libgte10.o": 0.134, - "build/src/libgte11.o": 0.122, - "build/src/libgte12.o": 0.116, - "build/src/libgte13.o": 0.116, - "build/src/libgte14.o": 0.107, + "build/src/800.o": 1.06, + "build/src/800_b.o": 0.154, + "build/src/800_b_2.o": 0.441, + "build/src/800_b_o0a.o": 0.101, + "build/src/800_c.o": 0.316, + "build/src/800b2.o": 0.105, + "build/src/apicard1.o": 0.137, + "build/src/apicard2.o": 0.162, + "build/src/apicard3.o": 0.133, + "build/src/apicard4.o": 0.128, + "build/src/apicard5.o": 0.169, + "build/src/apicard6.o": 0.156, + "build/src/apicard7.o": 0.166, + "build/src/boot.o": 0.157, + "build/src/gap.o": 0.163, + "build/src/libapi1.o": 0.068, + "build/src/libapi2.o": 0.09, + "build/src/libc2_1.o": 0.148, + "build/src/libc2_2.o": 0.104, + "build/src/libcd1.o": 0.124, + "build/src/libcd2.o": 0.091, + "build/src/libetc.o": 0.147, + "build/src/libgpu.o": 0.078, + "build/src/libgpu2.o": 0.133, + "build/src/libgs1.o": 0.079, + "build/src/libgs2.o": 0.115, + "build/src/libgs3.o": 0.074, + "build/src/libgs4.o": 0.131, + "build/src/libgs5.o": 0.09, + "build/src/libgs6.o": 0.142, + "build/src/libgs7.o": 0.159, + "build/src/libgs8.o": 0.142, + "build/src/libgte1.o": 0.109, + "build/src/libgte10.o": 0.135, + "build/src/libgte11.o": 0.114, + "build/src/libgte12.o": 0.137, + "build/src/libgte13.o": 0.124, + "build/src/libgte14.o": 0.178, "build/src/libgte15.o": 0.103, - "build/src/libgte16.o": 0.086, - "build/src/libgte17.o": 0.079, - "build/src/libgte18.o": 0.13, - "build/src/libgte19.o": 0.093, - "build/src/libgte2.o": 0.105, - "build/src/libgte20.o": 0.073, - "build/src/libgte21.o": 0.099, - "build/src/libgte22.o": 0.084, - "build/src/libgte23.o": 0.076, - "build/src/libgte24.o": 0.084, - "build/src/libgte25.o": 0.093, - "build/src/libgte26.o": 0.073, - "build/src/libgte27.o": 0.068, - "build/src/libgte28.o": 0.084, - "build/src/libgte29.o": 0.099, - "build/src/libgte3.o": 0.075, - "build/src/libgte30.o": 0.077, - "build/src/libgte4.o": 0.072, - "build/src/libgte5.o": 0.072, - "build/src/libgte6.o": 0.082, - "build/src/libgte7.o": 0.11, - "build/src/libgte8.o": 0.08, - "build/src/libgte9.o": 0.128, - "build/src/libmcrd1.o": 0.137, - "build/src/libmcrd2.o": 0.116, - "build/src/libpad1.o": 0.082, - "build/src/libpad2.o": 0.086, - "build/src/sgap.o": 0.088, - "build/src/sgap_2.o": 0.113, - "build/src/sgap_3.o": 0.085, - "build/src/sgap_4.o": 0.104, - "build/src/sgap_5.o": 0.103, - "build/src/sgap_6.o": 0.11, - "build/src/sgap_8.o": 0.089, - "build/src/snd1.o": 0.107, - "build/src/snd10.o": 0.107, - "build/src/snd11.o": 0.084, - "build/src/snd12.o": 0.084, - "build/src/snd2.o": 0.104, - "build/src/snd3.o": 0.073, - "build/src/snd4.o": 0.084, - "build/src/snd5.o": 0.104, - "build/src/snd6.o": 0.135, - "build/src/snd7.o": 0.1, - "build/src/snd8.o": 0.094, - "build/src/snd9.o": 0.077, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.211, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.656, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.52, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.124, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.152, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.182, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.161, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.145, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.113, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.231, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.108, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.197, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.114, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.086, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.107, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.123, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.551, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.312, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.183, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.233, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.093, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.14, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.074, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.219, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.279, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.33, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.115, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.11, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.074, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.088, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.146, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.569, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.485, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.061, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.07, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.173, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.2, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.126, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.111, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.082, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.202, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.189, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.105, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.078, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.083, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.175, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.567, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.331, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.151, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.254, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.078, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.125, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.083, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.2, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.258, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.391, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.079, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.116, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.133, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.145, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.506, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.455, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.075, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.164, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.215, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.147, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.117, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.205, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.093, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.219, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.161, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.08, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.082, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.113, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.453, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.275, - "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.24, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.101, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.135, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.133, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.518, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.067, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.083 + "build/src/libgte16.o": 0.113, + "build/src/libgte17.o": 0.152, + "build/src/libgte18.o": 0.112, + "build/src/libgte19.o": 0.152, + "build/src/libgte2.o": 0.121, + "build/src/libgte20.o": 0.133, + "build/src/libgte21.o": 0.125, + "build/src/libgte22.o": 0.139, + "build/src/libgte23.o": 0.131, + "build/src/libgte24.o": 0.123, + "build/src/libgte25.o": 0.074, + "build/src/libgte26.o": 0.109, + "build/src/libgte27.o": 0.085, + "build/src/libgte28.o": 0.089, + "build/src/libgte29.o": 0.148, + "build/src/libgte3.o": 0.147, + "build/src/libgte30.o": 0.106, + "build/src/libgte4.o": 0.162, + "build/src/libgte5.o": 0.115, + "build/src/libgte6.o": 0.093, + "build/src/libgte7.o": 0.123, + "build/src/libgte8.o": 0.125, + "build/src/libgte9.o": 0.09, + "build/src/libmcrd1.o": 0.123, + "build/src/libmcrd2.o": 0.136, + "build/src/libpad1.o": 0.113, + "build/src/libpad2.o": 0.153, + "build/src/sgap.o": 0.104, + "build/src/sgap_2.o": 0.115, + "build/src/sgap_3.o": 0.167, + "build/src/sgap_4.o": 0.131, + "build/src/sgap_5.o": 0.144, + "build/src/sgap_6.o": 0.103, + "build/src/sgap_8.o": 0.161, + "build/src/snd1.o": 0.182, + "build/src/snd10.o": 0.099, + "build/src/snd11.o": 0.137, + "build/src/snd12.o": 0.11, + "build/src/snd2.o": 0.117, + "build/src/snd3.o": 0.136, + "build/src/snd4.o": 0.085, + "build/src/snd5.o": 0.145, + "build/src/snd6.o": 0.106, + "build/src/snd7.o": 0.094, + "build/src/snd8.o": 0.083, + "build/src/snd9.o": 0.115, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.27, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.711, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.569, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.107, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.208, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.257, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.159, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.12, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.16, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.309, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.231, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.14, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.109, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.162, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.131, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.656, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.423, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.273, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.125, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.157, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.137, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.237, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.302, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.117, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.361, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.145, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.126, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.107, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.269, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.749, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.517, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.131, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.171, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.217, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.174, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.131, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.25, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.122, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.201, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.135, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.13, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.161, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.162, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.687, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.334, + "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.329, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.091, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.12, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.135, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.267, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.322, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.114, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.454, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.115, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.1, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.134, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.286, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.653, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.518, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.124, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.068, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.18, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.211, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.195, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.103, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.114, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.277, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.154, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.232, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.137, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.102, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.143, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.149, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.593, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.308, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.213, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.277, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.076, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.197, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.121, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.152, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.629, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.081, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.094 }, "ok": true, - "seconds": 3.1 + "seconds": 3.6 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index fd282f504..68fa3d951 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29394,3 +29394,4 @@ {"ts": "2026-09-11 01:33:01", "label": "s104_e6", "rung": "E", "calib": {"head": "3852e75e8", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_113/ov_SC03_113_jr_8017C294.c", "fn": "func_8017E878", "addr": 2149050488, "aliases": null, "header": false, "includers": 0, "nhash_before": "b6d1667278be38b27d41b26a94d04f0943c05020", "nhash_after": "531fe6acf44ae926f7df4071d16f75c77d9b8d7e", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC03_113_func_8017E878.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.178, "objects": ["build/src/ov_SC03_113/ov_SC03_113_jr_8017C294.o"], "before_text": "void func_8017E878(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017E878 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017E878 m;\n s32 base;\n register s32 ang __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s16 arg;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n if ((s16)(ang - base) < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + ((s16)*(u16 *)(out + 4) >> 1);\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n", "after_text": "void func_8017E878(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017E878 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017E878 m;\n s32 base;\n s32 ang;\n s16 arg;\n s32 d;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n d = ang - base;\n d <<= 16;\n if (d < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n d = (s16)*(u16 *)(out + 4) >> 1;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + d;\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n"} {"ts": "2026-09-11 01:33:48", "label": "s104_e6", "rung": "E", "calib": {"head": "fb00ace19", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.c", "fn": "func_8017EA24", "addr": 2149050916, "aliases": null, "header": false, "includers": 0, "nhash_before": "9ca3700f0585497ae2c4c3d3b54961339f242357", "nhash_after": "3a802b663a40ac3c3562822d0057515de3a3a640", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC03_118_func_8017EA24.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 2, "seconds": 0.319, "objects": ["build/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.o", "build/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.o"], "before_text": "void func_8017EA24(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017EA24 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017EA24 m;\n s32 base;\n register s32 ang __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n s16 arg;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n if ((s16)(ang - base) < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + ((s16)*(u16 *)(out + 4) >> 1);\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n", "after_text": "void func_8017EA24(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017EA24 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017EA24 m;\n s32 base;\n s32 ang;\n s16 arg;\n s32 d;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n d = ang - base;\n d <<= 16;\n if (d < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n d = (s16)*(u16 *)(out + 4) >> 1;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + d;\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n"} {"ts": "2026-09-11 01:34:14", "label": "s104_e6", "rung": "E", "calib": {"head": "8d5555539", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.c", "fn": "func_8017DB00", "addr": 2149047040, "aliases": null, "header": false, "includers": 0, "nhash_before": "a69f8b7797f0ebce6dd93da69acfa725edef9dfd", "nhash_after": "cb931809615ce778f86c759955b4bba10cd6ecf2", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC05_004_func_8017DB00.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.138, "objects": ["build/src/ov_SC05_004/ov_SC05_004_jr_8017BEBC.o"], "before_text": "void func_8017DB00(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017DB00 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017DB00 m;\n s32 base;\n register s32 ang __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s16 arg;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n if ((s16)(ang - base) < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + ((s16)*(u16 *)(out + 4) >> 1);\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n", "after_text": "void func_8017DB00(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017DB00 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017DB00 m;\n s32 base;\n s32 ang;\n s16 arg;\n s32 d;\n\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n d = ang - base;\n d <<= 16;\n if (d < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n d = (s16)*(u16 *)(out + 4) >> 1;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + d;\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n"} +{"ts": "2026-09-11 01:34:36", "label": "s104_e6", "rung": "E", "calib": {"head": "0f928391b", "stamp": "15956e4a96c4"}, "tu": "src/shared/ov/func_8017D0BC__4f23330c.h", "fn": "func_8017D0BC", "addr": 2149044412, "aliases": null, "header": true, "includers": 4, "nhash_before": "66e10b743538f6b140e9bdb5dd578179eae059a9", "nhash_after": "313f2370291519b9c1ad1f09a0988d1c3ff0c9dc", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/shared_func_8017D0BC.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 4, "seconds": 0.336, "objects": ["build/src/ov_SC03_002/ov_SC03_002_jr_8017AE2C.o", "build/src/ov_SC03_125/ov_SC03_125_jr_8017AE2C.o", "build/src/ov_SC04_020/ov_SC04_020_jr_8017AE2C.o", "build/src/ov_SC05_018/ov_SC05_018_jr_8017AE2C.o"], "before_text": "void func_8017D0BC(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017D0BC D_800AE620;\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017D0BC m;\n s32 base;\n register s32 ang __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B headers1)\n s16 arg;\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n if ((s16)(ang - base) < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + ((s16)*(u16 *)(out + 4) >> 1);\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n", "after_text": "void func_8017D0BC(s32 a0) {\n extern void ApplyMatrixSV(void *a0, void *a1, void *a2);\n extern s32 ratan2(s32 a0, s32 a1);\n extern s16 D_801152B0;\n extern s16 D_801152B4;\n extern s32 func_80133784(s32 a0, void *a1, s32 a2);\n extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);\n extern void RotMatrixY(s32 a0, void *a1);\n extern Mtx8_8017DE10_8017D0BC D_800AE620;\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017D0BC m;\n s32 base;\n s32 ang;\n s16 arg;\n s32 d;\n *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12);\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + 8;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE);\n if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) {\n base = ratan2(D_801152B0, D_801152B4) & 0xFFF;\n ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF;\n d = ang - base;\n d <<= 16;\n if (d < 0) {\n ang += 0x480;\n } else {\n ang -= 0x480;\n }\n arg = base - ang;\n ang = *(u16 *)(a0 + 0x6);\n *(s16 *)(in + 0) = ang;\n *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA);\n *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE);\n m = D_800AE620;\n RotMatrixY(arg, &m);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x12);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0x16);\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0x1A);\n ApplyMatrixSV(&m, &out[0], &out[0]);\n *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1);\n *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1);\n d = (s16)*(u16 *)(out + 4) >> 1;\n *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + d;\n if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) {\n *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0);\n *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);\n *(s16 *)(a0 + 0xE) = *(u16 *)(out + 4);\n }\n }\n}\n"} diff --git a/src/shared/ov/func_8017D0BC__4f23330c.h b/src/shared/ov/func_8017D0BC__4f23330c.h index 2eb90e637..455426f5b 100644 --- a/src/shared/ov/func_8017D0BC__4f23330c.h +++ b/src/shared/ov/func_8017D0BC__4f23330c.h @@ -13,8 +13,9 @@ void func_8017D0BC(s32 a0) { u8 out[8]; Mtx8_8017DE10_8017D0BC m; s32 base; - register s32 ang __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B headers1) + s32 ang; s16 arg; + s32 d; *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12); *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8; *(s16 *)(in + 4) = *(u16 *)(a0 + 0xE) + *(u16 *)(a0 + 0x1A); @@ -24,7 +25,9 @@ void func_8017D0BC(s32 a0) { if ((func_80133784(1, &in[0], (s32)&out[0]) & 0xC000) != 0) { base = ratan2(D_801152B0, D_801152B4) & 0xFFF; ang = ratan2(*(s32 *)(a0 + 0x10), *(s32 *)(a0 + 0x18)) & 0xFFF; - if ((s16)(ang - base) < 0) { + d = ang - base; + d <<= 16; + if (d < 0) { ang += 0x480; } else { ang -= 0x480; @@ -42,7 +45,8 @@ void func_8017D0BC(s32 a0) { ApplyMatrixSV(&m, &out[0], &out[0]); *(s16 *)(out + 0) = *(u16 *)(a0 + 0x6) + ((s16)*(u16 *)(out + 0) >> 1); *(s16 *)(out + 2) = *(u16 *)(a0 + 0xA) + ((s16)*(u16 *)(out + 2) >> 1); - *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + ((s16)*(u16 *)(out + 4) >> 1); + d = (s16)*(u16 *)(out + 4) >> 1; + *(s16 *)(out + 4) = *(u16 *)(a0 + 0xE) + d; if ((func_8012CEB0((s32)&in[0], (s32)&out[0], 0) & 0x2000) != 0) { *(s16 *)(a0 + 0x6) = *(u16 *)(out + 0); *(s16 *)(a0 + 0xA) = *(u16 *)(out + 2);