diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 13452171ce..ed7c0ea0c5 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "d94d99310", + "head": "b9cadc83b", "stamp": "15956e4a96c4", - "generated": "2026-09-10 22:27", + "generated": "2026-09-10 22:28", "aliases": [ "main", "ov_SC03_014", @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 10.797000000000004, - "mean_s": 0.127 + "seconds": 11.350999999999999, + "mean_s": 0.134 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 7.0520000000000005, - "mean_s": 0.22 + "seconds": 7.437, + "mean_s": 0.232 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 7.113, - "mean_s": 0.222 + "seconds": 7.4540000000000015, + "mean_s": 0.233 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 6.433999999999999, - "mean_s": 0.23 + "seconds": 6.593, + "mean_s": 0.235 } }, "per_object_seconds": { - "build/src/800.o": 1.106, - "build/src/800_b.o": 0.127, - "build/src/800_b_2.o": 0.478, - "build/src/800_b_o0a.o": 0.087, - "build/src/800_c.o": 0.283, - "build/src/800b2.o": 0.169, - "build/src/apicard1.o": 0.098, - "build/src/apicard2.o": 0.165, - "build/src/apicard3.o": 0.106, - "build/src/apicard4.o": 0.096, - "build/src/apicard5.o": 0.111, - "build/src/apicard6.o": 0.094, - "build/src/apicard7.o": 0.082, - "build/src/boot.o": 0.102, - "build/src/gap.o": 0.112, - "build/src/libapi1.o": 0.079, - "build/src/libapi2.o": 0.083, - "build/src/libc2_1.o": 0.128, - "build/src/libc2_2.o": 0.078, - "build/src/libcd1.o": 0.086, - "build/src/libcd2.o": 0.088, - "build/src/libetc.o": 0.101, - "build/src/libgpu.o": 0.08, - "build/src/libgpu2.o": 0.095, - "build/src/libgs1.o": 0.126, - "build/src/libgs2.o": 0.097, - "build/src/libgs3.o": 0.138, - "build/src/libgs4.o": 0.082, - "build/src/libgs5.o": 0.128, - "build/src/libgs6.o": 0.102, - "build/src/libgs7.o": 0.096, - "build/src/libgs8.o": 0.137, - "build/src/libgte1.o": 0.142, - "build/src/libgte10.o": 0.101, - "build/src/libgte11.o": 0.085, - "build/src/libgte12.o": 0.091, - "build/src/libgte13.o": 0.078, + "build/src/800.o": 1.127, + "build/src/800_b.o": 0.177, + "build/src/800_b_2.o": 0.488, + "build/src/800_b_o0a.o": 0.125, + "build/src/800_c.o": 0.349, + "build/src/800b2.o": 0.134, + "build/src/apicard1.o": 0.136, + "build/src/apicard2.o": 0.112, + "build/src/apicard3.o": 0.132, + "build/src/apicard4.o": 0.122, + "build/src/apicard5.o": 0.151, + "build/src/apicard6.o": 0.162, + "build/src/apicard7.o": 0.132, + "build/src/boot.o": 0.126, + "build/src/gap.o": 0.148, + "build/src/libapi1.o": 0.141, + "build/src/libapi2.o": 0.099, + "build/src/libc2_1.o": 0.149, + "build/src/libc2_2.o": 0.107, + "build/src/libcd1.o": 0.138, + "build/src/libcd2.o": 0.095, + "build/src/libetc.o": 0.106, + "build/src/libgpu.o": 0.097, + "build/src/libgpu2.o": 0.102, + "build/src/libgs1.o": 0.089, + "build/src/libgs2.o": 0.095, + "build/src/libgs3.o": 0.124, + "build/src/libgs4.o": 0.122, + "build/src/libgs5.o": 0.13, + "build/src/libgs6.o": 0.142, + "build/src/libgs7.o": 0.128, + "build/src/libgs8.o": 0.105, + "build/src/libgte1.o": 0.101, + "build/src/libgte10.o": 0.097, + "build/src/libgte11.o": 0.12, + "build/src/libgte12.o": 0.114, + "build/src/libgte13.o": 0.091, "build/src/libgte14.o": 0.087, - "build/src/libgte15.o": 0.072, - "build/src/libgte16.o": 0.101, - "build/src/libgte17.o": 0.082, - "build/src/libgte18.o": 0.122, - "build/src/libgte19.o": 0.13, - "build/src/libgte2.o": 0.09, - "build/src/libgte20.o": 0.117, - "build/src/libgte21.o": 0.121, - "build/src/libgte22.o": 0.112, - "build/src/libgte23.o": 0.095, - "build/src/libgte24.o": 0.101, - "build/src/libgte25.o": 0.128, - "build/src/libgte26.o": 0.117, - "build/src/libgte27.o": 0.083, - "build/src/libgte28.o": 0.102, - "build/src/libgte29.o": 0.109, - "build/src/libgte3.o": 0.115, - "build/src/libgte30.o": 0.162, - "build/src/libgte4.o": 0.108, - "build/src/libgte5.o": 0.147, - "build/src/libgte6.o": 0.135, - "build/src/libgte7.o": 0.154, - "build/src/libgte8.o": 0.117, - "build/src/libgte9.o": 0.111, - "build/src/libmcrd1.o": 0.112, - "build/src/libmcrd2.o": 0.177, - "build/src/libpad1.o": 0.177, - "build/src/libpad2.o": 0.169, - "build/src/sgap.o": 0.094, - "build/src/sgap_2.o": 0.083, - "build/src/sgap_3.o": 0.1, + "build/src/libgte15.o": 0.114, + "build/src/libgte16.o": 0.105, + "build/src/libgte17.o": 0.07, + "build/src/libgte18.o": 0.102, + "build/src/libgte19.o": 0.105, + "build/src/libgte2.o": 0.1, + "build/src/libgte20.o": 0.103, + "build/src/libgte21.o": 0.128, + "build/src/libgte22.o": 0.101, + "build/src/libgte23.o": 0.1, + "build/src/libgte24.o": 0.133, + "build/src/libgte25.o": 0.123, + "build/src/libgte26.o": 0.097, + "build/src/libgte27.o": 0.093, + "build/src/libgte28.o": 0.133, + "build/src/libgte29.o": 0.088, + "build/src/libgte3.o": 0.118, + "build/src/libgte30.o": 0.124, + "build/src/libgte4.o": 0.118, + "build/src/libgte5.o": 0.094, + "build/src/libgte6.o": 0.096, + "build/src/libgte7.o": 0.111, + "build/src/libgte8.o": 0.092, + "build/src/libgte9.o": 0.103, + "build/src/libmcrd1.o": 0.092, + "build/src/libmcrd2.o": 0.145, + "build/src/libpad1.o": 0.139, + "build/src/libpad2.o": 0.106, + "build/src/sgap.o": 0.083, + "build/src/sgap_2.o": 0.093, + "build/src/sgap_3.o": 0.104, "build/src/sgap_4.o": 0.103, - "build/src/sgap_5.o": 0.104, - "build/src/sgap_6.o": 0.134, - "build/src/sgap_8.o": 0.105, - "build/src/snd1.o": 0.15, - "build/src/snd10.o": 0.08, - "build/src/snd11.o": 0.096, - "build/src/snd12.o": 0.078, - "build/src/snd2.o": 0.095, - "build/src/snd3.o": 0.1, - "build/src/snd4.o": 0.112, - "build/src/snd5.o": 0.097, - "build/src/snd6.o": 0.09, - "build/src/snd7.o": 0.086, - "build/src/snd8.o": 0.092, - "build/src/snd9.o": 0.108, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.203, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.724, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.519, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.081, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.094, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.248, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.284, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.176, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.144, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.087, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.274, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.155, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.242, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.124, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.093, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.094, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.135, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.742, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.352, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.13, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.317, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.16, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.117, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.232, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.332, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.101, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.416, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.092, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.084, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.102, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.236, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.649, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.527, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.08, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.193, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.302, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.147, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.093, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.107, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.222, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.132, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.26, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.137, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.117, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.11, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.207, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.653, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.406, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.166, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.274, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.12, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.179, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.105, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.313, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.343, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.075, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.438, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.112, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.093, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.135, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.191, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.601, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.501, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.1, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.108, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.19, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.228, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.183, + "build/src/sgap_5.o": 0.1, + "build/src/sgap_6.o": 0.128, + "build/src/sgap_8.o": 0.094, + "build/src/snd1.o": 0.132, + "build/src/snd10.o": 0.116, + "build/src/snd11.o": 0.09, + "build/src/snd12.o": 0.09, + "build/src/snd2.o": 0.116, + "build/src/snd3.o": 0.152, + "build/src/snd4.o": 0.125, + "build/src/snd5.o": 0.128, + "build/src/snd6.o": 0.131, + "build/src/snd7.o": 0.114, + "build/src/snd8.o": 0.087, + "build/src/snd9.o": 0.132, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.244, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.741, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.574, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.088, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.121, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.256, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.223, + "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.118, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.114, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.341, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.151, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.259, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.129, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.118, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.119, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.133, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.756, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.408, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.15, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.292, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.088, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.166, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.114, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.306, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.321, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.105, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.375, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.137, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.106, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.075, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.167, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.179, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.782, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.661, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.11, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.093, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.236, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.24, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.157, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.129, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.104, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.267, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.131, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.28, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.142, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.162, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.119, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.123, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.727, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.35, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.168, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.297, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.116, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.21, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.126, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.245, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.316, + "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.368, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.178, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.113, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.128, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.185, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.689, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.525, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.075, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.127, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.167, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.222, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.184, "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.125, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.106, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.243, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.139, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.246, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.177, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.168, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.108, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.295, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.15, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.249, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.19, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.134, "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.116, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.141, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.564, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.344, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.155, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.274, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.091, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.148, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.103, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.184, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.815, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.101 + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.132, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.6, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.341, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.154, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.253, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.105, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.143, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.101, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.203, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.818, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.095, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.107 }, "ok": true, "seconds": 4.2 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 3435e977e9..7dc089e1f5 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29205,3 +29205,6 @@ {"ts": "2026-09-10 22:28:00", "label": "s104_d14", "rung": "E", "calib": {"head": "d94d99310", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_027/ov_SC02_027_jr_8017D898.c", "fn": "func_801860B8", "addr": 2149081272, "aliases": null, "header": false, "includers": 0, "nhash_before": "d2b8fee98eb8dcf6a27d2ec85567f432e288a081", "nhash_after": "8f8e55c463b04a86666bfef11551d6baaefd1cad", "source": ".run/P36/agents/ov_SC02_027__func_801860B8/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.57, "objects": ["build/src/ov_SC02_027/ov_SC02_027_jr_8017D898.o"], "before_text": "void func_801860B8(s32 arg0_)\n{\n s32 arg0;\n register s32 prev __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register u16 flags __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 a;\n s32 diff;\n s32 v;\n register s32 d __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 spd;\n s32 e1;\n s32 e2;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801DA778 = (s16)(boost * 2) + 0x1000;\n D_801DA77C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n diff = D_801DA778 - a;\n if (diff > 0) {\n D_801DA778 -= diff >> 2;\n } else if (diff < 0) {\n D_801DA778 += (-diff) / 4;\n }\n\n prev = D_801DA77C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801DA778 - prev + spd;\n D_801DA77C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801DA778 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n e2 = *(s32 *)(arg0 + 0x20);\n d = __builtin_abs(v);\n *(s16 *)(e2 + 0x1C) = d;\n *(s16 *)(e2 + 0x18) = d;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n", "after_text": "void func_801860B8(s32 arg0_)\n{\n s32 arg0;\n s32 a; /* the level, the ramp target, then the old D_801DA77C ($a1 throughout) */\n s32 cur; /* D_801DA778, then the entity's +0x20 object ($a0 throughout) */\n s32 diff; /* the gap to the target, then |v| ($v0 throughout) */\n u16 flags;\n s32 v;\n s32 spd;\n s32 e1;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801DA778 = (s16)(boost * 2) + 0x1000;\n D_801DA77C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n cur = D_801DA778;\n diff = cur - a;\n if (diff > 0) {\n D_801DA778 -= diff >> 2;\n } else if (diff < 0) {\n D_801DA778 += (-diff) / 4;\n }\n\n a = D_801DA77C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801DA778 - a + spd;\n D_801DA77C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801DA778 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n cur = *(s32 *)(arg0 + 0x20);\n diff = __builtin_abs(v);\n *(s16 *)(cur + 0x1C) = diff;\n *(s16 *)(cur + 0x18) = diff;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n"} {"ts": "2026-09-10 22:28:38", "label": "s104_d14", "rung": "E", "calib": {"head": "d94d99310", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", "fn": "func_8017EA88", "addr": 2149051016, "aliases": null, "header": false, "includers": 0, "nhash_before": "d2b8fee98eb8dcf6a27d2ec85567f432e288a081", "nhash_after": "8f8e55c463b04a86666bfef11551d6baaefd1cad", "source": "propagate:src/ov_SC02_027/ov_SC02_027_jr_8017D898.c:func_801860B8", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 2.515, "objects": ["build/src/ov_SC02_026/ov_SC02_026_jr_8017C180.o"], "before_text": "void func_8017EA88(s32 arg0_)\n{\n s32 arg0;\n register s32 prev __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register u16 flags __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 a;\n s32 diff;\n s32 v;\n register s32 d __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 spd;\n s32 e1;\n s32 e2;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801D0148 = (s16)(boost * 2) + 0x1000;\n D_801D014C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n diff = D_801D0148 - a;\n if (diff > 0) {\n D_801D0148 -= diff >> 2;\n } else if (diff < 0) {\n D_801D0148 += (-diff) / 4;\n }\n\n prev = D_801D014C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801D0148 - prev + spd;\n D_801D014C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801D0148 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n e2 = *(s32 *)(arg0 + 0x20);\n d = __builtin_abs(v);\n *(s16 *)(e2 + 0x1C) = d;\n *(s16 *)(e2 + 0x18) = d;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n", "after_text": "void func_8017EA88(s32 arg0_)\n{\n s32 arg0;\n s32 a; /* the level, the ramp target, then the old D_801D014C ($a1 throughout) */\n s32 cur; /* D_801D0148, then the entity's +0x20 object ($a0 throughout) */\n s32 diff; /* the gap to the target, then |v| ($v0 throughout) */\n u16 flags;\n s32 v;\n s32 spd;\n s32 e1;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801D0148 = (s16)(boost * 2) + 0x1000;\n D_801D014C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n cur = D_801D0148;\n diff = cur - a;\n if (diff > 0) {\n D_801D0148 -= diff >> 2;\n } else if (diff < 0) {\n D_801D0148 += (-diff) / 4;\n }\n\n a = D_801D014C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801D0148 - a + spd;\n D_801D014C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801D0148 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n cur = *(s32 *)(arg0 + 0x20);\n diff = __builtin_abs(v);\n *(s16 *)(cur + 0x1C) = diff;\n *(s16 *)(cur + 0x18) = diff;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n"} {"ts": "2026-09-10 22:28:43", "label": "s104_d14", "rung": "E", "calib": {"head": "d94d99310", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_80184BD8.c", "fn": "func_80186A9C", "addr": 2149083804, "aliases": null, "header": false, "includers": 0, "nhash_before": "d2b8fee98eb8dcf6a27d2ec85567f432e288a081", "nhash_after": "8f8e55c463b04a86666bfef11551d6baaefd1cad", "source": "propagate:src/ov_SC02_027/ov_SC02_027_jr_8017D898.c:func_801860B8", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.223, "objects": ["build/src/ov_SC02_028/ov_SC02_028_jr_80184BD8.o"], "before_text": "void func_80186A9C(s32 arg0_)\n{\n s32 arg0;\n register s32 prev __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register u16 flags __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 a;\n s32 diff;\n s32 v;\n register s32 d __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 spd;\n s32 e1;\n s32 e2;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801D3378 = (s16)(boost * 2) + 0x1000;\n D_801D337C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n diff = D_801D3378 - a;\n if (diff > 0) {\n D_801D3378 -= diff >> 2;\n } else if (diff < 0) {\n D_801D3378 += (-diff) / 4;\n }\n\n prev = D_801D337C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801D3378 - prev + spd;\n D_801D337C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801D3378 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n e2 = *(s32 *)(arg0 + 0x20);\n d = __builtin_abs(v);\n *(s16 *)(e2 + 0x1C) = d;\n *(s16 *)(e2 + 0x18) = d;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n", "after_text": "void func_80186A9C(s32 arg0_)\n{\n s32 arg0;\n s32 a; /* the level, the ramp target, then the old D_801D337C ($a1 throughout) */\n s32 cur; /* D_801D3378, then the entity's +0x20 object ($a0 throughout) */\n s32 diff; /* the gap to the target, then |v| ($v0 throughout) */\n u16 flags;\n s32 v;\n s32 spd;\n s32 e1;\n s32 boost;\n s32 tail;\n\n arg0 = arg0_;\n *(s16 *)(arg0 + 0x5C) = 0;\n boost = (*(u16 *)(arg0 + 0x70) & 1) * 819;\n tail = boost * 2;\n a = D_80126CE0;\n if (a == 0) {\n D_801D3378 = (s16)(boost * 2) + 0x1000;\n D_801D337C = (s16)(boost * 2) + 0x1000;\n }\n spd = (s16)(boost * 2) + 0x1000;\n a = (spd * (0x90 - a)) / 0x90;\n\n cur = D_801D3378;\n diff = cur - a;\n if (diff > 0) {\n D_801D3378 -= diff >> 2;\n } else if (diff < 0) {\n D_801D3378 += (-diff) / 4;\n }\n\n a = D_801D337C;\n e1 = *(s32 *)(arg0 + 0x20);\n v = D_801D3378 - a + spd;\n D_801D337C = spd;\n flags = *(u16 *)(e1 + 0x2C);\n D_801D3378 = v;\n *(u16 *)(e1 + 0x2C) = flags | 0x10;\n\n cur = *(s32 *)(arg0 + 0x20);\n diff = __builtin_abs(v);\n *(s16 *)(cur + 0x1C) = diff;\n *(s16 *)(cur + 0x18) = diff;\n *(s16 *)(*(s32 *)(arg0 + 0x20) + 0x1A) = tail + 0x1000;\n}\n"} +{"ts": "2026-09-10 22:29:37", "label": "s104_d19", "rung": "E", "calib": {"head": "b9cadc83b", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_001/ov_SC03_001_jr_80189030.c", "fn": "func_80189030", "addr": 2149093424, "aliases": null, "header": false, "includers": 0, "nhash_before": "aa7913816c33b46986eca5f29d944096cc50089e", "nhash_after": "4f87354df285db2080c472fda58d9bb1fda0d076", "source": ".run/P36/agents/ov_SC03_001__func_80189030/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.136, "objects": ["build/src/ov_SC03_001/ov_SC03_001_jr_80189030.o"], "before_text": "void func_80189030(void) {\n\n extern s16 D_801EEB10;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801C1648[];\n extern s32 D_801C1808[];\n extern s32 D_801C181C[];\n extern s16 D_801C1830[];\n extern s32 D_801C1838[];\n extern u8 D_801C1662;\n extern u8 D_801C1664;\n extern u8 D_801C166E;\n extern u8 D_801C1670;\n extern u8 D_801C167A;\n extern u8 D_801C167C;\n extern u8 D_801C1686;\n extern u8 D_801C1688;\n extern s32 D_801F0CC0;\n extern s32 D_801F0CEC;\n extern s32 D_801F10B0;\n extern s32 D_801F1374;\n extern u8 D_801EF1F4[];\n extern s32 D_801EF23C[];\n extern s32 D_801EF254[];\n extern u16 D_801EF26C;\n extern u16 D_801EF274;\n extern u8 D_801EF290[];\n extern u8 *D_801EB574[];\n extern u8 D_801EB56C[];\n extern u8 D_801EB572;\n extern u8 *D_801EB58C;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801F2690(void);\n extern void func_801898E4(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801EEB10 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801EF274 = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801C1648[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801EF290[i] = 0;\n }\n\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801C1830[k]) {\n break;\n }\n }\n k = k + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801EB574[i];\n for (j = 0; j < D_801EB56C[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801EF290[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801EB58C;\n for (j = 0; j < D_801EB572; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801EF290[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801EF254[i] = 0;\n }\n __asm__ __volatile__(\"\" :: \"r\"(p)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801F2690();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801EF23C;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801EF1F4;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801F0CC0;\n } else {\n pp[0] = (s32)&D_801F0CEC;\n }\n D_801EF254[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801F1374;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801F10B0;\n }\n D_801EF254[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801C1808[(u16)((u32)D_800B99D8 % 5)];\n D_801EF254[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801C1830[k]) {\n break;\n }\n }\n {\n s32 v3 = D_801C1838[k];\n if (v3 != 0) {\n pp[0] = v3;\n D_801EF254[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801C181C[(u16)((u32)D_800B99DA % 5)];\n D_801EF254[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801EF26C = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801EF26C = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801C1686 = t2;\n D_801C167A = t2;\n D_801C166E = t2;\n D_801C1662 = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801C1686 = t2;\n D_801C167A = t2;\n D_801C166E = t2;\n D_801C1662 = t2;\n t2 = 0x6D;\n }\n D_801C1688 = t2;\n D_801C167C = t2;\n D_801C1670 = t2;\n D_801C1664 = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801EF26C = 3;\n }\n\n func_801898E4();\n}\n", "after_text": "void func_80189030(void) {\n\n extern s16 D_801EEB10;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801C1648[];\n extern s32 D_801C1808[];\n extern s32 D_801C181C[];\n extern s16 D_801C1830[];\n extern s32 D_801C1838[];\n extern u8 D_801C1662;\n extern u8 D_801C1664;\n extern u8 D_801C166E;\n extern u8 D_801C1670;\n extern u8 D_801C167A;\n extern u8 D_801C167C;\n extern u8 D_801C1686;\n extern u8 D_801C1688;\n extern s32 D_801F0CC0;\n extern s32 D_801F0CEC;\n extern s32 D_801F10B0;\n extern s32 D_801F1374;\n extern u8 D_801EF1F4[];\n extern s32 D_801EF23C[];\n extern s32 D_801EF254[];\n extern u16 D_801EF26C;\n extern u16 D_801EF274;\n extern u8 D_801EF290[];\n extern u8 *D_801EB574[];\n extern u8 D_801EB56C[];\n extern u8 D_801EB572;\n extern u8 *D_801EB58C;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801F2690(void);\n extern void func_801898E4(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801EEB10 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801EF274 = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801C1648[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801EF290[i] = 0;\n }\n\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801C1830[j]) {\n break;\n }\n }\n k = j + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801EB574[i];\n for (j = 0; j < D_801EB56C[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801EF290[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801EB58C;\n for (j = 0; j < D_801EB572; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801EF290[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801EF254[i] = 0;\n }\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801F2690();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801EF23C;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801EF1F4;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801F0CC0;\n } else {\n pp[0] = (s32)&D_801F0CEC;\n }\n D_801EF254[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801F1374;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801F10B0;\n }\n D_801EF254[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801C1808[(u16)((u32)D_800B99D8 % 5)];\n D_801EF254[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801C1830[j]) {\n break;\n }\n }\n {\n s32 v3 = D_801C1838[j];\n if (v3 != 0) {\n pp[0] = v3;\n D_801EF254[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801C181C[(u16)((u32)D_800B99DA % 5)];\n D_801EF254[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801EF26C = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801EF26C = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801C1686 = t2;\n D_801C167A = t2;\n D_801C166E = t2;\n D_801C1662 = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801C1686 = t2;\n D_801C167A = t2;\n D_801C166E = t2;\n D_801C1662 = t2;\n t2 = 0x6D;\n }\n D_801C1688 = t2;\n D_801C167C = t2;\n D_801C1670 = t2;\n D_801C1664 = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801EF26C = 3;\n }\n\n func_801898E4();\n}\n"} +{"ts": "2026-09-10 22:29:54", "label": "s104_d19", "rung": "E", "calib": {"head": "b9cadc83b", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_124/ov_SC03_124_jr_80185C98.c", "fn": "func_80185C98", "addr": 2149080216, "aliases": null, "header": false, "includers": 0, "nhash_before": "aa7913816c33b46986eca5f29d944096cc50089e", "nhash_after": "4f87354df285db2080c472fda58d9bb1fda0d076", "source": "propagate:src/ov_SC03_001/ov_SC03_001_jr_80189030.c:func_80189030", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.108, "objects": ["build/src/ov_SC03_124/ov_SC03_124_jr_80185C98.o"], "before_text": "void func_80185C98(void) {\n\n extern s16 D_801E1C88;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801BC9B0[];\n extern s32 D_801BCB70[];\n extern s32 D_801BCB84[];\n extern s16 D_801BCB98[];\n extern s32 D_801BCBA0[];\n extern u8 D_801BC9CA;\n extern u8 D_801BC9CC;\n extern u8 D_801BC9D6;\n extern u8 D_801BC9D8;\n extern u8 D_801BC9E2;\n extern u8 D_801BC9E4;\n extern u8 D_801BC9EE;\n extern u8 D_801BC9F0;\n extern s32 D_801E4098;\n extern s32 D_801E40C4;\n extern s32 D_801E4488;\n extern s32 D_801E474C;\n extern u8 D_801E236C[];\n extern s32 D_801E23B4[];\n extern s32 D_801E23CC[];\n extern u16 D_801E23E4;\n extern u16 D_801E23EC;\n extern u8 D_801E2408[];\n extern u8 *D_801DE82C[];\n extern u8 D_801DE824[];\n extern u8 D_801DE82A;\n extern u8 *D_801DE844;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801E585C(void);\n extern void func_8018654C(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801E1C88 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801E23EC = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801BC9B0[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801E2408[i] = 0;\n }\n\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801BCB98[k]) {\n break;\n }\n }\n k = k + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801DE82C[i];\n for (j = 0; j < D_801DE824[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801E2408[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801DE844;\n for (j = 0; j < D_801DE82A; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801E2408[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801E23CC[i] = 0;\n }\n __asm__ __volatile__(\"\" :: \"r\"(p)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801E585C();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801E23B4;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801E236C;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801E4098;\n } else {\n pp[0] = (s32)&D_801E40C4;\n }\n D_801E23CC[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801E474C;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801E4488;\n }\n D_801E23CC[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801BCB70[(u16)((u32)D_800B99D8 % 5)];\n D_801E23CC[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801BCB98[k]) {\n break;\n }\n }\n {\n s32 v3 = D_801BCBA0[k];\n if (v3 != 0) {\n pp[0] = v3;\n D_801E23CC[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801BCB84[(u16)((u32)D_800B99DA % 5)];\n D_801E23CC[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801E23E4 = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801E23E4 = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801BC9EE = t2;\n D_801BC9E2 = t2;\n D_801BC9D6 = t2;\n D_801BC9CA = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801BC9EE = t2;\n D_801BC9E2 = t2;\n D_801BC9D6 = t2;\n D_801BC9CA = t2;\n t2 = 0x6D;\n }\n D_801BC9F0 = t2;\n D_801BC9E4 = t2;\n D_801BC9D8 = t2;\n D_801BC9CC = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801E23E4 = 3;\n }\n\n func_8018654C();\n}\n", "after_text": "void func_80185C98(void) {\n\n extern s16 D_801E1C88;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801BC9B0[];\n extern s32 D_801BCB70[];\n extern s32 D_801BCB84[];\n extern s16 D_801BCB98[];\n extern s32 D_801BCBA0[];\n extern u8 D_801BC9CA;\n extern u8 D_801BC9CC;\n extern u8 D_801BC9D6;\n extern u8 D_801BC9D8;\n extern u8 D_801BC9E2;\n extern u8 D_801BC9E4;\n extern u8 D_801BC9EE;\n extern u8 D_801BC9F0;\n extern s32 D_801E4098;\n extern s32 D_801E40C4;\n extern s32 D_801E4488;\n extern s32 D_801E474C;\n extern u8 D_801E236C[];\n extern s32 D_801E23B4[];\n extern s32 D_801E23CC[];\n extern u16 D_801E23E4;\n extern u16 D_801E23EC;\n extern u8 D_801E2408[];\n extern u8 *D_801DE82C[];\n extern u8 D_801DE824[];\n extern u8 D_801DE82A;\n extern u8 *D_801DE844;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801E585C(void);\n extern void func_8018654C(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801E1C88 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801E23EC = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801BC9B0[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801E2408[i] = 0;\n }\n\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801BCB98[j]) {\n break;\n }\n }\n k = j + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801DE82C[i];\n for (j = 0; j < D_801DE824[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801E2408[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801DE844;\n for (j = 0; j < D_801DE82A; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801E2408[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801E23CC[i] = 0;\n }\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801E585C();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801E23B4;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801E236C;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801E4098;\n } else {\n pp[0] = (s32)&D_801E40C4;\n }\n D_801E23CC[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801E474C;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801E4488;\n }\n D_801E23CC[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801BCB70[(u16)((u32)D_800B99D8 % 5)];\n D_801E23CC[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801BCB98[j]) {\n break;\n }\n }\n {\n s32 v3 = D_801BCBA0[j];\n if (v3 != 0) {\n pp[0] = v3;\n D_801E23CC[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801BCB84[(u16)((u32)D_800B99DA % 5)];\n D_801E23CC[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801E23E4 = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801E23E4 = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801BC9EE = t2;\n D_801BC9E2 = t2;\n D_801BC9D6 = t2;\n D_801BC9CA = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801BC9EE = t2;\n D_801BC9E2 = t2;\n D_801BC9D6 = t2;\n D_801BC9CA = t2;\n t2 = 0x6D;\n }\n D_801BC9F0 = t2;\n D_801BC9E4 = t2;\n D_801BC9D8 = t2;\n D_801BC9CC = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801E23E4 = 3;\n }\n\n func_8018654C();\n}\n"} +{"ts": "2026-09-10 22:29:54", "label": "s104_d19", "rung": "E", "calib": {"head": "b9cadc83b", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC05_017/ov_SC05_017_jr_80186270.c", "fn": "func_80186270", "addr": 2149081712, "aliases": null, "header": false, "includers": 0, "nhash_before": "aa7913816c33b46986eca5f29d944096cc50089e", "nhash_after": "4f87354df285db2080c472fda58d9bb1fda0d076", "source": "propagate:src/ov_SC03_001/ov_SC03_001_jr_80189030.c:func_80189030", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.115, "objects": ["build/src/ov_SC05_017/ov_SC05_017_jr_80186270.o"], "before_text": "void func_80186270(void) {\n\n extern s16 D_801ECE90;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801B9224[];\n extern s32 D_801B93E4[];\n extern s32 D_801B93F8[];\n extern s16 D_801B940C[];\n extern s32 D_801B9414[];\n extern u8 D_801B923E;\n extern u8 D_801B9240;\n extern u8 D_801B924A;\n extern u8 D_801B924C;\n extern u8 D_801B9256;\n extern u8 D_801B9258;\n extern u8 D_801B9262;\n extern u8 D_801B9264;\n extern s32 D_801EF13C;\n extern s32 D_801EF168;\n extern s32 D_801EF52C;\n extern s32 D_801EF7F0;\n extern u8 D_801ED574[];\n extern s32 D_801ED5BC[];\n extern s32 D_801ED5D4[];\n extern u16 D_801ED5EC;\n extern u16 D_801ED5F4;\n extern u8 D_801ED610[];\n extern u8 *D_801E9B7C[];\n extern u8 D_801E9B74[];\n extern u8 D_801E9B7A;\n extern u8 *D_801E9B94;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801F0C4C(void);\n extern void func_80186B24(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801ECE90 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801ED5F4 = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801B9224[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801ED610[i] = 0;\n }\n\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801B940C[k]) {\n break;\n }\n }\n k = k + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801E9B7C[i];\n for (j = 0; j < D_801E9B74[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801ED610[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801E9B94;\n for (j = 0; j < D_801E9B7A; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801ED610[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801ED5D4[i] = 0;\n }\n __asm__ __volatile__(\"\" :: \"r\"(p)); // !FAKE: keepalive \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801F0C4C();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801ED5BC;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801ED574;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801EF13C;\n } else {\n pp[0] = (s32)&D_801EF168;\n }\n D_801ED5D4[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801EF7F0;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801EF52C;\n }\n D_801ED5D4[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801B93E4[(u16)((u32)D_800B99D8 % 5)];\n D_801ED5D4[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (k = 0; k < 4; k++) {\n if (iVar5 < D_801B940C[k]) {\n break;\n }\n }\n {\n s32 v3 = D_801B9414[k];\n if (v3 != 0) {\n pp[0] = v3;\n D_801ED5D4[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801B93F8[(u16)((u32)D_800B99DA % 5)];\n D_801ED5D4[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801ED5EC = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801ED5EC = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801B9262 = t2;\n D_801B9256 = t2;\n D_801B924A = t2;\n D_801B923E = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801B9262 = t2;\n D_801B9256 = t2;\n D_801B924A = t2;\n D_801B923E = t2;\n t2 = 0x6D;\n }\n D_801B9264 = t2;\n D_801B9258 = t2;\n D_801B924C = t2;\n D_801B9240 = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801ED5EC = 3;\n }\n\n func_80186B24();\n}\n", "after_text": "void func_80186270(void) {\n\n extern s16 D_801ECE90;\n extern s16 D_80115118;\n extern s16 D_80115126;\n extern s32 D_80115134;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115148[];\n extern u8 D_80115158[];\n extern u16 D_8011515A;\n extern s32 D_801B9224[];\n extern s32 D_801B93E4[];\n extern s32 D_801B93F8[];\n extern s16 D_801B940C[];\n extern s32 D_801B9414[];\n extern u8 D_801B923E;\n extern u8 D_801B9240;\n extern u8 D_801B924A;\n extern u8 D_801B924C;\n extern u8 D_801B9256;\n extern u8 D_801B9258;\n extern u8 D_801B9262;\n extern u8 D_801B9264;\n extern s32 D_801EF13C;\n extern s32 D_801EF168;\n extern s32 D_801EF52C;\n extern s32 D_801EF7F0;\n extern u8 D_801ED574[];\n extern s32 D_801ED5BC[];\n extern s32 D_801ED5D4[];\n extern u16 D_801ED5EC;\n extern u16 D_801ED5F4;\n extern u8 D_801ED610[];\n extern u8 *D_801E9B7C[];\n extern u8 D_801E9B74[];\n extern u8 D_801E9B7A;\n extern u8 *D_801E9B94;\n extern u16 D_800B99D8;\n extern u16 D_800B99DA;\n extern s32 D_80078E8C;\n extern s16 D_80078E92;\n extern u8 D_80078EBA;\n\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32 arg);\n extern s32 func_800291B4(s32 arg);\n extern void func_80029124(s32, s32);\n extern void func_8002AC00(s32 a0);\n extern s32 func_80029FE4(void);\n extern s32 func_801F0C4C(void);\n extern void func_80186B24(void);\n\n u8 *base;\n s32 iVar5;\n short i;\n short count;\n short flagCount;\n short found;\n short cnt;\n short k;\n short j;\n u8 *p;\n u8 *rec;\n s32 *fld;\n s32 kind;\n s32 *dst;\n\n D_801ECE90 = 0;\n base = (u8 *)&D_80115118;\n *(s16 *)base = 0;\n D_801ED5F4 = 0;\n iVar5 = func_80029504();\n\n D_80115134 = D_801B9224[D_80115126];\n count = 4;\n if (D_80115126 != 3) {\n count = 3;\n }\n\n i = 0;\n while (i < 8) {\n if (i < count) {\n u8 *q = base + 0x40;\n D_80115138[i] = *(u16 *)(D_80115134 + i * 0x20);\n *(u16 *)(q + i * 2) = *(u16 *)(D_80115134 + i * 0x20 + 2);\n } else {\n *(u16 *)(D_80115158 + (i << 1)) = 0;\n D_80115138[i] = 0;\n }\n *(u16 *)(D_80115148 + (i << 1)) = 0;\n D_80115140[i] = 0;\n i = i + 1;\n }\n\n if (D_80115126 == 3) {\n if ((u8)func_80029178(0x11D) != 0) {\n func_8002AC00(0x23);\n if (((u8)func_80029178(0x1D) != 0) &&\n ((u8)func_80029178(0x1E) != 0) &&\n ((u8)func_80029178(0x1F) != 0) &&\n ((u8)func_80029178(0x20) != 0) &&\n ((u8)func_80029178(0x21) != 0) &&\n (((u8)func_80029178(0x1B) != 0) ||\n ((u8)func_80029178(0x1C) != 0))) {\n func_8002AC00(0x29);\n }\n if (func_80029FE4() >= 0x1B) {\n func_8002AC00(0x2A);\n }\n i = 0;\n cnt = 0;\n while (i < 0x2A) {\n if (func_800291B4((s32)i + 0x63) & 0x40) {\n cnt = cnt + 1;\n }\n i = i + 1;\n }\n if (cnt >= 0x2A) {\n func_8002AC00(0x2B);\n }\n }\n\n flagCount = 0;\n for (i = 0; i < 7; i++) {\n D_801ED610[i] = 0;\n }\n\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801B940C[j]) {\n break;\n }\n }\n k = j + 2;\n if ((u8)func_80029178(0x11D) != 0) {\n k = 6;\n }\n\n for (i = 0; i < k; i++) {\n found = 0;\n p = D_801E9B7C[i];\n for (j = 0; j < D_801E9B74[i]; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801ED610[flagCount++] = i;\n }\n }\n\n found = 0;\n p = D_801E9B94;\n for (j = 0; j < D_801E9B7A; j++) {\n if (func_800291B4(*p++ + 0x62) & 0x80) {\n found = 1;\n break;\n }\n }\n if (found) {\n D_801ED610[flagCount++] = 6;\n }\n D_8011515A = flagCount | 0x100;\n }\n\n for (i = 0; i < 6; i++) {\n D_801ED5D4[i] = 0;\n }\n\n if (D_80115126 == 4) {\n rec = (u8 *)func_801F0C4C();\n if (rec != 0) {\n s32 *tbl;\n s32 *tbl2;\n i = 0;\n tbl = D_801ED5BC;\n tbl2 = tbl + 6;\n fld = (s32 *)(rec - 0x10);\n do {\n kind = fld[6];\n if ((u32)(kind - 10) < 2) {\n *(s32 *)(kind * 4 + (s32)tbl) = (s32)rec;\n } else {\n *(s32 *)(i++ * 4 + (s32)tbl2) = (s32)rec;\n }\n fld += 4;\n rec += 0x10;\n } while (fld[0] != 0);\n }\n }\n\n if (D_80115126 == 5) {\n rec = D_801ED574;\n for (i = 0; i < 6; i++) {\n s32 *pp = (s32 *)(rec + 4);\n switch (i) {\n case 0:\n pp[1] = 9;\n if (iVar5 < 0x258) {\n pp[0] = (s32)&D_801EF13C;\n } else {\n pp[0] = (s32)&D_801EF168;\n }\n D_801ED5D4[0] = (s32)rec;\n break;\n case 1:\n pp[1] = 0xB;\n if (((u8)func_80029178(0x11A) != 0) &&\n ((u32)D_80078E8C >= 0x32)) {\n pp[0] = (s32)&D_801EF7F0;\n } else {\n func_80029124(0x11A, 0);\n pp[0] = (s32)&D_801EF52C;\n }\n D_801ED5D4[1] = (s32)rec;\n break;\n case 2:\n *(s32 *)((s32)pp + 4) = 3;\n pp[0] = D_801B93E4[(u16)((u32)D_800B99D8 % 5)];\n D_801ED5D4[2] = (s32)rec;\n break;\n case 3:\n pp[1] = 0x19;\n for (j = 0; j < 4; j++) {\n if (iVar5 < D_801B940C[j]) {\n break;\n }\n }\n {\n s32 v3 = D_801B9414[j];\n if (v3 != 0) {\n pp[0] = v3;\n D_801ED5D4[3] = (s32)rec;\n }\n }\n break;\n case 4:\n if (iVar5 < 0x3B6) {\n *(s32 *)((s32)pp + 4) = 0xC;\n pp[0] = D_801B93F8[(u16)((u32)D_800B99DA % 5)];\n D_801ED5D4[4] = (s32)rec;\n }\n break;\n }\n rec += 0x10;\n }\n }\n\n D_801ED5EC = 0;\n if (D_80115126 == 0) {\n s32 t2;\n if (D_80078EBA == 4) {\n D_801ED5EC = 0x14;\n }\n if (iVar5 < 0x258) {\n t2 = 6;\n D_801B9262 = t2;\n D_801B9256 = t2;\n D_801B924A = t2;\n D_801B923E = t2;\n t2 = 8;\n } else {\n t2 = 7;\n D_801B9262 = t2;\n D_801B9256 = t2;\n D_801B924A = t2;\n D_801B923E = t2;\n t2 = 0x6D;\n }\n D_801B9264 = t2;\n D_801B9258 = t2;\n D_801B924C = t2;\n D_801B9240 = t2;\n }\n\n if ((D_80115126 == 1) && (D_80078E92 >= 0x438)) {\n D_801ED5EC = 3;\n }\n\n func_80186B24();\n}\n"} diff --git a/src/ov_SC03_001/ov_SC03_001_jr_80189030.c b/src/ov_SC03_001/ov_SC03_001_jr_80189030.c index 0823766cc3..8ee2ab48d0 100644 --- a/src/ov_SC03_001/ov_SC03_001_jr_80189030.c +++ b/src/ov_SC03_001/ov_SC03_001_jr_80189030.c @@ -3251,12 +3251,12 @@ void func_80189030(void) { D_801EF290[i] = 0; } - for (k = 0; k < 4; k++) { - if (iVar5 < D_801C1830[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801C1830[j]) { break; } } - k = k + 2; + k = j + 2; if ((u8)func_80029178(0x11D) != 0) { k = 6; } @@ -3292,7 +3292,6 @@ void func_80189030(void) { for (i = 0; i < 6; i++) { D_801EF254[i] = 0; } - __asm__ __volatile__("" :: "r"(p)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) if (D_80115126 == 4) { rec = (u8 *)func_801F2690(); @@ -3348,13 +3347,13 @@ void func_80189030(void) { break; case 3: pp[1] = 0x19; - for (k = 0; k < 4; k++) { - if (iVar5 < D_801C1830[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801C1830[j]) { break; } } { - s32 v3 = D_801C1838[k]; + s32 v3 = D_801C1838[j]; if (v3 != 0) { pp[0] = v3; D_801EF254[3] = (s32)rec; diff --git a/src/ov_SC03_124/ov_SC03_124_jr_80185C98.c b/src/ov_SC03_124/ov_SC03_124_jr_80185C98.c index 3580c818e9..48713db358 100644 --- a/src/ov_SC03_124/ov_SC03_124_jr_80185C98.c +++ b/src/ov_SC03_124/ov_SC03_124_jr_80185C98.c @@ -3116,12 +3116,12 @@ void func_80185C98(void) { D_801E2408[i] = 0; } - for (k = 0; k < 4; k++) { - if (iVar5 < D_801BCB98[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801BCB98[j]) { break; } } - k = k + 2; + k = j + 2; if ((u8)func_80029178(0x11D) != 0) { k = 6; } @@ -3157,7 +3157,6 @@ void func_80185C98(void) { for (i = 0; i < 6; i++) { D_801E23CC[i] = 0; } - __asm__ __volatile__("" :: "r"(p)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) if (D_80115126 == 4) { rec = (u8 *)func_801E585C(); @@ -3213,13 +3212,13 @@ void func_80185C98(void) { break; case 3: pp[1] = 0x19; - for (k = 0; k < 4; k++) { - if (iVar5 < D_801BCB98[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801BCB98[j]) { break; } } { - s32 v3 = D_801BCBA0[k]; + s32 v3 = D_801BCBA0[j]; if (v3 != 0) { pp[0] = v3; D_801E23CC[3] = (s32)rec; diff --git a/src/ov_SC05_017/ov_SC05_017_jr_80186270.c b/src/ov_SC05_017/ov_SC05_017_jr_80186270.c index 18aa2859c5..fb64a0c921 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_80186270.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_80186270.c @@ -3110,12 +3110,12 @@ void func_80186270(void) { D_801ED610[i] = 0; } - for (k = 0; k < 4; k++) { - if (iVar5 < D_801B940C[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801B940C[j]) { break; } } - k = k + 2; + k = j + 2; if ((u8)func_80029178(0x11D) != 0) { k = 6; } @@ -3151,7 +3151,6 @@ void func_80186270(void) { for (i = 0; i < 6; i++) { D_801ED5D4[i] = 0; } - __asm__ __volatile__("" :: "r"(p)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9) if (D_80115126 == 4) { rec = (u8 *)func_801F0C4C(); @@ -3207,13 +3206,13 @@ void func_80186270(void) { break; case 3: pp[1] = 0x19; - for (k = 0; k < 4; k++) { - if (iVar5 < D_801B940C[k]) { + for (j = 0; j < 4; j++) { + if (iVar5 < D_801B940C[j]) { break; } } { - s32 v3 = D_801B9414[k]; + s32 v3 = D_801B9414[j]; if (v3 != 0) { pp[0] = v3; D_801ED5D4[3] = (s32)rec;