mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-02 07:59:52 -04:00
phase-36: S104 s104_e26 — func_8017F438 banked at 0 through the whole-object gate + propagated — 4 levers + pad → 0: bit 31 tested with & 0x80000000 (reorg.c:2799, :1335-1420; combine.c:10831-10845)
This commit is contained in:
+183
-183
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"head": "2b9250a50",
|
||||
"head": "195dee8a0",
|
||||
"stamp": "15956e4a96c4",
|
||||
"generated": "2026-09-11 03:58",
|
||||
"aliases": [
|
||||
@@ -21,206 +21,206 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 9.305000000000001,
|
||||
"mean_s": 0.109
|
||||
"seconds": 9.533000000000001,
|
||||
"mean_s": 0.112
|
||||
},
|
||||
"ov_SC03_014": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 5.863,
|
||||
"mean_s": 0.183
|
||||
"seconds": 6.049000000000001,
|
||||
"mean_s": 0.189
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 5.91,
|
||||
"mean_s": 0.185
|
||||
"seconds": 5.8309999999999995,
|
||||
"mean_s": 0.182
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 5.112,
|
||||
"mean_s": 0.183
|
||||
"seconds": 5.039999999999999,
|
||||
"mean_s": 0.18
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.848,
|
||||
"build/src/800_b.o": 0.135,
|
||||
"build/src/800_b_2.o": 0.372,
|
||||
"build/src/800_b_o0a.o": 0.091,
|
||||
"build/src/800_c.o": 0.234,
|
||||
"build/src/800b2.o": 0.142,
|
||||
"build/src/apicard1.o": 0.09,
|
||||
"build/src/apicard2.o": 0.069,
|
||||
"build/src/apicard3.o": 0.115,
|
||||
"build/src/apicard4.o": 0.087,
|
||||
"build/src/apicard5.o": 0.121,
|
||||
"build/src/apicard6.o": 0.093,
|
||||
"build/src/apicard7.o": 0.095,
|
||||
"build/src/boot.o": 0.138,
|
||||
"build/src/gap.o": 0.112,
|
||||
"build/src/libapi1.o": 0.085,
|
||||
"build/src/libapi2.o": 0.086,
|
||||
"build/src/libc2_1.o": 0.098,
|
||||
"build/src/libc2_2.o": 0.077,
|
||||
"build/src/libcd1.o": 0.09,
|
||||
"build/src/libcd2.o": 0.091,
|
||||
"build/src/libetc.o": 0.079,
|
||||
"build/src/libgpu.o": 0.096,
|
||||
"build/src/libgpu2.o": 0.101,
|
||||
"build/src/libgs1.o": 0.098,
|
||||
"build/src/libgs2.o": 0.1,
|
||||
"build/src/libgs3.o": 0.1,
|
||||
"build/src/libgs4.o": 0.093,
|
||||
"build/src/libgs5.o": 0.084,
|
||||
"build/src/libgs6.o": 0.138,
|
||||
"build/src/libgs7.o": 0.085,
|
||||
"build/src/libgs8.o": 0.072,
|
||||
"build/src/libgte1.o": 0.115,
|
||||
"build/src/libgte10.o": 0.077,
|
||||
"build/src/libgte11.o": 0.082,
|
||||
"build/src/800.o": 0.953,
|
||||
"build/src/800_b.o": 0.11,
|
||||
"build/src/800_b_2.o": 0.385,
|
||||
"build/src/800_b_o0a.o": 0.119,
|
||||
"build/src/800_c.o": 0.22,
|
||||
"build/src/800b2.o": 0.103,
|
||||
"build/src/apicard1.o": 0.096,
|
||||
"build/src/apicard2.o": 0.136,
|
||||
"build/src/apicard3.o": 0.092,
|
||||
"build/src/apicard4.o": 0.112,
|
||||
"build/src/apicard5.o": 0.111,
|
||||
"build/src/apicard6.o": 0.096,
|
||||
"build/src/apicard7.o": 0.104,
|
||||
"build/src/boot.o": 0.121,
|
||||
"build/src/gap.o": 0.104,
|
||||
"build/src/libapi1.o": 0.125,
|
||||
"build/src/libapi2.o": 0.07,
|
||||
"build/src/libc2_1.o": 0.117,
|
||||
"build/src/libc2_2.o": 0.084,
|
||||
"build/src/libcd1.o": 0.111,
|
||||
"build/src/libcd2.o": 0.082,
|
||||
"build/src/libetc.o": 0.085,
|
||||
"build/src/libgpu.o": 0.094,
|
||||
"build/src/libgpu2.o": 0.089,
|
||||
"build/src/libgs1.o": 0.08,
|
||||
"build/src/libgs2.o": 0.109,
|
||||
"build/src/libgs3.o": 0.067,
|
||||
"build/src/libgs4.o": 0.079,
|
||||
"build/src/libgs5.o": 0.093,
|
||||
"build/src/libgs6.o": 0.103,
|
||||
"build/src/libgs7.o": 0.113,
|
||||
"build/src/libgs8.o": 0.125,
|
||||
"build/src/libgte1.o": 0.097,
|
||||
"build/src/libgte10.o": 0.078,
|
||||
"build/src/libgte11.o": 0.083,
|
||||
"build/src/libgte12.o": 0.075,
|
||||
"build/src/libgte13.o": 0.085,
|
||||
"build/src/libgte14.o": 0.116,
|
||||
"build/src/libgte15.o": 0.093,
|
||||
"build/src/libgte16.o": 0.093,
|
||||
"build/src/libgte17.o": 0.064,
|
||||
"build/src/libgte18.o": 0.107,
|
||||
"build/src/libgte19.o": 0.08,
|
||||
"build/src/libgte2.o": 0.101,
|
||||
"build/src/libgte20.o": 0.076,
|
||||
"build/src/libgte21.o": 0.073,
|
||||
"build/src/libgte22.o": 0.093,
|
||||
"build/src/libgte23.o": 0.114,
|
||||
"build/src/libgte24.o": 0.12,
|
||||
"build/src/libgte25.o": 0.084,
|
||||
"build/src/libgte26.o": 0.129,
|
||||
"build/src/libgte27.o": 0.071,
|
||||
"build/src/libgte28.o": 0.141,
|
||||
"build/src/libgte29.o": 0.111,
|
||||
"build/src/libgte3.o": 0.089,
|
||||
"build/src/libgte30.o": 0.082,
|
||||
"build/src/libgte4.o": 0.083,
|
||||
"build/src/libgte5.o": 0.138,
|
||||
"build/src/libgte6.o": 0.091,
|
||||
"build/src/libgte7.o": 0.145,
|
||||
"build/src/libgte8.o": 0.115,
|
||||
"build/src/libgte9.o": 0.082,
|
||||
"build/src/libmcrd1.o": 0.097,
|
||||
"build/src/libmcrd2.o": 0.072,
|
||||
"build/src/libpad1.o": 0.074,
|
||||
"build/src/libpad2.o": 0.079,
|
||||
"build/src/sgap.o": 0.09,
|
||||
"build/src/sgap_2.o": 0.073,
|
||||
"build/src/sgap_3.o": 0.086,
|
||||
"build/src/sgap_4.o": 0.072,
|
||||
"build/src/sgap_5.o": 0.114,
|
||||
"build/src/sgap_6.o": 0.084,
|
||||
"build/src/sgap_8.o": 0.096,
|
||||
"build/src/snd1.o": 0.106,
|
||||
"build/src/snd10.o": 0.107,
|
||||
"build/src/snd11.o": 0.083,
|
||||
"build/src/snd12.o": 0.11,
|
||||
"build/src/snd2.o": 0.085,
|
||||
"build/src/snd3.o": 0.083,
|
||||
"build/src/snd4.o": 0.089,
|
||||
"build/src/snd5.o": 0.093,
|
||||
"build/src/snd6.o": 0.084,
|
||||
"build/src/snd7.o": 0.106,
|
||||
"build/src/snd8.o": 0.089,
|
||||
"build/src/snd9.o": 0.093,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.15,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.587,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.487,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.073,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.147,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.215,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.146,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.117,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.099,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.221,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.223,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.156,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.081,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.075,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.101,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.553,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.34,
|
||||
"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.243,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.074,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.134,
|
||||
"build/src/libgte13.o": 0.101,
|
||||
"build/src/libgte14.o": 0.071,
|
||||
"build/src/libgte15.o": 0.133,
|
||||
"build/src/libgte16.o": 0.123,
|
||||
"build/src/libgte17.o": 0.086,
|
||||
"build/src/libgte18.o": 0.072,
|
||||
"build/src/libgte19.o": 0.076,
|
||||
"build/src/libgte2.o": 0.071,
|
||||
"build/src/libgte20.o": 0.074,
|
||||
"build/src/libgte21.o": 0.116,
|
||||
"build/src/libgte22.o": 0.076,
|
||||
"build/src/libgte23.o": 0.111,
|
||||
"build/src/libgte24.o": 0.101,
|
||||
"build/src/libgte25.o": 0.093,
|
||||
"build/src/libgte26.o": 0.085,
|
||||
"build/src/libgte27.o": 0.109,
|
||||
"build/src/libgte28.o": 0.102,
|
||||
"build/src/libgte29.o": 0.095,
|
||||
"build/src/libgte3.o": 0.085,
|
||||
"build/src/libgte30.o": 0.091,
|
||||
"build/src/libgte4.o": 0.09,
|
||||
"build/src/libgte5.o": 0.086,
|
||||
"build/src/libgte6.o": 0.1,
|
||||
"build/src/libgte7.o": 0.075,
|
||||
"build/src/libgte8.o": 0.079,
|
||||
"build/src/libgte9.o": 0.121,
|
||||
"build/src/libmcrd1.o": 0.093,
|
||||
"build/src/libmcrd2.o": 0.094,
|
||||
"build/src/libpad1.o": 0.09,
|
||||
"build/src/libpad2.o": 0.113,
|
||||
"build/src/sgap.o": 0.114,
|
||||
"build/src/sgap_2.o": 0.075,
|
||||
"build/src/sgap_3.o": 0.115,
|
||||
"build/src/sgap_4.o": 0.105,
|
||||
"build/src/sgap_5.o": 0.127,
|
||||
"build/src/sgap_6.o": 0.126,
|
||||
"build/src/sgap_8.o": 0.081,
|
||||
"build/src/snd1.o": 0.103,
|
||||
"build/src/snd10.o": 0.09,
|
||||
"build/src/snd11.o": 0.1,
|
||||
"build/src/snd12.o": 0.08,
|
||||
"build/src/snd2.o": 0.089,
|
||||
"build/src/snd3.o": 0.08,
|
||||
"build/src/snd4.o": 0.091,
|
||||
"build/src/snd5.o": 0.078,
|
||||
"build/src/snd6.o": 0.111,
|
||||
"build/src/snd7.o": 0.108,
|
||||
"build/src/snd8.o": 0.125,
|
||||
"build/src/snd9.o": 0.102,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.163,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.592,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.486,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.112,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.115,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.136,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.182,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.148,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.114,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.093,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.224,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.1,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.217,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.122,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.088,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.145,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.164,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.586,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.381,
|
||||
"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.235,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.075,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.123,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.098,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.227,
|
||||
"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.063,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.323,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.214,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.228,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.065,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.375,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.074,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.079,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.1,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.09,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.149,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.608,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.514,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.104,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.068,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.149,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.191,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.141,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.085,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.073,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.216,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.111,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.197,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.136,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.105,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.169,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.55,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.342,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.136,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.259,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.077,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.13,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.122,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.204,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.242,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.068,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.357,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.074,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.085,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.066,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.087,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.167,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.543,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.415,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.104,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.094,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.181,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.2,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.126,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.103,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.08,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.229,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.11,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.225,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.103,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.08,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.11,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.405,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.264,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.152,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.217,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.078,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.122,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.076,
|
||||
"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.542,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.059,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.092
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.091,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.069,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.111,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.175,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.583,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.473,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.061,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.063,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.156,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.206,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.135,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.117,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.094,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.223,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.108,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.198,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.119,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.088,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.097,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.12,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.575,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.33,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.147,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.272,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.081,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.152,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.103,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.217,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.257,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.067,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.32,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.066,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.069,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.071,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.088,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.161,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.519,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.43,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.086,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.086,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.155,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.178,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.148,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.094,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.087,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.221,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.102,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.196,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.113,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.079,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.143,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.423,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.276,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.135,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.206,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.075,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.135,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.077,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.12,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.558,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.063,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.067
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 2.9
|
||||
|
||||
@@ -29495,3 +29495,4 @@
|
||||
{"ts": "2026-09-11 03:53:50", "label": "s104_e22", "rung": "E", "calib": {"head": "4792daaae", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", "fn": "func_80181708", "addr": 2149062408, "aliases": null, "header": false, "includers": 0, "nhash_before": "2dc0d8a94d47bd70427d3691f809b71d21f3af2d", "nhash_after": "a9c05827f4ea916c87d3e891198d780adeee94f6", "source": ".run/P36/agents/ov_SC06_029__func_80181708/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.214, "objects": ["build/src/ov_SC06_029/ov_SC06_029_jr_8017C954.o"], "before_text": "void func_80181708(int param_1) {\n s16 *psVar1;\n register s16 *psVar2 __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n s16 *psVar5;\n s16 sVar4;\n s32 t;\n s32 acc;\n\n psVar1 = (s16 *)D_801DFD8C;\n psVar2 = (s16 *)D_801DFD90;\n *(s32 *)(param_1 + 0x48) = psVar1[0];\n *(s32 *)(param_1 + 0x50) = psVar1[2];\n *(s32 *)(param_1 + 0x3C) = psVar2[0];\n *(s32 *)(param_1 + 0x44) = psVar2[2];\n sVar4 = func_80012CB8(D_801904C6, psVar1[1], 0xC0);\n acc = *(s32 *)(param_1 + 0x4C) + sVar4;\n __asm__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus10)\n t = D_801DFD90;\n *(s32 *)(param_1 + 0x4C) = acc;\n sVar4 = func_80012CB8(D_801904CE, *(s16 *)(t + 2), 0xC0);\n psVar5 = (s16 *)D_801DFD8C;\n *(s32 *)(param_1 + 0x40) += sVar4;\n if (*(s32 *)(param_1 + 0x4C) < psVar5[1])\n *(s32 *)(param_1 + 0x4C) = psVar5[1];\n if (*(s32 *)(param_1 + 0x40) < *(s16 *)(D_801DFD90 + 2))\n *(s32 *)(param_1 + 0x40) = *(s16 *)(D_801DFD90 + 2);\n}\n", "after_text": "void func_80181708(int param_1) {\n typedef struct { s16 vx, vy, vz, pad; } SV;\n typedef struct { u8 pad[0x3C]; s32 x3C; s32 x40; s32 x44; s32 x48; s32 x4C; s32 x50; } OB;\n extern s16 D_801904C6_a[] __asm__(\"D_801904C6\");\n extern s16 D_801904CE_a[] __asm__(\"D_801904CE\");\n SV *p1 = (SV *)D_801DFD8C;\n SV *p2 = (SV *)D_801DFD90;\n\n ((OB *)param_1)->x48 = p1->vx;\n ((OB *)param_1)->x50 = p1->vz;\n ((OB *)param_1)->x3C = p2->vx;\n ((OB *)param_1)->x44 = p2->vz;\n ((OB *)param_1)->x4C += (s16)func_80012CB8(D_801904C6_a[0], p1->vy, 0xC0);\n ((OB *)param_1)->x40 += (s16)func_80012CB8(D_801904CE_a[0], ((SV *)D_801DFD90)->vy, 0xC0);\n if (((OB *)param_1)->x4C < ((SV *)D_801DFD8C)->vy)\n ((OB *)param_1)->x4C = ((SV *)D_801DFD8C)->vy;\n if (((OB *)param_1)->x40 < ((SV *)D_801DFD90)->vy)\n ((OB *)param_1)->x40 = ((SV *)D_801DFD90)->vy;\n}\n"}
|
||||
{"ts": "2026-09-11 03:54:08", "label": "s104_e22", "rung": "E", "calib": {"head": "777dc340f", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_029/ov_SC06_029_jr_8017C954.c", "fn": "func_80184EFC", "addr": 2149076732, "aliases": null, "header": false, "includers": 0, "nhash_before": "f4afb0143f5237907b8c9f4c5db580b5386f31fc", "nhash_after": "1e92f42abae93d221a149803fb231ede41e9967c", "source": ".run/P36/agents/ov_SC06_029__func_80184EFC/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.216, "objects": ["build/src/ov_SC06_029/ov_SC06_029_jr_8017C954.o"], "before_text": "void func_80184EFC(s32 a0) {\n extern s32 D_80190A08;\n extern u16 D_80190810[];\n register s32 s0 __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n register s32 tmp __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n s32 ret;\n s32 sub;\n u16 nib;\n s32 p20;\n s32 val;\n s32 sub2;\n\n s0 = a0;\n ret = ((s32 (*)(void))func_8012C1B8)();\n *(s32 *)(s0 + 0x20) = ret;\n if (ret == 0) {\n func_8012CAE4((void *)s0);\n return;\n }\n\n func_8001C214(ret, 0);\n\n /* \u00a7164-29: ONE shared pseudo for the flags temp and the tag accumulator.\n * The WAR edge from `sh tmp` to the tag chain's first def is what pins the\n * whole D_80190A08|0x70000000 build BELOW the flags store (target leaves the\n * `lw 0x20(s0)` load-delay slot a real nop). Split temps let sched1 hoist\n * the tag chain into that slot. The $2 pin fixes the resulting\n * $v0>$v1>$a0 local-alloc rotation. */\n sub = *(s32 *)(s0 + 0x20);\n tmp = *(u16 *)(sub + 0x2C);\n tmp = tmp | 0x10;\n *(u16 *)(sub + 0x2C) = tmp;\n\n tmp = (s32)&D_80190A08;\n tmp = tmp | 0x10000000;\n tmp = tmp | 0x20000000;\n tmp = tmp | 0x40000000;\n *(s32 *)(s0 + 0x58) = tmp;\n if (*(s16 *)(s0 + 0x70) & 0x8000) {\n *(s16 *)(s0 + 0x34) = 1;\n }\n\n nib = *(u16 *)(s0 + 0x70) & 0xF;\n p20 = *(s32 *)(*(s32 *)(s0 + 0x64) + 0x20);\n val = *(u16 *)(p20 + 0x12) + *(u16 *)((u8 *)D_80190810 + nib * 12);\n val = val + 0xE00;\n sub2 = *(s32 *)(s0 + 0x20);\n *(u16 *)(sub2 + 0x12) = val;\n func_8012B2CC(s0);\n\n func_8012B178(s0, (s32)0xFFFC0000);\n\n *(s32 *)(s0 + 0x1C) = 0x20;\n *(u16 *)(s0 + 0x2) = *(u16 *)(s0 + 0x2) + 1;\n}\n", "after_text": "void func_80184EFC(s32 a0) {\n extern s32 D_80190A08;\n extern u16 D_80190810[];\n s32 ret;\n s32 p20;\n\n ret = func_8012C1B8();\n *(s32 *)(a0 + 0x20) = ret;\n if (ret == 0) {\n func_8012CAE4((void *)a0);\n return;\n }\n\n func_8001C214(ret, 0);\n\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10;\n /* P36 S104 e22: the tag is ONE expression (each `|` a fresh single-set pseudo, so sched1's birthing boost,\n * sched.c:2469-2544, keeps the chain after the flags store) and the flags update is a plain `|=` \u2014 the old\n * shared `tmp` (a two-death pseudo, refused by local-alloc.c:472) needed a $2 pin; the `s0 = a0` copy needed $16. */\n *(s32 *)(a0 + 0x58) = (s32)&D_80190A08 | 0x10000000 | 0x20000000 | 0x40000000;\n if (*(s16 *)(a0 + 0x70) & 0x8000) {\n *(s16 *)(a0 + 0x34) = 1;\n }\n\n p20 = *(s32 *)(*(s32 *)(a0 + 0x64) + 0x20);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(p20 + 0x12) + D_80190810[(*(u16 *)(a0 + 0x70) & 0xF) * 6] + 0xE00;\n func_8012B2CC(a0);\n\n func_8012B178(a0, (s32)0xFFFC0000);\n\n *(s32 *)(a0 + 0x1C) = 0x20;\n *(u16 *)(a0 + 0x2) += 1;\n}\n"}
|
||||
{"ts": "2026-09-11 03:58:27", "label": "s104_e26", "rung": "E", "calib": {"head": "2b9250a50", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", "fn": "func_8017F024", "addr": 2149052452, "aliases": null, "header": false, "includers": 0, "nhash_before": "e340c91ad873a18326eefb51a3776cb29f8a3eb1", "nhash_after": "822b07f21db52edbd1d0af803423038e7b99d558", "source": ".run/P36/agents/ov_SC06_010__func_8017F024/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.323, "objects": ["build/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.o"], "before_text": "void func_8017F024(s32 a0) {\n register s32 *p __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n s32 self;\n\n D_8018AFBC[*(u16 *)(a0 + 2)]();\n if (*(u16 *)a0 != 0) {\n __asm__ __volatile__(\"\" : \"=r\"(self) : \"0\"(a0)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus7)\n p = *(s32 **)(a0 + 0x20);\n p[1] |= 0x80000000;\n func_8012B2CC(self);\n }\n}\n", "after_text": "void func_8017F024(s32 a0) {\n s32 *p;\n\n /* The table's handlers take the actor (func_8017EE3C(s32 a0) is entry 1): passing it keeps a second set of $a0\n * in the RTL (cse deletes the copy \u2014 $a0 still holds the parameter), so the later argument copy is not a\n * \"birthing\" insn for sched1 (sched.c:2469-2545) and stays at the top of the block, where it keeps the mask\n * constant out of $a0 (P36 S104 e26). */\n ((void (*)(s32))D_8018AFBC[*(u16 *)(a0 + 2)])(a0);\n if (*(u16 *)a0 != 0) {\n p = *(s32 **)(a0 + 0x20);\n p[1] |= 0x80000000;\n func_8012B2CC(a0);\n }\n}\n"}
|
||||
{"ts": "2026-09-11 03:58:49", "label": "s104_e26", "rung": "E", "calib": {"head": "195dee8a0", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", "fn": "func_8017F438", "addr": 2149053496, "aliases": null, "header": false, "includers": 0, "nhash_before": "05f1452bec16a536933fb31d6e32f21d7323884b", "nhash_after": "450e596bc714081bfdec0100740a98e904d40c17", "source": ".run/P36/agents/ov_SC06_010__func_8017F438/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.3, "objects": ["build/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.o"], "before_text": "void func_8017F438(s32 param_1) {\n u8 *s0 = (u8 *)param_1;\n s32 pad_[4];\n s32 t1;\n s32 t2;\n s32 p;\n s32 q;\n u32 uVar1;\n\n t1 = *(s16 *)(s0 + 6);\n t2 = *(s16 *)(s0 + 0xA);\n if (t1 * t1 + (t2 + 0x482) * (t2 + 0x482) > 0x1323F) {\n func_8012ADE4(param_1);\n *(s32 *)(s0 + 0x14) = 0;\n }\n\n func_8002D4C8(0xB32, 0);\n\n if (*(u16 *)s0 != 0) {\n p = *(s32 *)(s0 + 0xCC);\n *(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(s0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(s0 + 0xE);\n *(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);\n *(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFC);\n *(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);\n q = *(s32 *)(s0 + 0x20);\n if (*(s32 *)(q + 4) < 0) {\n register u32 val __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n val = *(u32 *)(p + 4);\n uVar1 = val | 0x80000000;\n } else {\n __asm__ __volatile__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus7)\n uVar1 = *(u32 *)(p + 4) & 0x7FFFFFFF;\n }\n *(u32 *)(p + 4) = uVar1;\n\n p = *(s32 *)(s0 + 0xD0);\n *(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(s0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(s0 + 0xE);\n *(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);\n *(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFE);\n *(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);\n q = *(s32 *)(s0 + 0x20);\n if (*(s32 *)(q + 4) < 0) {\n register u32 val __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n val = *(u32 *)(p + 4);\n uVar1 = val | 0x80000000;\n } else {\n __asm__ __volatile__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus7)\n uVar1 = *(u32 *)(p + 4) & 0x7FFFFFFF;\n }\n *(u32 *)(p + 4) = uVar1;\n }\n}\n", "after_text": "void func_8017F438(s32 param_1) {\n u8 *s0 = (u8 *)param_1;\n s32 t1;\n s32 t2;\n s32 p;\n\n t1 = *(s16 *)(s0 + 6);\n t2 = *(s16 *)(s0 + 0xA);\n if (t1 * t1 + (t2 + 0x482) * (t2 + 0x482) > 0x1323F) {\n func_8012ADE4(param_1);\n *(s32 *)(s0 + 0x14) = 0;\n }\n\n func_8002D4C8(0xB32, 0);\n\n if (*(u16 *)s0 != 0) {\n /* Copy the model's position/rotation into both attached objects and mirror the model's bit 31 into theirs.\n * The bit is TESTED with the mask (not `< 0`): the mask register is loaded before the branch, cse reuses it\n * for the `|=` (so the store's constant sits in the branch delay slot), and combine's sign test leaves a\n * `(use)` of the dead AND result that reload gives a stack slot \u2014 the frame's 16 bytes (P36 S104 e26). */\n p = *(s32 *)(s0 + 0xCC);\n *(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(s0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(s0 + 0xE);\n *(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);\n *(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFC);\n *(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);\n if (*(u32 *)(*(s32 *)(s0 + 0x20) + 4) & 0x80000000) {\n *(u32 *)(p + 4) |= 0x80000000;\n } else {\n *(u32 *)(p + 4) &= 0x7FFFFFFF;\n }\n\n p = *(s32 *)(s0 + 0xD0);\n *(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(s0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(s0 + 0xE);\n *(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);\n *(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFE);\n *(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);\n if (*(u32 *)(*(s32 *)(s0 + 0x20) + 4) & 0x80000000) {\n *(u32 *)(p + 4) |= 0x80000000;\n } else {\n *(u32 *)(p + 4) &= 0x7FFFFFFF;\n }\n }\n}\n"}
|
||||
|
||||
@@ -5506,12 +5506,9 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_8017F438(s32 param_1) {
|
||||
u8 *s0 = (u8 *)param_1;
|
||||
s32 pad_[4];
|
||||
s32 t1;
|
||||
s32 t2;
|
||||
s32 p;
|
||||
s32 q;
|
||||
u32 uVar1;
|
||||
|
||||
t1 = *(s16 *)(s0 + 6);
|
||||
t2 = *(s16 *)(s0 + 0xA);
|
||||
@@ -5523,6 +5520,10 @@ void func_8017F438(s32 param_1) {
|
||||
func_8002D4C8(0xB32, 0);
|
||||
|
||||
if (*(u16 *)s0 != 0) {
|
||||
/* Copy the model's position/rotation into both attached objects and mirror the model's bit 31 into theirs.
|
||||
* The bit is TESTED with the mask (not `< 0`): the mask register is loaded before the branch, cse reuses it
|
||||
* for the `|=` (so the store's constant sits in the branch delay slot), and combine's sign test leaves a
|
||||
* `(use)` of the dead AND result that reload gives a stack slot — the frame's 16 bytes (P36 S104 e26). */
|
||||
p = *(s32 *)(s0 + 0xCC);
|
||||
*(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);
|
||||
*(u16 *)(p + 0xA) = *(u16 *)(s0 + 0xA);
|
||||
@@ -5530,16 +5531,11 @@ void func_8017F438(s32 param_1) {
|
||||
*(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);
|
||||
*(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFC);
|
||||
*(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);
|
||||
q = *(s32 *)(s0 + 0x20);
|
||||
if (*(s32 *)(q + 4) < 0) {
|
||||
register u32 val __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7)
|
||||
val = *(u32 *)(p + 4);
|
||||
uVar1 = val | 0x80000000;
|
||||
if (*(u32 *)(*(s32 *)(s0 + 0x20) + 4) & 0x80000000) {
|
||||
*(u32 *)(p + 4) |= 0x80000000;
|
||||
} else {
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus7)
|
||||
uVar1 = *(u32 *)(p + 4) & 0x7FFFFFFF;
|
||||
*(u32 *)(p + 4) &= 0x7FFFFFFF;
|
||||
}
|
||||
*(u32 *)(p + 4) = uVar1;
|
||||
|
||||
p = *(s32 *)(s0 + 0xD0);
|
||||
*(u16 *)(p + 0x8) = *(u16 *)(s0 + 0x6);
|
||||
@@ -5548,16 +5544,11 @@ void func_8017F438(s32 param_1) {
|
||||
*(u16 *)(p + 0x10) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x10);
|
||||
*(u16 *)(p + 0x12) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x12) + *(u16 *)(s0 + 0xFE);
|
||||
*(u16 *)(p + 0x14) = *(u16 *)(*(s32 *)(s0 + 0x20) + 0x14);
|
||||
q = *(s32 *)(s0 + 0x20);
|
||||
if (*(s32 *)(q + 4) < 0) {
|
||||
register u32 val __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7)
|
||||
val = *(u32 *)(p + 4);
|
||||
uVar1 = val | 0x80000000;
|
||||
if (*(u32 *)(*(s32 *)(s0 + 0x20) + 4) & 0x80000000) {
|
||||
*(u32 *)(p + 4) |= 0x80000000;
|
||||
} else {
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus7)
|
||||
uVar1 = *(u32 *)(p + 4) & 0x7FFFFFFF;
|
||||
*(u32 *)(p + 4) &= 0x7FFFFFFF;
|
||||
}
|
||||
*(u32 *)(p + 4) = uVar1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user