SSBM Decomp
Loading...
Searching...
No Matches
grkongo.c File Reference
#include "gr/grkongo.h"
#include "grkongo.static.h"
#include "grmaterial.h"
#include "types.h"
#include "ef/efsync.h"
#include "ft/ftdevice.h"
#include "ft/ftlib.h"
#include "ftCommon/ftCo_BarrelWait.h"
#include "gm/gm_unsplit.h"
#include "gr/granime.h"
#include "gr/ground.h"
#include "gr/grzakogenerator.h"
#include "gr/inlines.h"
#include "gr/stage.h"
#include "it/it_26B1.h"
#include "it/items/itbox.h"
#include "it/items/itklap.h"
#include "it/itspawn.h"
#include "lb/lb_00B0.h"
#include "lb/lbspdisplay.h"
#include "mp/forward.h"
#include "mp/mplib.h"
#include "MSL/math.h"
#include <math_ppc.h>
#include <baselib/debug.h>
#include <baselib/gobj.h>
#include <baselib/gobjproc.h>
#include <baselib/jobj.h>
#include <baselib/random.h>
#include <baselib/spline.h>

Data Structures

struct  _struct_grKg_804D6984
struct  _struct_grKg_803E188C_0x18
struct  unk_struct_x14

Functions

static void order_data (void)
void grKongo_801D5490 (Ground_GObj *arg0)
bool grKongo_801D5574 (Ground_GObj *arg)
void grKongo_801D557C (Ground_GObj *arg0)
void grKongo_801D55D4 (Ground_GObj *arg)
static s32 random_adder_b (s32 a, s32 b)
static s32 random_adder (s32 temp_f0, s32 temp_f2)
static s32 random_adder_f (f32 a, f32 b)
void grKongo_801D55D8 (Ground_GObj *arg0)
bool grKongo_801D5774 (Ground_GObj *arg)
void grKongo_801D577C (Ground_GObj *arg0)
void grKongo_801D5FA4 (Ground_GObj *arg)
void grKongo_801D5FA8 (Ground_GObj *arg0)
bool grKongo_801D5FD4 (Ground_GObj *arg)
void grKongo_801D5FDC (Ground_GObj *arg)
void grKongo_801D5FE0 (Ground_GObj *arg)
void grKongo_801D5FE4 (Ground_GObj *arg0)
bool grKongo_801D6028 (Ground_GObj *arg)
void grKongo_801D6030 (Ground_GObj *arg)
void grKongo_801D6034 (Ground_GObj *arg)
void grKongo_801D6038 (Ground_GObj *arg0)
bool grKongo_801D6064 (Ground_GObj *arg)
void grKongo_801D606C (Ground_GObj *arg)
void grKongo_801D6070 (Ground_GObj *arg)
void grKongo_801D6074 (Ground_GObj *arg0)
bool grKongo_801D6190 (Ground_GObj *arg)
void grKongo_801D6198 (Ground_GObj *arg0)
void grKongo_801D6378 (Ground_GObj *arg)
static void order_data_1 (void)
void grKongo_801D828C (HSD_GObj *gobj)
void grKongo_801D637C (Ground_GObj *arg0)
bool grKongo_801D64B4 (Ground_GObj *arg)
void grKongo_801D64BC (Ground_GObj *arg0)
void grKongo_801D6518 (Ground_GObj *arg)
void grKongo_801D651C (Ground_GObj *gobj)
bool grKongo_801D6660 (Ground_GObj *arg)
static Vec3lbVector_Diff_t (Vec3 *a, Vec3 *b, Vec3 *result)
static float lbVector_Len_t (Vec3 *vec)
void grKongo_801D6668 (Ground_GObj *arg0)
void grKongo_801D69AC (Ground_GObj *arg)
void grKongo_801D69B0 (HSD_GObj *gobj)
static void rad_compare (f32 a, f32 b, f32 *ret)
static void rad_compare_b (f32 a, f32 b, f32 *ret)
static void rad_compare_c (f32 a, f32 b, f32 d, f32 *ret)
static void grKongo_801D6AFC_apply (f32 *deltas, _struct_grKg_803E188C_0x18 *entries)
void grKongo_801D6AFC (void)
void grKongo_801D7134 (HSD_GObj *gobj, s32 arg1)
f32 grKongo_801D8314 (void)
void grKongo_801D5238 (bool arg)
void grKongo_801D523C (void)
void grKongo_801D52F8 (void)
void grKongo_801D52FC (void)
bool grKongo_801D5338 (void)
Ground_GObjgrKongo_801D5340 (int gobj_id)
void fn_801D542C (HSD_GObj *arg0)
void fn_801D7700 (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 grKongo_801D77E0 (HSD_GObj *gobj, s32 arg1)
void grKongo_801D7BBC (Ground_GObj *gobj)
void fn_801D7E60 (void *user_data, int joint_id, CollData *coll, int coll_x50, mpLib_GroundEnum ground_kind, float delta_y)
 Joint collision callback for ground surfaces.
Vec3grKongo_801D7E78 (HSD_GObj *gobj, Vec3 *pos)
bool grKongo_801D7F78 (HSD_GObj *gobj)
void grKongo_801D8058 (Ground_GObj *arg)
HSD_GObjgrKongo_801D8078 (HSD_GObj *gobj)
static int fn_801D8134 (HSD_GObj *arg0, HSD_GObj *arg1)
void grKongo_801D8270 (Ground_GObj *gobj)
DynamicsDescgrKongo_801D8444 (enum_t arg)
bool grKongo_801D844C (Vec3 *a, int b, HSD_JObj *jobj)

Variables

GrJoint grKg_803E16E0 []
StageCallbacks grKg_StageCallbacks []
StageData grKg_StageData
static const lbColl_80008D30_arg1 grKg_803B7FB0
struct _struct_grKg_804D6984 grKg_804D6984
static struct _struct_grKg_803E188C_0x18 grKg_803E188C [0xF]
const grKg_SplineChoiceList grKg_803B7FD4

Function Documentation

◆ order_data()

void order_data ( void )
static

◆ grKongo_801D5490()

void grKongo_801D5490 ( Ground_GObj * arg0)

◆ grKongo_801D5574()

bool grKongo_801D5574 ( Ground_GObj * arg)

◆ grKongo_801D557C()

void grKongo_801D557C ( Ground_GObj * arg0)

◆ grKongo_801D55D4()

void grKongo_801D55D4 ( Ground_GObj * arg)

◆ random_adder_b()

s32 random_adder_b ( s32 a,
s32 b )
inlinestatic
Todo
Investigate these types of patterns in other files; the Randi check with zero is probably its own thing

◆ random_adder()

s32 random_adder ( s32 temp_f0,
s32 temp_f2 )
inlinestatic

◆ random_adder_f()

s32 random_adder_f ( f32 a,
f32 b )
inlinestatic

◆ grKongo_801D55D8()

void grKongo_801D55D8 ( Ground_GObj * arg0)

◆ grKongo_801D5774()

bool grKongo_801D5774 ( Ground_GObj * arg)

◆ grKongo_801D577C()

void grKongo_801D577C ( Ground_GObj * arg0)

◆ grKongo_801D5FA4()

void grKongo_801D5FA4 ( Ground_GObj * arg)

◆ grKongo_801D5FA8()

void grKongo_801D5FA8 ( Ground_GObj * arg0)

◆ grKongo_801D5FD4()

bool grKongo_801D5FD4 ( Ground_GObj * arg)

◆ grKongo_801D5FDC()

void grKongo_801D5FDC ( Ground_GObj * arg)

◆ grKongo_801D5FE0()

void grKongo_801D5FE0 ( Ground_GObj * arg)

◆ grKongo_801D5FE4()

void grKongo_801D5FE4 ( Ground_GObj * arg0)

◆ grKongo_801D6028()

bool grKongo_801D6028 ( Ground_GObj * arg)

◆ grKongo_801D6030()

void grKongo_801D6030 ( Ground_GObj * arg)

◆ grKongo_801D6034()

void grKongo_801D6034 ( Ground_GObj * arg)

◆ grKongo_801D6038()

void grKongo_801D6038 ( Ground_GObj * arg0)

◆ grKongo_801D6064()

bool grKongo_801D6064 ( Ground_GObj * arg)

◆ grKongo_801D606C()

void grKongo_801D606C ( Ground_GObj * arg)

◆ grKongo_801D6070()

void grKongo_801D6070 ( Ground_GObj * arg)

◆ grKongo_801D6074()

void grKongo_801D6074 ( Ground_GObj * arg0)

◆ grKongo_801D6190()

bool grKongo_801D6190 ( Ground_GObj * arg)

◆ grKongo_801D6198()

void grKongo_801D6198 ( Ground_GObj * arg0)

◆ grKongo_801D6378()

void grKongo_801D6378 ( Ground_GObj * arg)

◆ order_data_1()

void order_data_1 ( void )
static

◆ grKongo_801D828C()

void grKongo_801D828C ( HSD_GObj * gobj)

◆ grKongo_801D637C()

void grKongo_801D637C ( Ground_GObj * arg0)

◆ grKongo_801D64B4()

bool grKongo_801D64B4 ( Ground_GObj * arg)

◆ grKongo_801D64BC()

void grKongo_801D64BC ( Ground_GObj * arg0)

◆ grKongo_801D6518()

void grKongo_801D6518 ( Ground_GObj * arg)

◆ grKongo_801D651C()

void grKongo_801D651C ( Ground_GObj * gobj)

◆ grKongo_801D6660()

bool grKongo_801D6660 ( Ground_GObj * arg)

◆ lbVector_Diff_t()

Vec3 * lbVector_Diff_t ( Vec3 * a,
Vec3 * b,
Vec3 * result )
inlinestatic

◆ lbVector_Len_t()

float lbVector_Len_t ( Vec3 * vec)
inlinestatic

◆ grKongo_801D6668()

void grKongo_801D6668 ( Ground_GObj * arg0)

◆ grKongo_801D69AC()

void grKongo_801D69AC ( Ground_GObj * arg)

◆ grKongo_801D69B0()

void grKongo_801D69B0 ( HSD_GObj * gobj)

◆ rad_compare()

void rad_compare ( f32 a,
f32 b,
f32 * ret )
inlinestatic

◆ rad_compare_b()

void rad_compare_b ( f32 a,
f32 b,
f32 * ret )
inlinestatic

◆ rad_compare_c()

void rad_compare_c ( f32 a,
f32 b,
f32 d,
f32 * ret )
inlinestatic

◆ grKongo_801D6AFC_apply()

void grKongo_801D6AFC_apply ( f32 * deltas,
_struct_grKg_803E188C_0x18 * entries )
inlinestatic

◆ grKongo_801D6AFC()

void grKongo_801D6AFC ( void )

◆ grKongo_801D7134()

void grKongo_801D7134 ( HSD_GObj * gobj,
s32 arg1 )

◆ grKongo_801D8314()

f32 grKongo_801D8314 ( void )

◆ grKongo_801D5238()

void grKongo_801D5238 ( bool arg)

◆ grKongo_801D523C()

void grKongo_801D523C ( void )

◆ grKongo_801D52F8()

void grKongo_801D52F8 ( void )

◆ grKongo_801D52FC()

void grKongo_801D52FC ( void )

◆ grKongo_801D5338()

bool grKongo_801D5338 ( void )

◆ grKongo_801D5340()

Ground_GObj * grKongo_801D5340 ( int gobj_id)

◆ fn_801D542C()

void fn_801D542C ( HSD_GObj * arg0)

◆ fn_801D7700()

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

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

◆ grKongo_801D77E0()

void grKongo_801D77E0 ( HSD_GObj * gobj,
s32 arg1 )

◆ grKongo_801D7BBC()

void grKongo_801D7BBC ( Ground_GObj * gobj)

◆ fn_801D7E60()

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

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

◆ grKongo_801D7E78()

Vec3 * grKongo_801D7E78 ( HSD_GObj * gobj,
Vec3 * pos )

◆ grKongo_801D7F78()

bool grKongo_801D7F78 ( HSD_GObj * gobj)

◆ grKongo_801D8058()

void grKongo_801D8058 ( Ground_GObj * arg)

◆ grKongo_801D8078()

HSD_GObj * grKongo_801D8078 ( HSD_GObj * gobj)

◆ fn_801D8134()

int fn_801D8134 ( HSD_GObj * arg0,
HSD_GObj * arg1 )
static

◆ grKongo_801D8270()

void grKongo_801D8270 ( Ground_GObj * gobj)

◆ grKongo_801D8444()

DynamicsDesc * grKongo_801D8444 ( enum_t arg)

◆ grKongo_801D844C()

bool grKongo_801D844C ( Vec3 * a,
int b,
HSD_JObj * jobj )

Variable Documentation

◆ grKg_803E16E0

GrJoint grKg_803E16E0[]
Initial value:
= {
{ 2, 10, 19 }, { 3, 10, 22 }, { 5, 10, 43 },
{ 6, 10, 44 }, { 0, 1, 0 }, { 1, 2, 2 },
}

◆ grKg_StageCallbacks

StageCallbacks grKg_StageCallbacks[]

◆ grKg_StageData

StageData grKg_StageData
Initial value:
= {
"/GrKg.dat",
(1 << 0),
}
#define ARRAY_SIZE(arr)
Definition types.h:31
bool grKongo_801D844C(Vec3 *a, int b, HSD_JObj *jobj)
Definition grkongo.c:1711
void grKongo_801D5238(bool arg)
Definition grkongo.c:1250
StageCallbacks grKg_StageCallbacks[]
Definition grkongo.c:43
bool grKongo_801D5338(void)
Definition grkongo.c:1284
void grKongo_801D52FC(void)
Definition grkongo.c:1277
void grKongo_801D52F8(void)
Definition grkongo.c:1275
GrJoint grKg_803E16E0[]
Definition grkongo.c:38
DynamicsDesc * grKongo_801D8444(enum_t arg)
Definition grkongo.c:1706
void grKongo_801D523C(void)
Definition grkongo.c:1252
@ Gr_Kind_Kongo
Definition forward.h:59

◆ grKg_803B7FB0

const lbColl_80008D30_arg1 grKg_803B7FB0
static
Initial value:
= {
HitCapsule_Enabled, 1, 361, 0, 0, 180, 0, 0, 0,
}
@ HitCapsule_Enabled
Definition forward.h:73

◆ grKg_804D6984

struct _struct_grKg_804D6984 grKg_804D6984

◆ grKg_803E188C

struct _struct_grKg_803E188C_0x18 grKg_803E188C[0xF]
static
Initial value:
= {
{ 8, 0, NULL, 0.06981317f, 0.0f, 0.0f },
{ 9, 0, NULL, 0.0f, 0.0f, 0.0f },
{ 0xA, 0, NULL, -0.05235988f, 0.0f, 0.0f },
{ 0x17, 0, NULL, -0.10471976f, 0.0f, 0.0f },
{ 0x18, 0, NULL, -0.13962634f, 0.0f, 0.0f },
{ 0x19, 0, NULL, -0.15707964f, 0.0f, 0.0f },
{ 0x1A, 0, NULL, -0.20943952f, 0.0f, 0.0f },
{ 0x1B, 0, NULL, -0.23561944f, 0.0f, 0.0f },
{ 0x1C, 0, NULL, -0.18325958f, 0.0f, 0.0f },
{ 0x1D, 0, NULL, -0.1308997f, 0.0f, 0.0f },
{ 0x1E, 0, NULL, -0.07853982f, 0.0f, 0.0f },
{ 0x1F, 0, NULL, -0.02617994f, 0.0f, 0.0f },
{ 0x20, 0, NULL, 0.0f, 0.0f, 0.0f },
{ 7, 0, NULL, 0.05235988f, 0.0f, 0.0f },
{ 0x2D, 0, NULL, 0.10471976f, 0.0f, 0.0f },
}
#define NULL
Definition stddef.h:19

◆ grKg_803B7FD4

const grKg_SplineChoiceList grKg_803B7FD4
Initial value:
= {
{
{ 7, 4 },
{ 8, 5 },
{ 9, 6 },
},
0,
}