mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-07 09:27:55 -04:00
phase-36: S104 s104_d24 — func_80187CE8 banked at 0 through the whole-object gate + propagated — d24 copy
This commit is contained in:
+185
-185
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "66eafc8a5",
|
||||
"head": "48bb124be",
|
||||
"stamp": "15956e4a96c4",
|
||||
"generated": "2026-09-10 22:56",
|
||||
"generated": "2026-09-10 22:57",
|
||||
"aliases": [
|
||||
"main",
|
||||
"ov_SC03_014",
|
||||
@@ -21,207 +21,207 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 8.705,
|
||||
"mean_s": 0.102
|
||||
"seconds": 10.658000000000007,
|
||||
"mean_s": 0.125
|
||||
},
|
||||
"ov_SC03_014": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.552999999999999,
|
||||
"mean_s": 0.205
|
||||
"seconds": 6.604000000000002,
|
||||
"mean_s": 0.206
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.329000000000001,
|
||||
"mean_s": 0.198
|
||||
"seconds": 6.815000000000002,
|
||||
"mean_s": 0.213
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 6.174999999999999,
|
||||
"seconds": 6.18,
|
||||
"mean_s": 0.221
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.606,
|
||||
"build/src/800_b.o": 0.102,
|
||||
"build/src/800_b_2.o": 0.308,
|
||||
"build/src/800_b_o0a.o": 0.084,
|
||||
"build/src/800_c.o": 0.262,
|
||||
"build/src/800b2.o": 0.162,
|
||||
"build/src/apicard1.o": 0.113,
|
||||
"build/src/apicard2.o": 0.089,
|
||||
"build/src/apicard3.o": 0.113,
|
||||
"build/src/apicard4.o": 0.117,
|
||||
"build/src/apicard5.o": 0.117,
|
||||
"build/src/apicard6.o": 0.131,
|
||||
"build/src/apicard7.o": 0.129,
|
||||
"build/src/boot.o": 0.132,
|
||||
"build/src/gap.o": 0.111,
|
||||
"build/src/libapi1.o": 0.124,
|
||||
"build/src/libapi2.o": 0.078,
|
||||
"build/src/libc2_1.o": 0.106,
|
||||
"build/src/libc2_2.o": 0.086,
|
||||
"build/src/libcd1.o": 0.121,
|
||||
"build/src/libcd2.o": 0.085,
|
||||
"build/src/libetc.o": 0.074,
|
||||
"build/src/libgpu.o": 0.08,
|
||||
"build/src/libgpu2.o": 0.11,
|
||||
"build/src/libgs1.o": 0.108,
|
||||
"build/src/libgs2.o": 0.092,
|
||||
"build/src/libgs3.o": 0.077,
|
||||
"build/src/libgs4.o": 0.08,
|
||||
"build/src/libgs5.o": 0.093,
|
||||
"build/src/libgs6.o": 0.091,
|
||||
"build/src/libgs7.o": 0.054,
|
||||
"build/src/libgs8.o": 0.06,
|
||||
"build/src/libgte1.o": 0.054,
|
||||
"build/src/libgte10.o": 0.053,
|
||||
"build/src/libgte11.o": 0.065,
|
||||
"build/src/libgte12.o": 0.046,
|
||||
"build/src/libgte13.o": 0.049,
|
||||
"build/src/libgte14.o": 0.046,
|
||||
"build/src/libgte15.o": 0.048,
|
||||
"build/src/libgte16.o": 0.063,
|
||||
"build/src/libgte17.o": 0.054,
|
||||
"build/src/libgte18.o": 0.059,
|
||||
"build/src/libgte19.o": 0.062,
|
||||
"build/src/libgte2.o": 0.071,
|
||||
"build/src/libgte20.o": 0.145,
|
||||
"build/src/libgte21.o": 0.122,
|
||||
"build/src/libgte22.o": 0.096,
|
||||
"build/src/libgte23.o": 0.138,
|
||||
"build/src/libgte24.o": 0.103,
|
||||
"build/src/libgte25.o": 0.124,
|
||||
"build/src/libgte26.o": 0.152,
|
||||
"build/src/libgte27.o": 0.068,
|
||||
"build/src/libgte28.o": 0.06,
|
||||
"build/src/libgte29.o": 0.06,
|
||||
"build/src/libgte3.o": 0.064,
|
||||
"build/src/libgte30.o": 0.098,
|
||||
"build/src/libgte4.o": 0.13,
|
||||
"build/src/libgte5.o": 0.096,
|
||||
"build/src/libgte6.o": 0.094,
|
||||
"build/src/libgte7.o": 0.138,
|
||||
"build/src/libgte8.o": 0.124,
|
||||
"build/src/libgte9.o": 0.079,
|
||||
"build/src/libmcrd1.o": 0.091,
|
||||
"build/src/libmcrd2.o": 0.078,
|
||||
"build/src/libpad1.o": 0.116,
|
||||
"build/src/libpad2.o": 0.088,
|
||||
"build/src/sgap.o": 0.12,
|
||||
"build/src/sgap_2.o": 0.097,
|
||||
"build/src/sgap_3.o": 0.083,
|
||||
"build/src/sgap_4.o": 0.093,
|
||||
"build/src/sgap_5.o": 0.082,
|
||||
"build/src/sgap_6.o": 0.117,
|
||||
"build/src/sgap_8.o": 0.086,
|
||||
"build/src/snd1.o": 0.078,
|
||||
"build/src/snd10.o": 0.087,
|
||||
"build/src/snd11.o": 0.075,
|
||||
"build/src/snd12.o": 0.082,
|
||||
"build/src/snd2.o": 0.082,
|
||||
"build/src/snd3.o": 0.088,
|
||||
"build/src/snd4.o": 0.09,
|
||||
"build/src/snd5.o": 0.084,
|
||||
"build/src/snd6.o": 0.074,
|
||||
"build/src/snd7.o": 0.064,
|
||||
"build/src/snd8.o": 0.108,
|
||||
"build/src/snd9.o": 0.086,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.176,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.65,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.636,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.063,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.063,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.142,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.216,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.183,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.126,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.109,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.227,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.112,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.246,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.143,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.113,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.118,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.111,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.639,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.355,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.167,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.269,
|
||||
"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.133,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.091,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.212,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.243,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.071,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.436,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.12,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.088,
|
||||
"build/src/800.o": 0.967,
|
||||
"build/src/800_b.o": 0.145,
|
||||
"build/src/800_b_2.o": 0.431,
|
||||
"build/src/800_b_o0a.o": 0.163,
|
||||
"build/src/800_c.o": 0.324,
|
||||
"build/src/800b2.o": 0.127,
|
||||
"build/src/apicard1.o": 0.081,
|
||||
"build/src/apicard2.o": 0.088,
|
||||
"build/src/apicard3.o": 0.148,
|
||||
"build/src/apicard4.o": 0.16,
|
||||
"build/src/apicard5.o": 0.128,
|
||||
"build/src/apicard6.o": 0.107,
|
||||
"build/src/apicard7.o": 0.106,
|
||||
"build/src/boot.o": 0.116,
|
||||
"build/src/gap.o": 0.068,
|
||||
"build/src/libapi1.o": 0.076,
|
||||
"build/src/libapi2.o": 0.084,
|
||||
"build/src/libc2_1.o": 0.154,
|
||||
"build/src/libc2_2.o": 0.118,
|
||||
"build/src/libcd1.o": 0.103,
|
||||
"build/src/libcd2.o": 0.13,
|
||||
"build/src/libetc.o": 0.098,
|
||||
"build/src/libgpu.o": 0.11,
|
||||
"build/src/libgpu2.o": 0.09,
|
||||
"build/src/libgs1.o": 0.08,
|
||||
"build/src/libgs2.o": 0.081,
|
||||
"build/src/libgs3.o": 0.094,
|
||||
"build/src/libgs4.o": 0.077,
|
||||
"build/src/libgs5.o": 0.073,
|
||||
"build/src/libgs6.o": 0.094,
|
||||
"build/src/libgs7.o": 0.113,
|
||||
"build/src/libgs8.o": 0.081,
|
||||
"build/src/libgte1.o": 0.094,
|
||||
"build/src/libgte10.o": 0.085,
|
||||
"build/src/libgte11.o": 0.131,
|
||||
"build/src/libgte12.o": 0.127,
|
||||
"build/src/libgte13.o": 0.088,
|
||||
"build/src/libgte14.o": 0.133,
|
||||
"build/src/libgte15.o": 0.099,
|
||||
"build/src/libgte16.o": 0.135,
|
||||
"build/src/libgte17.o": 0.082,
|
||||
"build/src/libgte18.o": 0.116,
|
||||
"build/src/libgte19.o": 0.098,
|
||||
"build/src/libgte2.o": 0.094,
|
||||
"build/src/libgte20.o": 0.09,
|
||||
"build/src/libgte21.o": 0.117,
|
||||
"build/src/libgte22.o": 0.082,
|
||||
"build/src/libgte23.o": 0.089,
|
||||
"build/src/libgte24.o": 0.081,
|
||||
"build/src/libgte25.o": 0.129,
|
||||
"build/src/libgte26.o": 0.086,
|
||||
"build/src/libgte27.o": 0.094,
|
||||
"build/src/libgte28.o": 0.087,
|
||||
"build/src/libgte29.o": 0.11,
|
||||
"build/src/libgte3.o": 0.122,
|
||||
"build/src/libgte30.o": 0.115,
|
||||
"build/src/libgte4.o": 0.104,
|
||||
"build/src/libgte5.o": 0.109,
|
||||
"build/src/libgte6.o": 0.1,
|
||||
"build/src/libgte7.o": 0.124,
|
||||
"build/src/libgte8.o": 0.114,
|
||||
"build/src/libgte9.o": 0.08,
|
||||
"build/src/libmcrd1.o": 0.149,
|
||||
"build/src/libmcrd2.o": 0.096,
|
||||
"build/src/libpad1.o": 0.087,
|
||||
"build/src/libpad2.o": 0.13,
|
||||
"build/src/sgap.o": 0.1,
|
||||
"build/src/sgap_2.o": 0.12,
|
||||
"build/src/sgap_3.o": 0.144,
|
||||
"build/src/sgap_4.o": 0.101,
|
||||
"build/src/sgap_5.o": 0.178,
|
||||
"build/src/sgap_6.o": 0.126,
|
||||
"build/src/sgap_8.o": 0.112,
|
||||
"build/src/snd1.o": 0.167,
|
||||
"build/src/snd10.o": 0.085,
|
||||
"build/src/snd11.o": 0.112,
|
||||
"build/src/snd12.o": 0.163,
|
||||
"build/src/snd2.o": 0.098,
|
||||
"build/src/snd3.o": 0.083,
|
||||
"build/src/snd4.o": 0.129,
|
||||
"build/src/snd5.o": 0.108,
|
||||
"build/src/snd6.o": 0.129,
|
||||
"build/src/snd7.o": 0.108,
|
||||
"build/src/snd8.o": 0.088,
|
||||
"build/src/snd9.o": 0.115,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.169,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.747,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.513,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.078,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.087,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.171,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.252,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.2,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.122,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.131,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.263,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.089,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.272,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.123,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.099,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.11,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.115,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.622,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.347,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.149,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.288,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.11,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.148,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.1,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.206,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.263,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.079,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.358,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.078,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.111,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.078,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.129,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.166,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.664,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.492,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.067,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.126,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.203,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.711,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.478,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.09,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.103,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.144,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.183,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.136,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.097,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.249,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.121,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.244,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.135,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.127,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.126,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.588,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.368,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.135,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.282,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.086,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.131,
|
||||
"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.264,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.275,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.084,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.405,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.079,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.086,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.122,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.192,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.618,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.536,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.083,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.115,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.175,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.196,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.183,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.151,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.124,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.217,
|
||||
"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.256,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.111,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.12,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.106,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.117,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.597,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.335,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.145,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.249,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.102,
|
||||
"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.119,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.153,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.739,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.069,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.121
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.168,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.257,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.156,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.133,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.131,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.285,
|
||||
"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.232,
|
||||
"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.092,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.085,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.173,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.667,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.388,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.137,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.278,
|
||||
"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.181,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.093,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.28,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.303,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.094,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.367,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.078,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.132,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.097,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.166,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.71,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.505,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.079,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.07,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.193,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.207,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.164,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.116,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.086,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.25,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.095,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.269,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.114,
|
||||
"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.105,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.136,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.552,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.33,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.146,
|
||||
"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.103,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.151,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.123,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.151,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.774,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.095,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.118
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 5.9
|
||||
"seconds": 3.7
|
||||
}
|
||||
|
||||
@@ -29233,3 +29233,4 @@
|
||||
{"ts": "2026-09-10 22:57:04", "label": "s104_d24", "rung": "E", "calib": {"head": "66eafc8a5", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c", "fn": "func_8018003C", "addr": 2149056572, "aliases": null, "header": false, "includers": 0, "nhash_before": "b4500dd7c2e066075034c4b8b67c07456ed3c475", "nhash_after": "2f162956e3247ba63ce54da7d2645664934d4557", "source": ".run/P36/agents/ov_SC02_016__func_8018003C/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.171, "objects": ["build/src/ov_SC02_016/ov_SC02_016_jr_8017DC70.o"], "before_text": "void func_8018003C(s32 arg0)\n{\n register s32 s1 __asm__(\"$17\") = arg0; // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s32 s0;\n s32 v0;\n s32 v1;\n s32 a0;\n register s32 a1 __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 a2 __asm__(\"$6\"); // !FAKE: pin $6 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n\n \n v0 = *(s32 *)(s1 + 0x10);\n v1 = *(s32 *)(s1 + 0x2C);\n a1 = *(s32 *)(s1 + 0x30);\n a2 = *(s32 *)(s1 + 0x34);\n\n \n s0 = *(s32 *)(s1 + 0x20);\n\n \n v0 = v0 + v1;\n *(s32 *)(s1 + 0x10) = v0;\n\n \n v0 = *(s32 *)(s1 + 0x14);\n v1 = *(s32 *)(s1 + 0x18);\n v0 = v0 + a1;\n v1 = v1 + a2;\n *(s32 *)(s1 + 0x14) = v0;\n *(s32 *)(s1 + 0x18) = v1;\n\n \n ((void (*)(void))func_8012931C)();\n\n \n a0 = s0 + zr;\n\n \n v0 = *(u16 *)(s0 + 0x1A);\n v0 = v0 - 0x100;\n *(u16 *)(a0 + 0x1A) = (u16)v0;\n *(u16 *)(a0 + 0x18) = (u16)v0;\n\n \n if (func_80128ED8(a0, (s32 *)(s1 + 0x24)) != 0) {\n func_801292C8((u8 *)s1);\n } else {\n v0 = *(s32 *)(s1 + 0x1C);\n if (v0 != 0) {\n v0--;\n *(s32 *)(s1 + 0x1C) = v0;\n if (v0 == 0) {\n func_801292C8((u8 *)s1);\n }\n }\n }\n}\n", "after_text": "void func_8018003C(s32 arg0)\n{\n s32 obj;\n s32 v;\n s32 timer;\n\n obj = *(s32 *)(arg0 + 0x20);\n *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C);\n *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30);\n *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34);\n func_8012931C((struct vec *)arg0);\n v = *(u16 *)(obj + 0x1A) - 0x100;\n *(u16 *)(obj + 0x1A) = v;\n *(u16 *)(obj + 0x18) = v;\n if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {\n func_801292C8((u8 *)arg0);\n } else {\n timer = *(s32 *)(arg0 + 0x1C);\n if (timer != 0) {\n timer--;\n *(s32 *)(arg0 + 0x1C) = timer;\n if (timer == 0) {\n func_801292C8((u8 *)arg0);\n }\n }\n }\n}\n"}
|
||||
{"ts": "2026-09-10 22:57:33", "label": "s104_d24", "rung": "E", "calib": {"head": "66eafc8a5", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_017/ov_SC02_017_jr_8017DF34.c", "fn": "func_80182EB0", "addr": 2149068464, "aliases": null, "header": false, "includers": 0, "nhash_before": "b4500dd7c2e066075034c4b8b67c07456ed3c475", "nhash_after": "2f162956e3247ba63ce54da7d2645664934d4557", "source": "propagate:src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c:func_8018003C", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.248, "objects": ["build/src/ov_SC02_017/ov_SC02_017_jr_8017DF34.o"], "before_text": "void func_80182EB0(s32 arg0)\n{\n register s32 s1 __asm__(\"$17\") = arg0; // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s32 s0;\n s32 v0;\n s32 v1;\n s32 a0;\n register s32 a1 __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 a2 __asm__(\"$6\"); // !FAKE: pin $6 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n\n \n v0 = *(s32 *)(s1 + 0x10);\n v1 = *(s32 *)(s1 + 0x2C);\n a1 = *(s32 *)(s1 + 0x30);\n a2 = *(s32 *)(s1 + 0x34);\n\n \n s0 = *(s32 *)(s1 + 0x20);\n\n \n v0 = v0 + v1;\n *(s32 *)(s1 + 0x10) = v0;\n\n \n v0 = *(s32 *)(s1 + 0x14);\n v1 = *(s32 *)(s1 + 0x18);\n v0 = v0 + a1;\n v1 = v1 + a2;\n *(s32 *)(s1 + 0x14) = v0;\n *(s32 *)(s1 + 0x18) = v1;\n\n \n ((void (*)(void))func_8012931C)();\n\n \n a0 = s0 + zr;\n\n \n v0 = *(u16 *)(s0 + 0x1A);\n v0 = v0 - 0x100;\n *(u16 *)(a0 + 0x1A) = (u16)v0;\n *(u16 *)(a0 + 0x18) = (u16)v0;\n\n \n if (func_80128ED8(a0, (s32 *)(s1 + 0x24)) != 0) {\n func_801292C8((u8 *)s1);\n } else {\n v0 = *(s32 *)(s1 + 0x1C);\n if (v0 != 0) {\n v0--;\n *(s32 *)(s1 + 0x1C) = v0;\n if (v0 == 0) {\n func_801292C8((u8 *)s1);\n }\n }\n }\n}\n", "after_text": "void func_80182EB0(s32 arg0)\n{\n s32 obj;\n s32 v;\n s32 timer;\n\n obj = *(s32 *)(arg0 + 0x20);\n *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C);\n *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30);\n *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34);\n func_8012931C((struct vec *)arg0);\n v = *(u16 *)(obj + 0x1A) - 0x100;\n *(u16 *)(obj + 0x1A) = v;\n *(u16 *)(obj + 0x18) = v;\n if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {\n func_801292C8((u8 *)arg0);\n } else {\n timer = *(s32 *)(arg0 + 0x1C);\n if (timer != 0) {\n timer--;\n *(s32 *)(arg0 + 0x1C) = timer;\n if (timer == 0) {\n func_801292C8((u8 *)arg0);\n }\n }\n }\n}\n"}
|
||||
{"ts": "2026-09-10 22:57:36", "label": "s104_d24", "rung": "E", "calib": {"head": "66eafc8a5", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.c", "fn": "func_80181D9C", "addr": 2149064092, "aliases": null, "header": false, "includers": 0, "nhash_before": "b4500dd7c2e066075034c4b8b67c07456ed3c475", "nhash_after": "2f162956e3247ba63ce54da7d2645664934d4557", "source": "propagate:src/ov_SC02_016/ov_SC02_016_jr_8017DC70.c:func_8018003C", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.294, "objects": ["build/src/ov_SC03_029/ov_SC03_029_jr_8017FF7C.o"], "before_text": "void func_80181D9C(s32 arg0)\n{\n register s32 s1 __asm__(\"$17\") = arg0; // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 s0;\n s32 v0;\n s32 v1;\n s32 a0;\n register s32 a1 __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 a2 __asm__(\"$6\"); // !FAKE: pin $6 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n \n v0 = *(s32 *)(s1 + 0x10);\n v1 = *(s32 *)(s1 + 0x2C);\n a1 = *(s32 *)(s1 + 0x30);\n a2 = *(s32 *)(s1 + 0x34);\n\n \n s0 = *(s32 *)(s1 + 0x20);\n\n \n v0 = v0 + v1;\n *(s32 *)(s1 + 0x10) = v0;\n\n \n v0 = *(s32 *)(s1 + 0x14);\n v1 = *(s32 *)(s1 + 0x18);\n v0 = v0 + a1;\n v1 = v1 + a2;\n *(s32 *)(s1 + 0x14) = v0;\n *(s32 *)(s1 + 0x18) = v1;\n\n \n ((void (*)(void))func_8012931C)();\n\n \n a0 = s0 + zr;\n\n \n v0 = *(u16 *)(s0 + 0x1A);\n v0 = v0 - 0x100;\n *(u16 *)(a0 + 0x1A) = (u16)v0;\n *(u16 *)(a0 + 0x18) = (u16)v0;\n\n \n if (func_80128ED8(a0, (s32 *)(s1 + 0x24)) != 0) {\n func_801292C8((u8 *)s1);\n } else {\n v0 = *(s32 *)(s1 + 0x1C);\n if (v0 != 0) {\n v0--;\n *(s32 *)(s1 + 0x1C) = v0;\n if (v0 == 0) {\n func_801292C8((u8 *)s1);\n }\n }\n }\n}\n", "after_text": "void func_80181D9C(s32 arg0)\n{\n s32 obj;\n s32 v;\n s32 timer;\n\n obj = *(s32 *)(arg0 + 0x20);\n *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C);\n *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30);\n *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34);\n func_8012931C((struct vec *)arg0);\n v = *(u16 *)(obj + 0x1A) - 0x100;\n *(u16 *)(obj + 0x1A) = v;\n *(u16 *)(obj + 0x18) = v;\n if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {\n func_801292C8((u8 *)arg0);\n } else {\n timer = *(s32 *)(arg0 + 0x1C);\n if (timer != 0) {\n timer--;\n *(s32 *)(arg0 + 0x1C) = timer;\n if (timer == 0) {\n func_801292C8((u8 *)arg0);\n }\n }\n }\n}\n"}
|
||||
{"ts": "2026-09-10 22:58:09", "label": "s104_d24", "rung": "E", "calib": {"head": "48bb124be", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_80183178.c", "fn": "func_80187CE8", "addr": 2149088488, "aliases": null, "header": false, "includers": 0, "nhash_before": "b4500dd7c2e066075034c4b8b67c07456ed3c475", "nhash_after": "2f162956e3247ba63ce54da7d2645664934d4557", "source": ".run/P36/agents/ov_SC02_016__func_8018003C/scratch/copy_func_80187CE8.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.258, "objects": ["build/src/ov_SC02_011/ov_SC02_011_jr_80183178.o"], "before_text": "void func_80187CE8(s32 arg0)\n{\n register s32 s1 __asm__(\"$17\") = arg0; // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 s0;\n s32 v0;\n s32 v1;\n s32 a0;\n register s32 a1 __asm__(\"$5\"); // !FAKE: pin $5 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 a2 __asm__(\"$6\"); // !FAKE: pin $6 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n /* Load velocity components */\n v0 = *(s32 *)(s1 + 0x10);\n v1 = *(s32 *)(s1 + 0x2C);\n a1 = *(s32 *)(s1 + 0x30);\n a2 = *(s32 *)(s1 + 0x34);\n\n /* Load s0 pointer from offset 0x20 */\n s0 = *(s32 *)(s1 + 0x20);\n\n /* Add velocity to position at 0x10 */\n v0 = v0 + v1;\n *(s32 *)(s1 + 0x10) = v0;\n\n /* Load and add velocity to positions at 0x14 and 0x18 */\n v0 = *(s32 *)(s1 + 0x14);\n v1 = *(s32 *)(s1 + 0x18);\n v0 = v0 + a1;\n v1 = v1 + a2;\n *(s32 *)(s1 + 0x14) = v0;\n *(s32 *)(s1 + 0x18) = v1;\n\n /* Call update function */\n ((void (*)(void))func_8012931C)();\n\n /* Opaque copy s0 -> a0: RC-12 $0-add so cse cannot fold the later\n lhu (which the target keeps reading from $s0) onto this copy. */\n a0 = s0 + zr;\n\n /* Update value at offset 0x1A (target reads this via $s0, not $a0) */\n v0 = *(u16 *)(s0 + 0x1A);\n v0 = v0 - 0x100;\n *(u16 *)(a0 + 0x1A) = (u16)v0;\n *(u16 *)(a0 + 0x18) = (u16)v0;\n\n /* Call func_80128ED8 and branch on result */\n if (func_80128ED8(a0, (s32 *)(s1 + 0x24)) != 0) {\n func_801292C8((u8 *)s1);\n } else {\n v0 = *(s32 *)(s1 + 0x1C);\n if (v0 != 0) {\n v0--;\n *(s32 *)(s1 + 0x1C) = v0;\n if (v0 == 0) {\n func_801292C8((u8 *)s1);\n }\n }\n }\n}\n", "after_text": "void func_80187CE8(s32 arg0)\n{\n s32 obj;\n s32 v;\n s32 timer;\n\n obj = *(s32 *)(arg0 + 0x20);\n *(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C);\n *(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30);\n *(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34);\n func_8012931C((struct vec *)arg0);\n v = *(u16 *)(obj + 0x1A) - 0x100;\n *(u16 *)(obj + 0x1A) = v;\n *(u16 *)(obj + 0x18) = v;\n if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {\n func_801292C8((u8 *)arg0);\n } else {\n timer = *(s32 *)(arg0 + 0x1C);\n if (timer != 0) {\n timer--;\n *(s32 *)(arg0 + 0x1C) = timer;\n if (timer == 0) {\n func_801292C8((u8 *)arg0);\n }\n }\n }\n}\n"}
|
||||
|
||||
@@ -3431,59 +3431,27 @@ extern void func_801292C8(u8 *a0);
|
||||
|
||||
void func_80187CE8(s32 arg0)
|
||||
{
|
||||
register s32 s1 __asm__("$17") = arg0; // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a0;
|
||||
register s32 a1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 obj;
|
||||
s32 v;
|
||||
s32 timer;
|
||||
|
||||
/* Load velocity components */
|
||||
v0 = *(s32 *)(s1 + 0x10);
|
||||
v1 = *(s32 *)(s1 + 0x2C);
|
||||
a1 = *(s32 *)(s1 + 0x30);
|
||||
a2 = *(s32 *)(s1 + 0x34);
|
||||
|
||||
/* Load s0 pointer from offset 0x20 */
|
||||
s0 = *(s32 *)(s1 + 0x20);
|
||||
|
||||
/* Add velocity to position at 0x10 */
|
||||
v0 = v0 + v1;
|
||||
*(s32 *)(s1 + 0x10) = v0;
|
||||
|
||||
/* Load and add velocity to positions at 0x14 and 0x18 */
|
||||
v0 = *(s32 *)(s1 + 0x14);
|
||||
v1 = *(s32 *)(s1 + 0x18);
|
||||
v0 = v0 + a1;
|
||||
v1 = v1 + a2;
|
||||
*(s32 *)(s1 + 0x14) = v0;
|
||||
*(s32 *)(s1 + 0x18) = v1;
|
||||
|
||||
/* Call update function */
|
||||
((void (*)(void))func_8012931C)();
|
||||
|
||||
/* Opaque copy s0 -> a0: RC-12 $0-add so cse cannot fold the later
|
||||
lhu (which the target keeps reading from $s0) onto this copy. */
|
||||
a0 = s0 + zr;
|
||||
|
||||
/* Update value at offset 0x1A (target reads this via $s0, not $a0) */
|
||||
v0 = *(u16 *)(s0 + 0x1A);
|
||||
v0 = v0 - 0x100;
|
||||
*(u16 *)(a0 + 0x1A) = (u16)v0;
|
||||
*(u16 *)(a0 + 0x18) = (u16)v0;
|
||||
|
||||
/* Call func_80128ED8 and branch on result */
|
||||
if (func_80128ED8(a0, (s32 *)(s1 + 0x24)) != 0) {
|
||||
func_801292C8((u8 *)s1);
|
||||
obj = *(s32 *)(arg0 + 0x20);
|
||||
*(s32 *)(arg0 + 0x10) += *(s32 *)(arg0 + 0x2C);
|
||||
*(s32 *)(arg0 + 0x14) += *(s32 *)(arg0 + 0x30);
|
||||
*(s32 *)(arg0 + 0x18) += *(s32 *)(arg0 + 0x34);
|
||||
func_8012931C((struct vec *)arg0);
|
||||
v = *(u16 *)(obj + 0x1A) - 0x100;
|
||||
*(u16 *)(obj + 0x1A) = v;
|
||||
*(u16 *)(obj + 0x18) = v;
|
||||
if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {
|
||||
func_801292C8((u8 *)arg0);
|
||||
} else {
|
||||
v0 = *(s32 *)(s1 + 0x1C);
|
||||
if (v0 != 0) {
|
||||
v0--;
|
||||
*(s32 *)(s1 + 0x1C) = v0;
|
||||
if (v0 == 0) {
|
||||
func_801292C8((u8 *)s1);
|
||||
timer = *(s32 *)(arg0 + 0x1C);
|
||||
if (timer != 0) {
|
||||
timer--;
|
||||
*(s32 *)(arg0 + 0x1C) = timer;
|
||||
if (timer == 0) {
|
||||
func_801292C8((u8 *)arg0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user