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

Typedefs

typedef void(* lbl_803D9FD8_fn) (s32 *, u32, u32)
 

Functions

void fn_8018A970 (int arg0)
 fn_8018A514
 
void fn_8018E46C (HSD_GObj *gobj, int unused)
 fn_8018AA74
 
void fn_8018EC48 (void)
 fn_8018E618
 
void fn_8018EC7C (void)
 
void fn_8018F00C (char *dest, s32 slot_id)
 fn_8018ECA8
 
s32 gm_8018F1B0 (MatchEnd *me)
 
int fn_8018F310 (int arg0)
 
u8 fn_8018F3BC (s32 arg0)
 
int fn_8018F3D0 (int arg0)
 
int fn_8018F410 (void)
 
int fn_8018F4A0 (void)
 fn_8018F410
 
s32 fn_8018F508 (s32 *out_index)
 Counts available tournament slots and returns the last found index.
 
char * fn_8018F5F0 (void)
 
u32 fn_8018F62C (HSD_GObj *gobj)
 ??? tournament uses the user data as just an int it controls various menu jobj states ie animation state, visibility, etc
 
TmDatagm_8018F634 (void)
 
u32 fn_8018F640 (int arg0)
 
u32 fn_8018F674 (int arg0)
 
u32 fn_8018F6A8 (int arg0)
 
int fn_8018F6DC (int arg0)
 
CharacterKind fn_8018F6FC (CSSIconHud arg0)
 
float fn_8018F71C (int arg0, int arg1)
 returns the frame for the tou css icon?
 
int fn_8018F74C (void)
 
int fn_8018F808 (void)
 
void fn_8018F888 (void)
 
void fn_8018FA24 (void)
 
void fn_8018FBD8 (void *arg0, s32 arg1)
 
void fn_8018FDC4 (HSD_JObj *jobj, float x, float y, float z)
 fn_8018FBE0
 
void fn_8018FF9C (HSD_JObj *jobj, float x, float y, float z)
 
HSD_GObjfn_80190174 (HSD_CObjDesc *cobjdesc)
 
HSD_GObjfn_801901F8 (HSD_CObjDesc *cobjdesc)
 
void fn_8019027C (UNK_T lights)
 
void fn_801902F0 (int sis_param)
 Initializes SIS library text rendering for tournament mode.
 
HSD_GObjfn_8019035C (bool arg0, DynamicModelDesc *model, int arg2, int arg3, int arg4, bool arg5, void(*arg6)(HSD_GObj *), f32 arg8)
 
void fn_8019044C (HSD_JObj *jobj, float arg1)
 
void fn_80190480 (float arg8)
 
void fn_801904D0 (void)
 
void fn_80190520 (f32 x, f32 y, f32 z)
 
static int gm_801905F0_inline0 (int c_kind)
 fn_80190520
 
void gm_801905F0 (StartMeleeData *arg0)
 
void gm_80190EA4 (void)
 fn_80190ABC
 
void fn_801910E0 (HSD_GObj *gobj)
 Initializes the time menu state when entering the time selection screen.
 
void fn_80191154 (HSD_GObj *gobj)
 
void fn_80191240 (HSD_GObj *gobj)
 
void fn_80191678 (HSD_GObj *gobj)
 fn_801913BC
 
void fn_8019175C (void *gobj)
 
void fn_801918F0 (HSD_GObj *gobj)
 Updates visibility and animation frame of a Training Mode HUD element.
 
void fn_80191A54 (HSD_GObj *gobj)
 Updates the tournament bracket display visibility and animation.
 
void fn_80191B5C (void *gobj)
 Updates button highlight animation based on current menu option.
 
void fn_80191CA4 (HSD_GObj *gobj)
 Updates JObj visibility based on current menu option selection.
 
void fn_8019249C (HSD_GObj *gobj)
 GObj callback for tournament bracket slot UI elements.
 
void fn_80192690 (HSD_GObj *gobj)
 
void fn_80192758 (HSD_GObj *gobj)
 
void fn_80193230 (void)
 fn_80192938
 
void fn_801949B4 (s32 *arg0, u32 arg1, u32 arg2)
 
void fn_80194BC4 (s32 *arg0, u32 arg1, u32 arg2)
 
void fn_80194D84 (s32 *state, u32 buttons, u32 trigger)
 
void fn_80195AF0 (s32 *state_ptr, u32 buttons, u32 trigger)
 
void fn_8019610C (s32 *state, u32 buttons, u32 trigger)
 fn_80195CCC
 
void gm_8019628C_OnFrame (void)
 Tournament Mode per-frame update handler.
 
void gm_801963B4_OnEnter (void *arg0)
 
void gm_801964A4_OnLeave (UNK_T arg)
 Scene OnLeave callback for gm_18A5. Frees archive resources.
 
s32 fn_8019655C (void)
 fn_80196510
 
bool fn_80196564 (TmData *arg0)
 
bool fn_80196594 (TmData *arg0)
 
void fn_801965C4 (void)
 
void fn_80196684 (s32 bracket_idx)
 
s32 fn_80196CF8 (void)
 
void fn_80196DBC (HSD_GObj *gobj)
 Cycles animation frame counter and updates JObj animation.
 
void fn_80196E30 (HSD_GObj *gobj)
 Updates the tournament UI animation frame counter.
 
void fn_80196EEC (HSD_GObj *gobj)
 Tournament mode JObj visibility/animation callback.
 
void fn_801975C8 (HSD_GObj *gobj)
 fn_80196FFC
 
void fn_801976D4 (HSD_GObj *gobj)
 Updates visibility and animation of tournament menu JObj.
 
void fn_80197D4C (HSD_GObj *gobj)
 fn_801977AC
 
void fn_80197E18 (HSD_GObj *gobj)
 
void fn_80197FD8 (HSD_GObj *gobj)
 
void fn_801981A0 (HSD_GObj *gobj)
 
void fn_80198584 (ResultsData *results)
 Updates the visibility and position of a player's controller indicator.
 
void fn_80198BA0 (void)
 fn_801985D4
 
void fn_80198C60 (void)
 
void fn_8019A71C (s32 *state)
 Initializes the scene rendering components for the gm_18A5 game mode.
 
void gm_8019A828 (void)
 
void gm_8019B2DC_OnFrame (void)
 fn_8019A86C
 
void fn_8019B81C (s32 *state)
 fn_8019B458
 
void fn_8019B860 (TmData *tm)
 

Variables

char * lbl_804DA6C4
 
char * lbl_804DA6C8
 
char * lbl_804DA6CC
 
char * lbl_804DA6D0
 
lbl_803D9FD8_fn lbl_803D9FD8 []
 
static HSD_GObjlbl_804D663C
 
struct { 
 
   u8   pad [0xC] 
 
   u16   xC_counter 
 
   u8   xE 
 
   u8   xF 
 
   u8   pad2 [0x10] 
 
lbl_804799B8 
 
static u8 lbl_804799B8_data [0x40]
 
static s32 lbl_804D6658
 
u8 lbl_803D9F80 []
 fn_80193308
 
static s32 lbl_804D6654
 fn_80194F30
 
struct { 
 
   UNK_T   x0 
 
   UNK_T   x4 
 
   UNK_T   x8 
 
lbl_804771B8 
 Filename is just a guess, based on some strings in the file Seems to be Tournament game code.
 
static s32 lbl_804D4194 = -1
 
u8 lbl_803DA0D0 []
 fn_801967E0
 
union { 
 
   u8   x0 [0x80] 
 
   struct { 
 
      u8   _pad1 [0x10] 
 
      u16   x10 
 
      u8   _pad2 [0x8] 
 
      u8   x1A 
 
      u8   x1B 
 
      u8   x1C 
 
   }  
 
lbl_804799D8 
 
SceneDesclbl_804D666C
 
s32 lbl_804D6678
 
SceneDesclbl_804D6670
 

Typedef Documentation

◆ lbl_803D9FD8_fn

typedef void(* lbl_803D9FD8_fn) (s32 *, u32, u32)

Function Documentation

◆ fn_8018A970()

void fn_8018A970 ( int  arg0)

◆ fn_8018E46C()

void fn_8018E46C ( HSD_GObj gobj,
int  unused 
)

fn_8018AA74

fn_8018B090 fn_8018C8D4 fn_8018D50C fn_8018DC18 fn_8018DF68

Todo:
Currently 98.8% match - permuter couldn't improve beyond score 140

◆ fn_8018EC48()

void fn_8018EC48 ( void  )

◆ fn_8018EC7C()

void fn_8018EC7C ( void  )

◆ fn_8018F00C()

void fn_8018F00C ( char *  dest,
s32  slot_id 
)

fn_8018ECA8

Formats a tournament slot display name into a destination buffer.

◆ gm_8018F1B0()

s32 gm_8018F1B0 ( MatchEnd me)

◆ fn_8018F310()

int fn_8018F310 ( int  arg0)

◆ fn_8018F3BC()

u8 fn_8018F3BC ( s32  arg0)

◆ fn_8018F3D0()

int fn_8018F3D0 ( int  arg0)

◆ fn_8018F410()

int fn_8018F410 ( void  )

◆ fn_8018F4A0()

int fn_8018F4A0 ( void  )

◆ fn_8018F508()

s32 fn_8018F508 ( s32 out_index)

Counts available tournament slots and returns the last found index.

◆ fn_8018F5F0()

char * fn_8018F5F0 ( void  )

◆ fn_8018F62C()

u32 fn_8018F62C ( HSD_GObj gobj)

??? tournament uses the user data as just an int it controls various menu jobj states ie animation state, visibility, etc

◆ gm_8018F634()

TmData * gm_8018F634 ( void  )

◆ fn_8018F640()

u32 fn_8018F640 ( int  arg0)

◆ fn_8018F674()

u32 fn_8018F674 ( int  arg0)

◆ fn_8018F6A8()

u32 fn_8018F6A8 ( int  arg0)

◆ fn_8018F6DC()

int fn_8018F6DC ( int  arg0)

◆ fn_8018F6FC()

CharacterKind fn_8018F6FC ( CSSIconHud  arg0)

◆ fn_8018F71C()

float fn_8018F71C ( int  arg0,
int  arg1 
)

returns the frame for the tou css icon?

◆ fn_8018F74C()

int fn_8018F74C ( void  )

◆ fn_8018F808()

int fn_8018F808 ( void  )

◆ fn_8018F888()

void fn_8018F888 ( void  )
Todo:
Currently 78.75% match - needs register allocation fix

◆ fn_8018FA24()

void fn_8018FA24 ( void  )
Todo:
Currently 84.63% match - needs loop pattern fix

◆ fn_8018FBD8()

void fn_8018FBD8 ( void *  arg0,
s32  arg1 
)

◆ fn_8018FDC4()

void fn_8018FDC4 ( HSD_JObj jobj,
float  x,
float  y,
float  z 
)

◆ fn_8018FF9C()

void fn_8018FF9C ( HSD_JObj jobj,
float  x,
float  y,
float  z 
)

◆ fn_80190174()

HSD_GObj * fn_80190174 ( HSD_CObjDesc cobjdesc)

◆ fn_801901F8()

HSD_GObj * fn_801901F8 ( HSD_CObjDesc cobjdesc)

◆ fn_8019027C()

void fn_8019027C ( UNK_T  lights)

◆ fn_801902F0()

void fn_801902F0 ( int  sis_param)

Initializes SIS library text rendering for tournament mode.

◆ fn_8019035C()

HSD_GObj * fn_8019035C ( bool  arg0,
DynamicModelDesc model,
int  arg2,
int  arg3,
int  arg4,
bool  arg5,
void(*)(HSD_GObj *)  arg6,
f32  arg8 
)

◆ fn_8019044C()

void fn_8019044C ( HSD_JObj jobj,
float  arg1 
)

◆ fn_80190480()

void fn_80190480 ( float  arg8)

◆ fn_801904D0()

void fn_801904D0 ( void  )

◆ fn_80190520()

void fn_80190520 ( f32  x,
f32  y,
f32  z 
)

◆ gm_801905F0_inline0()

static int gm_801905F0_inline0 ( int  c_kind)
inlinestatic

◆ gm_801905F0()

void gm_801905F0 ( StartMeleeData arg0)

◆ gm_80190EA4()

void gm_80190EA4 ( void  )

◆ fn_801910E0()

void fn_801910E0 ( HSD_GObj gobj)

Initializes the time menu state when entering the time selection screen.

gm_80190FE4

◆ fn_80191154()

void fn_80191154 ( HSD_GObj gobj)
Todo:
Currently 83.05% match - compiler generates different register usage

◆ fn_80191240()

void fn_80191240 ( HSD_GObj gobj)
Todo:
Currently 78.85% match - needs register allocation fix

◆ fn_80191678()

void fn_80191678 ( HSD_GObj gobj)

fn_801913BC

Updates the visibility and animation state of a Tournament Mode menu option.

◆ fn_8019175C()

void fn_8019175C ( void *  gobj)
Todo:
Currently 89.68% match - permuter couldn't improve Updates menu option selection animation.

◆ fn_801918F0()

void fn_801918F0 ( HSD_GObj gobj)

Updates visibility and animation frame of a Training Mode HUD element.

◆ fn_80191A54()

void fn_80191A54 ( HSD_GObj gobj)

Updates the tournament bracket display visibility and animation.

◆ fn_80191B5C()

void fn_80191B5C ( void *  gobj)

Updates button highlight animation based on current menu option.

◆ fn_80191CA4()

void fn_80191CA4 ( HSD_GObj gobj)

Updates JObj visibility based on current menu option selection.

◆ fn_8019249C()

void fn_8019249C ( HSD_GObj gobj)

GObj callback for tournament bracket slot UI elements.

fn_80191D38 Updates visibility and position of a tournament bracket player entry JObj. fn_80191E9C fn_80191FD4 Updates tournament menu cursor JObj visibility and position. fn_8019237C

Todo:
Currently 92.46% match - permuter couldn't improve

◆ fn_80192690()

void fn_80192690 ( HSD_GObj gobj)

◆ fn_80192758()

void fn_80192758 ( HSD_GObj gobj)
Todo:
Currently 96.8% match - permuter couldn't improve

◆ fn_80193230()

void fn_80193230 ( void  )

◆ fn_801949B4()

void fn_801949B4 ( s32 arg0,
u32  arg1,
u32  arg2 
)
Todo:
Currently 87.58% match - permuter couldn't improve

◆ fn_80194BC4()

void fn_80194BC4 ( s32 arg0,
u32  arg1,
u32  arg2 
)
Todo:
Currently 84.75% match - needs register allocation fix

◆ fn_80194D84()

void fn_80194D84 ( s32 state,
u32  buttons,
u32  trigger 
)
Todo:
Currently 97.2% match - permuter couldn't improve Handles button input for tournament mode menu navigation.

◆ fn_80195AF0()

void fn_80195AF0 ( s32 state_ptr,
u32  buttons,
u32  trigger 
)
Todo:
Currently 93.5% match - permuter couldn't improve Handles name entry/selection input for tournament mode.

◆ fn_8019610C()

void fn_8019610C ( s32 state,
u32  buttons,
u32  trigger 
)

fn_80195CCC

Todo:
Currently 96.88% match - needs minor register allocation fix Handles confirm/cancel input for tournament start. Type casts used to match target sth instruction patterns.

◆ gm_8019628C_OnFrame()

void gm_8019628C_OnFrame ( void  )

Tournament Mode per-frame update handler.

◆ gm_801963B4_OnEnter()

void gm_801963B4_OnEnter ( void *  arg0)

◆ gm_801964A4_OnLeave()

void gm_801964A4_OnLeave ( UNK_T  arg)

Scene OnLeave callback for gm_18A5. Frees archive resources.

◆ fn_8019655C()

s32 fn_8019655C ( void  )

◆ fn_80196564()

bool fn_80196564 ( TmData arg0)

◆ fn_80196594()

bool fn_80196594 ( TmData arg0)

◆ fn_801965C4()

void fn_801965C4 ( void  )

◆ fn_80196684()

void fn_80196684 ( s32  bracket_idx)
Todo:
Currently 83.98% match - needs register allocation fix Randomly assigns bracket positions for tournament seeding.

◆ fn_80196CF8()

s32 fn_80196CF8 ( void  )
Todo:
Currently 95.92% match - needs minor register allocation fix

◆ fn_80196DBC()

void fn_80196DBC ( HSD_GObj gobj)

Cycles animation frame counter and updates JObj animation.

◆ fn_80196E30()

void fn_80196E30 ( HSD_GObj gobj)

Updates the tournament UI animation frame counter.

◆ fn_80196EEC()

void fn_80196EEC ( HSD_GObj gobj)

Tournament mode JObj visibility/animation callback.

◆ fn_801975C8()

void fn_801975C8 ( HSD_GObj gobj)

fn_80196FFC

Updates visibility and position of a tournament menu JObj. fn_801973F8 Updates visibility of a tournament menu JObj based on current menu state.

◆ fn_801976D4()

void fn_801976D4 ( HSD_GObj gobj)

Updates visibility and animation of tournament menu JObj.

◆ fn_80197D4C()

void fn_80197D4C ( HSD_GObj gobj)

fn_801977AC

fn_80197AF0 Updates visibility of a menu JObj based on current menu option.

◆ fn_80197E18()

void fn_80197E18 ( HSD_GObj gobj)
Todo:
Currently 69.71% match - needs register allocation fix Updates player HUD element visibility and position.

◆ fn_80197FD8()

void fn_80197FD8 ( HSD_GObj gobj)
Todo:
Currently 70.24% match - needs register allocation fix Updates JObj visibility based on menu option and player state.

◆ fn_801981A0()

void fn_801981A0 ( HSD_GObj gobj)
Todo:
Currently 55.88% match - needs significant rework Updates player cursor animation and position.

◆ fn_80198584()

void fn_80198584 ( ResultsData results)

Updates the visibility and position of a player's controller indicator.

fn_801983E4

◆ fn_80198BA0()

void fn_80198BA0 ( void  )

fn_801985D4

fn_80198824 Initializes tournament mode match data. Initializes tournament mode match data structures. Type casts used to match target instruction patterns (stw/sth vs stb).

◆ fn_80198C60()

void fn_80198C60 ( void  )
Todo:
Currently 99.63% match - permuter couldn't improve (instruction scheduling) Initializes tournament mode text displays.

◆ fn_8019A71C()

void fn_8019A71C ( s32 state)

Initializes the scene rendering components for the gm_18A5 game mode.

fn_80198D18 fn_80198EBC fn_80199AF0 fn_8019A158

Todo:
Currently 98.36% match - needs branch pattern fix (beq+b vs bne)

◆ gm_8019A828()

void gm_8019A828 ( void  )

◆ gm_8019B2DC_OnFrame()

void gm_8019B2DC_OnFrame ( void  )

fn_8019A86C

fn_8019AF50

Todo:
Currently 89.97% match - permuter couldn't improve Per-frame update for tournament mode menu.

◆ fn_8019B81C()

void fn_8019B81C ( s32 state)

fn_8019B458

Initializes match data and transitions to next state. Type cast used to match target stw instruction pattern.

◆ fn_8019B860()

void fn_8019B860 ( TmData tm)
Todo:
Currently 92% match - instruction scheduling issue (lfs/lbz order) Sets up tournament bracket display with entrant data.

Variable Documentation

◆ lbl_804DA6C4

char* lbl_804DA6C4
extern

◆ lbl_804DA6C8

char* lbl_804DA6C8
extern

◆ lbl_804DA6CC

char* lbl_804DA6CC
extern

◆ lbl_804DA6D0

char* lbl_804DA6D0
extern

◆ lbl_803D9FD8

lbl_803D9FD8_fn lbl_803D9FD8[]
Initial value:
= {
}
void fn_8019610C(s32 *state, u32 buttons, u32 trigger)
fn_80195CCC
Definition gm_18A5.c:1849
void fn_801949B4(s32 *arg0, u32 arg1, u32 arg2)
Definition gm_18A5.c:1560
void fn_80194BC4(s32 *arg0, u32 arg1, u32 arg2)
Definition gm_18A5.c:1632
void fn_80195AF0(s32 *state_ptr, u32 buttons, u32 trigger)
Definition gm_18A5.c:1772
void fn_80194D84(s32 *state, u32 buttons, u32 trigger)
Definition gm_18A5.c:1710
void fn_80193FCC(s32 *arg, u32 arg0, u32 arg01)
void fn_801937C4(s32 *arg, u32 arg0, u32 arg01)
void fn_80195CCC(s32 *arg, u32 arg0, u32 arg01)
void fn_80194658(s32 *arg, u32 arg0, u32 arg01)
void fn_80194F30(s32 *arg, u32 arg0, u32 arg01)
void fn_801953C8(s32 *arg, u32 arg0, u32 arg01)
void fn_80193B58(s32 *arg, u32 arg0, u32 arg01)
#define NULL
Definition stddef.h:19

◆ lbl_804D663C

HSD_GObj* lbl_804D663C
static

◆ pad

u8 pad[0xC]

◆ xC_counter

u16 xC_counter

◆ xE

u8 xE

◆ xF

u8 xF

◆ pad2

u8 pad2[0x10]

◆ [struct]

struct { ... } lbl_804799B8

◆ lbl_804799B8_data

u8 lbl_804799B8_data[0x40]
static

◆ lbl_804D6658

s32 lbl_804D6658
static

◆ lbl_803D9F80

◆ lbl_804D6654

s32 lbl_804D6654
static

◆ x0

u8 x0[0x80]

◆ x4

UNK_T x4

◆ x8

UNK_T x8

◆ [struct]

struct { ... } lbl_804771B8

Filename is just a guess, based on some strings in the file Seems to be Tournament game code.

◆ lbl_804D4194

s32 lbl_804D4194 = -1
static

◆ lbl_803DA0D0

u8 lbl_803DA0D0[]
extern

◆ _pad1

u8 _pad1[0x10]

◆ x10

u16 x10

◆ _pad2

u8 _pad2[0x8]

◆ x1A

u8 x1A

◆ x1B

u8 x1B

◆ x1C

u8 x1C

◆ [union]

union { ... } lbl_804799D8

◆ lbl_804D666C

SceneDesc* lbl_804D666C
extern

◆ lbl_804D6678

s32 lbl_804D6678

◆ lbl_804D6670

SceneDesc* lbl_804D6670
extern