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

Macros

#define GET_IFSTOCK(gobj)
#define ifStock_802F8298_elem(p)
#define ifStock_802F8298_data_in(e, p)
#define ifStock_802F8298_data_at(p)
#define ifStock_802F8298_data   ifStock_802F8298_data_at(user_data->player)
#define ifStock_802F8298_player_data(p)
 The same element, with the array offset committed before the field accesses.
#define ifStock_802F98E8_get_data(stock, player)
 Per-player data, formed from the byte offset so the array offset is applied after the index.

Functions

 STATIC_ASSERT (sizeof(ifStock_804A1378)==0x3FC)
 STATIC_ASSERT (sizeof(ifStock_804A1774)==0x318)
 STATIC_ASSERT (sizeof(ifStock_804A1A8C)==0x40)
 STATIC_ASSERT (sizeof(ifStock_804A1ACC)==0x314)
int ifStock_802F7EFC (int arg0, int arg1)
static f32 ifStock_802F8298_tobj_frame (u8 player)
static struct IfStockUserDataifStock_802F8298_update_stocks (struct IfStockUserData *user_data)
static void ifStock_802F8298_step_anim (u8 *anim)
void ifStock_802F8298 (HSD_GObj *gobj)
static struct IfStockUserDataifStock_802F89F8_get_data (HSD_GObj *gobj)
static int ifStock_802F89F8_count (int coins)
static int ifStock_802F89F8_divisor (int position)
static int ifStock_802F89F8_digit (int coins, int position)
void ifStock_802F89F8 (HSD_GObj *gobj)
void fn_802F8DB0 (HSD_GObj *gobj)
void fn_802F8E08 (HSD_GObj *_gobj)
void fn_802F916C (HSD_GObj *_gobj)
static void fn_802F9410_inline (HSD_GObj *gobj, struct IfStockUserData *p)
void fn_802F9410 (HSD_GObj *gobj)
void fn_802F94E0 (HSD_GObj *gobj, int renderpass)
void fn_802F9548 (HSD_GObj *gobj, int renderpass)
void fn_802F9598 (HSD_GObj *gobj, int renderpass)
void fn_802F95E8 (HSD_GObj *gobj, int renderpass)
void fn_802F9680 (HSD_GObj *gobj, int renderpass)
HSD_GObjifStock_802F96D0 (int a, int b, float x, float y)
static struct lbl_8046B6A0_FighterMatchInfoFlagsifStock_802F98E8_get_match_info (VsSceneState *data, int player)
void ifStock_802F98E8 (u8 player, u8 b)
static HSD_GObjifStock_802F9F48_inline (int arg)
HSD_GObjifStock_802F9F48 (int arg)
HSD_GObjifStock_802FA118 (int arg)
void ifStock_802FA2D0 (int arg)
void ifStock_802FA5BC (int arg)
void fn_802FA6C4 (HSD_GObj *arg)
void fn_802FA8C0 (HSD_GObj *arg)
void fn_802FAC34 (HSD_GObj *arg)
static void ifStock_802FA5BC_noinline (int arg)
static void ifStock_ClearGObjSlots (HSD_GObj **slots, int count)
static void ifStock_CreateStockGObjs (HSD_GObj **slots)
void ifStock_802FAEC4 (void)
void ifStock_802FB390 (void)
void ifStock_802FB41C (void)
void ifStock_802FB484 (void)
static void copyColor (HSD_MObj *q, GXColor *arg)
void ifStock_802FB4EC (int player, GXColor *arg)
void ifStock_802FB650 (int player)
void ifStock_802FB6AC (int player)

Variables

static struct ifStock_804A1378 ifStock_804A1378
static struct ifStock_804A1774 ifStock_804A1774
static HSD_GObjifStock_804A1A8C [16]
static struct ifStock_804A1ACC ifStock_804A1ACC
static char ifStock_SceneModels [] = "Stc_scemdls"
static const GXColor ifStock_802F98E8_color1 = { 0x08, 0x08, 0x08, 0x80 }
static const GXColor ifStock_802F98E8_color2 = { 0x3C, 0x3C, 0x46, 0x80 }

Macro Definition Documentation

◆ GET_IFSTOCK

#define GET_IFSTOCK ( gobj)
Value:
HSD_GObj * gobj
Definition gm_19EF.c:73
static void * HSD_GObjGetUserData(HSD_GObj *gobj)
Definition gobj.h:109
Definition types.h:216

◆ ifStock_802F8298_elem

#define ifStock_802F8298_elem ( p)
Value:
((struct IfStockDataOffset*) ((struct ifStock_804A1378_x204*) stock + (p)))
Definition types.h:288
Definition types.h:244
Todo
remove these cursed macros for something proper. Per-player animation data, addressed as a 0x54-byte element from the struct base with the x204 array offset applied afterwards.

◆ ifStock_802F8298_data_in

#define ifStock_802F8298_data_in ( e,
p )
Value:
((struct ifStock_804A1378_x204*) (((e) = ifStock_802F8298_elem(p)) + 1))
#define ifStock_802F8298_elem(p)
Definition ifstock.c:126

◆ ifStock_802F8298_data_at

#define ifStock_802F8298_data_at ( p)
Value:
#define ifStock_802F8298_data_in(e, p)
Definition ifstock.c:128

◆ ifStock_802F8298_data

#define ifStock_802F8298_data   ifStock_802F8298_data_at(user_data->player)

◆ ifStock_802F8298_player_data

#define ifStock_802F8298_player_data ( p)
Value:
((elem = ifStock_802F8298_elem(p)), (struct ifStock_804A1378_x204*) ++elem)

The same element, with the array offset committed before the field accesses.

◆ ifStock_802F98E8_get_data

#define ifStock_802F98E8_get_data ( stock,
player )
Value:
((u8*) &( \
(struct ifStock_804A1378_x204*) ((u8*) (stock) + \
x204)))[player])
unsigned char u8
Definition types.h:5
#define offsetof(type, member)
Definition stddef.h:11
Definition types.h:253

Per-player data, formed from the byte offset so the array offset is applied after the index.

Function Documentation

◆ STATIC_ASSERT() [1/4]

STATIC_ASSERT ( sizeof(ifStock_804A1378) = =0x3FC)

◆ STATIC_ASSERT() [2/4]

STATIC_ASSERT ( sizeof(ifStock_804A1774) = =0x318)

◆ STATIC_ASSERT() [3/4]

STATIC_ASSERT ( sizeof(ifStock_804A1A8C) = =0x40)

◆ STATIC_ASSERT() [4/4]

STATIC_ASSERT ( sizeof(ifStock_804A1ACC) = =0x314)

◆ ifStock_802F7EFC()

int ifStock_802F7EFC ( int arg0,
int arg1 )

◆ ifStock_802F8298_tobj_frame()

f32 ifStock_802F8298_tobj_frame ( u8 player)
inlinestatic

◆ ifStock_802F8298_update_stocks()

struct IfStockUserData * ifStock_802F8298_update_stocks ( struct IfStockUserData * user_data)
inlinestatic

◆ ifStock_802F8298_step_anim()

void ifStock_802F8298_step_anim ( u8 * anim)
inlinestatic

◆ ifStock_802F8298()

void ifStock_802F8298 ( HSD_GObj * gobj)

◆ ifStock_802F89F8_get_data()

struct IfStockUserData * ifStock_802F89F8_get_data ( HSD_GObj * gobj)
inlinestatic

◆ ifStock_802F89F8_count()

int ifStock_802F89F8_count ( int coins)
inlinestatic

◆ ifStock_802F89F8_divisor()

int ifStock_802F89F8_divisor ( int position)
inlinestatic

◆ ifStock_802F89F8_digit()

int ifStock_802F89F8_digit ( int coins,
int position )
inlinestatic

◆ ifStock_802F89F8()

void ifStock_802F89F8 ( HSD_GObj * gobj)

◆ fn_802F8DB0()

void fn_802F8DB0 ( HSD_GObj * gobj)

◆ fn_802F8E08()

void fn_802F8E08 ( HSD_GObj * _gobj)

◆ fn_802F916C()

void fn_802F916C ( HSD_GObj * _gobj)

◆ fn_802F9410_inline()

void fn_802F9410_inline ( HSD_GObj * gobj,
struct IfStockUserData * p )
inlinestatic

◆ fn_802F9410()

void fn_802F9410 ( HSD_GObj * gobj)

◆ fn_802F94E0()

void fn_802F94E0 ( HSD_GObj * gobj,
int renderpass )

◆ fn_802F9548()

void fn_802F9548 ( HSD_GObj * gobj,
int renderpass )

◆ fn_802F9598()

void fn_802F9598 ( HSD_GObj * gobj,
int renderpass )

◆ fn_802F95E8()

void fn_802F95E8 ( HSD_GObj * gobj,
int renderpass )

◆ fn_802F9680()

void fn_802F9680 ( HSD_GObj * gobj,
int renderpass )

◆ ifStock_802F96D0()

HSD_GObj * ifStock_802F96D0 ( int a,
int b,
float x,
float y )

◆ ifStock_802F98E8_get_match_info()

struct lbl_8046B6A0_FighterMatchInfoFlags * ifStock_802F98E8_get_match_info ( VsSceneState * data,
int player )
inlinestatic

◆ ifStock_802F98E8()

void ifStock_802F98E8 ( u8 player,
u8 b )

◆ ifStock_802F9F48_inline()

HSD_GObj * ifStock_802F9F48_inline ( int arg)
inlinestatic

◆ ifStock_802F9F48()

HSD_GObj * ifStock_802F9F48 ( int arg)

◆ ifStock_802FA118()

HSD_GObj * ifStock_802FA118 ( int arg)

◆ ifStock_802FA2D0()

void ifStock_802FA2D0 ( int arg)

◆ ifStock_802FA5BC()

void ifStock_802FA5BC ( int arg)

◆ fn_802FA6C4()

void fn_802FA6C4 ( HSD_GObj * arg)

◆ fn_802FA8C0()

void fn_802FA8C0 ( HSD_GObj * arg)

◆ fn_802FAC34()

void fn_802FAC34 ( HSD_GObj * arg)

◆ ifStock_802FA5BC_noinline()

void ifStock_802FA5BC_noinline ( int arg)
inlinestatic

◆ ifStock_ClearGObjSlots()

void ifStock_ClearGObjSlots ( HSD_GObj ** slots,
int count )
inlinestatic

◆ ifStock_CreateStockGObjs()

void ifStock_CreateStockGObjs ( HSD_GObj ** slots)
inlinestatic

◆ ifStock_802FAEC4()

void ifStock_802FAEC4 ( void )

◆ ifStock_802FB390()

void ifStock_802FB390 ( void )

◆ ifStock_802FB41C()

void ifStock_802FB41C ( void )

◆ ifStock_802FB484()

void ifStock_802FB484 ( void )

◆ copyColor()

void copyColor ( HSD_MObj * q,
GXColor * arg )
inlinestatic

◆ ifStock_802FB4EC()

void ifStock_802FB4EC ( int player,
GXColor * arg )

◆ ifStock_802FB650()

void ifStock_802FB650 ( int player)

◆ ifStock_802FB6AC()

void ifStock_802FB6AC ( int player)

Variable Documentation

◆ ifStock_804A1378

struct ifStock_804A1378 ifStock_804A1378
static

◆ ifStock_804A1774

struct ifStock_804A1774 ifStock_804A1774
static

◆ ifStock_804A1A8C

HSD_GObj* ifStock_804A1A8C[16]
static

◆ ifStock_804A1ACC

struct ifStock_804A1ACC ifStock_804A1ACC
static

◆ ifStock_SceneModels

char ifStock_SceneModels[] = "Stc_scemdls"
static

◆ ifStock_802F98E8_color1

const GXColor ifStock_802F98E8_color1 = { 0x08, 0x08, 0x08, 0x80 }
static

◆ ifStock_802F98E8_color2

const GXColor ifStock_802F98E8_color2 = { 0x3C, 0x3C, 0x46, 0x80 }
static