SSBM Decomp
Loading...
Searching...
No Matches
grfourside.c File Reference
#include "grfourside.h"
#include "m2c_macros.h"
#include "placeholder.h"
#include <platform.h>
#include "cm/camera.h"
#include "cm/types.h"
#include "forward.h"
#include "gr/granime.h"
#include "gr/grdisplay.h"
#include "gr/ground.h"
#include "gr/grzakogenerator.h"
#include "gr/inlines.h"
#include "gr/stage.h"
#include "gr/types.h"
#include "lb/lb_00B0.h"
#include "lb/lbspdisplay.h"
#include "mp/mplib.h"
#include <trigf.h>
#include <dolphin/mtx.h>
#include <baselib/gobj.h>
#include <baselib/gobjobject.h>
#include <baselib/gobjproc.h>
#include <baselib/jobj.h>
#include <baselib/random.h>

Data Structures

struct  grFourside_YakumonoParam

Functions

static void grFourside_801F30A0 (void *user_data, int joint_id, CollData *coll, int coll_x50, mpLib_GroundEnum ground_kind, float delta_y)
 Joint collision callback for ground surfaces.
void grFourside_801F2D0C (bool arg)
void grFourside_801F2D10 (void)
void grFourside_801F2DA0 (void)
void grFourside_801F2DA4 (void)
bool grFourside_801F2DC8 (void)
HSD_GObjgrFourside_801F2DD0 (int gobj_id)
 grFourside_801F2DD0
void grFourside_801F2EBC (Ground_GObj *gobj)
bool grFourside_801F2EE8 (Ground_GObj *arg)
void grFourside_801F2EF0 (Ground_GObj *arg)
void grFourside_801F2EF4 (Ground_GObj *arg)
void grFourside_801F2EF8 (Ground_GObj *gobj)
bool grFourside_801F2F24 (Ground_GObj *arg)
void grFourside_801F2F2C (Ground_GObj *arg)
void grFourside_801F2F30 (Ground_GObj *arg)
void grFourside_801F2F34 (Ground_GObj *gobj)
 grFourside_801F2F34
bool grFourside_801F3070 (Ground_GObj *arg)
void grFourside_801F3078 (Ground_GObj *gobj)
void grFourside_801F309C (Ground_GObj *arg)
void grFourside_801F30F0 (Ground_GObj *gobj)
bool grFourside_801F3144 (Ground_GObj *arg)
void grFourside_801F314C (Ground_GObj *arg)
void grFourside_801F3150 (Ground_GObj *arg)
void grFourside_801F3154 (Ground_GObj *gobj)
 grFourside_801F3154
bool grFourside_801F326C (Ground_GObj *arg)
static void grFourside_UpdateCrane (Ground *gp, HSD_GObj *hsd_gobj)
static float grFourside_GetCraneY (Ground *gp)
static HSD_JObjgrFourside_GetCraneIron (HSD_GObj *gobj)
void grFourside_801F3274 (Ground_GObj *gobj)
 grFourside_801F3274
void grFourside_801F37F8 (Ground_GObj *arg)
void grFourside_801F37FC (Ground_GObj *gobj)
bool grFourside_801F388C (Ground_GObj *arg)
static void grFourside_801F3894_inline (Ground_GObj *gobj, Ground *gp, HSD_JObj *jobj, u8 state, u8 prev_building)
void grFourside_801F3894 (Ground_GObj *gobj)
void grFourside_801F3B6C (Ground_GObj *arg)
void grFourside_801F3B70 (Ground_GObj *gobj)
void grFourside_801F3C40 (Ground_GObj *gobj)
bool grFourside_801F3CC0 (Ground_GObj *arg)
void grFourside_801F3CC8 (Ground_GObj *gobj)
void grFourside_801F3F0C (Ground_GObj *arg)
int grFourside_801F3F10 (void)
void fn_801F3F74 (HSD_GObj *gobj, int renderpass)
DynamicsDescgrFourside_801F41E0 (enum_t arg)
bool grFourside_801F41E8 (Vec3 *a, int arg, HSD_JObj *joint)

Variables

static struct grFourside_YakumonoParamyakumono_param
GrJoint grFs_803E3CE8 []
StageCallbacks grFs_StageCallbacks []
StageData grFs_StageData

Function Documentation

◆ grFourside_801F30A0()

void grFourside_801F30A0 ( void * user_data,
int joint_id,
CollData * coll,
int coll_x50,
mpLib_GroundEnum ground_kind,
float delta_y )
static

Joint collision callback for ground surfaces.

Parameters
user_dataSaved untyped data attached to the callback.
coll_x50Unknown, sourced from CollData::x50. dist according to fn_801FC9AC?
delta_yRelative y-offset since the collision started, equal to coll->cur_pos.y - coll->last_pos.y

◆ grFourside_801F2D0C()

void grFourside_801F2D0C ( bool arg)

◆ grFourside_801F2D10()

void grFourside_801F2D10 ( void )

◆ grFourside_801F2DA0()

void grFourside_801F2DA0 ( void )

◆ grFourside_801F2DA4()

void grFourside_801F2DA4 ( void )

◆ grFourside_801F2DC8()

bool grFourside_801F2DC8 ( void )

◆ grFourside_801F2DD0()

HSD_GObj * grFourside_801F2DD0 ( int gobj_id)

◆ grFourside_801F2EBC()

void grFourside_801F2EBC ( Ground_GObj * gobj)

◆ grFourside_801F2EE8()

bool grFourside_801F2EE8 ( Ground_GObj * arg)

◆ grFourside_801F2EF0()

void grFourside_801F2EF0 ( Ground_GObj * arg)

◆ grFourside_801F2EF4()

void grFourside_801F2EF4 ( Ground_GObj * arg)

◆ grFourside_801F2EF8()

void grFourside_801F2EF8 ( Ground_GObj * gobj)

◆ grFourside_801F2F24()

bool grFourside_801F2F24 ( Ground_GObj * arg)

◆ grFourside_801F2F2C()

void grFourside_801F2F2C ( Ground_GObj * arg)

◆ grFourside_801F2F30()

void grFourside_801F2F30 ( Ground_GObj * arg)

◆ grFourside_801F2F34()

void grFourside_801F2F34 ( Ground_GObj * gobj)

◆ grFourside_801F3070()

bool grFourside_801F3070 ( Ground_GObj * arg)

◆ grFourside_801F3078()

void grFourside_801F3078 ( Ground_GObj * gobj)

◆ grFourside_801F309C()

void grFourside_801F309C ( Ground_GObj * arg)

◆ grFourside_801F30F0()

void grFourside_801F30F0 ( Ground_GObj * gobj)

◆ grFourside_801F3144()

bool grFourside_801F3144 ( Ground_GObj * arg)

◆ grFourside_801F314C()

void grFourside_801F314C ( Ground_GObj * arg)

◆ grFourside_801F3150()

void grFourside_801F3150 ( Ground_GObj * arg)

◆ grFourside_801F3154()

void grFourside_801F3154 ( Ground_GObj * gobj)

◆ grFourside_801F326C()

bool grFourside_801F326C ( Ground_GObj * arg)

◆ grFourside_UpdateCrane()

void grFourside_UpdateCrane ( Ground * gp,
HSD_GObj * hsd_gobj )
inlinestatic

◆ grFourside_GetCraneY()

float grFourside_GetCraneY ( Ground * gp)
inlinestatic

◆ grFourside_GetCraneIron()

HSD_JObj * grFourside_GetCraneIron ( HSD_GObj * gobj)
inlinestatic

◆ grFourside_801F3274()

void grFourside_801F3274 ( Ground_GObj * gobj)

◆ grFourside_801F37F8()

void grFourside_801F37F8 ( Ground_GObj * arg)

◆ grFourside_801F37FC()

void grFourside_801F37FC ( Ground_GObj * gobj)

◆ grFourside_801F388C()

bool grFourside_801F388C ( Ground_GObj * arg)

◆ grFourside_801F3894_inline()

void grFourside_801F3894_inline ( Ground_GObj * gobj,
Ground * gp,
HSD_JObj * jobj,
u8 state,
u8 prev_building )
inlinestatic

◆ grFourside_801F3894()

void grFourside_801F3894 ( Ground_GObj * gobj)

◆ grFourside_801F3B6C()

void grFourside_801F3B6C ( Ground_GObj * arg)

◆ grFourside_801F3B70()

void grFourside_801F3B70 ( Ground_GObj * gobj)

◆ grFourside_801F3C40()

void grFourside_801F3C40 ( Ground_GObj * gobj)

◆ grFourside_801F3CC0()

bool grFourside_801F3CC0 ( Ground_GObj * arg)

◆ grFourside_801F3CC8()

void grFourside_801F3CC8 ( Ground_GObj * gobj)

◆ grFourside_801F3F0C()

void grFourside_801F3F0C ( Ground_GObj * arg)

◆ grFourside_801F3F10()

int grFourside_801F3F10 ( void )

◆ fn_801F3F74()

void fn_801F3F74 ( HSD_GObj * gobj,
int renderpass )

◆ grFourside_801F41E0()

DynamicsDesc * grFourside_801F41E0 ( enum_t arg)

◆ grFourside_801F41E8()

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

Variable Documentation

◆ yakumono_param

struct grFourside_YakumonoParam* yakumono_param
static

◆ grFs_803E3CE8

GrJoint grFs_803E3CE8[]
Initial value:
= {
{ 3, 1, 7 },
{ 4, 5, 1 },
{ 0, 6, 10 },
}

◆ grFs_StageCallbacks

StageCallbacks grFs_StageCallbacks[]

◆ grFs_StageData

StageData grFs_StageData
Initial value:
= {
"/GrFs.dat",
(1 << 0),
}
#define ARRAY_SIZE(arr)
Definition types.h:31
void grFourside_801F2D10(void)
Definition grfourside.c:138
GrJoint grFs_803E3CE8[]
Definition grfourside.c:62
DynamicsDesc * grFourside_801F41E0(enum_t arg)
Definition grfourside.c:804
bool grFourside_801F2DC8(void)
Definition grfourside.c:161
void grFourside_801F2DA0(void)
Definition grfourside.c:154
void grFourside_801F2DA4(void)
Definition grfourside.c:156
bool grFourside_801F41E8(Vec3 *a, int arg, HSD_JObj *joint)
Definition grfourside.c:809
void grFourside_801F2D0C(bool arg)
Definition grfourside.c:136
StageCallbacks grFs_StageCallbacks[]
Definition grfourside.c:68
@ Gr_Kind_Fourside
Definition forward.h:76