SSBM Decomp
Loading...
Searching...
No Matches
grstadium.c File Reference

Data Structures

struct  ImageDescWrapper
 
struct  TextWrapper
 
struct  VecScalar
 

Macros

#define GET_WRAPPER(x)   ((ImageDescWrapper*) HSD_GObjGetUserData(x))
 

Functions

void grStadium_801D1018 (int unused)
 
void grStadium_801D101C (void)
 
void grStadium_801D10C8 (void)
 
void grStadium_801D10CC (void)
 
bool grStadium_801D10F0 (void)
 
Ground_GObjgrStadium_801D10F8 (StadiumGrType id)
 Creates a specific sub-type of Ground_GObj for Pokemon Stadium (e.g.
 
void fn_801D11E4 (Ground_GObj *gobj)
 
void grStadium_801D1290 (Ground_GObj *gobj)
 
bool grStadium_801D1388 (Ground_GObj *gobj)
 
void grStadium_801D1390 (Ground_GObj *gobj)
 
void grStadium_801D13C4 (Ground_GObj *gobj)
 
void fn_801D13C8 (Ground_GObj *gobj)
 
int randi (int i)
 
void grStadium_801D13E0 (Ground_GObj *gobj)
 
bool grStadium_801D1518 (Ground_GObj *gobj)
 
void grStadium_801D1520 (Ground_GObj *gobj)
 
void grStadium_801D156C (Ground_GObj *gobj)
 
void grStadium_801D1570 (Ground_GObj *gobj)
 
bool grStadium_801D15FC (Ground_GObj *gobj)
 
void grStadium_801D1604 (Ground_GObj *gobj)
 
void grStadium_801D1624 (Ground_GObj *gobj)
 
void grStadium_801D1648 (Ground_GObj *gobj)
 
bool grStadium_801D16D4 (Ground_GObj *gobj)
 
void grStadium_801D16DC (Ground_GObj *gobj)
 
void grStadium_801D16FC (Ground_GObj *gobj)
 
void grStadium_801D1720 (Ground_GObj *gobj)
 
bool grStadium_801D17E0 (Ground_GObj *gobj)
 
void grStadium_801D17E8 (Ground_GObj *gobj)
 
void grStadium_801D1808 (Ground_GObj *gobj)
 
void grStadium_801D1840 (Ground_GObj *gobj)
 
bool grStadium_801D19D0 (Ground_GObj *gobj)
 
void grStadium_801D19D8 (Ground_GObj *gobj)
 
void grStadium_801D19F8 (Ground_GObj *gobj)
 
void grStadium_801D1A38 (Ground_GObj *gobj)
 
bool grStadium_801D1B40 (Ground_GObj *gobj)
 
void grStadium_801D1B48 (Ground_GObj *gobj)
 
void grStadium_801D1D84 (Ground_GObj *gobj)
 
void grStadium_801D1DE4 (Ground_GObj *gobj)
 
bool grStadium_801D1E10 (Ground_GObj *gobj)
 
void grStadium_801D1E18 (Ground_GObj *gobj)
 
void grStadium_801D1E1C (Ground_GObj *gobj)
 
void mul_vec (Vec *v, float m)
 
void grStadium_801D1E20 (void)
 
void grStadium_801D1EF8 (Ground_GObj *gobj)
 
void grStadium_801D21E4 (Ground_GObj *gobj, bool arg1)
 
void grStadium_801D2278 (Ground_GObj *gobj)
 
void grStadium_801D2344 (Ground_GObj *g)
 
int randi_between_2 (int a, int b)
 
int randi_between (int a, int b)
 
void grStadium_801D2528 (Ground_GObj *gobj, int arg1, int arg2)
 
void grStadium_801D2A60 (Ground_GObj *gobj)
 
HSD_GObjgrStadium_801D2BEC (void)
 
HSD_GObjgrStadium_801D2D78 (void)
 
HSD_GObjgrStadium_801D2E24 (void)
 
void fn_801D2ED0 (HSD_GObj *gobj, int unused)
 
void fn_801D2FD0 (Ground_GObj *gobj, int unused)
 
void fn_801D3084 (HSD_GObj *gobj, int unused)
 
HSD_JObjjobj_next (HSD_JObj *jobj)
 
HSD_JObjjobj_parent (HSD_JObj *jobj)
 
HSD_JObjjobj_child (HSD_JObj *jobj)
 
HSD_TObjgrStadium_801D3138 (Ground_GObj *gobj, HSD_ImageDesc *desc, HSD_MObj **arg2)
 
bool grStadium_801D32D0 (Ground_GObj *gobj)
 
void grStadium_801D3460 (Ground_GObj *gobj)
 
void grStadium_801D384C (Ground_GObj *gobj)
 
void grStadium_801D39A0 (Ground_GObj *gobj)
 
void grStadium_801D3A0C (Ground_GObj *gobj)
 
void grStadium_801D3B4C (int arg0, int arg1)
 
void grStadium_801D3BBC (Ground_GObj *arg0)
 
void grStadium_801D3F40 (Ground_GObj *arg0, int arg1)
 
void grStadium_801D4040 (void)
 
void grStadium_801D4084 (void)
 
void grStadium_801D40C8 (void)
 
void grStadium_801D410C (void)
 
void grStadium_801D4150 (void)
 
void grStadium_801D4194 (Ground_GObj *arg0)
 
void fn_801D4220 (UNK_T un0, int un1, UNK_T un2, bool cancelflag)
 
bool grStadium_801D42B8 (void)
 
bool grStadium_801D42B8_dontinline (void)
 
GroundgrStadium_801D4354 (Ground_GObj *gobj)
 
void grStadium_801D435C (Ground_GObj *arg0)
 
void grStadium_801D4548 (Ground_GObj *gobj)
 
bool grStadium_801D4FF8 (int pl_slot)
 Check if the display is focused on a specific player.
 
void fn_801D5074 (Ground_GObj *gobj, int arg1)
 
DynamicsDescgrStadium_801D50B8 (int unused)
 
bool grStadium_801D50C0 (Vec3 *arg0, int arg1, HSD_JObj *jobj)
 
void grStadium_801D511C (void)
 

Variables

struct { 
 
   int   x0 
 
   int   x4 
 
   int   x8 
 
   int   xC 
 
   int   x10 
 
   int   x14 
 
   int   x18 
 
   u8   r 
 
   u8   g 
 
   u8   b 
 
   u32   x20 
 
   u32   x24 
 
   u32   x28 
 
   u32   x2C 
 
   u32   x30 
 
   u32   x34 
 
   u32   x38 
 
   u32   x3C 
 
   u32   x40 
 
   u32   x44 
 
   s16   x48 
 
   s16   x4A 
 
   s16   x4C 
 
   s16   x4E 
 
   s16   x50 
 
} * yaku 
 
S16Vec3 grPs_803E1248 []
 
static StageCallbacks grPs_803E126C []
 
StageData grPs_803E1334
 
static const Vec3 grPs_803B7F68 = { 0, 0, 0 }
 
static const Vec3 grPs_803B7F74 = { 0, 0, 0 }
 
Vec3 grPs_803B7F80
 
static HSD_WObjDesc grPs_803E14D4 = { NULL, { 0.0F, 0.0F, 1.0F }, NULL }
 
static HSD_WObjDesc grPs_803E14E8 = { NULL, { 0.0F, 0.0F, 0.0F }, NULL }
 
static HSD_CameraDescPerspective grPs_803E14FC
 
static const U8Vec4 grPs_804DAF3C = { 0xFF, 0xFF, 0xFF, 0xFF }
 
const float grPs_804DAF2C = 62
 
const float grPs_804DAF30 = 124
 
const float grPs_804DAF34 = 40
 
const float grPs_804DAF38 = 80
 
const float grPs_804DAF40 = 0.3125
 
const float grPs_804DAF44 = 0.625
 
const float grPs_804DAF48 = 0.26
 
const float grPs_804DAF4C = 70
 
const float grPs_804DAF50 = 186
 
const float grPs_804DAF54 = 60
 
const float grPs_804DAF58 = 125
 
const float grPs_804DAF5C = 120
 
const float grPs_804DAF64 = 1.5
 
const float grPs_804DAF68 = 52
 
const float grPs_804DAF6C = -3
 
const float grPs_804DAF74 = 56
 
static TextGlyphTexture grPs_8049F040
 
const U8Vec4 grPs_804DAF60 = { 0xC0, 0xC0, 0xFF, 0xFF }
 
const U8Vec4 grPs_804DAF70 = { 0xFF, 0xFF, 0xFF, 0xFF }
 
static const U8Vec4 grPs_803B7F8C []
 
char * datfiles []
 
static struct VecScalar lbl_803E1630 []
 

Macro Definition Documentation

◆ GET_WRAPPER

#define GET_WRAPPER (   x)    ((ImageDescWrapper*) HSD_GObjGetUserData(x))

Function Documentation

◆ grStadium_801D1018()

void grStadium_801D1018 ( int  unused)

◆ grStadium_801D101C()

void grStadium_801D101C ( void  )

◆ grStadium_801D10C8()

void grStadium_801D10C8 ( void  )

◆ grStadium_801D10CC()

void grStadium_801D10CC ( void  )

◆ grStadium_801D10F0()

bool grStadium_801D10F0 ( void  )

◆ grStadium_801D10F8()

Ground_GObj * grStadium_801D10F8 ( StadiumGrType  id)

Creates a specific sub-type of Ground_GObj for Pokemon Stadium (e.g.

id=1 for the jumbotron display)

◆ fn_801D11E4()

void fn_801D11E4 ( Ground_GObj gobj)

◆ grStadium_801D1290()

void grStadium_801D1290 ( Ground_GObj gobj)

◆ grStadium_801D1388()

bool grStadium_801D1388 ( Ground_GObj gobj)

◆ grStadium_801D1390()

void grStadium_801D1390 ( Ground_GObj gobj)

◆ grStadium_801D13C4()

void grStadium_801D13C4 ( Ground_GObj gobj)

◆ fn_801D13C8()

void fn_801D13C8 ( Ground_GObj gobj)

◆ randi()

int randi ( int  i)
inline
Todo:
this is a commonly used inline; it should be moved to random.h

◆ grStadium_801D13E0()

void grStadium_801D13E0 ( Ground_GObj gobj)

◆ grStadium_801D1518()

bool grStadium_801D1518 ( Ground_GObj gobj)

◆ grStadium_801D1520()

void grStadium_801D1520 ( Ground_GObj gobj)

◆ grStadium_801D156C()

void grStadium_801D156C ( Ground_GObj gobj)

◆ grStadium_801D1570()

void grStadium_801D1570 ( Ground_GObj gobj)

◆ grStadium_801D15FC()

bool grStadium_801D15FC ( Ground_GObj gobj)

◆ grStadium_801D1604()

void grStadium_801D1604 ( Ground_GObj gobj)

◆ grStadium_801D1624()

void grStadium_801D1624 ( Ground_GObj gobj)

◆ grStadium_801D1648()

void grStadium_801D1648 ( Ground_GObj gobj)

◆ grStadium_801D16D4()

bool grStadium_801D16D4 ( Ground_GObj gobj)

◆ grStadium_801D16DC()

void grStadium_801D16DC ( Ground_GObj gobj)

◆ grStadium_801D16FC()

void grStadium_801D16FC ( Ground_GObj gobj)

◆ grStadium_801D1720()

void grStadium_801D1720 ( Ground_GObj gobj)

◆ grStadium_801D17E0()

bool grStadium_801D17E0 ( Ground_GObj gobj)

◆ grStadium_801D17E8()

void grStadium_801D17E8 ( Ground_GObj gobj)

◆ grStadium_801D1808()

void grStadium_801D1808 ( Ground_GObj gobj)

◆ grStadium_801D1840()

void grStadium_801D1840 ( Ground_GObj gobj)

◆ grStadium_801D19D0()

bool grStadium_801D19D0 ( Ground_GObj gobj)

◆ grStadium_801D19D8()

void grStadium_801D19D8 ( Ground_GObj gobj)

◆ grStadium_801D19F8()

void grStadium_801D19F8 ( Ground_GObj gobj)

◆ grStadium_801D1A38()

void grStadium_801D1A38 ( Ground_GObj gobj)

◆ grStadium_801D1B40()

bool grStadium_801D1B40 ( Ground_GObj gobj)

◆ grStadium_801D1B48()

void grStadium_801D1B48 ( Ground_GObj gobj)

◆ grStadium_801D1D84()

void grStadium_801D1D84 ( Ground_GObj gobj)

◆ grStadium_801D1DE4()

void grStadium_801D1DE4 ( Ground_GObj gobj)

◆ grStadium_801D1E10()

bool grStadium_801D1E10 ( Ground_GObj gobj)

◆ grStadium_801D1E18()

void grStadium_801D1E18 ( Ground_GObj gobj)

◆ grStadium_801D1E1C()

void grStadium_801D1E1C ( Ground_GObj gobj)

◆ mul_vec()

void mul_vec ( Vec *  v,
float  m 
)
inline

◆ grStadium_801D1E20()

void grStadium_801D1E20 ( void  )

◆ grStadium_801D1EF8()

void grStadium_801D1EF8 ( Ground_GObj gobj)

◆ grStadium_801D21E4()

void grStadium_801D21E4 ( Ground_GObj gobj,
bool  arg1 
)

◆ grStadium_801D2278()

void grStadium_801D2278 ( Ground_GObj gobj)

◆ grStadium_801D2344()

void grStadium_801D2344 ( Ground_GObj g)

◆ randi_between_2()

int randi_between_2 ( int  a,
int  b 
)
inline
Todo:
can these inlines be merged?

◆ randi_between()

int randi_between ( int  a,
int  b 
)
inline

◆ grStadium_801D2528()

void grStadium_801D2528 ( Ground_GObj gobj,
int  arg1,
int  arg2 
)

◆ grStadium_801D2A60()

void grStadium_801D2A60 ( Ground_GObj gobj)

◆ grStadium_801D2BEC()

HSD_GObj * grStadium_801D2BEC ( void  )

◆ grStadium_801D2D78()

HSD_GObj * grStadium_801D2D78 ( void  )

◆ grStadium_801D2E24()

HSD_GObj * grStadium_801D2E24 ( void  )

◆ fn_801D2ED0()

void fn_801D2ED0 ( HSD_GObj gobj,
int  unused 
)

◆ fn_801D2FD0()

void fn_801D2FD0 ( Ground_GObj gobj,
int  unused 
)

◆ fn_801D3084()

void fn_801D3084 ( HSD_GObj gobj,
int  unused 
)

◆ jobj_next()

HSD_JObj * jobj_next ( HSD_JObj jobj)
inline
Todo:
these are commonly used inlines; they should be moved to jobj.h

◆ jobj_parent()

HSD_JObj * jobj_parent ( HSD_JObj jobj)
inline

◆ jobj_child()

HSD_JObj * jobj_child ( HSD_JObj jobj)
inline

◆ grStadium_801D3138()

HSD_TObj * grStadium_801D3138 ( Ground_GObj gobj,
HSD_ImageDesc desc,
HSD_MObj **  arg2 
)

◆ grStadium_801D32D0()

bool grStadium_801D32D0 ( Ground_GObj gobj)

◆ grStadium_801D3460()

void grStadium_801D3460 ( Ground_GObj gobj)
Todo:
gm struct needs to be larger

◆ grStadium_801D384C()

void grStadium_801D384C ( Ground_GObj gobj)

◆ grStadium_801D39A0()

void grStadium_801D39A0 ( Ground_GObj gobj)

◆ grStadium_801D3A0C()

void grStadium_801D3A0C ( Ground_GObj gobj)

◆ grStadium_801D3B4C()

void grStadium_801D3B4C ( int  arg0,
int  arg1 
)

◆ grStadium_801D3BBC()

void grStadium_801D3BBC ( Ground_GObj arg0)

◆ grStadium_801D3F40()

void grStadium_801D3F40 ( Ground_GObj arg0,
int  arg1 
)

◆ grStadium_801D4040()

void grStadium_801D4040 ( void  )

◆ grStadium_801D4084()

void grStadium_801D4084 ( void  )

◆ grStadium_801D40C8()

void grStadium_801D40C8 ( void  )

◆ grStadium_801D410C()

void grStadium_801D410C ( void  )

◆ grStadium_801D4150()

void grStadium_801D4150 ( void  )

◆ grStadium_801D4194()

void grStadium_801D4194 ( Ground_GObj arg0)

◆ fn_801D4220()

void fn_801D4220 ( UNK_T  un0,
int  un1,
UNK_T  un2,
bool  cancelflag 
)

◆ grStadium_801D42B8()

bool grStadium_801D42B8 ( void  )

◆ grStadium_801D42B8_dontinline()

bool grStadium_801D42B8_dontinline ( void  )
inline

◆ grStadium_801D4354()

Ground * grStadium_801D4354 ( Ground_GObj gobj)

◆ grStadium_801D435C()

void grStadium_801D435C ( Ground_GObj arg0)

◆ grStadium_801D4548()

void grStadium_801D4548 ( Ground_GObj gobj)

◆ grStadium_801D4FF8()

bool grStadium_801D4FF8 ( int  pl_slot)

Check if the display is focused on a specific player.

◆ fn_801D5074()

void fn_801D5074 ( Ground_GObj gobj,
int  arg1 
)

◆ grStadium_801D50B8()

DynamicsDesc * grStadium_801D50B8 ( int  unused)

◆ grStadium_801D50C0()

bool grStadium_801D50C0 ( Vec3 *  arg0,
int  arg1,
HSD_JObj jobj 
)

◆ grStadium_801D511C()

void grStadium_801D511C ( void  )

Variable Documentation

◆ x0

int x0

◆ x4

int x4

◆ x8

int x8

◆ xC

int xC

◆ x10

int x10

◆ x14

int x14

◆ x18

int x18

◆ r

u8 r

◆ g

u8 g

◆ b

u8 b

◆ x20

u32 x20

◆ x24

u32 x24

◆ x28

u32 x28

◆ x2C

u32 x2C

◆ x30

u32 x30

◆ x34

u32 x34

◆ x38

u32 x38

◆ x3C

u32 x3C

◆ x40

u32 x40

◆ x44

u32 x44

◆ x48

s16 x48

◆ x4A

s16 x4A

◆ x4C

s16 x4C

◆ x4E

s16 x4E

◆ x50

s16 x50

◆ [struct]

struct { ... } * yaku
Todo:
this file needs to be named "grpstadium.c" for asserts, oops!

◆ grPs_803E1248

S16Vec3 grPs_803E1248[]
Initial value:
= {
{ 1, 3, 0 }, { 2, 3, 0 }, { 3, 4, 0 },
{ 4, 5, 0 }, { 5, 6, 0 }, { 7, 9, 0 },
}

◆ grPs_803E126C

StageCallbacks grPs_803E126C[]
static

◆ grPs_803E1334

StageData grPs_803E1334
Initial value:
= {
0x10,
"/GrPs",
1,
ARRAY_SIZE(grPs_803E1248),
}
void grStadium_801D10C8(void)
Definition grstadium.c:183
bool grStadium_801D10F0(void)
Definition grstadium.c:190
DynamicsDesc * grStadium_801D50B8(int unused)
Definition grstadium.c:2385
static StageCallbacks grPs_803E126C[]
Definition grstadium.c:69
void grStadium_801D1018(int unused)
Definition grstadium.c:158
void grStadium_801D10CC(void)
Definition grstadium.c:185
bool grStadium_801D50C0(Vec3 *arg0, int arg1, HSD_JObj *jobj)
Definition grstadium.c:2390
S16Vec3 grPs_803E1248[]
Definition grstadium.c:64
void grStadium_801D101C(void)
Definition grstadium.c:160

◆ grPs_803B7F68

const Vec3 grPs_803B7F68 = { 0, 0, 0 }
static

◆ grPs_803B7F74

const Vec3 grPs_803B7F74 = { 0, 0, 0 }
static

◆ grPs_803B7F80

Vec3 grPs_803B7F80
extern

◆ grPs_803E14D4

HSD_WObjDesc grPs_803E14D4 = { NULL, { 0.0F, 0.0F, 1.0F }, NULL }
static

◆ grPs_803E14E8

HSD_WObjDesc grPs_803E14E8 = { NULL, { 0.0F, 0.0F, 0.0F }, NULL }
static

◆ grPs_803E14FC

HSD_CameraDescPerspective grPs_803E14FC
static
Initial value:
= {
0,
1,
{ 0, 0xFA, 0, 0xA0 },
{ 0, 0xFA, 0, 0xA0 },
0.0F,
0.1F,
32768.0F,
30.0F,
1.3636F,
}
static HSD_WObjDesc grPs_803E14D4
Definition grstadium.c:1154
static HSD_WObjDesc grPs_803E14E8
Definition grstadium.c:1155
#define NULL
Definition stddef.h:19

◆ grPs_804DAF3C

const U8Vec4 grPs_804DAF3C = { 0xFF, 0xFF, 0xFF, 0xFF }
static

◆ grPs_804DAF2C

const float grPs_804DAF2C = 62
Todo:
is there a way to prevent these being upcast to double when passed to variadic sislib functions?

◆ grPs_804DAF30

const float grPs_804DAF30 = 124

◆ grPs_804DAF34

const float grPs_804DAF34 = 40

◆ grPs_804DAF38

const float grPs_804DAF38 = 80

◆ grPs_804DAF40

const float grPs_804DAF40 = 0.3125

◆ grPs_804DAF44

const float grPs_804DAF44 = 0.625

◆ grPs_804DAF48

const float grPs_804DAF48 = 0.26

◆ grPs_804DAF4C

const float grPs_804DAF4C = 70

◆ grPs_804DAF50

const float grPs_804DAF50 = 186

◆ grPs_804DAF54

const float grPs_804DAF54 = 60

◆ grPs_804DAF58

const float grPs_804DAF58 = 125

◆ grPs_804DAF5C

const float grPs_804DAF5C = 120

◆ grPs_804DAF64

const float grPs_804DAF64 = 1.5

◆ grPs_804DAF68

const float grPs_804DAF68 = 52

◆ grPs_804DAF6C

const float grPs_804DAF6C = -3

◆ grPs_804DAF74

const float grPs_804DAF74 = 56

◆ grPs_8049F040

TextGlyphTexture grPs_8049F040
static
Todo:
This is only size 0x100 in the object, but a single TextGlyphTexture is size 0x200. Should TextGlyphTexture be smaller?

◆ grPs_804DAF60

const U8Vec4 grPs_804DAF60 = { 0xC0, 0xC0, 0xFF, 0xFF }

◆ grPs_804DAF70

const U8Vec4 grPs_804DAF70 = { 0xFF, 0xFF, 0xFF, 0xFF }

◆ grPs_803B7F8C

const U8Vec4 grPs_803B7F8C[]
static
Initial value:
= {
{ 0, 0, 0, 0x50 },
{ 0, 0, 0, 0x40 },
{ 0, 0, 0, 0x30 },
{ 0, 0, 0, 0x20 },
}

◆ datfiles

char* datfiles[]
Initial value:
= {
"GrPs1.dat",
"GrPs2.dat",
"GrPs3.dat",
"GrPs4.dat",
}

◆ lbl_803E1630

struct VecScalar lbl_803E1630[]
static