phase-36: S104 s104_d34 — func_8017ED60 banked at 0 through the whole-object gate + propagated — d34 copy

This commit is contained in:
Drew T
2026-09-11 00:11:28 -06:00
parent f22b8b7d54
commit 804faacc85
3 changed files with 212 additions and 244 deletions
+185 -185
View File
@@ -1,5 +1,5 @@
{
"head": "1dca90ccf",
"head": "f22b8b7d5",
"stamp": "15956e4a96c4",
"generated": "2026-09-11 00:10",
"aliases": [
@@ -21,207 +21,207 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 10.781000000000004,
"mean_s": 0.127
"seconds": 8.604000000000003,
"mean_s": 0.101
},
"ov_SC03_014": {
"objects": 32,
"identical": 32,
"seconds": 6.877000000000002,
"mean_s": 0.215
"seconds": 5.711,
"mean_s": 0.178
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 6.686,
"mean_s": 0.209
"seconds": 5.388000000000002,
"mean_s": 0.168
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 6.073000000000002,
"mean_s": 0.217
"seconds": 5.179,
"mean_s": 0.185
}
},
"per_object_seconds": {
"build/src/800.o": 1.088,
"build/src/800_b.o": 0.167,
"build/src/800_b_2.o": 0.391,
"build/src/800_b_o0a.o": 0.116,
"build/src/800_c.o": 0.274,
"build/src/800b2.o": 0.113,
"build/src/apicard1.o": 0.12,
"build/src/apicard2.o": 0.143,
"build/src/800.o": 0.633,
"build/src/800_b.o": 0.162,
"build/src/800_b_2.o": 0.344,
"build/src/800_b_o0a.o": 0.112,
"build/src/800_c.o": 0.258,
"build/src/800b2.o": 0.145,
"build/src/apicard1.o": 0.095,
"build/src/apicard2.o": 0.183,
"build/src/apicard3.o": 0.076,
"build/src/apicard4.o": 0.102,
"build/src/apicard5.o": 0.103,
"build/src/apicard6.o": 0.077,
"build/src/apicard7.o": 0.082,
"build/src/boot.o": 0.122,
"build/src/gap.o": 0.098,
"build/src/libapi1.o": 0.096,
"build/src/libapi2.o": 0.12,
"build/src/libc2_1.o": 0.097,
"build/src/apicard4.o": 0.144,
"build/src/apicard5.o": 0.084,
"build/src/apicard6.o": 0.117,
"build/src/apicard7.o": 0.1,
"build/src/boot.o": 0.152,
"build/src/gap.o": 0.145,
"build/src/libapi1.o": 0.106,
"build/src/libapi2.o": 0.1,
"build/src/libc2_1.o": 0.093,
"build/src/libc2_2.o": 0.069,
"build/src/libcd1.o": 0.126,
"build/src/libcd2.o": 0.085,
"build/src/libetc.o": 0.085,
"build/src/libgpu.o": 0.116,
"build/src/libgpu2.o": 0.085,
"build/src/libgs1.o": 0.086,
"build/src/libgs2.o": 0.094,
"build/src/libgs3.o": 0.108,
"build/src/libgs4.o": 0.092,
"build/src/libgs5.o": 0.12,
"build/src/libgs6.o": 0.135,
"build/src/libgs7.o": 0.113,
"build/src/libgs8.o": 0.106,
"build/src/libgte1.o": 0.139,
"build/src/libgte10.o": 0.097,
"build/src/libgte11.o": 0.134,
"build/src/libgte12.o": 0.092,
"build/src/libgte13.o": 0.113,
"build/src/libgte14.o": 0.155,
"build/src/libgte15.o": 0.12,
"build/src/libgte16.o": 0.101,
"build/src/libgte17.o": 0.09,
"build/src/libgte18.o": 0.103,
"build/src/libgte19.o": 0.115,
"build/src/libgte2.o": 0.114,
"build/src/libgte20.o": 0.129,
"build/src/libgte21.o": 0.075,
"build/src/libgte22.o": 0.16,
"build/src/libgte23.o": 0.151,
"build/src/libgte24.o": 0.078,
"build/src/libgte25.o": 0.086,
"build/src/libgte26.o": 0.111,
"build/src/libgte27.o": 0.084,
"build/src/libgte28.o": 0.096,
"build/src/libgte29.o": 0.115,
"build/src/libgte3.o": 0.08,
"build/src/libgte30.o": 0.072,
"build/src/libgte4.o": 0.137,
"build/src/libgte5.o": 0.097,
"build/src/libgte6.o": 0.086,
"build/src/libgte7.o": 0.08,
"build/src/libgte8.o": 0.093,
"build/src/libgte9.o": 0.1,
"build/src/libmcrd1.o": 0.147,
"build/src/libmcrd2.o": 0.086,
"build/src/libpad1.o": 0.092,
"build/src/libpad2.o": 0.174,
"build/src/sgap.o": 0.088,
"build/src/sgap_2.o": 0.135,
"build/src/sgap_3.o": 0.124,
"build/src/sgap_4.o": 0.154,
"build/src/sgap_5.o": 0.127,
"build/src/sgap_6.o": 0.124,
"build/src/sgap_8.o": 0.116,
"build/src/snd1.o": 0.094,
"build/src/snd10.o": 0.141,
"build/src/snd11.o": 0.101,
"build/src/snd12.o": 0.127,
"build/src/snd2.o": 0.152,
"build/src/snd3.o": 0.118,
"build/src/snd4.o": 0.095,
"build/src/snd5.o": 0.111,
"build/src/snd6.o": 0.132,
"build/src/snd7.o": 0.094,
"build/src/snd8.o": 0.107,
"build/src/snd9.o": 0.134,
"build/src/ov_SC03_014/ov_SC03_014.o": 0.225,
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.786,
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.516,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.092,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.079,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.201,
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.193,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.148,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.123,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.104,
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.241,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.103,
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.291,
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.145,
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.125,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.097,
"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.631,
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.367,
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.179,
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.303,
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.098,
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.143,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.127,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.254,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.267,
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.069,
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.408,
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.074,
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.097,
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.103,
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.153,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.214,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.671,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.525,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.063,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.067,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.16,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.207,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.186,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.103,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.101,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.231,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.259,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.155,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.144,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.091,
"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.625,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.384,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.148,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.287,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.16,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.116,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.237,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.285,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.077,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.441,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.104,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.12,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.09,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.116,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.199,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.605,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.485,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.123,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.072,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.157,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.219,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.18,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.096,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.098,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.254,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.103,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.221,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.144,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.179,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.087,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.166,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.575,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.325,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.123,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.255,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.095,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.134,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.11,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.162,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.73,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.093
"build/src/libcd1.o": 0.113,
"build/src/libcd2.o": 0.111,
"build/src/libetc.o": 0.11,
"build/src/libgpu.o": 0.072,
"build/src/libgpu2.o": 0.081,
"build/src/libgs1.o": 0.082,
"build/src/libgs2.o": 0.074,
"build/src/libgs3.o": 0.076,
"build/src/libgs4.o": 0.073,
"build/src/libgs5.o": 0.076,
"build/src/libgs6.o": 0.093,
"build/src/libgs7.o": 0.043,
"build/src/libgs8.o": 0.041,
"build/src/libgte1.o": 0.041,
"build/src/libgte10.o": 0.04,
"build/src/libgte11.o": 0.042,
"build/src/libgte12.o": 0.041,
"build/src/libgte13.o": 0.041,
"build/src/libgte14.o": 0.04,
"build/src/libgte15.o": 0.039,
"build/src/libgte16.o": 0.038,
"build/src/libgte17.o": 0.037,
"build/src/libgte18.o": 0.038,
"build/src/libgte19.o": 0.036,
"build/src/libgte2.o": 0.036,
"build/src/libgte20.o": 0.109,
"build/src/libgte21.o": 0.099,
"build/src/libgte22.o": 0.121,
"build/src/libgte23.o": 0.094,
"build/src/libgte24.o": 0.08,
"build/src/libgte25.o": 0.089,
"build/src/libgte26.o": 0.103,
"build/src/libgte27.o": 0.09,
"build/src/libgte28.o": 0.122,
"build/src/libgte29.o": 0.111,
"build/src/libgte3.o": 0.1,
"build/src/libgte30.o": 0.096,
"build/src/libgte4.o": 0.12,
"build/src/libgte5.o": 0.086,
"build/src/libgte6.o": 0.067,
"build/src/libgte7.o": 0.114,
"build/src/libgte8.o": 0.072,
"build/src/libgte9.o": 0.094,
"build/src/libmcrd1.o": 0.097,
"build/src/libmcrd2.o": 0.072,
"build/src/libpad1.o": 0.094,
"build/src/libpad2.o": 0.061,
"build/src/sgap.o": 0.068,
"build/src/sgap_2.o": 0.081,
"build/src/sgap_3.o": 0.065,
"build/src/sgap_4.o": 0.068,
"build/src/sgap_5.o": 0.09,
"build/src/sgap_6.o": 0.078,
"build/src/sgap_8.o": 0.082,
"build/src/snd1.o": 0.072,
"build/src/snd10.o": 0.068,
"build/src/snd11.o": 0.058,
"build/src/snd12.o": 0.117,
"build/src/snd2.o": 0.111,
"build/src/snd3.o": 0.123,
"build/src/snd4.o": 0.105,
"build/src/snd5.o": 0.15,
"build/src/snd6.o": 0.167,
"build/src/snd7.o": 0.086,
"build/src/snd8.o": 0.166,
"build/src/snd9.o": 0.126,
"build/src/ov_SC03_014/ov_SC03_014.o": 0.177,
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.594,
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.442,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.085,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.117,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.18,
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.248,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.162,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.113,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.092,
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.207,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.098,
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.219,
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.109,
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.082,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.099,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.119,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.494,
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.311,
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.123,
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.228,
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.085,
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.117,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.085,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.187,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.224,
"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.3,
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.082,
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.081,
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.078,
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.083,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.105,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.504,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.373,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.05,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.058,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.102,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.132,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.098,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.123,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.103,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.234,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.144,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.24,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.127,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.111,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.112,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.203,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.453,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.305,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.162,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.24,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.126,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.134,
"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.192,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.203,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.074,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.255,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.086,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.072,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.086,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.133,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.323,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.237,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.036,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.033,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.073,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.092,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.07,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.047,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.04,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.108,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.043,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.727,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.146,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.117,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.134,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.116,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.515,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.322,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.193,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.232,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.118,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.155,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.111,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.128,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.7,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.079,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.151
},
"ok": true,
"seconds": 4.4
"seconds": 26.1
}
+1
View File
@@ -29321,3 +29321,4 @@
{"ts": "2026-09-11 00:09:56", "label": "s104_d34", "rung": "E", "calib": {"head": "27fb22cad", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", "fn": "func_8018E094", "addr": 2149114004, "aliases": null, "header": false, "includers": 0, "nhash_before": "f87f53c476a01645d62b999d51c23966d91377f0", "nhash_after": "8ecc46ffd3e86e37d1b63685599c4f4ecc20a26e", "source": "propagate:src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c:func_80181408", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.388, "objects": ["build/src/ov_SC06_024/ov_SC06_024_jr_80186F00.o"], "before_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern void func_8018DEC0(void);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n s32 pad2[2]; /* sp+0x24 -- dead, sizes the frame */\n } L;\n\n s32 v1;\n s32 cool;\n s32 old;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n old = *(s16 *)(a0 + 0x84);\n v1 = old;\n if (old != 0) {\n goto L_dec;\n }\n\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n { register void *r4 __asm__(\"$4\"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n { void *r4; r4 = &D_800AF648; func_800491AC(r4); }\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag < 0) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[0] + 0xEF) & 0xFFFF) >= 0x1DF) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[1] + 0xB3) & 0xFFFF) >= 0x167) {\n goto L_snd_skip;\n }\n\n {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = sx;\n if (sx < 0) {\n av = -sx;\n }\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n\nL_snd_skip:\n cool = 0xA;\n goto L_join;\n\nL_dec:\n cool = v1 - 1;\n\nL_join:\n *(s16 *)(a0 + 0x84) = cool;\n __asm__ __volatile__(\"\" ::: \"memory\"); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n {\n s32 p = a0;\n *(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;\n *(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;\n ((void (*)(void *))func_8018DEC0)((void *)p);\n }\n}\n", "after_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern u8 D_800AF648_b __asm__(\"D_800AF648\");\n extern void func_8018DEC0(void);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n } L;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n if (*(s16 *)(a0 + 0x84) == 0) {\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n func_8004914C(&D_800AF648);\n func_800491AC(&D_800AF648_b);\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag >= 0 && (u16)(L.sxy[0] + 0xEF) < 0x1DF\n && (u16)(L.sxy[1] + 0xB3) < 0x167) {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = (sx < 0) ? -sx : sx;\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n *(s16 *)(a0 + 0x84) = 0xA;\n } else {\n (*(s16 *)(a0 + 0x84))--;\n }\n\n *(u16 *)(a0 + 0xFC) += 0x280;\n *(u16 *)(a0 + 0xFE) -= 0x280;\n ((void (*)(void *))func_8018DEC0)((void *)a0);\n}\n"}
{"ts": "2026-09-11 00:09:56", "label": "s104_d34", "rung": "E", "calib": {"head": "27fb22cad", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_8018D98C.c", "fn": "func_8018F6EC", "addr": 2149119724, "aliases": null, "header": false, "includers": 0, "nhash_before": "f87f53c476a01645d62b999d51c23966d91377f0", "nhash_after": "8ecc46ffd3e86e37d1b63685599c4f4ecc20a26e", "source": "propagate:src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c:func_80181408", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.192, "objects": ["build/src/ov_SC06_033/ov_SC06_033_jr_8018D98C.o"], "before_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern void func_8018F518(void);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n s32 pad2[2]; /* sp+0x24 -- dead, sizes the frame */\n } L;\n\n s32 v1;\n s32 cool;\n s32 old;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n old = *(s16 *)(a0 + 0x84);\n v1 = old;\n if (old != 0) {\n goto L_dec;\n }\n\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n { register void *r4 __asm__(\"$4\"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n { void *r4; r4 = &D_800AF648; func_800491AC(r4); }\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag < 0) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[0] + 0xEF) & 0xFFFF) >= 0x1DF) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[1] + 0xB3) & 0xFFFF) >= 0x167) {\n goto L_snd_skip;\n }\n\n {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = sx;\n if (sx < 0) {\n av = -sx;\n }\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n\nL_snd_skip:\n cool = 0xA;\n goto L_join;\n\nL_dec:\n cool = v1 - 1;\n\nL_join:\n *(s16 *)(a0 + 0x84) = cool;\n __asm__ __volatile__(\"\" ::: \"memory\"); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n {\n s32 p = a0;\n *(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;\n *(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;\n ((void (*)(void *))func_8018F518)((void *)p);\n }\n}\n", "after_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern u8 D_800AF648_b __asm__(\"D_800AF648\");\n extern void func_8018F518(void);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n } L;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n if (*(s16 *)(a0 + 0x84) == 0) {\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n func_8004914C(&D_800AF648);\n func_800491AC(&D_800AF648_b);\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag >= 0 && (u16)(L.sxy[0] + 0xEF) < 0x1DF\n && (u16)(L.sxy[1] + 0xB3) < 0x167) {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = (sx < 0) ? -sx : sx;\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n *(s16 *)(a0 + 0x84) = 0xA;\n } else {\n (*(s16 *)(a0 + 0x84))--;\n }\n\n *(u16 *)(a0 + 0xFC) += 0x280;\n *(u16 *)(a0 + 0xFE) -= 0x280;\n ((void (*)(void *))func_8018F518)((void *)a0);\n}\n"}
{"ts": "2026-09-11 00:10:28", "label": "s104_d34", "rung": "E", "calib": {"head": "1dca90ccf", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_008/ov_SC06_008_jr_8017C294.c", "fn": "func_8017EF54", "addr": 2149052244, "aliases": null, "header": false, "includers": 0, "nhash_before": "d390deea477fca906e9276ecb9b0197c84b0d914", "nhash_after": "307c7b11800f09aa3b0e2122469ed1c047b265dd", "source": ".run/P36/agents/ov_SC06_010__func_80181408/scratch/copy_ov_SC06_008.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.26, "objects": ["build/src/ov_SC06_008/ov_SC06_008_jr_8017C294.o"], "before_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern void func_8017ED80(void *a0);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n s32 pad2[2]; /* sp+0x24 -- dead, sizes the frame */\n } L;\n\n s32 v1;\n s32 cool;\n s32 old;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n old = *(s16 *)(a0 + 0x84);\n v1 = old;\n if (old != 0) {\n goto L_dec;\n }\n\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n { register void *r4 __asm__(\"$4\"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n { void *r4; r4 = &D_800AF648; func_800491AC(r4); }\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag < 0) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[0] + 0xEF) & 0xFFFF) >= 0x1DF) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[1] + 0xB3) & 0xFFFF) >= 0x167) {\n goto L_snd_skip;\n }\n\n {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = sx;\n if (sx < 0) {\n av = -sx;\n }\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n\nL_snd_skip:\n cool = 0xA;\n goto L_join;\n\nL_dec:\n cool = v1 - 1;\n\nL_join:\n *(s16 *)(a0 + 0x84) = cool;\n __asm__ __volatile__(\"\" ::: \"memory\"); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n {\n s32 p = a0;\n *(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;\n *(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;\n func_8017ED80((void *)p);\n }\n}\n", "after_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern u8 D_800AF648_b __asm__(\"D_800AF648\");\n extern void func_8017ED80(void *a0);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n } L;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n if (*(s16 *)(a0 + 0x84) == 0) {\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n func_8004914C(&D_800AF648);\n func_800491AC(&D_800AF648_b);\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag >= 0 && (u16)(L.sxy[0] + 0xEF) < 0x1DF\n && (u16)(L.sxy[1] + 0xB3) < 0x167) {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = (sx < 0) ? -sx : sx;\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n *(s16 *)(a0 + 0x84) = 0xA;\n } else {\n (*(s16 *)(a0 + 0x84))--;\n }\n\n *(u16 *)(a0 + 0xFC) += 0x280;\n *(u16 *)(a0 + 0xFE) -= 0x280;\n func_8017ED80((void *)a0);\n}\n"}
{"ts": "2026-09-11 00:11:25", "label": "s104_d34", "rung": "E", "calib": {"head": "f22b8b7d5", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", "fn": "func_8017ED60", "addr": 2149051744, "aliases": null, "header": false, "includers": 0, "nhash_before": "4f7dcc62da3837c30b00864f8dfbabfc944d063b", "nhash_after": "ca556c4aea08c707b6790839c221ecfd2ac2ee01", "source": ".run/P36/agents/ov_SC06_010__func_80181408/scratch/copy_ov_SC06_018.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.41, "objects": ["build/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.o"], "before_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern void func_8017EB8C(s32);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n s32 pad2[2]; /* sp+0x24 -- dead, sizes the frame */\n } L;\n\n s32 v1;\n s32 cool;\n s32 old;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n old = *(s16 *)(a0 + 0x84);\n v1 = old;\n if (old != 0) {\n goto L_dec;\n }\n\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n { register void *r4 __asm__(\"$4\"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n { void *r4; r4 = &D_800AF648; func_800491AC(r4); }\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag < 0) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[0] + 0xEF) & 0xFFFF) >= 0x1DF) {\n cool = 0xA;\n goto L_join;\n }\n if ((u32)((L.sxy[1] + 0xB3) & 0xFFFF) >= 0x167) {\n goto L_snd_skip;\n }\n\n {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = sx;\n if (sx < 0) {\n av = -sx;\n }\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n\nL_snd_skip:\n cool = 0xA;\n goto L_join;\n\nL_dec:\n cool = v1 - 1;\n\nL_join:\n *(s16 *)(a0 + 0x84) = cool;\n __asm__ __volatile__(\"\" ::: \"memory\"); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n {\n s32 p = a0;\n *(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;\n *(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;\n ((void (*)(void *))func_8017EB8C)((void *)p);\n }\n}\n", "after_text": "void aF8017EF54(s32 a0)\n{\n extern void func_8004914C(void *a0);\n extern void func_800491AC(void *a0);\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);\n extern u8 D_800AF648;\n extern u8 D_800AF648_b __asm__(\"D_800AF648\");\n extern void func_8017EB8C(s32);\n struct {\n s16 v[3]; /* sp+0x10 */\n s16 pad1; /* sp+0x16 */\n u16 sxy[2]; /* sp+0x18 */\n s32 z; /* sp+0x1C */\n s32 flag; /* sp+0x20 */\n } L;\n\n if (*(u16 *)(a0 + 0x0) == 0) {\n return;\n }\n\n if (*(s16 *)(a0 + 0x84) == 0) {\n L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);\n L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);\n L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);\n func_8004914C(&D_800AF648);\n func_800491AC(&D_800AF648_b);\n RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);\n\n if (L.flag >= 0 && (u16)(L.sxy[0] + 0xEF) < 0x1DF\n && (u16)(L.sxy[1] + 0xB3) < 0x167) {\n s32 sx = (s16)L.sxy[0];\n s32 av;\n\n av = (sx < 0) ? -sx : sx;\n av = ((0xF0 - av) * 0x7F) / 0xF0;\n sx = (sx + 0xF0) / 0x1E;\n if (sx == 0x10) {\n sx = 0xF;\n }\n sx = sx << 8;\n func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);\n }\n *(s16 *)(a0 + 0x84) = 0xA;\n } else {\n (*(s16 *)(a0 + 0x84))--;\n }\n\n *(u16 *)(a0 + 0xFC) += 0x280;\n *(u16 *)(a0 + 0xFE) -= 0x280;\n ((void (*)(void *))func_8017EB8C)((void *)a0);\n}\n"}
+26 -59
View File
@@ -3984,6 +3984,7 @@ void aF8017EF54(s32 a0)
extern void func_8002D4C8(s32 a0, s32 a1);
extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3);
extern u8 D_800AF648;
extern u8 D_800AF648_b __asm__("D_800AF648");
extern void func_8017EB8C(s32);
struct {
s16 v[3]; /* sp+0x10 */
@@ -3991,76 +3992,42 @@ void aF8017EF54(s32 a0)
u16 sxy[2]; /* sp+0x18 */
s32 z; /* sp+0x1C */
s32 flag; /* sp+0x20 */
s32 pad2[2]; /* sp+0x24 -- dead, sizes the frame */
} L;
s32 v1;
s32 cool;
s32 old;
if (*(u16 *)(a0 + 0x0) == 0) {
return;
}
old = *(s16 *)(a0 + 0x84);
v1 = old;
if (old != 0) {
goto L_dec;
}
if (*(s16 *)(a0 + 0x84) == 0) {
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
func_8004914C(&D_800AF648);
func_800491AC(&D_800AF648_b);
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
if (L.flag >= 0 && (u16)(L.sxy[0] + 0xEF) < 0x1DF
&& (u16)(L.sxy[1] + 0xB3) < 0x167) {
s32 sx = (s16)L.sxy[0];
s32 av;
if (L.flag < 0) {
cool = 0xA;
goto L_join;
}
if ((u32)((L.sxy[0] + 0xEF) & 0xFFFF) >= 0x1DF) {
cool = 0xA;
goto L_join;
}
if ((u32)((L.sxy[1] + 0xB3) & 0xFFFF) >= 0x167) {
goto L_snd_skip;
}
{
s32 sx = (s16)L.sxy[0];
s32 av;
av = sx;
if (sx < 0) {
av = -sx;
av = (sx < 0) ? -sx : sx;
av = ((0xF0 - av) * 0x7F) / 0xF0;
sx = (sx + 0xF0) / 0x1E;
if (sx == 0x10) {
sx = 0xF;
}
sx = sx << 8;
func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);
}
av = ((0xF0 - av) * 0x7F) / 0xF0;
sx = (sx + 0xF0) / 0x1E;
if (sx == 0x10) {
sx = 0xF;
}
sx = sx << 8;
func_8002D4C8(0x849, (av | (0x3000 | sx)) & 0xFFFF);
*(s16 *)(a0 + 0x84) = 0xA;
} else {
(*(s16 *)(a0 + 0x84))--;
}
L_snd_skip:
cool = 0xA;
goto L_join;
L_dec:
cool = v1 - 1;
L_join:
*(s16 *)(a0 + 0x84) = cool;
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
{
s32 p = a0;
*(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;
*(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;
((void (*)(void *))func_8017EB8C)((void *)p);
}
*(u16 *)(a0 + 0xFC) += 0x280;
*(u16 *)(a0 + 0xFE) -= 0x280;
((void (*)(void *))func_8017EB8C)((void *)a0);
}