SSBM Decomp
Loading...
Searching...
No Matches
grbigblue.h File Reference
#include <placeholder.h>
#include "baselib/forward.h"
#include "gr/forward.h"
#include "lb/forward.h"
#include <dolphin/mtx.h>

Go to the source code of this file.

Functions

void grBigBlue_801E57BC (bool)
void grBigBlue_801E57C0 (void)
void grBigBlue_801E59C8 (void)
void grBigBlue_801E59CC (void)
bool grBigBlue_801E59F0 (void)
HSD_GObjgrBigBlue_801E59F8 (s32)
void grBigBlue_801E5AE4 (Ground_GObj *)
bool grBigBlue_801E5B10 (Ground_GObj *)
void grBigBlue_801E5B18 (Ground_GObj *)
void grBigBlue_801E5B1C (Ground_GObj *)
void grBigBlue_801E5B20 (Ground_GObj *)
bool grBigBlue_801E6114 (Ground_GObj *)
void grBigBlue_801E611C (Ground_GObj *)
void grBigBlue_801E6120 (Ground_GObj *)
void fn_801E6124 (Ground_GObj *gobj)
void grBigBlue_801E613C (Ground_GObj *)
bool grBigBlue_801E61BC (Ground_GObj *)
void grBigBlue_801E61C4 (Ground_GObj *)
void grBigBlue_801E61FC (Ground_GObj *)
void grBigBlue_801E6200 (Ground_GObj *)
bool grBigBlue_801E6288 (Ground_GObj *)
void grBigBlue_801E6290 (Ground_GObj *)
void grBigBlue_801E6294 (Ground_GObj *)
void grBigBlue_801E6298 (Ground_GObj *)
bool grBigBlue_801E6354 (Ground_GObj *)
void grBigBlue_801E635C (Ground_GObj *)
void grBigBlue_801E6360 (Ground_GObj *)
void grBigBlue_801E6364 (Ground_GObj *)
bool grBigBlue_801E687C (Ground_GObj *)
void grBigBlue_801E6884 (Ground_GObj *)
void grBigBlue_801E68B8 (Ground_GObj *gobj)
void grBigBlue_801E6904 (Ground_GObj *)
bool grBigBlue_801E6C58 (Ground_GObj *)
void grBigBlue_801E6C60 (Ground_GObj *)
void grBigBlue_801E855C (Ground_GObj *)
void fn_801E8560 (Ground *, s32, CollData *, s32, s32, f32)
bool grBigBlue_801E8794 (void *, Vec3 *, bool, f32, f32)
void grBigBlue_801E8978 (int, void *, void *)
void * grBigBlue_801E89DC (int)
void grBigBlue_801E8A1C (int)
f32 grBigBlue_801E8B84 (f32, f32, f32, f32)
f32 grBigBlue_801E8D04 (void)
void grBigBlue_801E8D64 (Ground_GObj *)
bool grBigBlue_801E93D0 (Ground_GObj *)
void grBigBlue_801E93D8 (Ground_GObj *)
void grBigBlue_801E9F38 (Ground_GObj *)
void grBigBlue_801E9F3C (Ground_GObj *)
bool grBigBlue_801EA054 (Ground_GObj *)
void grBigBlue_801EA05C (Ground_GObj *)
void grBigBlue_801EAB4C (Ground_GObj *)
bool grBigBlue_801EAB50 (Vec3 *, s32, f32, f32)
s32 grBigBlue_801EACE8 (HSD_JObj *, Vec3 *, f32 *, f32, f32)
void grBigBlue_801EB004 (Ground_GObj *)
void grBigBlue_801EB4AC (Ground_GObj *)
void grBigBlue_801EBAF8 (Ground_GObj *)
f32 grBigBlue_801EC58C (Vec3 *, Vec3 *, f32)
void grBigBlue_801EC6C0 (Ground_GObj *)
void grBigBlue_801ECB50 (Ground_GObj *)
void grBigBlue_801ED694 (Ground_GObj *, s32)
s32 grBigBlue_801EDF44 (Ground_GObj *, s32)
s32 grBigBlue_801EE398 (Ground_GObj *, s32, s32)
bool grBigBlue_801EEF00 (Ground_GObj *, s32)
void grBigBlue_801EF424 (Ground_GObj *)
void fn_801EF60C (Ground *, s32, CollData *, s32, s32, f32)
void grBigBlue_801EF7D8 (Vec3 *)
bool grBigBlue_801EF844 (enum_t)
void fn_801EFB9C (HSD_GObj *, int)
DynamicsDescgrBigBlue_801EFC0C (enum_t)
bool grBigBlue_801EFC14 (Vec3 *, int arg, HSD_JObj *jobj)

Function Documentation

◆ grBigBlue_801E57BC()

void grBigBlue_801E57BC ( bool arg)

◆ grBigBlue_801E57C0()

void grBigBlue_801E57C0 ( void )

◆ grBigBlue_801E59C8()

void grBigBlue_801E59C8 ( void )

◆ grBigBlue_801E59CC()

void grBigBlue_801E59CC ( void )

◆ grBigBlue_801E59F0()

bool grBigBlue_801E59F0 ( void )

◆ grBigBlue_801E59F8()

HSD_GObj * grBigBlue_801E59F8 ( s32 id)

◆ grBigBlue_801E5AE4()

void grBigBlue_801E5AE4 ( Ground_GObj * gobj)

◆ grBigBlue_801E5B10()

bool grBigBlue_801E5B10 ( Ground_GObj * arg)

◆ grBigBlue_801E5B18()

void grBigBlue_801E5B18 ( Ground_GObj * arg)

◆ grBigBlue_801E5B1C()

void grBigBlue_801E5B1C ( Ground_GObj * arg)

◆ grBigBlue_801E5B20()

void grBigBlue_801E5B20 ( Ground_GObj * gobj)

◆ grBigBlue_801E6114()

bool grBigBlue_801E6114 ( Ground_GObj * arg)

◆ grBigBlue_801E611C()

void grBigBlue_801E611C ( Ground_GObj * arg)

◆ grBigBlue_801E6120()

void grBigBlue_801E6120 ( Ground_GObj * arg)

◆ fn_801E6124()

void fn_801E6124 ( Ground_GObj * gobj)

◆ grBigBlue_801E613C()

void grBigBlue_801E613C ( Ground_GObj * gobj)

◆ grBigBlue_801E61BC()

bool grBigBlue_801E61BC ( Ground_GObj * arg)

◆ grBigBlue_801E61C4()

void grBigBlue_801E61C4 ( Ground_GObj * gobj)

◆ grBigBlue_801E61FC()

void grBigBlue_801E61FC ( Ground_GObj * arg)

◆ grBigBlue_801E6200()

void grBigBlue_801E6200 ( Ground_GObj * gobj)

◆ grBigBlue_801E6288()

bool grBigBlue_801E6288 ( Ground_GObj * arg)

◆ grBigBlue_801E6290()

void grBigBlue_801E6290 ( Ground_GObj * arg)

◆ grBigBlue_801E6294()

void grBigBlue_801E6294 ( Ground_GObj * arg)

◆ grBigBlue_801E6298()

void grBigBlue_801E6298 ( Ground_GObj * gobj)

◆ grBigBlue_801E6354()

bool grBigBlue_801E6354 ( Ground_GObj * arg)

◆ grBigBlue_801E635C()

void grBigBlue_801E635C ( Ground_GObj * arg)

◆ grBigBlue_801E6360()

void grBigBlue_801E6360 ( Ground_GObj * arg)

◆ grBigBlue_801E6364()

void grBigBlue_801E6364 ( Ground_GObj * gobj)

◆ grBigBlue_801E687C()

bool grBigBlue_801E687C ( Ground_GObj * arg)

◆ grBigBlue_801E6884()

void grBigBlue_801E6884 ( Ground_GObj * gobj)

◆ grBigBlue_801E68B8()

void grBigBlue_801E68B8 ( Ground_GObj * gobj)

◆ grBigBlue_801E6904()

void grBigBlue_801E6904 ( Ground_GObj * gobj)

◆ grBigBlue_801E6C58()

bool grBigBlue_801E6C58 ( Ground_GObj * arg)

◆ grBigBlue_801E6C60()

void grBigBlue_801E6C60 ( Ground_GObj * gobj)

◆ grBigBlue_801E855C()

void grBigBlue_801E855C ( Ground_GObj * arg)

◆ fn_801E8560()

void fn_801E8560 ( Ground * gp,
s32 param,
CollData * coll,
s32 time_param,
s32 env,
f32 force )

◆ grBigBlue_801E8794()

bool grBigBlue_801E8794 ( void * exclude,
Vec3 * pos,
bool checkSecondary,
f32 rangeX,
f32 rangeY )

◆ grBigBlue_801E8978()

void grBigBlue_801E8978 ( int index,
void * data,
void * extra )

◆ grBigBlue_801E89DC()

void * grBigBlue_801E89DC ( int arg)

◆ grBigBlue_801E8A1C()

void grBigBlue_801E8A1C ( int idx)
Todo
Currently 79.9% match - platform/store use lwzx/stwx instead of add+lwz/stw (addressing mode difference), candPtr init missing slwi+add

◆ grBigBlue_801E8B84()

f32 grBigBlue_801E8B84 ( f32 right,
f32 left,
f32 bottom,
f32 top )
Todo
Currently 94.71% match - needs pointer advancement and i variable

◆ grBigBlue_801E8D04()

f32 grBigBlue_801E8D04 ( void )

◆ grBigBlue_801E8D64()

void grBigBlue_801E8D64 ( Ground_GObj * gobj)

◆ grBigBlue_801E93D0()

bool grBigBlue_801E93D0 ( Ground_GObj * arg)

◆ grBigBlue_801E93D8()

void grBigBlue_801E93D8 ( Ground_GObj * gobj)

◆ grBigBlue_801E9F38()

void grBigBlue_801E9F38 ( Ground_GObj * arg)

◆ grBigBlue_801E9F3C()

void grBigBlue_801E9F3C ( Ground_GObj * gobj)

◆ grBigBlue_801EA054()

bool grBigBlue_801EA054 ( Ground_GObj * arg)

◆ grBigBlue_801EA05C()

void grBigBlue_801EA05C ( Ground_GObj * gobj)

◆ grBigBlue_801EAB4C()

void grBigBlue_801EAB4C ( Ground_GObj * arg)

◆ grBigBlue_801EAB50()

bool grBigBlue_801EAB50 ( Vec3 * pos,
s32 flag,
f32 rangeX,
f32 rangeY )

◆ grBigBlue_801EACE8()

s32 grBigBlue_801EACE8 ( HSD_JObj * exclude,
Vec3 * point,
f32 * out_y,
f32 half_range_x,
f32 half_range_y )
Todo
Currently 98.17% match - car section generates fnmsubs instead of fmuls+fsubs; compiler fuses multiply-subtract differently than target

◆ grBigBlue_801EB004()

void grBigBlue_801EB004 ( Ground_GObj * gobj)
Todo
Currently 94.90% match - needs bitfield struct for rlwimi generation and stack frame fix (120 vs 112 bytes)

◆ grBigBlue_801EB4AC()

void grBigBlue_801EB4AC ( Ground_GObj * gobj)
Todo
Currently partial match - needs register allocation and bitfield rlwimi fixes.

◆ grBigBlue_801EBAF8()

void grBigBlue_801EBAF8 ( Ground_GObj * gobj)

◆ grBigBlue_801EC58C()

f32 grBigBlue_801EC58C ( Vec3 * pos,
Vec3 * normal_out,
f32 half_height )

◆ grBigBlue_801EC6C0()

void grBigBlue_801EC6C0 ( Ground_GObj * gobj)
Todo
Currently 90.40% match - needs register allocation fix (stmw r24 vs r23) and bitfield write pattern fix (rlwinm+ori vs rlwimi)

◆ grBigBlue_801ECB50()

void grBigBlue_801ECB50 ( Ground_GObj * gobj)

◆ grBigBlue_801ED694()

void grBigBlue_801ED694 ( Ground_GObj * gobj,
s32 lane )
Todo
Currently partial match - complex car physics simulation

◆ grBigBlue_801EDF44()

s32 grBigBlue_801EDF44 ( Ground_GObj * gobj,
s32 index )
Todo
Currently 87.41% match - compiler CSEs gp+offset into one register (4 NV regs) instead of keeping them separate (5 NV regs, stmw r27)

◆ grBigBlue_801EE398()

s32 grBigBlue_801EE398 ( Ground_GObj * gobj,
s32 arg1,
s32 arg2 )

◆ grBigBlue_801EEF00()

bool grBigBlue_801EEF00 ( Ground_GObj * gobj,
s32 index )
Todo
Currently 83.62% match - compiler CSEs gp+offset into one register (3 NV regs) instead of keeping them separate (4 NV regs with r28 for case 4)

◆ grBigBlue_801EF424()

void grBigBlue_801EF424 ( Ground_GObj * gobj)
Todo
Currently 99.88% match - instructions match but relocations differ

◆ fn_801EF60C()

void fn_801EF60C ( Ground * gp,
s32 joint_id,
CollData * coll,
s32 time_param,
s32 env,
f32 force )
Todo
Currently 99.98% match - assert string relocation offset

◆ grBigBlue_801EF7D8()

void grBigBlue_801EF7D8 ( Vec3 * pos)

◆ grBigBlue_801EF844()

bool grBigBlue_801EF844 ( enum_t line_id)

◆ fn_801EFB9C()

void fn_801EFB9C ( HSD_GObj * gobj,
int pass )

◆ grBigBlue_801EFC0C()

DynamicsDesc * grBigBlue_801EFC0C ( enum_t arg)

◆ grBigBlue_801EFC14()

bool grBigBlue_801EFC14 ( Vec3 * a,
int arg,
HSD_JObj * jobj )