=== lever-free bodies in ov_MAIN_012 sharing a callee or global with func_80178970 (5 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_8017BCA0 (src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c:5625) shares 1: D_80185C08 ---
void func_8017BCA0(int param_1) {

    extern s16 D_8018534C;
    extern s16 D_80185C08;
    func_8017B0E4(param_1, 0xC);
    D_8018534C = D_8018534C + 1;
    if (D_8018534C >= 0x1F) {
        D_80185C08 = 2;
    }
}

--- func_8017BCF4 (src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c:5645) shares 1: D_80185C08 ---
void func_8017BCF4(int param_1)
{

    extern s16 D_8018534C;
    extern s16 D_80185C08;
    func_8017B0E4(param_1, 6);
    D_8018534C = D_8018534C + 1;
    if (0x18 < D_8018534C) {
        func_8012A4BC();
        D_80185C08 = 0;
    }
    return;
}

--- func_8017B1D8 (src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c:5109) shares 1: D_80185C08 ---
void func_8017B1D8(void) {

    extern u16 D_80126B5E;
    extern u16 D_80126B62;
    extern u16 D_80126B66;
    extern s16 D_8018534C;
    extern u16 D_801853CC;
    extern u16 D_801853CE;
    extern u16 D_801853D0;
    extern s16 D_80185C08;
    func_8012A418();
    D_80185C08 = 0;
    D_8018534C = 0;
    D_801853CC = D_80126B5E;
    D_801853CE = D_80126B62;
    D_801853D0 = D_80126B66;
}

--- func_8017B368 (src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c:5185) shares 1: D_80185C08 ---
s32 func_8017B368(s32 param)
{

    extern s16 D_8018534C;
    extern s16 D_80185C08;
    extern void func_8017BA3C(s32 param_1, s32 param_2);
    extern void func_8012F214(s32 a0, s32 a1, s32 a2);
    extern SV4_8017B368 D_8018536C;
    extern SV4_8017B368 D_80185374;
    extern s16 D_801853C4;
    extern s16 D_801853BC;
    extern u16 D_80181CC0;

    SV4_8017B368 loc0;
    SV4_8017B368 loc1;
    u32 n = (u32)&D_8018536C;

    ((void (*)(void))func_8017BA3C)();

    if (n >= 0xB) {
        loc0 = *(SV4_8017B368 *)n;
        loc1 = D_80185374;
    } else {
        s32 ax = (s32)&((Pair16 *)&D_80181CC0)[n].x;
        s32 ay = (s32)&((Pair16 *)&D_80181CC0)[n].y;
        func_8012F214(param, ax, (s32)&loc0);
        func_8012F214(param, ay, (s32)&loc1);
    }

    (*(SV4_8017B368 *)&D_801853C4) = loc0;
    (*(SV4_8017B368 *)&D_801853BC) = loc1;
    D_80185C08 = 1;
    D_8018534C = 0;
}

--- func_8017B490 (src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.c:5223) shares 1: D_80185C08 ---
s32 func_8017B490(s32 param)
{
    extern void func_8017BA3C(s32 param_1, s32 param_2);
    extern void func_8012F214(s32 a0, s32 a1, s32 a2);
    extern SV4_8017B368 D_8018536C;
    extern SV4_8017B368 D_80185374;
    extern s16 D_801853C4;
    extern s16 D_801853BC;
    extern u16 D_80181CC0;
    extern s16 D_8018534C;
    extern s16 D_80185C08;
    extern s32 D_80126984;
    extern s32 D_80126988;
    extern s32 D_8012698C;
    extern s32 D_80126990;
    extern s32 D_80126994;
    extern s32 D_80126998;

    SV4_8017B368 loc0;
    SV4_8017B368 loc1;
    u32 n = (u32)&D_8018536C;

    ((void (*)(void))func_8017BA3C)();

    if (n >= 0xB) {
        loc0 = *(SV4_8017B368 *)n;
        loc1 = D_80185374;
    } else {
        s32 ax = (s32)&((Pair16 *)&D_80181CC0)[n].x;
        s32 ay = (s32)&((Pair16 *)&D_80181CC0)[n].y;
        func_8012F214(param, ax, (s32)&loc0);
        func_8012F214(param, ay, (s32)&loc1);
    }

    (*(SV4_8017B368 *)&D_801853C4) = loc0;
    (*(SV4_8017B368 *)&D_801853BC) = loc1;
    D_80185C08 = 1;
    D_8018534C = 0x1E;
    D_80126990 = (*(SV4_8017B368 *)&D_801853C4).a;
    D_80126994 = (*(SV4_8017B368 *)&D_801853C4).b;
    D_80126998 = (*(SV4_8017B368 *)&D_801853C4).c;
    D_80126984 = (*(SV4_8017B368 *)&D_801853BC).a;
    D_80126988 = (*(SV4_8017B368 *)&D_801853BC).b;
    D_8012698C = (*(SV4_8017B368 *)&D_801853BC).c;
}

