=== lever-free bodies in ov_SC06_018 sharing a callee or global with func_8018AD74 (41 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_8018AF88 (src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c:5472) shares 2: D_800AE620 func_800484EC ---
void func_8018AF88(s32 param_1)
{
    /* [T51] scoped in from file scope: a file-scope decl of these symbols constrains every
       LATER function in this TU, which blocks a byte-true decl of a different type.
       Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
    extern Blk20_8018AF88 D_800AE620;
    Blk20_8018AF88 local_30;
    Blk20_8018AF88 *m;
    s32 iVar1;
    s32 iVar2;

    local_30 = D_800AE620;
    iVar1 = func_8012B8A4((s16 *)param_1);
    m = &local_30;
    RotMatrixY(iVar1, m);
    ((void (*)(void *, void *, s32))func_800484EC)(m, &D_801CD498, param_1 + 0x10);
    *(s32 *)(param_1 + 0x14) = 0xFFDC0000;
    *(s32 *)(param_1 + 0xE0) = 0xFFDC0000;
    *(s32 *)(param_1 + 0x1C) = 0x10;
    iVar2 = rand();
    *(u16 *)(param_1 + 0x106) = iVar2 & 0x70;
    iVar2 = rand();
    *(u16 *)(param_1 + 0x108) = iVar2 & 0x70;
    func_8012AD44((s32 *)param_1, 1);
}

--- func_80189000 (src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c:3976) shares 2: func_800484EC func_8012C658 ---
void func_80189000(s32 a0, s32 a1) {
    s32 buf10[8];    /* sp+0x10 (0x20) - func_80049CAC out / func_800484EC in */
    s32 g40[4];      /* sp+0x30, only [0..2] used - func_800484EC vec3 arg */
    u16 g30[4];      /* sp+0x40, only [0..2] used - func_80049CAC vec3 arg */
    unsigned int buf48[2]; /* sp+0x48 (8) - func_8012B0B4 output */
    unsigned int *p48;
    s32 i;
    s32 baseY;
    s32 e;
    u32 uVar;
    s32 scratch;
    s32 tmp;

    i = 0;
    p48 = buf48;
    baseY = 0x100;
    do {
        e = func_80132EF4(a0, 0x23);
        if (e != 0) {
            *(s16 *)(e + 0x34) = rand() % 0x4000 + 0x1000;
            *(u16 *)(*(s32 *)(e + 0x20) + 0x2c) = 0xc008;

            func_8012B0B4(p48, rand() % 0x1000, rand() % 0x58);

            tmp = *(s32 *)buf48;
            *(s16 *)(e + 6) = *(s16 *)(e + 6) + (s16)tmp;
            *(s16 *)(e + 0xe) = *(s16 *)(e + 0xe) + (s16)(tmp >> 16);

            tmp = rand();
            scratch = tmp % 0x80;
            uVar = rand();
            g30[0] = (uVar & 1) == 0 ? -scratch + 0x400 : scratch + 0x400;

            scratch = rand() % 0xc0;
            uVar = rand();
            g30[1] = (uVar & 1) != 0 ? baseY + scratch : baseY - scratch;

            g30[2] = 0;
            g40[1] = 0;
            g40[0] = 0;
            g40[2] = (rand() % 4 + 3) << 16;

            ((void (*)(void *, void *))func_80049CAC)(g30, buf10);
            ((void (*)(void *, void *, s32))func_800484EC)(buf10, g40, e + 0x10);
        }
        i++;
        baseY += 0x200;
    } while (i < 8);

    e = func_80132EF4(a0, 0x23);
    if (e != 0) {
        *(u16 *)(e + 0x34) = 0x7ff1;
        *(u16 *)(*(s32 *)(e + 0x20) + 0x2c) = 0xc004;
        *(s32 *)(e + 0x14) = 0xfffb0000;
    }

    i = 0;
    do {
        func_8012C658(0x29d, (u16)a1, a0);
        i++;
    } while (i < 4);

    ((s32 (*)())func_80189E60)(a0, 0x95e);
}

--- func_8012B14C (src/shared/ov/func_8012B14C.h:4) shares 1: func_800484EC ---
void func_8012B14C(s32 a0, s32 a1) {
    func_800484EC(*(s32 *)((s32)a0 + 0x20) + 0x34, a1, (s32)a0 + 0x10);
}

--- func_80143994 (src/shared/ov/func_80143994.h:4) shares 1: func_8012C658 ---
void func_80143994(s32 a0, s32 a1) {
    func_8012C658(0x1B, (s16)a1, a0);
}

--- func_80143C74 (src/shared/ov/func_80143C74.h:4) shares 1: func_8012C658 ---
void func_80143C74(s32 a0, s32 a1) {
    func_8012C658(0x205, a1, a0);
}

--- func_80143CD4 (src/shared/ov/func_80143CD4.h:4) shares 1: func_8012C658 ---
void func_80143CD4(s32 a0) {
    func_8012C658(0x39, 0, a0);
    func_8012C658(0x39, 1, a0);
    func_8012C658(0x39, 2, a0);
}

