From 0d26d8d82a69b41aec3464b24bbdd9f75e8455f7 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 10 Sep 2026 21:46:18 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fd10=20=E2=80=94=20fun?= =?UTF-8?q?c=5F8017F040=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=20d10's=20sibling,=20the?= =?UTF-8?q?=20same=20union=20move?= 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 | 3 + src/ov_SC03_112/ov_SC03_112_jr_8017C294.c | 46 ++- src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c | 46 ++- src/shared/ov/func_8017D6AC__703b5fd0.h | 47 ++- 5 files changed, 257 insertions(+), 259 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index d83ae4ab6..3b70b9b34 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "30fd6796f", + "head": "699fbbfdd", "stamp": "15956e4a96c4", - "generated": "2026-09-10 21:43", + "generated": "2026-09-10 21:44", "aliases": [ "main", "ov_SC03_014", @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 23.41900000000001, - "mean_s": 0.276 + "seconds": 15.044, + "mean_s": 0.177 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 9.349, - "mean_s": 0.292 + "seconds": 9.519000000000002, + "mean_s": 0.297 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 9.430999999999997, - "mean_s": 0.295 + "seconds": 8.892000000000003, + "mean_s": 0.278 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 9.080999999999998, - "mean_s": 0.324 + "seconds": 7.91, + "mean_s": 0.283 } }, "per_object_seconds": { - "build/src/800.o": 1.143, - "build/src/800_b.o": 0.268, - "build/src/800_b_2.o": 0.604, - "build/src/800_b_o0a.o": 0.155, - "build/src/800_c.o": 0.379, - "build/src/800b2.o": 0.224, - "build/src/apicard1.o": 0.189, - "build/src/apicard2.o": 0.208, - "build/src/apicard3.o": 0.195, - "build/src/apicard4.o": 0.172, - "build/src/apicard5.o": 0.206, - "build/src/apicard6.o": 0.179, - "build/src/apicard7.o": 0.216, - "build/src/boot.o": 0.175, - "build/src/gap.o": 0.144, - "build/src/libapi1.o": 0.154, - "build/src/libapi2.o": 0.121, - "build/src/libc2_1.o": 0.104, - "build/src/libc2_2.o": 0.101, - "build/src/libcd1.o": 0.118, - "build/src/libcd2.o": 0.118, - "build/src/libetc.o": 0.112, - "build/src/libgpu.o": 0.113, - "build/src/libgpu2.o": 0.14, - "build/src/libgs1.o": 0.137, - "build/src/libgs2.o": 0.17, - "build/src/libgs3.o": 0.139, - "build/src/libgs4.o": 0.145, - "build/src/libgs5.o": 0.152, - "build/src/libgs6.o": 0.158, - "build/src/libgs7.o": 0.098, - "build/src/libgs8.o": 0.173, - "build/src/libgte1.o": 0.102, - "build/src/libgte10.o": 0.042, - "build/src/libgte11.o": 0.097, - "build/src/libgte12.o": 0.111, - "build/src/libgte13.o": 0.089, - "build/src/libgte14.o": 0.099, - "build/src/libgte15.o": 0.061, - "build/src/libgte16.o": 0.06, - "build/src/libgte17.o": 0.058, - "build/src/libgte18.o": 0.058, - "build/src/libgte19.o": 0.058, - "build/src/libgte2.o": 0.797, - "build/src/libgte20.o": 0.802, - "build/src/libgte21.o": 0.797, - "build/src/libgte22.o": 0.796, - "build/src/libgte23.o": 0.79, - "build/src/libgte24.o": 0.778, - "build/src/libgte25.o": 0.796, - "build/src/libgte26.o": 0.78, - "build/src/libgte27.o": 0.803, - "build/src/libgte28.o": 0.051, - "build/src/libgte29.o": 0.79, - "build/src/libgte3.o": 0.786, - "build/src/libgte30.o": 0.763, - "build/src/libgte4.o": 0.748, - "build/src/libgte5.o": 0.747, - "build/src/libgte6.o": 0.762, - "build/src/libgte7.o": 0.762, - "build/src/libgte8.o": 0.174, - "build/src/libgte9.o": 0.106, - "build/src/libmcrd1.o": 0.159, - "build/src/libmcrd2.o": 0.165, - "build/src/libpad1.o": 0.132, - "build/src/libpad2.o": 0.158, - "build/src/sgap.o": 0.154, - "build/src/sgap_2.o": 0.158, - "build/src/sgap_3.o": 0.152, - "build/src/sgap_4.o": 0.171, - "build/src/sgap_5.o": 0.168, - "build/src/sgap_6.o": 0.157, - "build/src/sgap_8.o": 0.132, - "build/src/snd1.o": 0.124, - "build/src/snd10.o": 0.127, - "build/src/snd11.o": 0.106, - "build/src/snd12.o": 0.085, - "build/src/snd2.o": 0.116, - "build/src/snd3.o": 0.102, - "build/src/snd4.o": 0.115, - "build/src/snd5.o": 0.1, - "build/src/snd6.o": 0.134, - "build/src/snd7.o": 0.097, - "build/src/snd8.o": 0.112, - "build/src/snd9.o": 0.122, + "build/src/800.o": 1.346, + "build/src/800_b.o": 0.25, + "build/src/800_b_2.o": 0.632, + "build/src/800_b_o0a.o": 0.162, + "build/src/800_c.o": 0.42, + "build/src/800b2.o": 0.226, + "build/src/apicard1.o": 0.232, + "build/src/apicard2.o": 0.151, + "build/src/apicard3.o": 0.185, + "build/src/apicard4.o": 0.133, + "build/src/apicard5.o": 0.123, + "build/src/apicard6.o": 0.15, + "build/src/apicard7.o": 0.158, + "build/src/boot.o": 0.17, + "build/src/gap.o": 0.134, + "build/src/libapi1.o": 0.201, + "build/src/libapi2.o": 0.169, + "build/src/libc2_1.o": 0.123, + "build/src/libc2_2.o": 0.124, + "build/src/libcd1.o": 0.144, + "build/src/libcd2.o": 0.205, + "build/src/libetc.o": 0.131, + "build/src/libgpu.o": 0.153, + "build/src/libgpu2.o": 0.16, + "build/src/libgs1.o": 0.162, + "build/src/libgs2.o": 0.114, + "build/src/libgs3.o": 0.123, + "build/src/libgs4.o": 0.146, + "build/src/libgs5.o": 0.154, + "build/src/libgs6.o": 0.221, + "build/src/libgs7.o": 0.115, + "build/src/libgs8.o": 0.144, + "build/src/libgte1.o": 0.223, + "build/src/libgte10.o": 0.154, + "build/src/libgte11.o": 0.166, + "build/src/libgte12.o": 0.117, + "build/src/libgte13.o": 0.125, + "build/src/libgte14.o": 0.113, + "build/src/libgte15.o": 0.145, + "build/src/libgte16.o": 0.118, + "build/src/libgte17.o": 0.118, + "build/src/libgte18.o": 0.141, + "build/src/libgte19.o": 0.136, + "build/src/libgte2.o": 0.114, + "build/src/libgte20.o": 0.21, + "build/src/libgte21.o": 0.139, + "build/src/libgte22.o": 0.135, + "build/src/libgte23.o": 0.175, + "build/src/libgte24.o": 0.15, + "build/src/libgte25.o": 0.114, + "build/src/libgte26.o": 0.148, + "build/src/libgte27.o": 0.19, + "build/src/libgte28.o": 0.142, + "build/src/libgte29.o": 0.128, + "build/src/libgte3.o": 0.119, + "build/src/libgte30.o": 0.135, + "build/src/libgte4.o": 0.139, + "build/src/libgte5.o": 0.147, + "build/src/libgte6.o": 0.128, + "build/src/libgte7.o": 0.122, + "build/src/libgte8.o": 0.142, + "build/src/libgte9.o": 0.152, + "build/src/libmcrd1.o": 0.244, + "build/src/libmcrd2.o": 0.254, + "build/src/libpad1.o": 0.131, + "build/src/libpad2.o": 0.128, + "build/src/sgap.o": 0.157, + "build/src/sgap_2.o": 0.134, + "build/src/sgap_3.o": 0.163, + "build/src/sgap_4.o": 0.159, + "build/src/sgap_5.o": 0.223, + "build/src/sgap_6.o": 0.158, + "build/src/sgap_8.o": 0.166, + "build/src/snd1.o": 0.158, + "build/src/snd10.o": 0.157, + "build/src/snd11.o": 0.112, + "build/src/snd12.o": 0.121, + "build/src/snd2.o": 0.187, + "build/src/snd3.o": 0.107, + "build/src/snd4.o": 0.154, + "build/src/snd5.o": 0.113, + "build/src/snd6.o": 0.185, + "build/src/snd7.o": 0.195, + "build/src/snd8.o": 0.113, + "build/src/snd9.o": 0.179, "build/src/ov_SC03_014/ov_SC03_014.o": 0.243, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.813, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.807, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.112, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.112, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.194, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.304, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.216, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.179, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.147, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.327, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.251, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.37, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.247, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.242, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.207, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.805, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.532, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.322, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.378, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.168, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.18, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.125, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.304, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.395, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.09, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.497, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.163, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.156, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.098, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.249, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.234, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 1.028, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.704, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.129, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.141, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.254, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.346, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.197, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.172, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.177, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.28, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.159, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.53, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.237, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.171, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.133, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.135, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.781, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.479, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.205, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.371, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.147, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.248, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.161, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.281, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.426, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.1, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.54, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.182, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.147, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.149, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.187, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.233, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.896, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.723, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.194, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.185, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.341, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.32, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.166, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.201, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.206, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.327, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.13, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.406, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.188, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.178, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.195, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.184, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.747, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.502, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.221, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.41, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.186, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.192, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.132, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.257, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 1.103, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.12, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.138 + "build/src/ov_SC03_014/ov_SC03_014_after.o": 1.145, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.665, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.161, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.144, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.317, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.288, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.253, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.191, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.2, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.335, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.111, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.315, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.161, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.126, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.184, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.807, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.601, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.154, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.336, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.187, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.171, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.238, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.284, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.604, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.123, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.543, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.148, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.098, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.125, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.127, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.242, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.872, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.663, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.141, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.14, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.341, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.256, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.165, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.169, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.166, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.295, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.114, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.325, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.152, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.195, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.12, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.217, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.814, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.399, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.172, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.397, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.15, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.283, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.112, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.393, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.363, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.11, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.532, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.162, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.131, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.133, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.168, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.291, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.784, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.658, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.122, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.199, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.235, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.222, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.136, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.205, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.322, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.127, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.292, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.211, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.125, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.189, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.231, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.724, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.413, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.17, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.301, + "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.181, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.158, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.212, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.906, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.123, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.137 }, "ok": true, - "seconds": 24.1 + "seconds": 5.1 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 5a43c9c54..4f3a513b4 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29091,3 +29091,6 @@ {"ts": "2026-09-10 21:44:43", "label": "s104_d10", "rung": "E", "calib": {"head": "30fd6796f", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_112/ov_SC03_112_jr_8017C294.c", "fn": "func_8017E654", "addr": 2149049940, "aliases": null, "header": false, "includers": 0, "nhash_before": "ad5f90e75ee4e8f79fe0dfdc5728f96da39252ba", "nhash_after": "d8afd79867f8ed03438daee8de25d714489c134a", "source": "propagate:src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:func_8017EF88", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.432, "objects": ["build/src/ov_SC03_112/ov_SC03_112_jr_8017C294.o"], "before_text": "u32 func_8017E654(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 r;\n s32 pad[2];\n\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n do {\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017E654(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} {"ts": "2026-09-10 21:44:44", "label": "s104_d10", "rung": "E", "calib": {"head": "30fd6796f", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC05_005/ov_SC05_005_jr_8017D898.c", "fn": "func_8017EFF4", "addr": 2149052404, "aliases": null, "header": false, "includers": 0, "nhash_before": "ad5f90e75ee4e8f79fe0dfdc5728f96da39252ba", "nhash_after": "d8afd79867f8ed03438daee8de25d714489c134a", "source": "propagate:src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:func_8017EF88", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.332, "objects": ["build/src/ov_SC05_005/ov_SC05_005_jr_8017D898.o"], "before_text": "u32 func_8017EFF4(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 r;\n s32 pad[2];\n\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n do {\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017EFF4(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} {"ts": "2026-09-10 21:44:45", "label": "s104_d10", "rung": "E", "calib": {"head": "30fd6796f", "stamp": "15956e4a96c4"}, "tu": "src/shared/ov/func_8017D5F4__014cbc20.h", "fn": "func_8017D5F4", "addr": 2149045748, "aliases": null, "header": true, "includers": 2, "nhash_before": "ad5f90e75ee4e8f79fe0dfdc5728f96da39252ba", "nhash_after": "d8afd79867f8ed03438daee8de25d714489c134a", "source": "propagate:src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:func_8017EF88", "verdict": "LEVER-FREE", "sites": [], "compiles": 2, "seconds": 0.461, "objects": ["build/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.o", "build/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.o"], "before_text": "u32 func_8017D5F4(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n u32 r;\n s32 pad[2];\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B headers2)\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n do {\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B headers2)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017D5F4(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n ax = param_1[0];\n cx = param_3[0];\n if (cx < ax) {\n return 0;\n }\n bx = param_2[0];\n if (bx < cx) {\n return 1;\n }\n by = param_2[1];\n cy = param_3[2];\n if (cy < by) {\n return 0;\n }\n ay = param_1[1];\n if (ay >= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} +{"ts": "2026-09-10 21:45:46", "label": "s104_d10", "rung": "E", "calib": {"head": "699fbbfdd", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c", "fn": "func_8017F040", "addr": 2149052480, "aliases": null, "header": false, "includers": 0, "nhash_before": "d41adf4fb2ac9058bbeaef367454f5c8809652ab", "nhash_after": "e5091861a7da629e43bb47f5250a9d1eff78b4bc", "source": ".run/P36/agents/ov_SC05_001__func_8017EF88/scratch/f040_body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.223, "objects": ["build/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.o"], "before_text": "u32 func_8017F040(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n u32 r;\n s32 pad[2];\n\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus8)\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n do {\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus8)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017F040(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} +{"ts": "2026-09-10 21:46:16", "label": "s104_d10", "rung": "E", "calib": {"head": "699fbbfdd", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_112/ov_SC03_112_jr_8017C294.c", "fn": "func_8017E70C", "addr": 2149050124, "aliases": null, "header": false, "includers": 0, "nhash_before": "d41adf4fb2ac9058bbeaef367454f5c8809652ab", "nhash_after": "e5091861a7da629e43bb47f5250a9d1eff78b4bc", "source": "propagate:src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:func_8017F040", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.32, "objects": ["build/src/ov_SC03_112/ov_SC03_112_jr_8017C294.o"], "before_text": "u32 func_8017E70C(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 r;\n s32 pad[2];\n\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n do {\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017E70C(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} +{"ts": "2026-09-10 21:46:16", "label": "s104_d10", "rung": "E", "calib": {"head": "699fbbfdd", "stamp": "15956e4a96c4"}, "tu": "src/shared/ov/func_8017D6AC__703b5fd0.h", "fn": "func_8017D6AC", "addr": 2149045932, "aliases": null, "header": true, "includers": 2, "nhash_before": "d41adf4fb2ac9058bbeaef367454f5c8809652ab", "nhash_after": "e5091861a7da629e43bb47f5250a9d1eff78b4bc", "source": "propagate:src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:func_8017F040", "verdict": "LEVER-FREE", "sites": [], "compiles": 2, "seconds": 0.435, "objects": ["build/src/ov_SC02_039/ov_SC02_039_jr_8017BEBC.o", "build/src/ov_SC03_108/ov_SC03_108_jr_8017BEBC.o"], "before_text": "u32 func_8017D6AC(s16 *param_1, s16 *param_2, s16 *param_3) {\n s16 ax, ay, bx, by, cx, cy;\n register s32 la __asm__(\"$8\"); // !FAKE: pin $8 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n register s32 lb __asm__(\"$7\"); // !FAKE: pin $7 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n register s32 lc __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B headers2)\n u32 r;\n s32 pad[2];\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n __asm__ __volatile__(\"\" : : \"r\"(la), \"r\"(lb), \"r\"(lc)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B headers2)\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n do {\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n la = (u16)ax;\n lb = (u16)bx;\n lc = (u16)cx;\n __asm__ __volatile__(\"\" : : \"r\"(ax), \"r\"(bx), \"r\"(cx)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B headers2)\n r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16),\n lc | ((u16)cy << 16));\n return ~r >> 31;\n }\n return 1;\n } while (0);\n}\n", "after_text": "u32 func_8017D6AC(s16 *param_1, s16 *param_2, s16 *param_3) {\n union {\n struct {\n s16 x, y;\n } v;\n s32 sxy;\n } a, b, c;\n s16 ax, ay, bx, by, cx, cy;\n\n cx = param_3[0];\n bx = param_2[0];\n if (cx < bx) {\n return 0;\n }\n ax = param_1[0];\n if (ax < cx) {\n return 1;\n }\n cy = param_3[2];\n ay = param_1[1];\n if (cy > ay) {\n return 0;\n }\n by = param_2[1];\n if (by <= cy) {\n a.v.x = ax;\n a.v.y = ay;\n b.v.x = bx;\n b.v.y = by;\n c.v.x = cx;\n c.v.y = cy;\n return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0;\n }\n return 1;\n}\n"} diff --git a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c index 150975645..3f8850bb4 100644 --- a/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c +++ b/src/ov_SC03_112/ov_SC03_112_jr_8017C294.c @@ -3439,41 +3439,39 @@ u32 func_8017E654(s16 *param_1, s16 *param_2, s16 *param_3) { extern s32 func_800495EC(s32 a0, s32 a1, s32 a2); u32 func_8017E70C(s16 *param_1, s16 *param_2, s16 *param_3) { + union { + struct { + s16 x, y; + } v; + s32 sxy; + } a, b, c; s16 ax, ay, bx, by, cx, cy; - register s32 la __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9) - register s32 lb __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9) - register s32 lc __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9) - u32 r; - s32 pad[2]; cx = param_3[0]; bx = param_2[0]; if (cx < bx) { return 0; } - __asm__ __volatile__("" : : "r"(la), "r"(lb), "r"(lc)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) ax = param_1[0]; if (ax < cx) { return 1; } - do { - cy = param_3[2]; - ay = param_1[1]; - if (cy > ay) { - return 0; - } - by = param_2[1]; - if (by <= cy) { - la = (u16)ax; - lb = (u16)bx; - lc = (u16)cx; - __asm__ __volatile__("" : : "r"(ax), "r"(bx), "r"(cx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) - r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16), - lc | ((u16)cy << 16)); - return ~r >> 31; - } - return 1; - } while (0); + cy = param_3[2]; + ay = param_1[1]; + if (cy > ay) { + return 0; + } + by = param_2[1]; + if (by <= cy) { + a.v.x = ax; + a.v.y = ay; + b.v.x = bx; + b.v.y = by; + c.v.x = cx; + c.v.y = cy; + return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0; + } + return 1; } 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 3df6b4d09..7cc0ece63 100644 --- a/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c +++ b/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c @@ -4381,41 +4381,39 @@ u32 func_8017EF88(s16 *param_1, s16 *param_2, s16 *param_3) { extern s32 func_800495EC(s32 a0, s32 a1, s32 a2); u32 func_8017F040(s16 *param_1, s16 *param_2, s16 *param_3) { + union { + struct { + s16 x, y; + } v; + s32 sxy; + } a, b, c; s16 ax, ay, bx, by, cx, cy; - register s32 la __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus8) - register s32 lb __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus8) - register s32 lc __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus8) - u32 r; - s32 pad[2]; cx = param_3[0]; bx = param_2[0]; if (cx < bx) { return 0; } - __asm__ __volatile__("" : : "r"(la), "r"(lb), "r"(lc)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus8) ax = param_1[0]; if (ax < cx) { return 1; } - do { - cy = param_3[2]; - ay = param_1[1]; - if (cy > ay) { - return 0; - } - by = param_2[1]; - if (by <= cy) { - la = (u16)ax; - lb = (u16)bx; - lc = (u16)cx; - __asm__ __volatile__("" : : "r"(ax), "r"(bx), "r"(cx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus8) - r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16), - lc | ((u16)cy << 16)); - return ~r >> 31; - } - return 1; - } while (0); + cy = param_3[2]; + ay = param_1[1]; + if (cy > ay) { + return 0; + } + by = param_2[1]; + if (by <= cy) { + a.v.x = ax; + a.v.y = ay; + b.v.x = bx; + b.v.y = by; + c.v.x = cx; + c.v.y = cy; + return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0; + } + return 1; } diff --git a/src/shared/ov/func_8017D6AC__703b5fd0.h b/src/shared/ov/func_8017D6AC__703b5fd0.h index 442982357..19bd72a5e 100644 --- a/src/shared/ov/func_8017D6AC__703b5fd0.h +++ b/src/shared/ov/func_8017D6AC__703b5fd0.h @@ -2,38 +2,37 @@ * member's site in address order; the members are recorded in config/dedup.us.yaml (Phase 35). */ extern s32 func_800495EC(s32 a0, s32 a1, s32 a2); u32 func_8017D6AC(s16 *param_1, s16 *param_2, s16 *param_3) { + union { + struct { + s16 x, y; + } v; + s32 sxy; + } a, b, c; s16 ax, ay, bx, by, cx, cy; - register s32 la __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B headers2) - register s32 lb __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B headers2) - register s32 lc __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B headers2) - u32 r; - s32 pad[2]; + cx = param_3[0]; bx = param_2[0]; if (cx < bx) { return 0; } - __asm__ __volatile__("" : : "r"(la), "r"(lb), "r"(lc)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B headers2) ax = param_1[0]; if (ax < cx) { return 1; } - do { - cy = param_3[2]; - ay = param_1[1]; - if (cy > ay) { - return 0; - } - by = param_2[1]; - if (by <= cy) { - la = (u16)ax; - lb = (u16)bx; - lc = (u16)cx; - __asm__ __volatile__("" : : "r"(ax), "r"(bx), "r"(cx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B headers2) - r = func_800495EC(la | ((u16)ay << 16), lb | ((u16)by << 16), - lc | ((u16)cy << 16)); - return ~r >> 31; - } - return 1; - } while (0); + cy = param_3[2]; + ay = param_1[1]; + if (cy > ay) { + return 0; + } + by = param_2[1]; + if (by <= cy) { + a.v.x = ax; + a.v.y = ay; + b.v.x = bx; + b.v.y = by; + c.v.x = cx; + c.v.y = cy; + return func_800495EC(a.sxy, b.sxy, c.sxy) >= 0; + } + return 1; }