SSBM Decomp
Loading...
Searching...
No Matches
ground.c File Reference
#include <placeholder.h>
#include "gr/forward.h"
#include "ground.h"
#include "grcorneria.h"
#include "grdatfiles.h"
#include "grdisplay.h"
#include "grizumi.h"
#include "grkongo.h"
#include "grmaterial.h"
#include "groldkongo.h"
#include "grstadium.h"
#include "grzebes.h"
#include "stage.h"
#include "cm/camera.h"
#include "ft/ftdevice.h"
#include "gm/gm_1601.h"
#include "it/it_266F.h"
#include "it/it_26B1.h"
#include "it/it_2725.h"
#include "it/items/it_27CF.h"
#include "it/types.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lbaudio_ax.h"
#include "lb/lbdvd.h"
#include "lb/lbshadow.h"
#include "lb/lbvector.h"
#include "mp/mpcoll.h"
#include "mp/mplib.h"
#include "pl/player.h"
#include "ty/toy.h"
#include "un/un_2FC9.h"
#include <common_structs.h>
#include <math.h>
#include <math_ppc.h>
#include <trigf.h>
#include <dolphin/gx/types.h>
#include <dolphin/mtx/vec.h>
#include <dolphin/os/OSError.h>
#include <baselib/cobj.h>
#include <baselib/debug.h>
#include <baselib/fog.h>
#include <baselib/gobj.h>
#include <baselib/gobjgxlink.h>
#include <baselib/gobjobject.h>
#include <baselib/gobjplink.h>
#include <baselib/gobjproc.h>
#include <baselib/gobjuserdata.h>
#include <baselib/jobj.h>
#include <baselib/lobj.h>
#include <baselib/memory.h>
#include <baselib/particle.h>
#include <baselib/psstructs.h>
#include <baselib/random.h>
#include <baselib/spline.h>
#include <baselib/wobj.h>

Data Structures

struct  mapData
 
struct  Node
 
struct  a
 

Macros

#define _BUFFER_SZ   (64)
 
#define assert_line(line, cond)    ((cond) ? (void) 0 : __assert("ground.c", line, #cond))
 
#define RANDI_MAX   (100)
 

Functions

static void Ground_801BFFA8 (void)
 
static void Ground_801BFFAC (bool)
 
static bool Ground_801C0A70 (Vec3 *pos)
 
static void Ground_801C0C2C (HSD_GObj *)
 
static void Ground_801C1CD0 (HSD_GObj *)
 
static void Ground_801C1D38 (HSD_GObj *)
 
static void Ground_801C1E2C (HSD_GObj *gobj, int code)
 
static void Ground_801C1E94 (void)
 
static UNK_T Ground_801C20E0 (UnkArchiveStruct *, UNK_T)
 
static bool Ground_801C24F8 (s32, u32, s32 *)
 
static void Ground_801C28CC (void *, s32)
 
static void Ground_801C2BBC (HSD_GObj *, s32)
 
static void Ground_801C2BD4 (void *)
 
static void Ground_801C34AC (s32, HSD_JObj *, struct HSD_Joint *)
 
static void Ground_801C466C (void)
 
static void Ground_801C55AC (Ground *)
 
static void Ground_801C5878 (void)
 
static f32 fabsf (f32 x)
 
static void zeroStageInfoArrays (void)
 
void Ground_801BFFB0 (void)
 
static void zeroBuffer (void)
 
void Ground_801C0378 (int arg0)
 
void Ground_801C0478 (void *ptr)
 
f32 Ground_801C0498 (void)
 
void Ground_801C04BC (f32 arg8)
 
s32 Ground_801C0508 (void)
 
void Ground_801C052C (s32 *arg0)
 
void Ground_801C0544 (s32 *arg0)
 
void Ground_801C055C (s32 *arg0)
 
void Ground_801C0574 (s32 *arg0)
 
void Ground_801C058C (s32 *arg0)
 
void Ground_801C05A4 (s32 *arg0)
 
void Ground_801C05BC (s32 *arg0)
 
void Ground_801C05D4 (s32 *arg0)
 
void Ground_801C05EC (s32 *arg0)
 
s32Ground_801C0604 (void)
 
s32Ground_801C0618 (void)
 
s32Ground_801C062C (void)
 
s32Ground_801C0640 (void)
 
s32Ground_801C0654 (void)
 
s32Ground_801C0668 (void)
 
s32Ground_801C067C (void)
 
s32Ground_801C0690 (void)
 
s32Ground_801C06A4 (void)
 
void Ground_801C06B8 (InternalStageId arg0)
 
void Ground_801C0754 (StructPairWithStageID *pair)
 
void Ground_801C0800 (StructPairWithStageID *pair)
 
void Ground_801C0F78 (StructPairWithStageID *pair)
 #void Ground_801C0C2C
 
void Ground_801C0FB8 (StructPairWithStageID *pair)
 
void Ground_801C1074 (StructPairWithStageID *pair, s32 arg1)
 
void Ground_801C10B8 (HSD_GObj *arg0, HSD_GObjEvent arg1)
 
void Ground_801C1154 (void)
 
void Ground_801C1158 (void)
 
void Ground_801C11AC (HSD_GObj *gobj)
 
static HSD_JointGround_801C126C (HSD_Joint *node, s32 *depth)
 
HSD_JObjGround_801C13D0 (s32 arg0, s32 depth)
 
void * alloc_user_data_ground (void)
 
HSD_GObjGround_801C14D0 (int map_id)
 
HSD_GObjGround_801C1A20 (HSD_Joint *arg0, s32 arg1)
 
void Ground_801C1D6C (u32 arg0)
 
u32 Ground_801C1D84 (void)
 
u32 Ground_801C1D98 (void)
 
u32 Ground_801C1DAC (void)
 
u32 Ground_801C1DC0 (void)
 
s16 Ground_801C1DD4 (void)
 
void Ground_801C1DE4 (s32 *arg0, s32 *arg1)
 
void Ground_801C1E00 (s32 arg0)
 
s32 Ground_801C1E18 (void)
 
void * Ground_801C1E84 (void)
 
HSD_FogDescfoo (void)
 
void Ground_801C1FFC (void)
 
void Ground_801C205C (GXColor *color)
 
bool Ground_801C2090 (GXColor *color)
 
f32 Ground_801C20D0 (void)
 
void Ground_801C2374 (HSD_LObj *lobj)
 Ground_801C20E0
 
HSD_SplineGround_801C247C (s32 arg0, s32 arg1)
 
bool Ground_801C28AC (s32 arg0, u32 arg1, s32 *arg2)
 
u8Ground_801C2AD8 (void)
 Ground_801C28CC
 
f32 Ground_801C2AE8 (s32 arg0)
 
HSD_GObjGround_801C2BA4 (s32 i)
 
bool Ground_801C2C8C (void *arg0)
 
HSD_JObjGround_801C2CF4 (s32 i)
 
void Ground_801C2D0C (s32 i, HSD_JObj *jobj)
 
bool Ground_801C2D24 (enum_t arg0, Vec3 *arg1)
 
bool Ground_801C2ED0 (HSD_JObj *jobj, s32 arg1)
 
bool Ground_801C3128 (s32 arg0, void(*arg1)(s32))
 Ground_801C2FE0
 
bool Ground_801C3214 (int arg0)
 
bool Ground_801C3260 (s32 arg0)
 
void Ground_801C32AC (s32 arg0)
 
s32 Ground_801C32D4 (s32 arg0, s32 arg1)
 
s32 Ground_801C33C0 (s32 arg0, s32 arg1)
 
void Ground_801C36F4 (int map_id, HSD_JObj *root, UNK_T joint)
 #void Ground_801C34AC
 
void Ground_801C3880 (f32 val)
 
void Ground_801C3890 (f32 val)
 
void Ground_801C38A0 (f32 val)
 
void Ground_801C38AC (f32 val)
 
void Ground_801C38BC (f32 x, f32 y)
 
void Ground_801C38D0 (f32 tilt, f32 pan, f32 a, f32 b)
 
void Ground_801C38EC (f32 depth, f32 zoom)
 
void Ground_801C3900 (f32 arg8, f32 arg9, f32 argA, f32 argB, f32 up, f32 down, f32 left, f32 right)
 
void Ground_801C392C (f32 x, f32 y, f32 z, f32 fov, f32 vert, f32 horz)
 
void Ground_801C3950 (f32 zoom)
 
void Ground_801C3960 (f32 ratio)
 
void Ground_801C3970 (f32 smooth)
 
void Ground_801C3980 (f32 top)
 
void Ground_801C3990 (f32 bottom)
 
void Ground_801C39A0 (f32 left)
 
void Ground_801C39B0 (f32 right)
 
void Ground_801C39C0 (void)
 
void Ground_801C3BB4 (void)
 
s32 Ground_801C3D44 (s32 arg0, f32 arg8, f32 arg9)
 
s32 Ground_801C3DB4 (s32 arg0, f32 arg8, f32 arg9)
 
static HSD_AObjGround_801C3E18 (HSD_JObj *jobj)
 
f32 Ground_801C3F20 (HSD_JObj *arg0)
 
HSD_JObjGround_801C3FA4 (HSD_GObj *gobj, int depth)
 
HSD_JObjGround_801C4100 (HSD_JObj *jobj)
 
s32 Ground_801C4210 (void)
 
void Ground_801C42AC (void)
 
void Ground_801C4338 (void)
 
void Ground_801C4368 (f32 *slope, f32 *intercept)
 
void Ground_801C438C (f32 val)
 
void Ground_801C43A4 (UNK_T arg0)
 
bool Ground_801C43C4 (void *arg0)
 
void Ground_801C445C (HSD_LObj *lobj)
 
static void Ground_801C461C (HSD_GObj *gobj)
 
static void Ground_801C4640 (HSD_GObj *gobj)
 
HSD_GObjGround_801C498C (void)
 Ground_801C466C
 
UNK_T Ground_801C49B4 (void)
 
void * Ground_801C49F8 (void)
 
static void removeStageGObj (HSD_GObj *gobj)
 
void Ground_801C4A08 (HSD_GObj *gobj)
 
void Ground_801C4B50 (s32 arg0, s32 arg1, Vec3 *result, f32 arg8)
 
bool Ground_801C4D70 (HSD_GObj *arg0, Vec3 *arg1, f32 arg8)
 
bool Ground_801C4DA0 (Vec3 *arg0, f32 *arg1)
 
bool Ground_801C4DD0 (void)
 
bool Ground_801C4E20 (void)
 
void Ground_801C4E70 (HSD_JObj *arg0, HSD_JObj *arg1, HSD_JObj *arg2, HSD_JObj *arg3, HSD_JObj *arg4, HSD_JObj *arg5)
 
void Ground_801C4FAC (HSD_CObj *cobj)
 
void Ground_801C53EC (u32 arg0)
 
void Ground_801C5414 (int arg0, int arg1)
 
void Ground_801C5440 (Ground *gp, s32 i, u32 arg2)
 
bool Ground_801C54DC (Ground *gp, s32 i)
 
void Ground_801C5544 (Ground *gp, s32 i)
 
void Ground_801C5630 (Ground *gp, s32 i, f32 val)
 
void Ground_801C5694 (Ground *gp, s32 i, f32 val)
 
DynamicsDescGround_801C5700 (int i)
 
void Ground_801C5740 (s32 arg0)
 
void Ground_801C5750 (void)
 
s32 Ground_801C5764 (void)
 
s16 Ground_801C5774 (void)
 
void Ground_801C5784 (s32 arg0)
 
s32 Ground_801C5794 (void)
 
HSD_GObjGround_801C57A4 (void)
 
HSD_GObjGround_801C57C8 (void)
 
f32 Ground_801C57F0 (void)
 
void Ground_801C5800 (void)
 
s32 Ground_801C5840 (void)
 
Item_GObjGround_801C58E0 (s32 arg0, s32 arg1)
 
static s32 randi (s32 max)
 
int Ground_801C5940 (void)
 
void Ground_801C5A28 (void)
 
void Ground_801C5A60 (void)
 
void Ground_801C5A84 (s32 arg0)
 
s32 Ground_801C5A94 (void)
 
void Ground_801C5AA4 (bool arg0)
 
bool Ground_801C5ABC (void)
 
u32 Ground_801C5AD0 (s32 i)
 
void Ground_801C5AEC (Vec3 *v, Vec3 *arg1, Vec3 *arg2, Vec3 *arg3)
 

Variables

StageInfo stage_info
 
static StageData Ground_803DFEA8
 
StageData grTe_803E5764
 
StageData grCs_803E11A4
 
StageData grRc_803E4ECC
 
StageData grKg_803E1800
 
StageData grGd_803E52E0
 
StageData grGb_803E3F6C
 
StageData grSh_803E5130
 
StageData grZe_803E1B2C
 
StageData grKr_803E4D0C
 
StageData grSt_803E274C
 
StageData grYt_803E51CC
 
StageData grIz_803E0E5C
 
StageData grGr_803E76D0
 
StageData grCn_803E1F08
 
StageData grVe_803E54CC
 
StageData grPs_803E1334
 
StageData grPu_803E6A3C
 
StageData grMc_803E33DC
 
StageData grBb_803E2D20
 
StageData grOt_803E2858
 
StageData grFs_803E3D94
 
StageData grIm_803E4800
 
StageData grI1_803E4950
 
StageData grI2_803E4C00
 
StageData grFz_803E7A00
 
StageData grOp_803E6748
 
StageData grOy_803E650C
 
StageData grOk_803E65E8
 
StageData grNKr_803E584C
 
StageData grSh_Route_803E5988
 
StageData grZe_Route_803E5E0C
 
StageData grBb_Route_803E617C
 
StageData grNBa_803E7E38
 
StageData grNLa_803E7F90
 
StageData grFigureGet_803E7D34
 
StageData grPushOn_803E7B10
 
StageData grTMr_803E85A4
 
StageData grTCa_803E8664
 
StageData grTCLink_803E872C
 
StageData grTDk_803E87EC
 
StageData grTDr_803E88AC
 
StageData grTFc_803E8974
 
StageData grTFx_803E8A34
 
StageData grTIc_803E8AF4
 
StageData grTKb_803E8C0C
 
StageData grTKp_803E8CCC
 
StageData grTLk_803E8D8C
 
StageData grTLg_803E8E4C
 
StageData grTMs_803E8F0C
 
StageData grTMewtwo_803E8FCC
 
StageData grTNs_803E908C
 
StageData grTPe_803E914C
 
StageData grTPc_803E920C
 
StageData grTPk_803E92CC
 
StageData grTPr_803E9394
 
StageData grTSs_803E9454
 
StageData grTSk_803E9514
 
StageData grTYs_803E95D4
 
StageData grTZd_803E9694
 
StageData grTGw_803E9754
 
StageData grTFe_803E981C
 
StageData grTGn_803E98DC
 
StageData grHeal_803E84C4
 
StageData grHr_803E821C
 
StageData grEF1_803E62C0
 
StageData grEF2_803E6370
 
StageData grEF2_803E6420
 
static StageDataGround_803DFEDC []
 
static u8Ground_804D6950
 
static char get_userdata_ground [] = "%s:%d: couldn t get user data(Ground)\n"
 
int const Ground_803B7DEC []
 
HSD_Joint const Ground_803B7E0C
 
static char Ground_804D44F8 [8] = "archive"
 
static char get_jobj [] = "%s:%d: couldn t get jobj\n"
 
static char get_gobj [] = "%s:%d: couldn t get gobj!\n"
 
char lightset [9] = "lightset"
 
char plightset [10] = "*lightset"
 
static const int BGM_Undefined = -1
 
static char msg0 []
 
static char msg1 []
 
static char msg2 [] = " stageid=%d\n"
 
static const int Gr_CObj_Max = 4
 
static s16 Ground_804D6954
 
u32 unknown []
 
UNK_T Ground_803E06C8 []
 
float Ground_803E065C [] = { 0, 0, 0, 0 }
 
float Ground_803E066C [] = { 0, 0.57, 0.57, 0.57, 0 }
 
struct Node Ground_804D4500 = { Ground_803E065C, NULL }
 
float Ground_804D4508 = 16
 
struct a Ground_803E0680
 
UNK_T Ground_803E069C [] = { NULL, NULL, NULL, NULL }
 
SDATA UNK_T Ground_804D450C [] = { &Ground_803E0680, &Ground_804D4500 }
 
SDATA UNK_T Ground_804D4514 [] = { &Ground_803E069C, NULL }
 
struct a Ground_803E06AC = { NULL, NULL, 0x40000, -1, NULL, NULL, NULL }
 
SDATA UNK_T Ground_804D451C [] = { &Ground_803E06AC, &Ground_804D4514 }
 
SDATA char Ground_804D4524 [] = "fog.h"
 
SDATA char Ground_804D452C [] = "fog"
 

Detailed Description

Todo:
Don't hardcode 8

Macro Definition Documentation

◆ _BUFFER_SZ

#define _BUFFER_SZ   (64)

◆ assert_line

#define assert_line (   line,
  cond 
)     ((cond) ? (void) 0 : __assert("ground.c", line, #cond))

◆ RANDI_MAX

#define RANDI_MAX   (100)

Function Documentation

◆ Ground_801BFFA8()

static void Ground_801BFFA8 ( void  )
static

◆ Ground_801BFFAC()

static void Ground_801BFFAC ( bool  arg0)
static

◆ Ground_801C0A70()

static bool Ground_801C0A70 ( Vec3 pos)
static

◆ Ground_801C0C2C()

static void Ground_801C0C2C ( HSD_GObj )
static

◆ Ground_801C1CD0()

static void Ground_801C1CD0 ( HSD_GObj gobj)
static

◆ Ground_801C1D38()

static void Ground_801C1D38 ( HSD_GObj gobj)
static

◆ Ground_801C1E2C()

void Ground_801C1E2C ( HSD_GObj gobj,
int  code 
)
static

◆ Ground_801C1E94()

void Ground_801C1E94 ( void  )
static

◆ Ground_801C20E0()

static UNK_T Ground_801C20E0 ( UnkArchiveStruct ,
UNK_T   
)
static

◆ Ground_801C24F8()

static bool Ground_801C24F8 ( s32  arg0,
u32  arg1,
s32 arg2 
)
static
Todo:
phi_r30 probably belongs to an inline.
Todo:
Weird comparison, but typing UnkBgmStruct::x10 as signed doesn't match and neither does typing BGM_Undefined as unsigned.
Todo:
Even weirder.

◆ Ground_801C28CC()

static void Ground_801C28CC ( void *  ,
s32   
)
static

◆ Ground_801C2BBC()

static void Ground_801C2BBC ( HSD_GObj arg0,
s32  i 
)
static

◆ Ground_801C2BD4()

static void Ground_801C2BD4 ( void *  arg0)
static

◆ Ground_801C34AC()

static void Ground_801C34AC ( s32  ,
HSD_JObj ,
struct HSD_Joint  
)
static

◆ Ground_801C466C()

static void Ground_801C466C ( void  )
static

◆ Ground_801C55AC()

static void Ground_801C55AC ( Ground gp)
static

◆ Ground_801C5878()

void Ground_801C5878 ( void  )
static

◆ fabsf()

static f32 fabsf ( f32  x)
inlinestatic
Todo:
Move elsewhere.

◆ zeroStageInfoArrays()

static void zeroStageInfoArrays ( void  )
static

◆ Ground_801BFFB0()

void Ground_801BFFB0 ( void  )

◆ zeroBuffer()

static void zeroBuffer ( void  )
static

◆ Ground_801C0378()

void Ground_801C0378 ( int  arg0)

◆ Ground_801C0478()

void Ground_801C0478 ( void *  ptr)

◆ Ground_801C0498()

f32 Ground_801C0498 ( void  )

◆ Ground_801C04BC()

void Ground_801C04BC ( f32  arg8)

◆ Ground_801C0508()

s32 Ground_801C0508 ( void  )

◆ Ground_801C052C()

void Ground_801C052C ( s32 arg0)

◆ Ground_801C0544()

void Ground_801C0544 ( s32 arg0)

◆ Ground_801C055C()

void Ground_801C055C ( s32 arg0)

◆ Ground_801C0574()

void Ground_801C0574 ( s32 arg0)

◆ Ground_801C058C()

void Ground_801C058C ( s32 arg0)

◆ Ground_801C05A4()

void Ground_801C05A4 ( s32 arg0)

◆ Ground_801C05BC()

void Ground_801C05BC ( s32 arg0)

◆ Ground_801C05D4()

void Ground_801C05D4 ( s32 arg0)

◆ Ground_801C05EC()

void Ground_801C05EC ( s32 arg0)

◆ Ground_801C0604()

s32 * Ground_801C0604 ( void  )

◆ Ground_801C0618()

s32 * Ground_801C0618 ( void  )

◆ Ground_801C062C()

s32 * Ground_801C062C ( void  )

◆ Ground_801C0640()

s32 * Ground_801C0640 ( void  )

◆ Ground_801C0654()

s32 * Ground_801C0654 ( void  )

◆ Ground_801C0668()

s32 * Ground_801C0668 ( void  )

◆ Ground_801C067C()

s32 * Ground_801C067C ( void  )

◆ Ground_801C0690()

s32 * Ground_801C0690 ( void  )

◆ Ground_801C06A4()

s32 * Ground_801C06A4 ( void  )

◆ Ground_801C06B8()

void Ground_801C06B8 ( InternalStageId  arg0)

◆ Ground_801C0754()

void Ground_801C0754 ( StructPairWithStageID pair)

◆ Ground_801C0800()

void Ground_801C0800 ( StructPairWithStageID pair)

◆ Ground_801C0F78()

void Ground_801C0F78 ( StructPairWithStageID pair)

#void Ground_801C0C2C

◆ Ground_801C0FB8()

void Ground_801C0FB8 ( StructPairWithStageID pair)

◆ Ground_801C1074()

void Ground_801C1074 ( StructPairWithStageID pair,
s32  arg1 
)

◆ Ground_801C10B8()

void Ground_801C10B8 ( HSD_GObj arg0,
HSD_GObjEvent  arg1 
)

◆ Ground_801C1154()

void Ground_801C1154 ( void  )

◆ Ground_801C1158()

void Ground_801C1158 ( void  )

◆ Ground_801C11AC()

void Ground_801C11AC ( HSD_GObj gobj)

◆ Ground_801C126C()

static HSD_Joint * Ground_801C126C ( HSD_Joint node,
s32 depth 
)
static

◆ Ground_801C13D0()

HSD_JObj * Ground_801C13D0 ( s32  arg0,
s32  depth 
)

◆ alloc_user_data_ground()

void * alloc_user_data_ground ( void  )
inline

◆ Ground_801C14D0()

HSD_GObj * Ground_801C14D0 ( int  map_id)

◆ Ground_801C1A20()

HSD_GObj * Ground_801C1A20 ( HSD_Joint arg0,
s32  arg1 
)

◆ Ground_801C1D6C()

void Ground_801C1D6C ( u32  arg0)

◆ Ground_801C1D84()

u32 Ground_801C1D84 ( void  )

◆ Ground_801C1D98()

u32 Ground_801C1D98 ( void  )

◆ Ground_801C1DAC()

u32 Ground_801C1DAC ( void  )

◆ Ground_801C1DC0()

u32 Ground_801C1DC0 ( void  )

◆ Ground_801C1DD4()

s16 Ground_801C1DD4 ( void  )

◆ Ground_801C1DE4()

void Ground_801C1DE4 ( s32 arg0,
s32 arg1 
)

◆ Ground_801C1E00()

void Ground_801C1E00 ( s32  arg0)

◆ Ground_801C1E18()

s32 Ground_801C1E18 ( void  )

◆ Ground_801C1E84()

void * Ground_801C1E84 ( void  )

◆ foo()

HSD_FogDesc * foo ( void  )
inline

◆ Ground_801C1FFC()

void Ground_801C1FFC ( void  )

◆ Ground_801C205C()

void Ground_801C205C ( GXColor color)

◆ Ground_801C2090()

bool Ground_801C2090 ( GXColor color)

◆ Ground_801C20D0()

f32 Ground_801C20D0 ( void  )

◆ Ground_801C2374()

void Ground_801C2374 ( HSD_LObj lobj)

◆ Ground_801C247C()

HSD_Spline * Ground_801C247C ( s32  arg0,
s32  arg1 
)

◆ Ground_801C28AC()

bool Ground_801C28AC ( s32  arg0,
u32  arg1,
s32 arg2 
)

◆ Ground_801C2AD8()

u8 * Ground_801C2AD8 ( void  )

◆ Ground_801C2AE8()

f32 Ground_801C2AE8 ( s32  arg0)

◆ Ground_801C2BA4()

HSD_GObj * Ground_801C2BA4 ( s32  i)

◆ Ground_801C2C8C()

bool Ground_801C2C8C ( void *  arg0)

◆ Ground_801C2CF4()

HSD_JObj * Ground_801C2CF4 ( s32  i)

◆ Ground_801C2D0C()

void Ground_801C2D0C ( s32  i,
HSD_JObj jobj 
)

◆ Ground_801C2D24()

bool Ground_801C2D24 ( enum_t  arg0,
Vec3 arg1 
)

◆ Ground_801C2ED0()

bool Ground_801C2ED0 ( HSD_JObj jobj,
s32  arg1 
)

◆ Ground_801C3128()

bool Ground_801C3128 ( s32  arg0,
void(*)(s32 arg1 
)

Ground_801C2FE0

Todo:
Unused variable; is this an argument?
Todo:
cur cannot be swapped below max, hinting at a missing inline function.

◆ Ground_801C3214()

bool Ground_801C3214 ( int  arg0)

◆ Ground_801C3260()

bool Ground_801C3260 ( s32  arg0)

◆ Ground_801C32AC()

void Ground_801C32AC ( s32  arg0)

◆ Ground_801C32D4()

s32 Ground_801C32D4 ( s32  arg0,
s32  arg1 
)
Todo:
Shared inline with Ground_801C33C0.
Todo:
Might be an inline starting here.

◆ Ground_801C33C0()

s32 Ground_801C33C0 ( s32  arg0,
s32  arg1 
)
Attention
x and z being swapped compared to Ground_801C32D4 is the only difference.
Todo:
Might be an inline starting here.

◆ Ground_801C36F4()

void Ground_801C36F4 ( int  map_id,
HSD_JObj root,
UNK_T  joint 
)

#void Ground_801C34AC

◆ Ground_801C3880()

void Ground_801C3880 ( f32  val)

◆ Ground_801C3890()

void Ground_801C3890 ( f32  val)

◆ Ground_801C38A0()

void Ground_801C38A0 ( f32  val)

◆ Ground_801C38AC()

void Ground_801C38AC ( f32  val)

◆ Ground_801C38BC()

void Ground_801C38BC ( f32  x,
f32  y 
)

◆ Ground_801C38D0()

void Ground_801C38D0 ( f32  tilt,
f32  pan,
f32  a,
f32  b 
)

◆ Ground_801C38EC()

void Ground_801C38EC ( f32  depth,
f32  zoom 
)

◆ Ground_801C3900()

void Ground_801C3900 ( f32  arg8,
f32  arg9,
f32  argA,
f32  argB,
f32  up,
f32  down,
f32  left,
f32  right 
)

◆ Ground_801C392C()

void Ground_801C392C ( f32  x,
f32  y,
f32  z,
f32  fov,
f32  vert,
f32  horz 
)

◆ Ground_801C3950()

void Ground_801C3950 ( f32  zoom)

◆ Ground_801C3960()

void Ground_801C3960 ( f32  ratio)

◆ Ground_801C3970()

void Ground_801C3970 ( f32  smooth)

◆ Ground_801C3980()

void Ground_801C3980 ( f32  top)

◆ Ground_801C3990()

void Ground_801C3990 ( f32  bottom)

◆ Ground_801C39A0()

void Ground_801C39A0 ( f32  left)

◆ Ground_801C39B0()

void Ground_801C39B0 ( f32  right)

◆ Ground_801C39C0()

void Ground_801C39C0 ( void  )

◆ Ground_801C3BB4()

void Ground_801C3BB4 ( void  )

◆ Ground_801C3D44()

s32 Ground_801C3D44 ( s32  arg0,
f32  arg8,
f32  arg9 
)

◆ Ground_801C3DB4()

s32 Ground_801C3DB4 ( s32  arg0,
f32  arg8,
f32  arg9 
)

◆ Ground_801C3E18()

static HSD_AObj * Ground_801C3E18 ( HSD_JObj jobj)
static

◆ Ground_801C3F20()

f32 Ground_801C3F20 ( HSD_JObj arg0)

◆ Ground_801C3FA4()

HSD_JObj * Ground_801C3FA4 ( HSD_GObj gobj,
int  depth 
)

◆ Ground_801C4100()

HSD_JObj * Ground_801C4100 ( HSD_JObj jobj)
Todo:
Why isn't this emitted to jobj.c?

◆ Ground_801C4210()

s32 Ground_801C4210 ( void  )
Todo:
With a hard-coded range for i, very unlikely it's not returning an enum. Probably preset joints (accesses a list of HSD_JObj).

◆ Ground_801C42AC()

void Ground_801C42AC ( void  )

◆ Ground_801C4338()

void Ground_801C4338 ( void  )

◆ Ground_801C4368()

void Ground_801C4368 ( f32 slope,
f32 intercept 
)

◆ Ground_801C438C()

void Ground_801C438C ( f32  val)

◆ Ground_801C43A4()

void Ground_801C43A4 ( UNK_T  arg0)

◆ Ground_801C43C4()

bool Ground_801C43C4 ( void *  arg0)

◆ Ground_801C445C()

void Ground_801C445C ( HSD_LObj lobj)

◆ Ground_801C461C()

static void Ground_801C461C ( HSD_GObj gobj)
static

◆ Ground_801C4640()

static void Ground_801C4640 ( HSD_GObj gobj)
static

◆ Ground_801C498C()

HSD_GObj * Ground_801C498C ( void  )

◆ Ground_801C49B4()

UNK_T Ground_801C49B4 ( void  )

◆ Ground_801C49F8()

void * Ground_801C49F8 ( void  )

◆ removeStageGObj()

static void removeStageGObj ( HSD_GObj gobj)
inlinestatic

◆ Ground_801C4A08()

void Ground_801C4A08 ( HSD_GObj gobj)

◆ Ground_801C4B50()

void Ground_801C4B50 ( s32  arg0,
s32  arg1,
Vec3 result,
f32  arg3 
)
Parameters
[in]arg0
[in]arg1
[out]result
[in]arg3

◆ Ground_801C4D70()

bool Ground_801C4D70 ( HSD_GObj arg0,
Vec3 arg1,
f32  arg8 
)

◆ Ground_801C4DA0()

bool Ground_801C4DA0 ( Vec3 arg0,
f32 arg1 
)

◆ Ground_801C4DD0()

bool Ground_801C4DD0 ( void  )

◆ Ground_801C4E20()

bool Ground_801C4E20 ( void  )

◆ Ground_801C4E70()

void Ground_801C4E70 ( HSD_JObj arg0,
HSD_JObj arg1,
HSD_JObj arg2,
HSD_JObj arg3,
HSD_JObj arg4,
HSD_JObj arg5 
)

◆ Ground_801C4FAC()

void Ground_801C4FAC ( HSD_CObj cobj)

◆ Ground_801C53EC()

void Ground_801C53EC ( u32  arg0)

◆ Ground_801C5414()

void Ground_801C5414 ( int  arg0,
int  arg1 
)

◆ Ground_801C5440()

void Ground_801C5440 ( Ground gp,
s32  i,
u32  arg2 
)

◆ Ground_801C54DC()

bool Ground_801C54DC ( Ground gp,
s32  i 
)

◆ Ground_801C5544()

void Ground_801C5544 ( Ground gp,
s32  i 
)

◆ Ground_801C5630()

void Ground_801C5630 ( Ground gp,
s32  i,
f32  val 
)

◆ Ground_801C5694()

void Ground_801C5694 ( Ground gp,
s32  i,
f32  val 
)

◆ Ground_801C5700()

DynamicsDesc * Ground_801C5700 ( int  i)

◆ Ground_801C5740()

void Ground_801C5740 ( s32  arg0)

◆ Ground_801C5750()

void Ground_801C5750 ( void  )

◆ Ground_801C5764()

s32 Ground_801C5764 ( void  )

◆ Ground_801C5774()

s16 Ground_801C5774 ( void  )

◆ Ground_801C5784()

void Ground_801C5784 ( s32  arg0)

◆ Ground_801C5794()

s32 Ground_801C5794 ( void  )

◆ Ground_801C57A4()

HSD_GObj * Ground_801C57A4 ( void  )

◆ Ground_801C57C8()

HSD_GObj * Ground_801C57C8 ( void  )

◆ Ground_801C57F0()

f32 Ground_801C57F0 ( void  )

◆ Ground_801C5800()

void Ground_801C5800 ( void  )

◆ Ground_801C5840()

s32 Ground_801C5840 ( void  )

◆ Ground_801C58E0()

Item_GObj * Ground_801C58E0 ( s32  arg0,
s32  arg1 
)

◆ randi()

static s32 randi ( s32  max)
inlinestatic

◆ Ground_801C5940()

int Ground_801C5940 ( void  )

◆ Ground_801C5A28()

void Ground_801C5A28 ( void  )

◆ Ground_801C5A60()

void Ground_801C5A60 ( void  )

◆ Ground_801C5A84()

void Ground_801C5A84 ( s32  arg0)

◆ Ground_801C5A94()

s32 Ground_801C5A94 ( void  )

◆ Ground_801C5AA4()

void Ground_801C5AA4 ( bool  arg0)

◆ Ground_801C5ABC()

bool Ground_801C5ABC ( void  )

◆ Ground_801C5AD0()

u32 Ground_801C5AD0 ( s32  i)

◆ Ground_801C5AEC()

void Ground_801C5AEC ( Vec3 v,
Vec3 arg1,
Vec3 arg2,
Vec3 arg3 
)

Variable Documentation

◆ stage_info

StageInfo stage_info

◆ Ground_803DFEA8

StageData Ground_803DFEA8
static
Initial value:
= {
0,
0,
0,
}
static void Ground_801BFFA8(void)
Definition ground.c:229
static void Ground_801BFFAC(bool)
Definition ground.c:231
#define NULL
A null pointer.
Definition stddef.h:19

◆ grTe_803E5764

StageData grTe_803E5764

◆ grCs_803E11A4

StageData grCs_803E11A4

◆ grRc_803E4ECC

StageData grRc_803E4ECC

◆ grKg_803E1800

StageData grKg_803E1800

◆ grGd_803E52E0

StageData grGd_803E52E0

◆ grGb_803E3F6C

StageData grGb_803E3F6C

◆ grSh_803E5130

StageData grSh_803E5130

◆ grZe_803E1B2C

StageData grZe_803E1B2C

◆ grKr_803E4D0C

StageData grKr_803E4D0C

◆ grSt_803E274C

StageData grSt_803E274C

◆ grYt_803E51CC

StageData grYt_803E51CC

◆ grIz_803E0E5C

StageData grIz_803E0E5C

◆ grGr_803E76D0

StageData grGr_803E76D0

◆ grCn_803E1F08

StageData grCn_803E1F08

◆ grVe_803E54CC

StageData grVe_803E54CC

◆ grPs_803E1334

StageData grPs_803E1334

◆ grPu_803E6A3C

StageData grPu_803E6A3C

◆ grMc_803E33DC

StageData grMc_803E33DC

◆ grBb_803E2D20

StageData grBb_803E2D20

◆ grOt_803E2858

StageData grOt_803E2858

◆ grFs_803E3D94

StageData grFs_803E3D94

◆ grIm_803E4800

StageData grIm_803E4800

◆ grI1_803E4950

StageData grI1_803E4950

◆ grI2_803E4C00

StageData grI2_803E4C00

◆ grFz_803E7A00

StageData grFz_803E7A00

◆ grOp_803E6748

StageData grOp_803E6748

◆ grOy_803E650C

StageData grOy_803E650C

◆ grOk_803E65E8

StageData grOk_803E65E8

◆ grNKr_803E584C

StageData grNKr_803E584C

◆ grSh_Route_803E5988

StageData grSh_Route_803E5988

◆ grZe_Route_803E5E0C

StageData grZe_Route_803E5E0C

◆ grBb_Route_803E617C

StageData grBb_Route_803E617C

◆ grNBa_803E7E38

StageData grNBa_803E7E38

◆ grNLa_803E7F90

StageData grNLa_803E7F90

◆ grFigureGet_803E7D34

StageData grFigureGet_803E7D34

◆ grPushOn_803E7B10

StageData grPushOn_803E7B10

◆ grTMr_803E85A4

StageData grTMr_803E85A4

◆ grTCa_803E8664

StageData grTCa_803E8664

◆ grTCLink_803E872C

StageData grTCLink_803E872C

◆ grTDk_803E87EC

StageData grTDk_803E87EC

◆ grTDr_803E88AC

StageData grTDr_803E88AC

◆ grTFc_803E8974

StageData grTFc_803E8974

◆ grTFx_803E8A34

StageData grTFx_803E8A34

◆ grTIc_803E8AF4

StageData grTIc_803E8AF4

◆ grTKb_803E8C0C

StageData grTKb_803E8C0C

◆ grTKp_803E8CCC

StageData grTKp_803E8CCC

◆ grTLk_803E8D8C

StageData grTLk_803E8D8C

◆ grTLg_803E8E4C

StageData grTLg_803E8E4C

◆ grTMs_803E8F0C

StageData grTMs_803E8F0C

◆ grTMewtwo_803E8FCC

StageData grTMewtwo_803E8FCC

◆ grTNs_803E908C

StageData grTNs_803E908C

◆ grTPe_803E914C

StageData grTPe_803E914C

◆ grTPc_803E920C

StageData grTPc_803E920C

◆ grTPk_803E92CC

StageData grTPk_803E92CC

◆ grTPr_803E9394

StageData grTPr_803E9394

◆ grTSs_803E9454

StageData grTSs_803E9454

◆ grTSk_803E9514

StageData grTSk_803E9514

◆ grTYs_803E95D4

StageData grTYs_803E95D4

◆ grTZd_803E9694

StageData grTZd_803E9694

◆ grTGw_803E9754

StageData grTGw_803E9754

◆ grTFe_803E981C

StageData grTFe_803E981C

◆ grTGn_803E98DC

StageData grTGn_803E98DC

◆ grHeal_803E84C4

StageData grHeal_803E84C4

◆ grHr_803E821C

StageData grHr_803E821C

◆ grEF1_803E62C0

StageData grEF1_803E62C0

◆ grEF2_803E6370

StageData grEF2_803E6370

◆ grEF2_803E6420

StageData grEF2_803E6420

◆ Ground_803DFEDC

StageData* Ground_803DFEDC[]
static

◆ Ground_804D6950

u8* Ground_804D6950
static

◆ get_userdata_ground

char get_userdata_ground[] = "%s:%d: couldn t get user data(Ground)\n"
static

◆ Ground_803B7DEC

int const Ground_803B7DEC[]
Initial value:
= {
0, 0, 0, 0, 0, 6, 0, 0,
}

◆ Ground_803B7E0C

HSD_Joint const Ground_803B7E0C
Initial value:
= {
NULL, 0, NULL, NULL, NULL,
{ 0, 0, 0 }, { 1, 1, 1 }, { 0, 0, 0 }, NULL, NULL,
}

◆ Ground_804D44F8

char Ground_804D44F8[8] = "archive"
static

◆ get_jobj

char get_jobj[] = "%s:%d: couldn t get jobj\n"
static

◆ get_gobj

char get_gobj[] = "%s:%d: couldn t get gobj!\n"
static

◆ lightset

char lightset[9] = "lightset"
Todo:
attempt decomp once param types are known

◆ plightset

char plightset[10] = "*lightset"

◆ BGM_Undefined

const int BGM_Undefined = -1
static

◆ msg0

char msg0[]
static
Initial value:
=
"%s:%d: not found stage param in DAT(grkind=%d stkind=%d,num=%d)\n"

◆ msg1

char msg1[]
static
Initial value:
=
" check StageParam.csv or StageItem.csv, stdata.c\n"

◆ msg2

char msg2[] = " stageid=%d\n"
static

◆ Gr_CObj_Max

const int Gr_CObj_Max = 4
static

◆ Ground_804D6954

s16 Ground_804D6954
static

◆ unknown

u32 unknown[]

◆ Ground_803E06C8

UNK_T Ground_803E06C8[]
extern

◆ Ground_803E065C

float Ground_803E065C[] = { 0, 0, 0, 0 }

◆ Ground_803E066C

float Ground_803E066C[] = { 0, 0.57, 0.57, 0.57, 0 }

◆ Ground_804D4500

struct Node Ground_804D4500 = { Ground_803E065C, NULL }

◆ Ground_804D4508

float Ground_804D4508 = 16

◆ Ground_803E0680

struct a Ground_803E0680
Initial value:
= {
}
float Ground_804D4508
Definition ground.c:2465
float Ground_803E066C[]
Definition ground.c:2457

◆ Ground_803E069C

UNK_T Ground_803E069C[] = { NULL, NULL, NULL, NULL }

◆ Ground_804D450C

SDATA UNK_T Ground_804D450C[] = { &Ground_803E0680, &Ground_804D4500 }

◆ Ground_804D4514

SDATA UNK_T Ground_804D4514[] = { &Ground_803E069C, NULL }

◆ Ground_803E06AC

struct a Ground_803E06AC = { NULL, NULL, 0x40000, -1, NULL, NULL, NULL }

◆ Ground_804D451C

SDATA UNK_T Ground_804D451C[] = { &Ground_803E06AC, &Ground_804D4514 }

◆ Ground_804D4524

SDATA char Ground_804D4524[] = "fog.h"

◆ Ground_804D452C

SDATA char Ground_804D452C[] = "fog"