mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 05:56:00 -04:00
phase-36: S104 s104_d34 — func_80181408 banked at 0 through the whole-object gate + propagated — 2 levers + a dead pad → 0: the address alias for the second call (cse.c:1937/2107), the goto chain as an if/else with a store per arm, the field decremented in place
This commit is contained in:
+187
-187
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "261c01c39",
|
||||
"head": "27fb22cad",
|
||||
"stamp": "15956e4a96c4",
|
||||
"generated": "2026-09-11 00:06",
|
||||
"generated": "2026-09-11 00:08",
|
||||
"aliases": [
|
||||
"main",
|
||||
"ov_SC03_014",
|
||||
@@ -21,207 +21,207 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 10.728000000000007,
|
||||
"mean_s": 0.126
|
||||
"seconds": 10.839000000000002,
|
||||
"mean_s": 0.128
|
||||
},
|
||||
"ov_SC03_014": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.699000000000001,
|
||||
"mean_s": 0.209
|
||||
"seconds": 6.635,
|
||||
"mean_s": 0.207
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.7909999999999995,
|
||||
"mean_s": 0.212
|
||||
"seconds": 6.497,
|
||||
"mean_s": 0.203
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 6.377000000000001,
|
||||
"mean_s": 0.228
|
||||
"seconds": 5.987999999999999,
|
||||
"mean_s": 0.214
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 1.01,
|
||||
"build/src/800_b.o": 0.166,
|
||||
"build/src/800_b_2.o": 0.549,
|
||||
"build/src/800_b_o0a.o": 0.15,
|
||||
"build/src/800_c.o": 0.342,
|
||||
"build/src/800b2.o": 0.132,
|
||||
"build/src/apicard1.o": 0.094,
|
||||
"build/src/apicard2.o": 0.113,
|
||||
"build/src/apicard3.o": 0.131,
|
||||
"build/src/apicard4.o": 0.135,
|
||||
"build/src/apicard5.o": 0.119,
|
||||
"build/src/apicard6.o": 0.081,
|
||||
"build/src/apicard7.o": 0.089,
|
||||
"build/src/boot.o": 0.168,
|
||||
"build/src/gap.o": 0.088,
|
||||
"build/src/libapi1.o": 0.116,
|
||||
"build/src/libapi2.o": 0.071,
|
||||
"build/src/libc2_1.o": 0.111,
|
||||
"build/src/libc2_2.o": 0.09,
|
||||
"build/src/libcd1.o": 0.122,
|
||||
"build/src/libcd2.o": 0.078,
|
||||
"build/src/libetc.o": 0.128,
|
||||
"build/src/libgpu.o": 0.087,
|
||||
"build/src/libgpu2.o": 0.11,
|
||||
"build/src/libgs1.o": 0.081,
|
||||
"build/src/libgs2.o": 0.103,
|
||||
"build/src/libgs3.o": 0.104,
|
||||
"build/src/libgs4.o": 0.101,
|
||||
"build/src/libgs5.o": 0.085,
|
||||
"build/src/libgs6.o": 0.159,
|
||||
"build/src/libgs7.o": 0.086,
|
||||
"build/src/libgs8.o": 0.078,
|
||||
"build/src/libgte1.o": 0.121,
|
||||
"build/src/libgte10.o": 0.08,
|
||||
"build/src/libgte11.o": 0.112,
|
||||
"build/src/libgte12.o": 0.088,
|
||||
"build/src/libgte13.o": 0.112,
|
||||
"build/src/libgte14.o": 0.093,
|
||||
"build/src/libgte15.o": 0.134,
|
||||
"build/src/libgte16.o": 0.099,
|
||||
"build/src/libgte17.o": 0.102,
|
||||
"build/src/libgte18.o": 0.128,
|
||||
"build/src/libgte19.o": 0.139,
|
||||
"build/src/libgte2.o": 0.138,
|
||||
"build/src/libgte20.o": 0.092,
|
||||
"build/src/libgte21.o": 0.11,
|
||||
"build/src/libgte22.o": 0.086,
|
||||
"build/src/libgte23.o": 0.078,
|
||||
"build/src/libgte24.o": 0.088,
|
||||
"build/src/libgte25.o": 0.147,
|
||||
"build/src/libgte26.o": 0.12,
|
||||
"build/src/libgte27.o": 0.081,
|
||||
"build/src/libgte28.o": 0.075,
|
||||
"build/src/libgte29.o": 0.074,
|
||||
"build/src/libgte3.o": 0.076,
|
||||
"build/src/libgte30.o": 0.131,
|
||||
"build/src/libgte4.o": 0.065,
|
||||
"build/src/libgte5.o": 0.101,
|
||||
"build/src/libgte6.o": 0.089,
|
||||
"build/src/libgte7.o": 0.094,
|
||||
"build/src/libgte8.o": 0.092,
|
||||
"build/src/libgte9.o": 0.082,
|
||||
"build/src/libmcrd1.o": 0.117,
|
||||
"build/src/libmcrd2.o": 0.092,
|
||||
"build/src/libpad1.o": 0.085,
|
||||
"build/src/libpad2.o": 0.099,
|
||||
"build/src/sgap.o": 0.104,
|
||||
"build/src/sgap_2.o": 0.166,
|
||||
"build/src/sgap_3.o": 0.103,
|
||||
"build/src/sgap_4.o": 0.094,
|
||||
"build/src/sgap_5.o": 0.146,
|
||||
"build/src/sgap_6.o": 0.097,
|
||||
"build/src/sgap_8.o": 0.151,
|
||||
"build/src/snd1.o": 0.159,
|
||||
"build/src/snd10.o": 0.101,
|
||||
"build/src/snd11.o": 0.135,
|
||||
"build/src/snd12.o": 0.087,
|
||||
"build/src/snd2.o": 0.088,
|
||||
"build/src/snd3.o": 0.134,
|
||||
"build/src/snd4.o": 0.138,
|
||||
"build/src/snd5.o": 0.127,
|
||||
"build/src/snd6.o": 0.093,
|
||||
"build/src/snd7.o": 0.107,
|
||||
"build/src/snd8.o": 0.121,
|
||||
"build/src/snd9.o": 0.08,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.202,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.705,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.544,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.074,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.177,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.198,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.147,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.121,
|
||||
"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.224,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.159,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.269,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.153,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.13,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.131,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.145,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.605,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.404,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.15,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.246,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.089,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.15,
|
||||
"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.283,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.248,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.103,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.395,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.086,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.071,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.116,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.207,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.624,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.558,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.119,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.115,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.248,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.275,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.198,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.108,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.114,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.233,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.18,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.235,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.151,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.189,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.103,
|
||||
"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.619,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.34,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.115,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.28,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.149,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.107,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.221,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.26,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.085,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.372,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.071,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.093,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.087,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.086,
|
||||
"build/src/800.o": 1.062,
|
||||
"build/src/800_b.o": 0.138,
|
||||
"build/src/800_b_2.o": 0.467,
|
||||
"build/src/800_b_o0a.o": 0.151,
|
||||
"build/src/800_c.o": 0.294,
|
||||
"build/src/800b2.o": 0.167,
|
||||
"build/src/apicard1.o": 0.131,
|
||||
"build/src/apicard2.o": 0.127,
|
||||
"build/src/apicard3.o": 0.094,
|
||||
"build/src/apicard4.o": 0.116,
|
||||
"build/src/apicard5.o": 0.108,
|
||||
"build/src/apicard6.o": 0.092,
|
||||
"build/src/apicard7.o": 0.09,
|
||||
"build/src/boot.o": 0.137,
|
||||
"build/src/gap.o": 0.081,
|
||||
"build/src/libapi1.o": 0.089,
|
||||
"build/src/libapi2.o": 0.166,
|
||||
"build/src/libc2_1.o": 0.126,
|
||||
"build/src/libc2_2.o": 0.124,
|
||||
"build/src/libcd1.o": 0.157,
|
||||
"build/src/libcd2.o": 0.084,
|
||||
"build/src/libetc.o": 0.076,
|
||||
"build/src/libgpu.o": 0.111,
|
||||
"build/src/libgpu2.o": 0.123,
|
||||
"build/src/libgs1.o": 0.129,
|
||||
"build/src/libgs2.o": 0.141,
|
||||
"build/src/libgs3.o": 0.161,
|
||||
"build/src/libgs4.o": 0.1,
|
||||
"build/src/libgs5.o": 0.147,
|
||||
"build/src/libgs6.o": 0.112,
|
||||
"build/src/libgs7.o": 0.125,
|
||||
"build/src/libgs8.o": 0.105,
|
||||
"build/src/libgte1.o": 0.084,
|
||||
"build/src/libgte10.o": 0.078,
|
||||
"build/src/libgte11.o": 0.115,
|
||||
"build/src/libgte12.o": 0.128,
|
||||
"build/src/libgte13.o": 0.085,
|
||||
"build/src/libgte14.o": 0.145,
|
||||
"build/src/libgte15.o": 0.144,
|
||||
"build/src/libgte16.o": 0.109,
|
||||
"build/src/libgte17.o": 0.105,
|
||||
"build/src/libgte18.o": 0.087,
|
||||
"build/src/libgte19.o": 0.087,
|
||||
"build/src/libgte2.o": 0.092,
|
||||
"build/src/libgte20.o": 0.083,
|
||||
"build/src/libgte21.o": 0.073,
|
||||
"build/src/libgte22.o": 0.077,
|
||||
"build/src/libgte23.o": 0.074,
|
||||
"build/src/libgte24.o": 0.119,
|
||||
"build/src/libgte25.o": 0.11,
|
||||
"build/src/libgte26.o": 0.115,
|
||||
"build/src/libgte27.o": 0.102,
|
||||
"build/src/libgte28.o": 0.125,
|
||||
"build/src/libgte29.o": 0.103,
|
||||
"build/src/libgte3.o": 0.12,
|
||||
"build/src/libgte30.o": 0.124,
|
||||
"build/src/libgte4.o": 0.103,
|
||||
"build/src/libgte5.o": 0.082,
|
||||
"build/src/libgte6.o": 0.103,
|
||||
"build/src/libgte7.o": 0.084,
|
||||
"build/src/libgte8.o": 0.113,
|
||||
"build/src/libgte9.o": 0.158,
|
||||
"build/src/libmcrd1.o": 0.157,
|
||||
"build/src/libmcrd2.o": 0.108,
|
||||
"build/src/libpad1.o": 0.095,
|
||||
"build/src/libpad2.o": 0.137,
|
||||
"build/src/sgap.o": 0.089,
|
||||
"build/src/sgap_2.o": 0.112,
|
||||
"build/src/sgap_3.o": 0.145,
|
||||
"build/src/sgap_4.o": 0.107,
|
||||
"build/src/sgap_5.o": 0.077,
|
||||
"build/src/sgap_6.o": 0.13,
|
||||
"build/src/sgap_8.o": 0.107,
|
||||
"build/src/snd1.o": 0.099,
|
||||
"build/src/snd10.o": 0.086,
|
||||
"build/src/snd11.o": 0.127,
|
||||
"build/src/snd12.o": 0.086,
|
||||
"build/src/snd2.o": 0.097,
|
||||
"build/src/snd3.o": 0.084,
|
||||
"build/src/snd4.o": 0.085,
|
||||
"build/src/snd5.o": 0.071,
|
||||
"build/src/snd6.o": 0.085,
|
||||
"build/src/snd7.o": 0.097,
|
||||
"build/src/snd8.o": 0.099,
|
||||
"build/src/snd9.o": 0.101,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.175,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.742,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.558,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.103,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.075,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.162,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.237,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.15,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.124,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.108,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.265,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.132,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.236,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.132,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.092,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.081,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.126,
|
||||
"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.321,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.185,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.291,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.223,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.112,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.228,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.255,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.08,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.371,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.07,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.09,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.099,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.086,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.158,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.641,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.605,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.07,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.099,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.148,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.223,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.148,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.291,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.21,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.168,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.094,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.121,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.612,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.358,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.131,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.286,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.082,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.183,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.096,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.224,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.295,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.08,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.377,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.086,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.079,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.133,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.17,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.618,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.486,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.072,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.103,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.216,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.271,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.169,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.131,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.13,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.27,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.146,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.228,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.132,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.098,
|
||||
"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.17,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.551,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.379,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.171,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.259,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.13,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.164,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.099,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.181,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.733,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.078,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.117
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.646,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.463,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.091,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.154,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.251,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.143,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.108,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.112,
|
||||
"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.121,
|
||||
"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.139,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.115,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.13,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.137,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.559,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.31,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.137,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.27,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.085,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.132,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.095,
|
||||
"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.742,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.079,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.118
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 3.8
|
||||
"seconds": 3.7
|
||||
}
|
||||
|
||||
@@ -29316,3 +29316,7 @@
|
||||
{"ts": "2026-09-11 00:07:21", "label": "s104_d39", "rung": "E", "calib": {"head": "261c01c39", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", "fn": "func_80185484", "addr": 2149078148, "aliases": null, "header": false, "includers": 0, "nhash_before": "8a17d17992fa37bb6deb51dcfbea0021776883db", "nhash_after": "2d83efe5fc150e0ca7cdbc5d860c783250692b93", "source": ".run/P36/agents/ov_SC03_090__func_80185484/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.348, "objects": ["build/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.o"], "before_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_801A31B0[];\n\n s32 ent; /* $s1 */\n s32 p;\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n ent = a0;\n p = *(s32 *)(ent + 0x20);\n h = *(s16 *)(p + 0x18);\n __asm__(\"\" : \"=r\"(h) : \"0\"(h)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ret = ((s32 (*)(s32))func_8012BE54)(ent);\n s0 = h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(ent + 0xA);\n h2 = *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A);\n __asm__ __volatile__(\"\" : \"=r\"(h2) : \"0\"(h2)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n g = *(s16 *)&D_80126B62;\n r = h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n a0 = 1;\n arr[0] = *(u16 *)(ent + 0x6);\n arr[1] = *(u16 *)(ent + 0xA);\n arr[2] = *(u16 *)(ent + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_801A31B0);\n}\n", "after_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_801A31B0[];\n\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n h = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18);\n ret = ((s32 (*)(s32))func_8012BE54)(a0);\n s0 = (s16)h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(a0 + 0xA);\n h2 = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A);\n g = *(s16 *)&D_80126B62;\n r = (s16)h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n arr[0] = *(u16 *)(a0 + 0x6);\n arr[1] = *(u16 *)(a0 + 0xA);\n arr[2] = *(u16 *)(a0 + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_801A31B0);\n}\n"}
|
||||
{"ts": "2026-09-11 00:07:39", "label": "s104_d39", "rung": "E", "calib": {"head": "261c01c39", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_80182038.c", "fn": "func_80183318", "addr": 2149069592, "aliases": null, "header": false, "includers": 0, "nhash_before": "8a17d17992fa37bb6deb51dcfbea0021776883db", "nhash_after": "2d83efe5fc150e0ca7cdbc5d860c783250692b93", "source": "propagate:src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c:func_80185484", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.197, "objects": ["build/src/ov_SC03_104/ov_SC03_104_jr_80182038.o"], "before_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_8019A078[];\n\n s32 ent; /* $s1 */\n s32 p;\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n ent = a0;\n p = *(s32 *)(ent + 0x20);\n h = *(s16 *)(p + 0x18);\n __asm__(\"\" : \"=r\"(h) : \"0\"(h)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ret = ((s32 (*)(s32))func_8012BE54)(ent);\n s0 = h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(ent + 0xA);\n h2 = *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A);\n __asm__ __volatile__(\"\" : \"=r\"(h2) : \"0\"(h2)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n g = *(s16 *)&D_80126B62;\n r = h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n a0 = 1;\n arr[0] = *(u16 *)(ent + 0x6);\n arr[1] = *(u16 *)(ent + 0xA);\n arr[2] = *(u16 *)(ent + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_8019A078);\n}\n", "after_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_8019A078[];\n\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n h = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18);\n ret = ((s32 (*)(s32))func_8012BE54)(a0);\n s0 = (s16)h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(a0 + 0xA);\n h2 = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A);\n g = *(s16 *)&D_80126B62;\n r = (s16)h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n arr[0] = *(u16 *)(a0 + 0x6);\n arr[1] = *(u16 *)(a0 + 0xA);\n arr[2] = *(u16 *)(a0 + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_8019A078);\n}\n"}
|
||||
{"ts": "2026-09-11 00:07:40", "label": "s104_d39", "rung": "E", "calib": {"head": "261c01c39", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_089/ov_SC03_089_jr_8017CA80.c", "fn": "func_801857A8", "addr": 2149078952, "aliases": null, "header": false, "includers": 0, "nhash_before": "8a17d17992fa37bb6deb51dcfbea0021776883db", "nhash_after": "2d83efe5fc150e0ca7cdbc5d860c783250692b93", "source": "propagate:src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c:func_80185484", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.42, "objects": ["build/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.o"], "before_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_801A3D08[];\n\n s32 ent; /* $s1 */\n s32 p;\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n ent = a0;\n p = *(s32 *)(ent + 0x20);\n h = *(s16 *)(p + 0x18);\n __asm__(\"\" : \"=r\"(h) : \"0\"(h)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ret = ((s32 (*)(s32))func_8012BE54)(ent);\n s0 = h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(ent + 0xA);\n h2 = *(s16 *)(*(s32 *)(ent + 0x20) + 0x1A);\n __asm__ __volatile__(\"\" : \"=r\"(h2) : \"0\"(h2)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n g = *(s16 *)&D_80126B62;\n r = h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n a0 = 1;\n arr[0] = *(u16 *)(ent + 0x6);\n arr[1] = *(u16 *)(ent + 0xA);\n arr[2] = *(u16 *)(ent + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_801A3D08);\n}\n", "after_text": "s32 func_80185484_body(s32 a0) {\n extern void func_8012BE54(s32 a0);\n extern u16 D_80126B62;\n extern u8 D_801A3D08[];\n\n s32 h;\n s32 h2;\n s32 ret;\n s32 s0;\n s32 r;\n s32 v;\n s32 g;\n s32 d;\n u16 arr[3];\n\n h = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18);\n ret = ((s32 (*)(s32))func_8012BE54)(a0);\n s0 = (s16)h >> 8;\n if (ret > s0 * s0) {\n return 0;\n }\n v = *(s16 *)(a0 + 0xA);\n h2 = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x1A);\n g = *(s16 *)&D_80126B62;\n r = (s16)h2 >> 6;\n d = v - g;\n if (d >= 0 ? r < d : r < g - v) {\n return 0;\n }\n arr[0] = *(u16 *)(a0 + 0x6);\n arr[1] = *(u16 *)(a0 + 0xA);\n arr[2] = *(u16 *)(a0 + 0xE);\n func_8012F568(1, 0x4201, 0, 0x1C, (s32)arr, (s32)D_801A3D08);\n}\n"}
|
||||
{"ts": "2026-09-11 00:09:29", "label": "s104_d34", "rung": "E", "calib": {"head": "27fb22cad", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.c", "fn": "func_80181408", "addr": 2149061640, "aliases": null, "header": false, "includers": 0, "nhash_before": "f87f53c476a01645d62b999d51c23966d91377f0", "nhash_after": "8ecc46ffd3e86e37d1b63685599c4f4ecc20a26e", "source": ".run/P36/agents/ov_SC06_010__func_80181408/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.347, "objects": ["build/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.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_80181234(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 tus7)\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 tus7)\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_80181234)((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_80181234(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_80181234)((void *)a0);\n}\n"}
|
||||
{"ts": "2026-09-11 00:09:55", "label": "s104_d34", "rung": "E", "calib": {"head": "27fb22cad", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", "fn": "func_8018BBBC", "addr": 2149104572, "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.36, "objects": ["build/src/ov_SC06_022/ov_SC06_022_jr_80184A28.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_8018B9E8(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_8018B9E8)((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_8018B9E8(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_8018B9E8)((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_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"}
|
||||
|
||||
@@ -6708,6 +6708,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_80181234(void);
|
||||
struct {
|
||||
s16 v[3]; /* sp+0x10 */
|
||||
@@ -6715,76 +6716,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 tus7)
|
||||
{ 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 tus7)
|
||||
|
||||
{
|
||||
s32 p = a0;
|
||||
*(u16 *)(p + 0xFC) = *(u16 *)(p + 0xFC) + 0x280;
|
||||
*(u16 *)(p + 0xFE) = *(u16 *)(p + 0xFE) - 0x280;
|
||||
((void (*)(void *))func_80181234)((void *)p);
|
||||
}
|
||||
*(u16 *)(a0 + 0xFC) += 0x280;
|
||||
*(u16 *)(a0 + 0xFE) -= 0x280;
|
||||
((void (*)(void *))func_80181234)((void *)a0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7507,6 +7507,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_8018B9E8(void);
|
||||
struct {
|
||||
s16 v[3]; /* sp+0x10 */
|
||||
@@ -7514,76 +7515,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_8018B9E8)((void *)p);
|
||||
}
|
||||
*(u16 *)(a0 + 0xFC) += 0x280;
|
||||
*(u16 *)(a0 + 0xFE) -= 0x280;
|
||||
((void (*)(void *))func_8018B9E8)((void *)a0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7600,6 +7600,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_8018DEC0(void);
|
||||
struct {
|
||||
s16 v[3]; /* sp+0x10 */
|
||||
@@ -7607,76 +7608,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_8018DEC0)((void *)p);
|
||||
}
|
||||
*(u16 *)(a0 + 0xFC) += 0x280;
|
||||
*(u16 *)(a0 + 0xFE) -= 0x280;
|
||||
((void (*)(void *))func_8018DEC0)((void *)a0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3930,6 +3930,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_8018F518(void);
|
||||
struct {
|
||||
s16 v[3]; /* sp+0x10 */
|
||||
@@ -3937,76 +3938,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_8018F518)((void *)p);
|
||||
}
|
||||
*(u16 *)(a0 + 0xFC) += 0x280;
|
||||
*(u16 *)(a0 + 0xFE) -= 0x280;
|
||||
((void (*)(void *))func_8018F518)((void *)a0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user