SSBM Decomp
Loading...
Searching...
No Matches
grcastle.c File Reference
#include "grcastle.h"
#include "placeholder.h"
#include "types.h"
#include "baselib/debug.h"
#include "cm/camera.h"
#include "ft/ft_0C31.h"
#include "ft/ftdevice.h"
#include "ft/ftlib.h"
#include "gm/gm_16AE.h"
#include "gr/granime.h"
#include "gr/grdatfiles.h"
#include "gr/grdisplay.h"
#include "gr/grlib.h"
#include "gr/grmaterial.h"
#include "gr/ground.h"
#include "gr/grzakogenerator.h"
#include "gr/inlines.h"
#include "it/it_266F.h"
#include "it/it_26B1.h"
#include "it/it_2725.h"
#include "it/ithitbox.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lbvector.h"
#include "lb/types.h"
#include "mp/mplib.h"
#include <dolphin/mtx.h>
#include <baselib/archive.h>
#include <baselib/gobj.h>
#include <baselib/gobjgxlink.h>
#include <baselib/gobjproc.h>
#include <baselib/jobj.h>
#include <baselib/psstructs.h>
#include <baselib/random.h>
#include <baselib/spline.h>
#include <MetroTRK/intrinsics.h>
#include <MSL/trigf.h>

Data Structures

struct  grCastleParams_Entry
struct  grCastleParams
struct  grCastle_PlatSubObj
struct  grCastle_BlinkTable
struct  grCastle_DynEntry
struct  grCastle_DynEntries
struct  grCastle_YOffsets
struct  grCastle_WeightTable
struct  grCastle_TargetEntry
struct  grCastle_TargetTable

Functions

void grCastle_801CD338 (bool arg0)
void grCastle_801CD37C (void)
void grCastle_801CD4A0 (void)
void grCastle_801CD4A4 (void)
bool grCastle_801CD4C8 (void)
HSD_GObjgrCastle_801CD4D0 (int gobj_id)
void grCastle_801CD5BC (Ground_GObj *gobj)
bool grCastle_801CD600 (Ground_GObj *gobj)
void grCastle_801CD608 (Ground_GObj *gobj)
void grCastle_801CD60C (Ground_GObj *gobj)
void grCastle_801CD610 (Ground_GObj *gobj)
void grCastle_801CD658 (Ground_GObj *gobj)
bool grCastle_801CD8A0 (Ground_GObj *gobj)
void grCastle_801CD8A8 (Ground_GObj *gobj)
void grCastle_801CD960 (Ground_GObj *gobj)
void grCastle_801CD9B4 (Ground_GObj *gobj)
void grCastle_801CDA0C (Ground_GObj *gobj)
bool grCastle_801CDC3C (Ground_GObj *gobj)
void grCastle_801CDC44 (Ground_GObj *gobj)
void grCastle_801CDF50 (Ground_GObj *gobj)
bool grCastle_801CDF54 (Vec3 *vec)
void grCastle_801CDFD8 (Ground_GObj *gobj)
s32 grCastle_801CE054 (Ground_GObj *gobj)
void grCastle_801CE19C (Ground_GObj *gobj)
void grCastle_801CE260 (Ground_GObj *gobj)
void fn_801CE3A0 (void)
bool grCastle_801CE3A4 (Ground_GObj *gobj)
void grCastle_801CE3AC_dontinline (Ground_GObj *gobj)
void grCastle_801CE3AC (Ground_GObj *gobj)
void grCastle_801CE578 (Ground_GObj *gobj)
void grCastle_801CE7E4 (Ground_GObj *gobj)
void grCastle_801CE7E8 (Ground_GObj *gobj)
bool grCastle_801CE858 (Ground_GObj *gobj)
void grCastle_801CE860 (Ground_GObj *gobj)
void grCastle_801CE8E4 (Ground_GObj *gobj)
void grCastle_801CE8E8 (Ground_GObj *gobj)
void fn_801CE9DC (void)
bool grCastle_801CE9E0 (Ground_GObj *gobj)
void grCastle_801CE9E8 (Ground_GObj *gobj)
void grCastle_801CEAC8 (Ground_GObj *gobj)
void zero (Ground *gp, int i, f32 zero)
void grCastle_801CEACC (Ground_GObj *gobj)
bool grCastle_801CEEFC (Ground_GObj *gobj)
void grCastle_801CEF04 (Ground_GObj *gobj)
void grCastle_801CF0F0 (Ground_GObj *gobj)
void grCastle_801CF0F4 (Ground_GObj *gobj)
bool grCastle_801CF300 (Ground_GObj *gobj)
void grCastle_801CF308 (Ground_GObj *gobj)
void grCastle_801CF74C (Ground_GObj *gobj)
void grCastle_801CF750 (Ground *gp, s32 arg1, CollData *cd, s32 arg3, mpLib_GroundEnum arg4, f32 arg5)
void grCastle_801CF7B0 (Ground_GObj *gobj)
HSD_JObjgrCastle_801CF868 (Ground_GObj *gobj)
void fn_801CFAFC (Item_GObj *item, Ground *gp, Vec3 *pos, HSD_GObj *gobj)
void fn_801CFB68 (Item_GObj *item_gobj, Ground *gp, HSD_GObj *gobj)
s32 grCastle_801CFBD4 (Ground_GObj *gobj, s32 arg1)
bool grCastle_801D0298 (Ground_GObj *gobj, s32 arg1)
void grCastle_801D02B8 (Ground_GObj *gobj)
void grCastle_801D0520 (Ground_GObj *gobj, int renderpass)
static void grCastle_801D0550_sub (unkCastle *arg0, s32 i)
void grCastle_801D0550 (void *arg0, unkCastle *arg1)
void grCastle_801D059C (void *arg0, unkCastle *arg1)
void grCastle_801D05E8 (void *arg0, unkCastle *arg1)
void grCastle_801D0634 (void *arg0, unkCastle *arg1)
void grCastle_801D0680 (void *arg0, unkCastle *arg1)
static void grCastle_801D06CC_sub (unkCastle *arg0, Ground_GObj *gobj, s32 i)
void grCastle_801D06CC (void *arg0, unkCastle *arg1, Ground_GObj *gobj)
void grCastle_801D0744 (void *arg0, unkCastle *arg1, Ground_GObj *gobj)
void grCastle_801D07BC (void *arg0, unkCastle *arg1, Ground_GObj *gobj)
void grCastle_801D0834 (void *arg0, unkCastle *arg1, Ground_GObj *gobj)
void grCastle_801D08AC (void *arg0, unkCastle *arg1, Ground_GObj *gobj)
void fn_801D0924 (HSD_GObj *gobj, int renderpass)
bool grCastle_801D09B8 (void *unused, HSD_GObj *gobj, Vec3 *arg2)
DynamicsDescgrCastle_801D0B04 (enum_t arg)
bool grCastle_801D0B0C (Vec3 *v, int arg1, HSD_JObj *jobj)
void grCastle_801D0A9C (Vec3 *arg0, f32 arg8)
void grCastle_801D0BBC (void)
void grCastle_801D0D24 (void)
void grCastle_801D0D84 (HSD_JObj *jobj)
f32 grCastle_801D0FF0 (void)

Variables

static const unkCastleCallback grCs_803B7F28 [5]
static const unkCastleCallback2 grCs_803B7F3C [5]
S16Vec3 grCs_803E0FE8 []
StageCallbacks grCs_803E0FF4 [21]
char grCs_803E1198 [] = "/GrCs.dat"
StageData grCs_803E11A4
static f32 grCs_804D45E0 = 0.017453292f
static u8 grCs_804D45E4 = 1
static grCastleParamsgrCs_804D6970
static struct lb_80011A50_tgrCs_804D6974
static const Quaternion grCs_803B7EB8 = { 0.0f, 0.0f, 0.0f, 1.0f }
static const grCastle_BlinkTable grCs_803B7EC8
static const Vec3 grCs_803B7E9C = { -257.0f, 13.5f, -252.0f }
static const grCastle_DynEntries grCs_803B7EA8
static const grCastle_YOffsets grCs_803B7F50
static const grCastle_WeightTable grCs_803B7EF0 = { { 0, 0, 0 } }
static const grCastle_TargetTable grCs_803B7EFC

Function Documentation

◆ grCastle_801CD338()

void grCastle_801CD338 ( bool arg0)

◆ grCastle_801CD37C()

void grCastle_801CD37C ( void )

◆ grCastle_801CD4A0()

void grCastle_801CD4A0 ( void )

◆ grCastle_801CD4A4()

void grCastle_801CD4A4 ( void )

◆ grCastle_801CD4C8()

bool grCastle_801CD4C8 ( void )

◆ grCastle_801CD4D0()

HSD_GObj * grCastle_801CD4D0 ( int gobj_id)

◆ grCastle_801CD5BC()

void grCastle_801CD5BC ( Ground_GObj * gobj)

◆ grCastle_801CD600()

bool grCastle_801CD600 ( Ground_GObj * gobj)

◆ grCastle_801CD608()

void grCastle_801CD608 ( Ground_GObj * gobj)

◆ grCastle_801CD60C()

void grCastle_801CD60C ( Ground_GObj * gobj)

◆ grCastle_801CD610()

void grCastle_801CD610 ( Ground_GObj * gobj)

◆ grCastle_801CD658()

void grCastle_801CD658 ( Ground_GObj * gobj)

◆ grCastle_801CD8A0()

bool grCastle_801CD8A0 ( Ground_GObj * gobj)

◆ grCastle_801CD8A8()

void grCastle_801CD8A8 ( Ground_GObj * gobj)

◆ grCastle_801CD960()

void grCastle_801CD960 ( Ground_GObj * gobj)

◆ grCastle_801CD9B4()

void grCastle_801CD9B4 ( Ground_GObj * gobj)

◆ grCastle_801CDA0C()

void grCastle_801CDA0C ( Ground_GObj * gobj)

◆ grCastle_801CDC3C()

bool grCastle_801CDC3C ( Ground_GObj * gobj)

◆ grCastle_801CDC44()

void grCastle_801CDC44 ( Ground_GObj * gobj)

◆ grCastle_801CDF50()

void grCastle_801CDF50 ( Ground_GObj * gobj)

◆ grCastle_801CDF54()

bool grCastle_801CDF54 ( Vec3 * vec)

◆ grCastle_801CDFD8()

void grCastle_801CDFD8 ( Ground_GObj * gobj)

◆ grCastle_801CE054()

s32 grCastle_801CE054 ( Ground_GObj * gobj)

◆ grCastle_801CE19C()

void grCastle_801CE19C ( Ground_GObj * gobj)

◆ grCastle_801CE260()

void grCastle_801CE260 ( Ground_GObj * gobj)

◆ fn_801CE3A0()

void fn_801CE3A0 ( void )

◆ grCastle_801CE3A4()

bool grCastle_801CE3A4 ( Ground_GObj * gobj)

◆ grCastle_801CE3AC_dontinline()

void grCastle_801CE3AC_dontinline ( Ground_GObj * gobj)

◆ grCastle_801CE3AC()

void grCastle_801CE3AC ( Ground_GObj * gobj)

◆ grCastle_801CE578()

void grCastle_801CE578 ( Ground_GObj * gobj)

◆ grCastle_801CE7E4()

void grCastle_801CE7E4 ( Ground_GObj * gobj)

◆ grCastle_801CE7E8()

void grCastle_801CE7E8 ( Ground_GObj * gobj)

◆ grCastle_801CE858()

bool grCastle_801CE858 ( Ground_GObj * gobj)

◆ grCastle_801CE860()

void grCastle_801CE860 ( Ground_GObj * gobj)

◆ grCastle_801CE8E4()

void grCastle_801CE8E4 ( Ground_GObj * gobj)

◆ grCastle_801CE8E8()

void grCastle_801CE8E8 ( Ground_GObj * gobj)

◆ fn_801CE9DC()

void fn_801CE9DC ( void )

◆ grCastle_801CE9E0()

bool grCastle_801CE9E0 ( Ground_GObj * gobj)

◆ grCastle_801CE9E8()

void grCastle_801CE9E8 ( Ground_GObj * gobj)

◆ grCastle_801CEAC8()

void grCastle_801CEAC8 ( Ground_GObj * gobj)

◆ zero()

void zero ( Ground * gp,
int i,
f32 zero )
inline

◆ grCastle_801CEACC()

void grCastle_801CEACC ( Ground_GObj * gobj)

◆ grCastle_801CEEFC()

bool grCastle_801CEEFC ( Ground_GObj * gobj)

◆ grCastle_801CEF04()

void grCastle_801CEF04 ( Ground_GObj * gobj)

◆ grCastle_801CF0F0()

void grCastle_801CF0F0 ( Ground_GObj * gobj)

◆ grCastle_801CF0F4()

void grCastle_801CF0F4 ( Ground_GObj * gobj)

◆ grCastle_801CF300()

bool grCastle_801CF300 ( Ground_GObj * gobj)

◆ grCastle_801CF308()

void grCastle_801CF308 ( Ground_GObj * gobj)

◆ grCastle_801CF74C()

void grCastle_801CF74C ( Ground_GObj * gobj)

◆ grCastle_801CF750()

void grCastle_801CF750 ( Ground * gp,
s32 arg1,
CollData * cd,
s32 arg3,
mpLib_GroundEnum arg4,
f32 arg5 )

◆ grCastle_801CF7B0()

void grCastle_801CF7B0 ( Ground_GObj * gobj)

◆ grCastle_801CF868()

HSD_JObj * grCastle_801CF868 ( Ground_GObj * gobj)

◆ fn_801CFAFC()

void fn_801CFAFC ( Item_GObj * item,
Ground * gp,
Vec3 * pos,
HSD_GObj * gobj )

◆ fn_801CFB68()

void fn_801CFB68 ( Item_GObj * item_gobj,
Ground * gp,
HSD_GObj * gobj )

◆ grCastle_801CFBD4()

s32 grCastle_801CFBD4 ( Ground_GObj * gobj,
s32 arg1 )

◆ grCastle_801D0298()

bool grCastle_801D0298 ( Ground_GObj * gobj,
s32 arg1 )

◆ grCastle_801D02B8()

void grCastle_801D02B8 ( Ground_GObj * gobj)

◆ grCastle_801D0520()

void grCastle_801D0520 ( Ground_GObj * gobj,
int renderpass )

◆ grCastle_801D0550_sub()

void grCastle_801D0550_sub ( unkCastle * arg0,
s32 i )
inlinestatic

◆ grCastle_801D0550()

void grCastle_801D0550 ( void * arg0,
unkCastle * arg1 )

◆ grCastle_801D059C()

void grCastle_801D059C ( void * arg0,
unkCastle * arg1 )

◆ grCastle_801D05E8()

void grCastle_801D05E8 ( void * arg0,
unkCastle * arg1 )

◆ grCastle_801D0634()

void grCastle_801D0634 ( void * arg0,
unkCastle * arg1 )

◆ grCastle_801D0680()

void grCastle_801D0680 ( void * arg0,
unkCastle * arg1 )

◆ grCastle_801D06CC_sub()

void grCastle_801D06CC_sub ( unkCastle * arg0,
Ground_GObj * gobj,
s32 i )
static

◆ grCastle_801D06CC()

void grCastle_801D06CC ( void * arg0,
unkCastle * arg1,
Ground_GObj * gobj )

◆ grCastle_801D0744()

void grCastle_801D0744 ( void * arg0,
unkCastle * arg1,
Ground_GObj * gobj )

◆ grCastle_801D07BC()

void grCastle_801D07BC ( void * arg0,
unkCastle * arg1,
Ground_GObj * gobj )

◆ grCastle_801D0834()

void grCastle_801D0834 ( void * arg0,
unkCastle * arg1,
Ground_GObj * gobj )

◆ grCastle_801D08AC()

void grCastle_801D08AC ( void * arg0,
unkCastle * arg1,
Ground_GObj * gobj )

◆ fn_801D0924()

void fn_801D0924 ( HSD_GObj * gobj,
int renderpass )

◆ grCastle_801D09B8()

bool grCastle_801D09B8 ( void * unused,
HSD_GObj * gobj,
Vec3 * arg2 )

◆ grCastle_801D0B04()

DynamicsDesc * grCastle_801D0B04 ( enum_t arg)

◆ grCastle_801D0B0C()

bool grCastle_801D0B0C ( Vec3 * v,
int arg1,
HSD_JObj * jobj )

◆ grCastle_801D0A9C()

void grCastle_801D0A9C ( Vec3 * arg0,
f32 arg8 )

◆ grCastle_801D0BBC()

void grCastle_801D0BBC ( void )

◆ grCastle_801D0D24()

void grCastle_801D0D24 ( void )

◆ grCastle_801D0D84()

void grCastle_801D0D84 ( HSD_JObj * jobj)

◆ grCastle_801D0FF0()

f32 grCastle_801D0FF0 ( void )

Variable Documentation

◆ grCs_803B7F28

const unkCastleCallback grCs_803B7F28[5]
static
Initial value:
= {
}
void grCastle_801D05E8(void *arg0, unkCastle *arg1)
Definition grcastle.c:1752
void grCastle_801D0550(void *arg0, unkCastle *arg1)
Definition grcastle.c:1740
void grCastle_801D0634(void *arg0, unkCastle *arg1)
Definition grcastle.c:1758
void grCastle_801D059C(void *arg0, unkCastle *arg1)
Definition grcastle.c:1746
void grCastle_801D0680(void *arg0, unkCastle *arg1)
Definition grcastle.c:1764

◆ grCs_803B7F3C

const unkCastleCallback2 grCs_803B7F3C[5]
static
Initial value:
= {
}
void grCastle_801D0744(void *arg0, unkCastle *arg1, Ground_GObj *gobj)
Definition grcastle.c:1785
void grCastle_801D07BC(void *arg0, unkCastle *arg1, Ground_GObj *gobj)
Definition grcastle.c:1790
void grCastle_801D06CC(void *arg0, unkCastle *arg1, Ground_GObj *gobj)
Definition grcastle.c:1780
void grCastle_801D0834(void *arg0, unkCastle *arg1, Ground_GObj *gobj)
Definition grcastle.c:1795
void grCastle_801D08AC(void *arg0, unkCastle *arg1, Ground_GObj *gobj)
Definition grcastle.c:1800

◆ grCs_803E0FE8

S16Vec3 grCs_803E0FE8[]
Initial value:
= {
{ 4, 6, 1 },
{ 5, 6, 4 },
}

◆ grCs_803E0FF4

StageCallbacks grCs_803E0FF4[21]

◆ grCs_803E1198

char grCs_803E1198[] = "/GrCs.dat"

◆ grCs_803E11A4

StageData grCs_803E11A4
Initial value:
= {
(1 << 0),
2,
}
char grCs_803E1198[]
Definition grcastle.c:101
S16Vec3 grCs_803E0FE8[]
Definition grcastle.c:52
void grCastle_801CD4A0(void)
Definition grcastle.c:307
bool grCastle_801D0B0C(Vec3 *v, int arg1, HSD_JObj *jobj)
Definition grcastle.c:1863
void grCastle_801CD338(bool arg0)
Definition grcastle.c:257
DynamicsDesc * grCastle_801D0B04(enum_t arg)
Definition grcastle.c:1858
bool grCastle_801CD4C8(void)
Definition grcastle.c:314
void grCastle_801CD37C(void)
Definition grcastle.c:271
void grCastle_801CD4A4(void)
Definition grcastle.c:309
StageCallbacks grCs_803E0FF4[21]
Definition grcastle.c:57
@ CASTLE
Princess Peach's Castle.
Definition forward.h:50

◆ grCs_804D45E0

f32 grCs_804D45E0 = 0.017453292f
static

◆ grCs_804D45E4

u8 grCs_804D45E4 = 1
static

◆ grCs_804D6970

grCastleParams* grCs_804D6970
static

◆ grCs_804D6974

struct lb_80011A50_t* grCs_804D6974
static

◆ grCs_803B7EB8

const Quaternion grCs_803B7EB8 = { 0.0f, 0.0f, 0.0f, 1.0f }
static

◆ grCs_803B7EC8

const grCastle_BlinkTable grCs_803B7EC8
static
Initial value:
= {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
}

◆ grCs_803B7E9C

const Vec3 grCs_803B7E9C = { -257.0f, 13.5f, -252.0f }
static

◆ grCs_803B7EA8

const grCastle_DynEntries grCs_803B7EA8
static
Initial value:
= { {
{ 66, 6 },
{ 76, 6 },
{ 85, 6 },
{ 94, 6 },
} }

◆ grCs_803B7F50

const grCastle_YOffsets grCs_803B7F50
static
Initial value:
= { {
4.0f,
6.0f,
7.0f,
6.0f,
4.0f,
-1.0f,
} }

◆ grCs_803B7EF0

const grCastle_WeightTable grCs_803B7EF0 = { { 0, 0, 0 } }
static

◆ grCs_803B7EFC

const grCastle_TargetTable grCs_803B7EFC
static
Initial value:
= { {
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
} }