From 3852e75e89b390e04d993f0ee9e1ae9bb0e0dc68 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 01:32:41 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe6=20=E2=80=94=20func?= =?UTF-8?q?=5F8017C95C=20banked=20at=200=20through=20the=20whole-object=20?= =?UTF-8?q?gate=20+=20propagated=20=E2=80=94=20e6=20copy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 364 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c | 10 +- 3 files changed, 190 insertions(+), 185 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 527bab0c16..c5d8fd11d6 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "8bcbb01a6", + "head": "d25b87e1a", "stamp": "15956e4a96c4", "generated": "2026-09-11 01:32", "aliases": [ @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 8.080000000000004, - "mean_s": 0.095 + "seconds": 8.496000000000002, + "mean_s": 0.1 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 5.346000000000002, - "mean_s": 0.167 + "seconds": 5.638000000000001, + "mean_s": 0.176 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 5.207, - "mean_s": 0.163 + "seconds": 5.3050000000000015, + "mean_s": 0.166 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 4.380000000000001, - "mean_s": 0.156 + "seconds": 4.579, + "mean_s": 0.164 } }, "per_object_seconds": { - "build/src/800.o": 0.858, - "build/src/800_b.o": 0.108, - "build/src/800_b_2.o": 0.336, - "build/src/800_b_o0a.o": 0.108, - "build/src/800_c.o": 0.215, - "build/src/800b2.o": 0.106, - "build/src/apicard1.o": 0.071, - "build/src/apicard2.o": 0.101, - "build/src/apicard3.o": 0.082, - "build/src/apicard4.o": 0.074, - "build/src/apicard5.o": 0.074, - "build/src/apicard6.o": 0.09, - "build/src/apicard7.o": 0.109, - "build/src/boot.o": 0.107, - "build/src/gap.o": 0.087, - "build/src/libapi1.o": 0.069, - "build/src/libapi2.o": 0.088, - "build/src/libc2_1.o": 0.08, - "build/src/libc2_2.o": 0.076, - "build/src/libcd1.o": 0.097, - "build/src/libcd2.o": 0.073, - "build/src/libetc.o": 0.071, - "build/src/libgpu.o": 0.072, - "build/src/libgpu2.o": 0.102, - "build/src/libgs1.o": 0.073, - "build/src/libgs2.o": 0.071, - "build/src/libgs3.o": 0.073, - "build/src/libgs4.o": 0.074, - "build/src/libgs5.o": 0.08, - "build/src/libgs6.o": 0.093, - "build/src/libgs7.o": 0.079, - "build/src/libgs8.o": 0.075, - "build/src/libgte1.o": 0.076, - "build/src/libgte10.o": 0.093, - "build/src/libgte11.o": 0.073, - "build/src/libgte12.o": 0.08, - "build/src/libgte13.o": 0.098, - "build/src/libgte14.o": 0.097, - "build/src/libgte15.o": 0.077, - "build/src/libgte16.o": 0.076, - "build/src/libgte17.o": 0.071, - "build/src/libgte18.o": 0.078, - "build/src/libgte19.o": 0.081, - "build/src/libgte2.o": 0.08, - "build/src/libgte20.o": 0.09, - "build/src/libgte21.o": 0.066, - "build/src/libgte22.o": 0.071, - "build/src/libgte23.o": 0.073, - "build/src/libgte24.o": 0.075, - "build/src/libgte25.o": 0.072, - "build/src/libgte26.o": 0.081, - "build/src/libgte27.o": 0.067, - "build/src/libgte28.o": 0.083, - "build/src/libgte29.o": 0.085, - "build/src/libgte3.o": 0.076, - "build/src/libgte30.o": 0.074, - "build/src/libgte4.o": 0.075, - "build/src/libgte5.o": 0.074, - "build/src/libgte6.o": 0.078, - "build/src/libgte7.o": 0.074, - "build/src/libgte8.o": 0.071, - "build/src/libgte9.o": 0.075, - "build/src/libmcrd1.o": 0.096, - "build/src/libmcrd2.o": 0.092, - "build/src/libpad1.o": 0.086, - "build/src/libpad2.o": 0.096, - "build/src/sgap.o": 0.07, - "build/src/sgap_2.o": 0.067, - "build/src/sgap_3.o": 0.078, - "build/src/sgap_4.o": 0.084, - "build/src/sgap_5.o": 0.073, - "build/src/sgap_6.o": 0.077, - "build/src/sgap_8.o": 0.097, - "build/src/snd1.o": 0.084, - "build/src/snd10.o": 0.089, - "build/src/snd11.o": 0.074, - "build/src/snd12.o": 0.07, - "build/src/snd2.o": 0.071, - "build/src/snd3.o": 0.065, + "build/src/800.o": 0.86, + "build/src/800_b.o": 0.094, + "build/src/800_b_2.o": 0.361, + "build/src/800_b_o0a.o": 0.087, + "build/src/800_c.o": 0.236, + "build/src/800b2.o": 0.114, + "build/src/apicard1.o": 0.07, + "build/src/apicard2.o": 0.102, + "build/src/apicard3.o": 0.087, + "build/src/apicard4.o": 0.089, + "build/src/apicard5.o": 0.08, + "build/src/apicard6.o": 0.078, + "build/src/apicard7.o": 0.081, + "build/src/boot.o": 0.106, + "build/src/gap.o": 0.123, + "build/src/libapi1.o": 0.101, + "build/src/libapi2.o": 0.09, + "build/src/libc2_1.o": 0.083, + "build/src/libc2_2.o": 0.077, + "build/src/libcd1.o": 0.093, + "build/src/libcd2.o": 0.072, + "build/src/libetc.o": 0.072, + "build/src/libgpu.o": 0.091, + "build/src/libgpu2.o": 0.082, + "build/src/libgs1.o": 0.066, + "build/src/libgs2.o": 0.076, + "build/src/libgs3.o": 0.075, + "build/src/libgs4.o": 0.079, + "build/src/libgs5.o": 0.074, + "build/src/libgs6.o": 0.1, + "build/src/libgs7.o": 0.071, + "build/src/libgs8.o": 0.073, + "build/src/libgte1.o": 0.067, + "build/src/libgte10.o": 0.091, + "build/src/libgte11.o": 0.067, + "build/src/libgte12.o": 0.07, + "build/src/libgte13.o": 0.093, + "build/src/libgte14.o": 0.069, + "build/src/libgte15.o": 0.096, + "build/src/libgte16.o": 0.087, + "build/src/libgte17.o": 0.079, + "build/src/libgte18.o": 0.1, + "build/src/libgte19.o": 0.075, + "build/src/libgte2.o": 0.074, + "build/src/libgte20.o": 0.086, + "build/src/libgte21.o": 0.09, + "build/src/libgte22.o": 0.076, + "build/src/libgte23.o": 0.095, + "build/src/libgte24.o": 0.099, + "build/src/libgte25.o": 0.112, + "build/src/libgte26.o": 0.088, + "build/src/libgte27.o": 0.085, + "build/src/libgte28.o": 0.08, + "build/src/libgte29.o": 0.104, + "build/src/libgte3.o": 0.082, + "build/src/libgte30.o": 0.084, + "build/src/libgte4.o": 0.085, + "build/src/libgte5.o": 0.091, + "build/src/libgte6.o": 0.084, + "build/src/libgte7.o": 0.098, + "build/src/libgte8.o": 0.088, + "build/src/libgte9.o": 0.095, + "build/src/libmcrd1.o": 0.116, + "build/src/libmcrd2.o": 0.091, + "build/src/libpad1.o": 0.083, + "build/src/libpad2.o": 0.105, + "build/src/sgap.o": 0.095, + "build/src/sgap_2.o": 0.086, + "build/src/sgap_3.o": 0.112, + "build/src/sgap_4.o": 0.083, + "build/src/sgap_5.o": 0.076, + "build/src/sgap_6.o": 0.074, + "build/src/sgap_8.o": 0.081, + "build/src/snd1.o": 0.086, + "build/src/snd10.o": 0.075, + "build/src/snd11.o": 0.067, + "build/src/snd12.o": 0.086, + "build/src/snd2.o": 0.089, + "build/src/snd3.o": 0.076, "build/src/snd4.o": 0.076, - "build/src/snd5.o": 0.066, - "build/src/snd6.o": 0.1, - "build/src/snd7.o": 0.095, - "build/src/snd8.o": 0.086, - "build/src/snd9.o": 0.076, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.137, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.561, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.445, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.096, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.08, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.163, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.2, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.14, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.108, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.228, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.085, - "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.1, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.074, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.099, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.53, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.286, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.11, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.221, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.065, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.121, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.075, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.182, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.213, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.059, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.313, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.136, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.58, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.432, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.137, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.161, + "build/src/snd5.o": 0.07, + "build/src/snd6.o": 0.09, + "build/src/snd7.o": 0.09, + "build/src/snd8.o": 0.076, + "build/src/snd9.o": 0.08, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.152, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.602, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.458, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.111, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.072, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.176, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.203, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.142, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.11, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.092, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.211, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.098, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.192, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.106, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.089, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.111, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.549, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.319, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.136, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.243, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.07, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.112, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.086, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.205, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.231, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.328, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.07, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.069, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.068, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.082, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.148, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.575, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.445, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.076, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.134, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.165, "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.129, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.084, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.084, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.191, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.191, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.104, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.074, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.076, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.114, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.497, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.316, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.113, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.23, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.128, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.078, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.183, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.224, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.073, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.318, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.07, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.064, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.074, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.085, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.146, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.453, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.382, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.067, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.063, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.131, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.169, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.122, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.085, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.075, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.198, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.084, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.197, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.107, + "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.074, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.113, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.534, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.317, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.122, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.222, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.072, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.121, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.086, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.19, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.232, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.056, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.323, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.073, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.073, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.064, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.145, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.476, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.393, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.057, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.144, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.199, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.139, "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.09, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.071, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.193, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.089, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.201, "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.194, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.073, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.076, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.102, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.4, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.24, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.189, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.109, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.07, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.077, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.117, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.417, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.244, "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.115, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.183, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.067, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.103, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.07, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.101, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.466, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.061, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.064 + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.189, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.106, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.115, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.491, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.06 }, "ok": true, - "seconds": 2.5 + "seconds": 2.7 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 892eb56a4a..be6e3aed73 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29390,3 +29390,4 @@ {"ts": "2026-09-11 01:31:40", "label": "s104_e6", "rung": "E", "calib": {"head": "2d5e0acd0", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c", "fn": "func_8017EE3C", "addr": 2149051964, "aliases": null, "header": false, "includers": 0, "nhash_before": "5a0f6a41ef8ec6afb1f47077d1db574314dc3db9", "nhash_after": "53d4a8ce7fc27ecb21db97381f57c31452d2e4f1", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC02_031_func_8017EE3C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.226, "objects": ["build/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.o"], "before_text": "void func_8017EE3C(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_8017EE3C D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017EE3C 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_8017EE3C(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_8017EE3C D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017EE3C 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:31:59", "label": "s104_e6", "rung": "E", "calib": {"head": "ce73521e7", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c", "fn": "func_8017FBC8", "addr": 2149055432, "aliases": null, "header": false, "includers": 0, "nhash_before": "6542dfa9486c16311665ee12842d8c2a1d87dc0f", "nhash_after": "b083168f498cf35007e9f90750f140fea06ef73b", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC03_024_func_8017FBC8.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.135, "objects": ["build/src/ov_SC03_024/ov_SC03_024_jr_8017DF84.o"], "before_text": "void func_8017FBC8(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_8017FBC8 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017FBC8 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_8017FBC8(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_8017FBC8 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017FBC8 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:32:19", "label": "s104_e6", "rung": "E", "calib": {"head": "8bcbb01a6", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.c", "fn": "func_8017D370", "addr": 2149045104, "aliases": null, "header": false, "includers": 0, "nhash_before": "856040d0b475529f05da585c1a201ca43bcc1b24", "nhash_after": "ad8195c37e98e047c38acf927a1f1ac96fd7b340", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC03_028_func_8017D370.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.102, "objects": ["build/src/ov_SC03_028/ov_SC03_028_jr_8017AE2C.o"], "before_text": "void func_8017D370(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_8017D370 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017D370 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_8017D370(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_8017D370 D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017D370 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:32:39", "label": "s104_e6", "rung": "E", "calib": {"head": "d25b87e1a", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c", "fn": "func_8017C95C", "addr": 2149042524, "aliases": null, "header": false, "includers": 0, "nhash_before": "02656045a2152682bb436b27113b8060a42f89c1", "nhash_after": "ee63d499a0979bab29ce43ebe83352c1ec37a349", "source": ".run/P36/agents/ov_SC03_006__func_8017E710/scratch/ports/ov_SC03_111_func_8017C95C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.108, "objects": ["build/src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.o"], "before_text": "void func_8017C95C(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_8017C95C D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017C95C 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_8017C95C(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_8017C95C D_800AE620;\n\n u8 in[8];\n u8 out[8];\n Mtx8_8017DE10_8017C95C 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"} diff --git a/src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c b/src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c index 4e9570e4ff..792b0028fc 100644 --- a/src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c +++ b/src/ov_SC03_111/ov_SC03_111_jr_8017AE2C.c @@ -3861,8 +3861,9 @@ void func_8017C95C(s32 a0) { u8 out[8]; Mtx8_8017DE10_8017C95C m; s32 base; - register s32 ang __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7) + s32 ang; s16 arg; + s32 d; *(s16 *)(in + 0) = *(u16 *)(a0 + 0x6) + *(u16 *)(a0 + 0x12); *(s16 *)(in + 2) = *(u16 *)(a0 + 0xA) + 8; @@ -3873,7 +3874,9 @@ void func_8017C95C(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; @@ -3891,7 +3894,8 @@ void func_8017C95C(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);