SSBM Decomp
Loading...
Searching...
No Matches
grbigblueroute.c File Reference
#include "grbigblueroute.h"
#include <platform.h>
#include "baselib/debug.h"
#include "baselib/memory.h"
#include "cm/camera.h"
#include "ft/ftlib.h"
#include "gm/gm_16AE.h"
#include "gr/grdatfiles.h"
#include "gr/grdisplay.h"
#include "gr/grfzerocar.h"
#include "gr/grmaterial.h"
#include "gr/ground.h"
#include "gr/grzakogenerator.h"
#include "gr/inlines.h"
#include "gr/types.h"
#include "if/ifhazard.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lbshadow.h"
#include "lb/lbvector.h"
#include "mp/mpcoll.h"
#include "mp/mplib.h"
#include <trigf.h>
#include <dolphin/os.h>
#include <baselib/gobj.h>
#include <baselib/gobjgxlink.h>
#include <baselib/gobjproc.h>
#include <baselib/jobj.h>
#include <baselib/random.h>
#include <baselib/spline.h>

Macros

#define RE_ENTRY   (&((RouteEntry*) gp->u.car.car_info)[i])

Functions

void grBigBlue_801E8D04 (Ground_GObj *)
void grBigBlueRoute_8020B864 (bool arg)
void grBigBlueRoute_8020B89C (void)
void grBigBlueRoute_8020B920 (void)
void grBigBlueRoute_8020B95C (void)
bool grBigBlueRoute_8020B9CC (void)
HSD_GObjgrBigBlueRoute_8020B9D4 (int gobj_id)
void grBigBlueRoute_8020BABC (Ground_GObj *gobj)
bool grBigBlueRoute_8020BB00 (Ground_GObj *arg)
void grBigBlueRoute_8020BB08 (Ground_GObj *arg)
void grBigBlueRoute_8020BB0C (Ground_GObj *arg)
void grBigBlueRoute_8020BB10 (Ground_GObj *gobj)
bool grBigBlueRoute_8020BB58 (Ground_GObj *arg)
void grBigBlueRoute_8020BB60 (Ground_GObj *arg)
void grBigBlueRoute_8020BB64 (Ground_GObj *arg)
void grBigBlueRoute_8020BB68 (Ground_GObj *gobj)
bool grBigBlueRoute_8020BC24 (Ground_GObj *arg)
void grBigBlueRoute_8020BC2C (Ground_GObj *arg)
void grBigBlueRoute_8020BC30 (Ground_GObj *arg)
void grBigBlueRoute_8020BC34 (Ground_GObj *gobj)
void grBigBlueRoute_8020BC68 (Ground_GObj *gobj)
bool grBigBlueRoute_8020BF30 (Ground_GObj *arg)
void grBigBlueRoute_8020BF38 (Ground_GObj *gobj)
void grBigBlueRoute_8020C13C (Ground_GObj *arg)
void grBigBlueRoute_8020C140 (Ground_GObj *gobj)
bool grBigBlueRoute_8020C1D4 (Ground_GObj *arg)
void grBigBlueRoute_8020C1DC (Ground_GObj *gobj)
void grBigBlueRoute_8020C210 (Ground_GObj *gobj)
void grBigBlueRoute_8020C238 (Ground_GObj *gobj)
s32 grBigBlueRoute_8020C530 (Ground_GObj *arg0)
void grBigBlueRoute_8020C85C (Ground_GObj *gobj)
void grBigBlueRoute_8020CD20 (Ground_GObj *gobj)
int grBigBlueRoute_8020DA9C (struct grBigBlueRoute_8020DA9C_t *desc)
void grBigBlueRoute_8020DAB4 (HSD_JObj **jobjs, f32 scale, int count)
void grBigBlueRoute_8020DD64 (Vec3 *v)
DynamicModelDescgrBigBlueRoute_8020DE48 (void)
void fn_8020DEAC (void)
void grBigBlueRoute_8020DED4 (Vec3 *pos)
DynamicsDescgrBigBlueRoute_8020DF78 (enum_t arg)
bool grBigBlueRoute_8020DF80 (Vec3 *a, int arg, HSD_JObj *joint)

Variables

StageCallbacks grBb_Route_803E5E78 [38]
char grBb_Route_803E6170 [] = "/GrNBr.dat"
struct { 
   u32   internal_stage_id 
   StageCallbacks *   callbacks 
   char *   data1 
   void(*   OnInit )(void) 
   void(*   OnDemoInit )(int) 
   void(*   OnLoad )(void) 
   void(*   OnStart )(void) 
   bool(*   callback4 )(void) 
   DynamicsDesc *(*   callback5 )(enum_t
   bool(*   callback6 )(Vec3 *, int, HSD_JObj *) 
   u32   flags2 
   S16Vec3 *   x2C 
   size_t   x30 
   char   fmt [0x24] 
grBb_Route_803E617C
struct { 
   int   x0 
   f32   x4 
   u8   pad_8 [0x20 - 0x8] 
   f32   x20 
   u8   pad_24 [0x3C - 0x24] 
   f32   x3C 
   f32   x40 
   f32   x44 
   f32   x48 
   f32   x4C 
} * grBb_Route_804D6A68
u8 grBb_Route_803E6200 [0x3C]
static const Vec3 grBb_Route_803B83E0 = { 0.0f, 1.0f, 0.0f }

Macro Definition Documentation

◆ RE_ENTRY

#define RE_ENTRY   (&((RouteEntry*) gp->u.car.car_info)[i])
Todo
Currently 89.41% match - SYSTEMIC: float-constant hoisting order and register pressure differ (target spills rot to stack; we keep it in FPRs).

Function Documentation

◆ grBigBlue_801E8D04()

void grBigBlue_801E8D04 ( Ground_GObj * )

◆ grBigBlueRoute_8020B864()

void grBigBlueRoute_8020B864 ( bool arg)

◆ grBigBlueRoute_8020B89C()

void grBigBlueRoute_8020B89C ( void )

◆ grBigBlueRoute_8020B920()

void grBigBlueRoute_8020B920 ( void )

◆ grBigBlueRoute_8020B95C()

void grBigBlueRoute_8020B95C ( void )

◆ grBigBlueRoute_8020B9CC()

bool grBigBlueRoute_8020B9CC ( void )

◆ grBigBlueRoute_8020B9D4()

HSD_GObj * grBigBlueRoute_8020B9D4 ( int gobj_id)

◆ grBigBlueRoute_8020BABC()

void grBigBlueRoute_8020BABC ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020BB00()

bool grBigBlueRoute_8020BB00 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB08()

void grBigBlueRoute_8020BB08 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB0C()

void grBigBlueRoute_8020BB0C ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB10()

void grBigBlueRoute_8020BB10 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020BB58()

bool grBigBlueRoute_8020BB58 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB60()

void grBigBlueRoute_8020BB60 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB64()

void grBigBlueRoute_8020BB64 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BB68()

void grBigBlueRoute_8020BB68 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020BC24()

bool grBigBlueRoute_8020BC24 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BC2C()

void grBigBlueRoute_8020BC2C ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BC30()

void grBigBlueRoute_8020BC30 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BC34()

void grBigBlueRoute_8020BC34 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020BC68()

void grBigBlueRoute_8020BC68 ( Ground_GObj * gobj)
Todo
Currently 99.83% match - remaining diffs are anonymous string-pool symbols (translate/reb0_jobj) vs the target's single grBb_Route_803E61D4

◆ grBigBlueRoute_8020BF30()

bool grBigBlueRoute_8020BF30 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020BF38()

void grBigBlueRoute_8020BF38 ( Ground_GObj * gobj)
Todo
Currently 98.29% match - register allocation only (extra mr through r0 for first loop jobj load and idx computation)

◆ grBigBlueRoute_8020C13C()

void grBigBlueRoute_8020C13C ( Ground_GObj * arg)

◆ grBigBlueRoute_8020C140()

void grBigBlueRoute_8020C140 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020C1D4()

bool grBigBlueRoute_8020C1D4 ( Ground_GObj * arg)

◆ grBigBlueRoute_8020C1DC()

void grBigBlueRoute_8020C1DC ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020C210()

void grBigBlueRoute_8020C210 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020C238()

void grBigBlueRoute_8020C238 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020C530()

s32 grBigBlueRoute_8020C530 ( Ground_GObj * arg0)

◆ grBigBlueRoute_8020C85C()

void grBigBlueRoute_8020C85C ( Ground_GObj * gobj)
Todo
Currently 92.06% match - register allocation (gp in r30 vs r31) and addressing-mode choices for RouteEntry stores.

◆ grBigBlueRoute_8020CD20()

void grBigBlueRoute_8020CD20 ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020DA9C()

int grBigBlueRoute_8020DA9C ( struct grBigBlueRoute_8020DA9C_t * desc)

◆ grBigBlueRoute_8020DAB4()

void grBigBlueRoute_8020DAB4 ( HSD_JObj ** jobjs,
f32 scale,
int count )
Todo
Currently 97.73% match - needs register allocation fix (r27/r30 swap for arr/jobj)

◆ grBigBlueRoute_8020DD64()

void grBigBlueRoute_8020DD64 ( Vec3 * v)

◆ grBigBlueRoute_8020DE48()

DynamicModelDesc * grBigBlueRoute_8020DE48 ( void )

◆ fn_8020DEAC()

void fn_8020DEAC ( void )

◆ grBigBlueRoute_8020DED4()

void grBigBlueRoute_8020DED4 ( Vec3 * pos)

◆ grBigBlueRoute_8020DF78()

DynamicsDesc * grBigBlueRoute_8020DF78 ( enum_t arg)

◆ grBigBlueRoute_8020DF80()

bool grBigBlueRoute_8020DF80 ( Vec3 * a,
int arg,
HSD_JObj * joint )

Variable Documentation

◆ grBb_Route_803E5E78

StageCallbacks grBb_Route_803E5E78[38]

◆ grBb_Route_803E6170

char grBb_Route_803E6170[] = "/GrNBr.dat"

◆ internal_stage_id

u32 internal_stage_id

◆ callbacks

StageCallbacks* callbacks

◆ data1

char* data1

◆ OnInit

void(* OnInit) (void) ( void )

◆ OnDemoInit

void(* OnDemoInit) (int) ( int )

◆ OnLoad

void(* OnLoad) (void) ( void )

◆ OnStart

void(* OnStart) (void) ( void )

◆ callback4

bool(* callback4) (void) ( void )

◆ callback5

DynamicsDesc *(* callback5) (enum_t) ( enum_t )

◆ callback6

bool(* callback6) (Vec3 *, int, HSD_JObj *) ( Vec3 * ,
int ,
HSD_JObj *  )

◆ flags2

u32 flags2

◆ x2C

S16Vec3* x2C

◆ x30

size_t x30

◆ fmt

char fmt[0x24]

◆ [struct]

struct { ... } grBb_Route_803E617C
Initial value:
= {
1,
0,
"%s:%d: couldn t get gobj(id=%d)\n",
}
void grBigBlueRoute_8020B920(void)
Definition grbigblueroute.c:155
StageCallbacks grBb_Route_803E5E78[38]
Definition grbigblueroute.c:37
void grBigBlueRoute_8020B864(bool arg)
Definition grbigblueroute.c:130
bool grBigBlueRoute_8020B9CC(void)
Definition grbigblueroute.c:187
void grBigBlueRoute_8020B95C(void)
Definition grbigblueroute.c:168
DynamicsDesc * grBigBlueRoute_8020DF78(enum_t arg)
Definition grbigblueroute.c:1128
void grBigBlueRoute_8020B89C(void)
Definition grbigblueroute.c:140
char grBb_Route_803E6170[]
Definition grbigblueroute.c:83
bool grBigBlueRoute_8020DF80(Vec3 *a, int arg, HSD_JObj *joint)
Definition grbigblueroute.c:1133
@ BIGBLUEROUTE
Definition forward.h:137
#define NULL
Definition stddef.h:19

◆ x0

int x0

◆ x4

f32 x4

◆ pad_8

u8 pad_8[0x20 - 0x8]

◆ x20

f32 x20

◆ pad_24

u8 pad_24[0x3C - 0x24]

◆ x3C

f32 x3C

◆ x40

f32 x40

◆ x44

f32 x44

◆ x48

f32 x48

◆ x4C

f32 x4C

◆ [struct]

struct { ... } * grBb_Route_804D6A68

◆ grBb_Route_803E6200

u8 grBb_Route_803E6200[0x3C]
extern

◆ grBb_Route_803B83E0

const Vec3 grBb_Route_803B83E0 = { 0.0f, 1.0f, 0.0f }
static