mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 06:49:47 -04:00
phase-36: S104 s104_d22 — func_801861FC banked at 0 through the whole-object gate + propagated — $2 pin → 0: one variable per value across switch cases (flow.c:2058-2061 made the shared t global; per-case t is local and ties to $2, local-alloc.c:1722)
This commit is contained in:
@@ -1,38 +1,30 @@
|
||||
void func_801861FC(s32 a0) {
|
||||
s32 ent = a0;
|
||||
s32 state = *(u16 *)(ent + 0x34);
|
||||
s32 sub;
|
||||
void func_801861FC(s32 ent) {
|
||||
s32 t;
|
||||
s32 cnt;
|
||||
|
||||
switch (state) {
|
||||
case 0: {
|
||||
s32 t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
switch (*(u16 *)(ent + 0x34)) {
|
||||
case 0:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) + 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt < 0x10) {
|
||||
break;
|
||||
}
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x7000;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x2000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000;
|
||||
*(s32 *)(ent + 0x1C) = 0x40;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
if (func_8012BEE8(ent) != 0) {
|
||||
*(s32 *)(ent + 0x1C) = 0x10;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
s32 t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
case 2:
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) - 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt == 0) {
|
||||
@@ -41,7 +33,6 @@ void func_801861FC(s32 a0) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
func_8018632C(ent);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# func_801861FC (ov_SC03_091_jr_8018326C.c) — P36 S104 agent d22
|
||||
|
||||
**Result: score 0 in plain C, zero levers** (was 1 NEEDED lever: `register s32 t __asm__("$2")`). Levers 1 → 0.
|
||||
Closed on the FIRST `--try`. Best body: `PACK/body.c` (76/76 ins, MATCH). It also closes the class's three other copies
|
||||
(`scratch/copies.md`): func_80185678 (ov_SC03_089), func_80185354 (ov_SC03_090), func_801831E8 (ov_SC03_104) — all 0.
|
||||
|
||||
## (a) The residual
|
||||
Counted first: mine 77, target 76 — ONE extra instruction, `move a0,v0` after the case-0 `jal func_8004787C`; the target
|
||||
computes `t*7` (`sll v1,v0,3; subu v1,v1,v0`) and `t<<1` straight out of `$v0`. Every other hunk is a branch offset
|
||||
shifted by that one instruction. So: a call-result copy that should have been tied to `$2` and was not.
|
||||
|
||||
## (b) The pass and the decision (read in the dumps, proven on bytes)
|
||||
The lever-free body reuses ONE `t` for the call result in case 0 and in case 2 — two basic blocks. flow marks it
|
||||
`REG_BLOCK_GLOBAL` (`flow.c:2058-2061`, the second block that sets it), so local-alloc never sees it (block_alloc takes only
|
||||
pseudos local to the block) and cannot tie it to the dying `$2` with `combine_regs` (`local-alloc.c:1722`). Local-alloc
|
||||
first gives case 0's block-local temps (`t<<3`, the `ent+0x20` loads) `$2`/`$3`; global allocation then records those hard
|
||||
registers as conflicts of `t` (`global.c:1428` via the locals' `reg_renumber`) — `.greg`, free body:
|
||||
`;; 77 conflicts: 73 76 77 2 3 29` — so `find_reg` (`global.c:904`) hands `t` `$4` and the copy `move a0,v0` survives.
|
||||
With one `t` per case, case 0's `t` is local to block 6 (`.lreg`: "Register 78 used 4 times across 7 insns in block 6",
|
||||
"Register 78 in 2.") and is tied to `$2`; the copy becomes `move v0,v0` and is deleted. Dumps:
|
||||
`scratch/dumps_free/free.i.{lreg,greg}` vs `scratch/dumps_body/body.i.{lreg,greg}`.
|
||||
|
||||
## (c) The move that closed it
|
||||
One name per value for the call result: the case-2 `t` is either inlined into its single use
|
||||
(`*(s16 *)(sub + 0x1A) = func_8004787C(...) << 1;`, the shipped body) or declared in its own case block. Byte-proven
|
||||
equivalent spellings, all 0: `{ s32 t = …; }` inside BOTH cases (`scratch/c1.c`); two function-scope names `t`, `t2`
|
||||
(`scratch/vA.c`); only case 0 block-scoped (`vB.c`); only case 2 block-scoped (`vC.c`). The shipped body also drops the
|
||||
decompiler's `ent = a0` / `state` / `sub` temps (readability; they were not the defect — r2 = 0).
|
||||
|
||||
## (d) Generator proposal
|
||||
R23 (split a reused local) already covers this move but REFUSED `t`: its definition test requires the text before
|
||||
`v = E;` to end in `;`/`{`/`}` (`tools/delever.py` `split_reused_locals`, the `before.endswith((";", "{", "}"))` check),
|
||||
and case 2's `t = func_8004787C(...)` follows `case 2:` — so the sweep split `sub` and `cnt` (free_115/116, best 9) but
|
||||
never `t`. Rule: **accept a `case K:` / `default:` label (a `:` that closes a case label) as a statement boundary in R23**
|
||||
— the definition is the first statement of the case, so every later use in that segment is dominated by it whether the
|
||||
case is entered by dispatch or by fall-through. Also offer "declare the value inside the case's own `{ }`" as the R23
|
||||
spelling when the segments are switch cases (d7's per-arm local).
|
||||
|
||||
## (e) What did not work (byte evidence)
|
||||
- `scratch/r1.c` (case-2 call inlined but `sub = *(s32 *)(ent + 0x20);` left ABOVE the call): wrong — `sub` then lives across
|
||||
the call and takes `$s1` (frame 32, +1 callee-saved). The `ent+0x20` load must stay after the call, as in the target.
|
||||
- The history's 9–12 candidates: they split/inlined `sub`/`cnt` and swapped statements — none separated the two `t`s.
|
||||
- Struct accesses with the reused `t` (`scratch/st_reused.c`): 15, unchanged.
|
||||
|
||||
## (f) Where the method fell short
|
||||
Nothing structural — count (1 extra `move`) → "a call-result copy not tied to `$2`" → the only non-local pseudo in the
|
||||
case → the `.greg` conflict line. This is the S103 c1/c8 "local reused across statement groups → one name per value" move;
|
||||
the sweep's generator for it had a text-shape gap at a `case` label, not a compiler-model gap. The pin was faking exactly
|
||||
the `$2` tie that a block-local pseudo gets for free.
|
||||
|
||||
## (g) Structs question
|
||||
Neutral. Tested on bytes with body-local `struct Ent { u8 pad0[0x1C]; s32 timer; struct Sub *sub; u8 pad24[0x10]; u16 state; }`
|
||||
/ `struct Sub { u8 pad0[0x18]; s16 sx; s16 sy; }` and `e->state++`: reused `t` = 15 (`scratch/st_reused.c`), split `t` = 0
|
||||
(`scratch/st_split.c`). The decision is flow's block-global marking of one pseudo set in two cases; aggregate vs scalar
|
||||
MEM flags (`expr.c:4568-4577`) never enter it. The struct would read better (timer +0x1C, sub-object +0x20 with s16 +0x18/+0x1A,
|
||||
state u16 +0x34) but does not close the bytes.
|
||||
@@ -0,0 +1,14 @@
|
||||
void func_8017E060(s32 *param_1)
|
||||
{
|
||||
|
||||
extern s8 D_80191C70;
|
||||
int new_var;
|
||||
s32 p;
|
||||
s32 r;
|
||||
p = (s32) (&D_80191C70);
|
||||
r = param_1[0x34 / 4];
|
||||
new_var = r;
|
||||
p += new_var;
|
||||
*((s8 *) p) = 0;
|
||||
((void (*)(void)) func_801292C8)();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
void func_8017E060(s32 *param_1)
|
||||
{
|
||||
|
||||
extern s8 D_80191C70;
|
||||
int new_var;
|
||||
register s32 p __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus7)
|
||||
s32 r;
|
||||
p = (s32) (&D_80191C70);
|
||||
r = param_1[0x34 / 4];
|
||||
new_var = r;
|
||||
p += new_var;
|
||||
*((s8 *) p) = 0;
|
||||
((void (*)(void)) func_801292C8)();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
g6b: verdict NO-MATCH start 4 best 2 compiles 190 path R9 swap-stmts @4172
|
||||
best-scoring single candidates of the last trace (move -> score [residual class]):
|
||||
R9 swap-stmts @4172 -> 2 [COUNT] (from 4)
|
||||
R12 width new_var int->u16 @4166 -> 2 [COUNT] (from 2)
|
||||
R6 inline r @4170 -> 2 [COUNT] (from 2)
|
||||
R7 block @4169 -> 2 [COUNT] (from 2)
|
||||
R9 swap-stmts @4169 -> 2 [COUNT] (from 2)
|
||||
R10 param-copy param_1 @4169 -> 2 [COUNT] (from 2)
|
||||
R4 decl-move p 2->0 -> 2 [COUNT] (from 2)
|
||||
R12 width new_var int->s16 @4166 -> 2 [COUNT] (from 2)
|
||||
R6 inline new_var @4171 -> 2 [COUNT] (from 2)
|
||||
R7 do-while @4169 -> 2 [COUNT] (from 2)
|
||||
R9 swap-stmts @4170 -> 2 [COUNT] (from 2)
|
||||
R4 decl-move p 2->1 -> 2 [COUNT] (from 2)
|
||||
@@ -0,0 +1,31 @@
|
||||
--- every @class/@stuck/@crack note in this translation unit ---
|
||||
// @class: plumbing
|
||||
// @stuck: none — MATCH
|
||||
// @class: regalloc-order — simplified sibling of matched func_8017B614.
|
||||
// @stuck: none. Block-moves are align-1 struct-assigns (u8[8]) -> emit_block_move
|
||||
// @class: struct
|
||||
// @stuck: none — MATCH (74 ins)
|
||||
// @class: regalloc-order + T1 memcpy-builtin→call re-crack
|
||||
// @stuck: 0 (iso). Register lever = $16 pin + in-place re-tie on the memcpy-branch src (keeps
|
||||
// @class: plumbing
|
||||
// @stuck: none — MATCH
|
||||
// @class: schedule
|
||||
// @stuck: none — MATCH
|
||||
// @class: struct
|
||||
// @stuck: none — MATCH
|
||||
// @class: struct
|
||||
// @stuck: none — MATCH (63 ins)
|
||||
// @class: struct
|
||||
// @stuck: none — MATCH (62 ins)
|
||||
// @class: struct
|
||||
// @stuck: none — MATCH (65 ins)
|
||||
// @class: regalloc-order
|
||||
// @stuck: pending self-check — register order param=$s2 counter=$s1 ptr=$s0
|
||||
// @class: plumbing
|
||||
// @stuck: none — MATCH (expected); short-typed global increment + signed compare, store-2 on overflow
|
||||
// @class: plumbing
|
||||
// @stuck: none — MATCH expected (simple short-increment + guarded call)
|
||||
// @class: regalloc-order
|
||||
// @stuck: none — MATCH (branch-polarity invert: fn-ptr non-zero call is the fall-through arm)
|
||||
// @class: schedule
|
||||
// @stuck: none — MATCH (102 ins). MATRIX(0x20:m@0,t@0x14)+SVECTOR in/out stack layout; the only
|
||||
@@ -0,0 +1,155 @@
|
||||
=== lever-free bodies in ov_SC04_012 sharing a callee or global with func_8017E060 (6 found; top 6 by shared symbols) — read them for the SHAPE ===
|
||||
--- func_8012927C (src/shared/ov/func_8012927C.h:5) shares 1: func_801292C8 ---
|
||||
void func_8012927C(void) {
|
||||
s32 i;
|
||||
u8 *p = (u8 *)&D_8011DB30;
|
||||
for (i = 0; i < 0x80; i++) {
|
||||
func_801292C8(p);
|
||||
p += 0x38;
|
||||
}
|
||||
}
|
||||
|
||||
--- func_801433F0 (src/shared/ov/func_801433F0.h:7) shares 1: func_801292C8 ---
|
||||
void func_801433F0(s32 a0) {
|
||||
if (*(u16 *)(a0 + 2) == 0) {
|
||||
func_80143458();
|
||||
} else {
|
||||
func_8012931C((struct vec *)a0);
|
||||
if (func_80128ED8(*(void **)(a0 + 0x20), (u8 *)a0 + 0x24) != 0) {
|
||||
func_801292C8((u8 *)a0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
--- func_8014350C (src/shared/ov/func_8014350C.h:7) shares 1: func_801292C8 ---
|
||||
void func_8014350C(s32 *a0) {
|
||||
if (*(u16 *)((u8 *)a0 + 2) == 0) {
|
||||
func_8014358C();
|
||||
return;
|
||||
}
|
||||
func_8012931C((struct vec *)a0);
|
||||
if (func_80128ED8((void *)a0[0x20 / 4], (void *)((u8 *)a0 + 0x24)) != 0) {
|
||||
func_801292C8((u8 *)a0);
|
||||
return;
|
||||
}
|
||||
*(u8 *)(a0[0x20 / 4] + 0x27) = *(u8 *)((u8 *)a0 + 0x28) - 0x70;
|
||||
}
|
||||
|
||||
--- func_8017DAE4 (src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c:3916) shares 1: D_80191C70 ---
|
||||
void func_8017DAE4(s32 a0) {
|
||||
extern u8 D_80126B5C;
|
||||
extern s32 D_801930C0;
|
||||
extern s8 D_80191C70;
|
||||
|
||||
s16 buf[4];
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 slot;
|
||||
u8 *obj;
|
||||
|
||||
slot = -1;
|
||||
func_80015978((s32)&D_80126B5C, (s32 *)buf);
|
||||
buf[1] = *(u16 *)(a0 + 0xA);
|
||||
|
||||
for (j = 0, i = 0; j < D_801930C0; j++, i++) {
|
||||
if (slot != -1) {
|
||||
break;
|
||||
}
|
||||
if (*((u8 *)&D_80191C70 + i) == 0) {
|
||||
slot = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (slot != -1) {
|
||||
obj = func_801290DC(0x61, (u8 *)buf);
|
||||
if (obj != 0) {
|
||||
*(&D_80191C70 + slot) = 1;
|
||||
*(s32 *)(obj + 0x34) = slot;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
--- func_8017E4C8 (src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c:4400) shares 1: func_801292C8 ---
|
||||
void func_8017E4C8(int param_1)
|
||||
{
|
||||
UVec_8017EA1C_8017E4C8 v;
|
||||
int p;
|
||||
short ang;
|
||||
int siz;
|
||||
int wid;
|
||||
int col;
|
||||
|
||||
p = *(int *)(param_1 + 0x20);
|
||||
ang = *(unsigned short *)(param_1 + 0x2c) + 0x40;
|
||||
*(unsigned short *)(param_1 + 0x2c) = ang;
|
||||
v.vz = func_8004787C(ang) / 256;
|
||||
v.vy = 0;
|
||||
v.vx = 0;
|
||||
func_800139C8(*(short *)(p + 0x12), &v, &v);
|
||||
|
||||
*(unsigned short *)(param_1 + 6) = *(unsigned short *)(param_1 + 0x12) + v.vx;
|
||||
*(unsigned short *)(param_1 + 0xe) = *(unsigned short *)(param_1 + 0x1a) + v.vz;
|
||||
*(unsigned short *)(param_1 + 0xa) = *(unsigned short *)(param_1 + 0xa) - *(unsigned short *)(param_1 + 0x30);
|
||||
siz = *(unsigned short *)(param_1 + 0x2e) + 0x10;
|
||||
*(unsigned short *)(param_1 + 0x2e) = siz;
|
||||
|
||||
wid = *(unsigned short *)(p + 0x1a) + siz;
|
||||
*(unsigned short *)(p + 0x1a) = wid;
|
||||
*(unsigned short *)(p + 0x18) = wid;
|
||||
|
||||
col = *(unsigned char *)(p + 0x26) - 4;
|
||||
*(unsigned char *)(p + 0x26) = col;
|
||||
*(unsigned char *)(p + 0x25) = col;
|
||||
*(unsigned char *)(p + 0x24) = col;
|
||||
|
||||
if (func_80146E98(param_1) != 0) {
|
||||
((void (*)(int))func_801292C8)(param_1);
|
||||
}
|
||||
}
|
||||
|
||||
--- func_8017D99C (src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c:3867) shares 1: D_80191C70 ---
|
||||
void func_8017D99C(s32 a0) {
|
||||
|
||||
extern u8 D_80126B5C;
|
||||
extern s32 D_801930C0;
|
||||
extern s16 D_801930C4;
|
||||
extern s32 D_801930C8;
|
||||
extern s32 D_801930CC;
|
||||
extern u8 D_80182290[];
|
||||
extern u8 D_80182298[];
|
||||
extern s8 D_80191C70;
|
||||
extern s8 D_80191CBF;
|
||||
|
||||
s16 buf[4];
|
||||
s32 i;
|
||||
s8 *p;
|
||||
u8 *obj;
|
||||
|
||||
/* [] form (not *(T *)(a0 + K)) -- see the MEM_IN_STRUCT_P note above. */
|
||||
D_801930C0 = ((s16 *)a0)[0xFC / 2];
|
||||
D_801930C4 = ((s32 *)a0)[0xDC / 4];
|
||||
D_801930C8 = (s32)(D_80182290 + ((s16 *)a0)[0x70 / 2] * 4);
|
||||
D_801930CC = (s32)(D_80182298 + ((s16 *)a0)[0x70 / 2] * 8);
|
||||
|
||||
func_80015978((s32)&D_80126B5C, (s32 *)buf);
|
||||
buf[1] = *(u16 *)(a0 + 0xA);
|
||||
|
||||
p = &D_80191CBF;
|
||||
for (i = 0x4F; i >= 0; i--) {
|
||||
*p = 0;
|
||||
p--;
|
||||
}
|
||||
|
||||
for (i = 0; i < D_801930C0; i++) {
|
||||
obj = func_801290DC(0x61, (u8 *)buf);
|
||||
if (obj != 0) {
|
||||
*(&D_80191C70 + i) = 1;
|
||||
*(s32 *)(obj + 0x34) = i;
|
||||
func_8017DED4((s32)obj);
|
||||
*(u16 *)(obj + 0xA) += (rand() & 0xF) * 3 * 16;
|
||||
}
|
||||
}
|
||||
|
||||
func_8012AD50((void *)a0);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c:func_8017E060: score 4 (OTHER; mine 12 ins, target 12) — not yet
|
||||
replace mine[0:2] target[0:2]
|
||||
0 addiu sp,sp,-32 | addiu sp,sp,-24
|
||||
1 sw ra,24(sp) | sw ra,16(sp)
|
||||
replace mine[8:10] target[8:10]
|
||||
8 lw ra,24(sp) | lw ra,16(sp)
|
||||
9 addiu sp,sp,32 | addiu sp,sp,24
|
||||
@@ -0,0 +1,2 @@
|
||||
NEEDED pin $4 line 4262
|
||||
REMOVED pin $3 line 4263
|
||||
@@ -0,0 +1,2 @@
|
||||
src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.c
|
||||
func_8017E060
|
||||
+182
-182
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "954e06093",
|
||||
"head": "eadfa5977",
|
||||
"stamp": "15956e4a96c4",
|
||||
"generated": "2026-09-10 22:38",
|
||||
"generated": "2026-09-10 22:54",
|
||||
"aliases": [
|
||||
"main",
|
||||
"ov_SC03_014",
|
||||
@@ -21,207 +21,207 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 10.036000000000001,
|
||||
"seconds": 10.013999999999996,
|
||||
"mean_s": 0.118
|
||||
},
|
||||
"ov_SC03_014": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.339,
|
||||
"mean_s": 0.198
|
||||
"seconds": 6.761,
|
||||
"mean_s": 0.211
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.549000000000002,
|
||||
"mean_s": 0.205
|
||||
"seconds": 6.607,
|
||||
"mean_s": 0.206
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 6.021999999999999,
|
||||
"mean_s": 0.215
|
||||
"seconds": 6.0649999999999995,
|
||||
"mean_s": 0.217
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.981,
|
||||
"build/src/800_b.o": 0.132,
|
||||
"build/src/800_b_2.o": 0.482,
|
||||
"build/src/800_b_o0a.o": 0.129,
|
||||
"build/src/800_c.o": 0.288,
|
||||
"build/src/800b2.o": 0.091,
|
||||
"build/src/apicard1.o": 0.14,
|
||||
"build/src/apicard2.o": 0.149,
|
||||
"build/src/apicard3.o": 0.108,
|
||||
"build/src/apicard4.o": 0.073,
|
||||
"build/src/apicard5.o": 0.148,
|
||||
"build/src/apicard6.o": 0.091,
|
||||
"build/src/apicard7.o": 0.15,
|
||||
"build/src/boot.o": 0.179,
|
||||
"build/src/gap.o": 0.103,
|
||||
"build/src/libapi1.o": 0.13,
|
||||
"build/src/libapi2.o": 0.084,
|
||||
"build/src/libc2_1.o": 0.112,
|
||||
"build/src/libc2_2.o": 0.085,
|
||||
"build/src/libcd1.o": 0.085,
|
||||
"build/src/libcd2.o": 0.093,
|
||||
"build/src/libetc.o": 0.072,
|
||||
"build/src/800.o": 0.971,
|
||||
"build/src/800_b.o": 0.107,
|
||||
"build/src/800_b_2.o": 0.498,
|
||||
"build/src/800_b_o0a.o": 0.139,
|
||||
"build/src/800_c.o": 0.306,
|
||||
"build/src/800b2.o": 0.085,
|
||||
"build/src/apicard1.o": 0.076,
|
||||
"build/src/apicard2.o": 0.099,
|
||||
"build/src/apicard3.o": 0.085,
|
||||
"build/src/apicard4.o": 0.102,
|
||||
"build/src/apicard5.o": 0.136,
|
||||
"build/src/apicard6.o": 0.084,
|
||||
"build/src/apicard7.o": 0.097,
|
||||
"build/src/boot.o": 0.2,
|
||||
"build/src/gap.o": 0.082,
|
||||
"build/src/libapi1.o": 0.127,
|
||||
"build/src/libapi2.o": 0.086,
|
||||
"build/src/libc2_1.o": 0.099,
|
||||
"build/src/libc2_2.o": 0.125,
|
||||
"build/src/libcd1.o": 0.1,
|
||||
"build/src/libcd2.o": 0.08,
|
||||
"build/src/libetc.o": 0.089,
|
||||
"build/src/libgpu.o": 0.087,
|
||||
"build/src/libgpu2.o": 0.086,
|
||||
"build/src/libgs1.o": 0.073,
|
||||
"build/src/libgs2.o": 0.124,
|
||||
"build/src/libgs3.o": 0.064,
|
||||
"build/src/libgs4.o": 0.072,
|
||||
"build/src/libgs5.o": 0.106,
|
||||
"build/src/libgs6.o": 0.141,
|
||||
"build/src/libgs7.o": 0.088,
|
||||
"build/src/libgs8.o": 0.082,
|
||||
"build/src/libgte1.o": 0.123,
|
||||
"build/src/libgte10.o": 0.093,
|
||||
"build/src/libgte11.o": 0.071,
|
||||
"build/src/libgte12.o": 0.087,
|
||||
"build/src/libgte13.o": 0.085,
|
||||
"build/src/libgte14.o": 0.087,
|
||||
"build/src/libgte15.o": 0.124,
|
||||
"build/src/libgte16.o": 0.108,
|
||||
"build/src/libgte17.o": 0.074,
|
||||
"build/src/libgte18.o": 0.077,
|
||||
"build/src/libgte19.o": 0.091,
|
||||
"build/src/libgte2.o": 0.084,
|
||||
"build/src/libgte20.o": 0.099,
|
||||
"build/src/libgte21.o": 0.065,
|
||||
"build/src/libgte22.o": 0.078,
|
||||
"build/src/libgte23.o": 0.078,
|
||||
"build/src/libgte24.o": 0.132,
|
||||
"build/src/libgte25.o": 0.13,
|
||||
"build/src/libgte26.o": 0.08,
|
||||
"build/src/libgte27.o": 0.076,
|
||||
"build/src/libgte28.o": 0.073,
|
||||
"build/src/libgte29.o": 0.086,
|
||||
"build/src/libgte3.o": 0.104,
|
||||
"build/src/libgte30.o": 0.088,
|
||||
"build/src/libgte4.o": 0.088,
|
||||
"build/src/libgte5.o": 0.115,
|
||||
"build/src/libgte6.o": 0.092,
|
||||
"build/src/libgte7.o": 0.102,
|
||||
"build/src/libgte8.o": 0.126,
|
||||
"build/src/libgte9.o": 0.075,
|
||||
"build/src/libmcrd1.o": 0.186,
|
||||
"build/src/libmcrd2.o": 0.093,
|
||||
"build/src/libpad1.o": 0.101,
|
||||
"build/src/libpad2.o": 0.098,
|
||||
"build/src/sgap.o": 0.146,
|
||||
"build/src/sgap_2.o": 0.089,
|
||||
"build/src/sgap_3.o": 0.081,
|
||||
"build/src/sgap_4.o": 0.124,
|
||||
"build/src/sgap_5.o": 0.091,
|
||||
"build/src/sgap_6.o": 0.114,
|
||||
"build/src/sgap_8.o": 0.097,
|
||||
"build/src/snd1.o": 0.122,
|
||||
"build/src/snd10.o": 0.1,
|
||||
"build/src/snd11.o": 0.111,
|
||||
"build/src/snd12.o": 0.068,
|
||||
"build/src/snd2.o": 0.119,
|
||||
"build/src/snd3.o": 0.13,
|
||||
"build/src/snd4.o": 0.084,
|
||||
"build/src/snd5.o": 0.072,
|
||||
"build/src/snd6.o": 0.096,
|
||||
"build/src/snd7.o": 0.093,
|
||||
"build/src/snd8.o": 0.094,
|
||||
"build/src/snd9.o": 0.108,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.146,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.597,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.551,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.077,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.069,
|
||||
"build/src/libgpu2.o": 0.171,
|
||||
"build/src/libgs1.o": 0.091,
|
||||
"build/src/libgs2.o": 0.078,
|
||||
"build/src/libgs3.o": 0.078,
|
||||
"build/src/libgs4.o": 0.098,
|
||||
"build/src/libgs5.o": 0.063,
|
||||
"build/src/libgs6.o": 0.136,
|
||||
"build/src/libgs7.o": 0.079,
|
||||
"build/src/libgs8.o": 0.088,
|
||||
"build/src/libgte1.o": 0.115,
|
||||
"build/src/libgte10.o": 0.091,
|
||||
"build/src/libgte11.o": 0.101,
|
||||
"build/src/libgte12.o": 0.079,
|
||||
"build/src/libgte13.o": 0.084,
|
||||
"build/src/libgte14.o": 0.111,
|
||||
"build/src/libgte15.o": 0.068,
|
||||
"build/src/libgte16.o": 0.112,
|
||||
"build/src/libgte17.o": 0.115,
|
||||
"build/src/libgte18.o": 0.085,
|
||||
"build/src/libgte19.o": 0.079,
|
||||
"build/src/libgte2.o": 0.111,
|
||||
"build/src/libgte20.o": 0.068,
|
||||
"build/src/libgte21.o": 0.128,
|
||||
"build/src/libgte22.o": 0.069,
|
||||
"build/src/libgte23.o": 0.112,
|
||||
"build/src/libgte24.o": 0.079,
|
||||
"build/src/libgte25.o": 0.075,
|
||||
"build/src/libgte26.o": 0.095,
|
||||
"build/src/libgte27.o": 0.095,
|
||||
"build/src/libgte28.o": 0.092,
|
||||
"build/src/libgte29.o": 0.093,
|
||||
"build/src/libgte3.o": 0.108,
|
||||
"build/src/libgte30.o": 0.094,
|
||||
"build/src/libgte4.o": 0.09,
|
||||
"build/src/libgte5.o": 0.085,
|
||||
"build/src/libgte6.o": 0.074,
|
||||
"build/src/libgte7.o": 0.099,
|
||||
"build/src/libgte8.o": 0.072,
|
||||
"build/src/libgte9.o": 0.125,
|
||||
"build/src/libmcrd1.o": 0.151,
|
||||
"build/src/libmcrd2.o": 0.12,
|
||||
"build/src/libpad1.o": 0.127,
|
||||
"build/src/libpad2.o": 0.092,
|
||||
"build/src/sgap.o": 0.127,
|
||||
"build/src/sgap_2.o": 0.099,
|
||||
"build/src/sgap_3.o": 0.072,
|
||||
"build/src/sgap_4.o": 0.106,
|
||||
"build/src/sgap_5.o": 0.144,
|
||||
"build/src/sgap_6.o": 0.142,
|
||||
"build/src/sgap_8.o": 0.129,
|
||||
"build/src/snd1.o": 0.09,
|
||||
"build/src/snd10.o": 0.075,
|
||||
"build/src/snd11.o": 0.081,
|
||||
"build/src/snd12.o": 0.077,
|
||||
"build/src/snd2.o": 0.138,
|
||||
"build/src/snd3.o": 0.113,
|
||||
"build/src/snd4.o": 0.117,
|
||||
"build/src/snd5.o": 0.076,
|
||||
"build/src/snd6.o": 0.083,
|
||||
"build/src/snd7.o": 0.084,
|
||||
"build/src/snd8.o": 0.1,
|
||||
"build/src/snd9.o": 0.125,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.211,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.684,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.543,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.099,
|
||||
"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.196,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.208,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.141,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.142,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.082,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.226,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.098,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.229,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.154,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.08,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.084,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.134,
|
||||
"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.407,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.118,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.24,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.079,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.179,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.095,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.205,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.19,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.108,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.11,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.236,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.11,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.282,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.114,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.124,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.099,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.128,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.615,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.421,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.172,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.26,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.119,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.174,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.089,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.22,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.244,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.077,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.445,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.073,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.104,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.078,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.135,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.164,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.683,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.528,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.091,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.102,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.165,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.186,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.187,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.102,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.145,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.266,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.098,
|
||||
"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.132,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.087,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.098,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.153,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.651,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.471,
|
||||
"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.281,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.073,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.139,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.091,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.2,
|
||||
"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.073,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.368,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.294,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.083,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.349,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.083,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.136,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.106,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.127,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.268,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.61,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.458,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.089,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.116,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.172,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.189,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.164,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.1,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.119,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.268,
|
||||
"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.212,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.138,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.11,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.111,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.136,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.708,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.392,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.166,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.302,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.08,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.146,
|
||||
"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.225,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.256,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.347,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.077,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.105,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.106,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.104,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.217,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.611,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.096,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.122,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.123,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.174,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.587,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.511,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.112,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.092,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.158,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.213,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.142,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.109,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.227,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.125,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.202,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.117,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.09,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.113,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.575,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.328,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.177,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.258,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.086,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.153,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.122,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.142,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.747,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.093
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.067,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.108,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.165,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.189,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.127,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.091,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.274,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.119,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.226,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.177,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.125,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.157,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.131,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.561,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.343,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.174,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.262,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.076,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.145,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.094,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.183,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.726,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.076,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.09
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 4.0
|
||||
"seconds": 3.7
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -6411,28 +6411,22 @@ extern s32 func_8004787C(s32 a0);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_801857A8(s32 a0);
|
||||
|
||||
void func_80185678(s32 a0) {
|
||||
s32 ent = a0;
|
||||
s32 state = *(u16 *)(ent + 0x34);
|
||||
s32 sub;
|
||||
register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void func_80185678(s32 ent) {
|
||||
s32 t;
|
||||
s32 cnt;
|
||||
|
||||
switch (state) {
|
||||
switch (*(u16 *)(ent + 0x34)) {
|
||||
case 0:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) + 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt < 0x10) {
|
||||
break;
|
||||
}
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x7000;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x2000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000;
|
||||
*(s32 *)(ent + 0x1C) = 0x40;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
break;
|
||||
@@ -6443,9 +6437,7 @@ void func_80185678(s32 a0) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) - 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt == 0) {
|
||||
|
||||
@@ -6380,28 +6380,22 @@ extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_80185484(s32 a0);
|
||||
|
||||
void func_80185354(s32 a0) {
|
||||
s32 ent = a0;
|
||||
s32 state = *(u16 *)(ent + 0x34);
|
||||
s32 sub;
|
||||
register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void func_80185354(s32 ent) {
|
||||
s32 t;
|
||||
s32 cnt;
|
||||
|
||||
switch (state) {
|
||||
switch (*(u16 *)(ent + 0x34)) {
|
||||
case 0:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) + 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt < 0x10) {
|
||||
break;
|
||||
}
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x7000;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x2000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000;
|
||||
*(s32 *)(ent + 0x1C) = 0x40;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
break;
|
||||
@@ -6412,9 +6406,7 @@ void func_80185354(s32 a0) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) - 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt == 0) {
|
||||
|
||||
@@ -4711,28 +4711,22 @@ extern s32 func_8004787C(s32 a0);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_8018632C(s32 a0);
|
||||
|
||||
void func_801861FC(s32 a0) {
|
||||
s32 ent = a0;
|
||||
s32 state = *(u16 *)(ent + 0x34);
|
||||
s32 sub;
|
||||
register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void func_801861FC(s32 ent) {
|
||||
s32 t;
|
||||
s32 cnt;
|
||||
|
||||
switch (state) {
|
||||
switch (*(u16 *)(ent + 0x34)) {
|
||||
case 0:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) + 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt < 0x10) {
|
||||
break;
|
||||
}
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x7000;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x2000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000;
|
||||
*(s32 *)(ent + 0x1C) = 0x40;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
break;
|
||||
@@ -4743,9 +4737,7 @@ void func_801861FC(s32 a0) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) - 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt == 0) {
|
||||
|
||||
@@ -3598,28 +3598,22 @@ extern s32 func_8004787C(s32 a0);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_80183318(s32 a0);
|
||||
|
||||
void func_801831E8(s32 a0) {
|
||||
s32 ent = a0;
|
||||
s32 state = *(u16 *)(ent + 0x34);
|
||||
s32 sub;
|
||||
register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void func_801831E8(s32 ent) {
|
||||
s32 t;
|
||||
s32 cnt;
|
||||
|
||||
switch (state) {
|
||||
switch (*(u16 *)(ent + 0x34)) {
|
||||
case 0:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x18) = t * 7;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = t << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) + 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt < 0x10) {
|
||||
break;
|
||||
}
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x7000;
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = 0x2000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x7000;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = 0x2000;
|
||||
*(s32 *)(ent + 0x1C) = 0x40;
|
||||
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
|
||||
break;
|
||||
@@ -3630,9 +3624,7 @@ void func_801831E8(s32 a0) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 6);
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
*(s16 *)(sub + 0x1A) = t << 1;
|
||||
*(s16 *)(*(s32 *)(ent + 0x20) + 0x1A) = func_8004787C(*(s32 *)(ent + 0x1C) << 6) << 1;
|
||||
cnt = *(s32 *)(ent + 0x1C) - 1;
|
||||
*(s32 *)(ent + 0x1C) = cnt;
|
||||
if (cnt == 0) {
|
||||
|
||||
Reference in New Issue
Block a user