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/lbshadow.h"
#include "lb/lbspdisplay.h"
#include "lb/lbvector.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>

Data Structures

struct  grBigBlueRoute_YakumonoParam
struct  grBigBlueRoute_8020DA9C_t

Macros

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

Functions

static int grBigBlueRoute_8020DA9C (struct grBigBlueRoute_8020DA9C_t *)
static void sdata2_order (void)
void grBigBlue_801E8D04 (Ground_GObj *)
static void order_data (void)
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)
static void grBigBlueRoute_SpawnRoute (s32 route_idx, Ground *gp, Ground_GObj *gobj)
void grBigBlueRoute_8020C85C (Ground_GObj *gobj)
void grBigBlueRoute_8020CD20 (Ground_GObj *gobj)
void grBigBlueRoute_8020DAB4 (HSD_JObj **jobjs, f32 scale, int count)
f32 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_StageCallbacks [38]
StageData grBb_Route_StageData
static struct grBigBlueRoute_YakumonoParamyakumono_param
static s16 grBb_Route_carJObjIds [30]
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])

Function Documentation

◆ grBigBlueRoute_8020DA9C()

int grBigBlueRoute_8020DA9C ( struct grBigBlueRoute_8020DA9C_t * desc)
static

◆ sdata2_order()

void sdata2_order ( void )
static
Todo
Emitted only to lay out the .sdata2 literal pool in retail order.

◆ grBigBlue_801E8D04()

void grBigBlue_801E8D04 ( Ground_GObj * )

◆ order_data()

void order_data ( void )
static

◆ 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)

◆ 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_SpawnRoute()

void grBigBlueRoute_SpawnRoute ( s32 route_idx,
Ground * gp,
Ground_GObj * gobj )
inlinestatic
Todo
Register allocation and addressing-mode choices for RouteEntry stores.

◆ grBigBlueRoute_8020C85C()

void grBigBlueRoute_8020C85C ( Ground_GObj * gobj)

◆ grBigBlueRoute_8020CD20()

void grBigBlueRoute_8020CD20 ( Ground_GObj * gobj)

◆ 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()

f32 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_StageCallbacks

StageCallbacks grBb_Route_StageCallbacks[38]

◆ grBb_Route_StageData

StageData grBb_Route_StageData
Initial value:
= {
"/GrNBr.dat",
(1 << 0),
0,
}
void grBigBlueRoute_8020B920(void)
Definition grbigblueroute.c:176
void grBigBlueRoute_8020B864(bool arg)
Definition grbigblueroute.c:151
bool grBigBlueRoute_8020B9CC(void)
Definition grbigblueroute.c:208
void grBigBlueRoute_8020B95C(void)
Definition grbigblueroute.c:189
DynamicsDesc * grBigBlueRoute_8020DF78(enum_t arg)
Definition grbigblueroute.c:1166
void grBigBlueRoute_8020B89C(void)
Definition grbigblueroute.c:161
bool grBigBlueRoute_8020DF80(Vec3 *a, int arg, HSD_JObj *joint)
Definition grbigblueroute.c:1171
StageCallbacks grBb_Route_StageCallbacks[38]
Definition grbigblueroute.c:82
@ Gr_Kind_BigBlueRoute
Definition forward.h:89
#define NULL
Definition stddef.h:19

◆ yakumono_param

struct grBigBlueRoute_YakumonoParam* yakumono_param
static

◆ grBb_Route_carJObjIds

s16 grBb_Route_carJObjIds[30]
static
Initial value:
= {
4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 3, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 34, 35, 36, 37,
}

◆ grBb_Route_803B83E0

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