SSBM Decomp
Loading...
Searching...
No Matches
gmtou_1.c File Reference
#include "gmtou_1.h"
#include "gm_1601.h"
#include "gm_1A3F.h"
#include "gm_1A45.h"
#include "gm_unsplit.h"
#include "gmtoulib.h"
#include "types.h"
#include <placeholder.h>
#include "baselib/fog.h"
#include "baselib/gobjgxlink.h"
#include "baselib/gobjobject.h"
#include "lb/lbarchive.h"
#include "lb/lbaudio_ax.h"
#include "lb/lbdvd.h"
#include "lb/types.h"
#include "mn/mnmain.h"
#include "sc/types.h"
#include <printf.h>
#include <dolphin/os.h>
#include <baselib/controller.h>
#include <baselib/dobj.h>
#include <baselib/gobj.h>
#include <baselib/gobjplink.h>
#include <baselib/gobjproc.h>
#include <baselib/jobj.h>
#include <baselib/mobj.h>
#include <baselib/particle.h>
#include <baselib/random.h>
#include <baselib/sislib.h>

Data Structures

struct  TmPlayerAnimFrames
union  TmPlayerAnimFrameTable

Functions

void fn_80196510 (void)
s32 fn_8019655C (void)
bool fn_80196564 (TmData *arg0)
bool fn_80196594 (TmData *arg0)
void fn_801965C4 (void)
void fn_80196684 (s32 bracket_idx)
 Randomly assigns bracket positions for tournament seeding.
void fn_801967E0 (s32 arg0)
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.
 STATIC_ASSERT (sizeof(TmPlayerAnimFrames)==6)
 STATIC_ASSERT (sizeof(TmPlayerAnimFrameTable)==sizeof(s32) *9)
void fn_80196FFC (HSD_GObj *gobj)
void fn_801973F8 (HSD_GObj *gobj)
 Updates visibility and position of a tournament menu JObj.
void fn_801975C8 (HSD_GObj *gobj)
 Updates visibility of a tournament menu JObj based on current menu state.
void fn_801976D4 (HSD_GObj *gobj)
 Updates visibility and animation of tournament menu JObj.
void fn_801977AC (HSD_GObj *gobj)
void fn_80197AF0 (HSD_GObj *gobj)
void fn_80197D4C (HSD_GObj *gobj)
 Updates visibility of a menu JObj based on current menu option.
void fn_80197E18 (HSD_GObj *gobj)
void fn_80197FD8 (HSD_GObj *gobj)
void fn_801981A0 (HSD_GObj *gobj)
void fn_801983E4 (HSD_GObj *gobj)
 Updates the visibility and position of a player's controller indicator.
void fn_80198584 (ResultsData *results)
void fn_801985D4 (HSD_GObj *gobj)
void fn_80198824 (HSD_GObj *gobj)
 Animates and positions the tournament bracket results overlay JObj.
void fn_80198BA0 (void)
 Initializes tournament mode match data.
void fn_80198C60 (void)
void fn_80198D18 (void)
 Initializes the scene rendering components for the gm_18A5 game mode.
void fn_80198EBC (void)
void fn_80199AF0 (void)
void fn_8019A158 (void)
void fn_8019A71C (s32 *state, u32 unused1, u32 unused2)
 #fn_8019A158_end
void gm_8019A828 (void)
void fn_8019A86C (s32 *arg0, u32 arg1, u32 arg2)
void fn_8019AF50 (s32 *arg0, u32 arg1, u32 arg2)
 Tournament match timer display/audio state machine.
void gm_8019B2DC_OnFrame (void)
void fn_8019B458 (s32 *arg0)
 Transitions to results screen after a tournament match.
void fn_8019B81C (s32 *state)
 Initializes match data and transitions to next state.
void fn_8019B860 (TmData *tm)
void gm_8019B8C4_OnEnter (void *arg0)
void gm_8019B9C8_OnLeave (void *arg0)
void fn_8019BA04 (s32 *state)

Variables

struct Lbl804799D8_t lbl_804799D8
struct Lbl804799B8_t lbl_804799B8
SceneDesclbl_804D6670
struct lbl_803DA0D0_t lbl_803DA0D0
static s32 lbl_804D4190 = 0xFFFFFFFF
static s32 lbl_804D4194 = -1
HSD_GObjlbl_804D663C
s32 lbl_803B7CE0 [9]
f32 lbl_804DA7E0
f32 lbl_804DA7E4
f32 lbl_804DA7E8
f32 lbl_804DA7EC
f32 lbl_804DA7F0
f32 lbl_804DA810
f32 lbl_804DA814
f32 lbl_804DA818
f32 lbl_804DA81C
f32 lbl_804DA820
f32 lbl_804DA824
s32 lbl_804D667C
SceneDesclbl_804D666C
f32 lbl_804DA808
f32 lbl_804DA82C
f32 lbl_804DA830
f32 lbl_804DA834
f32 lbl_804DA838
f32 lbl_804DA83C
f32 lbl_804DA840
SceneDesclbl_804D6674
f32 lbl_804DA828
f32 lbl_804DA844
f32 lbl_804DA848
f32 lbl_804DA84C
f32 lbl_804DA850
f32 lbl_804DA854
f32 lbl_804DA858
f32 lbl_804DA85C
f32 lbl_804DA860
f32 lbl_804DA864
f32 lbl_804DA868
f32 lbl_804DA86C
f32 lbl_804DA870
f32 lbl_804DA874
s32 lbl_804D6678
u8 lbl_804D6680 [8]
u8 lbl_803B7D04 [20]

Function Documentation

◆ fn_80196510()

void fn_80196510 ( void )

◆ 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)

Randomly assigns bracket positions for tournament seeding.

◆ fn_801967E0()

void fn_801967E0 ( s32 arg0)

◆ fn_80196CF8()

s32 fn_80196CF8 ( void )

◆ 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.

◆ STATIC_ASSERT() [1/2]

STATIC_ASSERT ( sizeof(TmPlayerAnimFrames) = =6)

◆ STATIC_ASSERT() [2/2]

STATIC_ASSERT ( sizeof(TmPlayerAnimFrameTable) = =sizeof(s32) *9)

◆ fn_80196FFC()

void fn_80196FFC ( HSD_GObj * gobj)

◆ fn_801973F8()

void fn_801973F8 ( HSD_GObj * gobj)

Updates visibility and position of a tournament menu JObj.

◆ fn_801975C8()

void fn_801975C8 ( HSD_GObj * gobj)

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_801977AC()

void fn_801977AC ( HSD_GObj * gobj)

◆ fn_80197AF0()

void fn_80197AF0 ( HSD_GObj * gobj)

◆ fn_80197D4C()

void fn_80197D4C ( HSD_GObj * gobj)

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
Down to linking Updates player cursor animation and position.

◆ fn_801983E4()

void fn_801983E4 ( HSD_GObj * gobj)

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

◆ fn_80198584()

void fn_80198584 ( ResultsData * results)

◆ fn_801985D4()

void fn_801985D4 ( HSD_GObj * gobj)

◆ fn_80198824()

void fn_80198824 ( HSD_GObj * gobj)

Animates and positions the tournament bracket results overlay JObj.

Uses HSD_JObjSetTranslateZ for visibility, HSD_JObjSetTranslate/SetScale for positioning from lbl_804799D8 cached values.

◆ fn_80198BA0()

void fn_80198BA0 ( void )

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_80198D18()

void fn_80198D18 ( void )

Initializes the scene rendering components for the gm_18A5 game mode.

◆ fn_80198EBC()

void fn_80198EBC ( void )

◆ fn_80199AF0()

void fn_80199AF0 ( void )

◆ fn_8019A158()

void fn_8019A158 ( void )

◆ fn_8019A71C()

void fn_8019A71C ( s32 * state,
u32 unused1,
u32 unused2 )

#fn_8019A158_end

◆ gm_8019A828()

void gm_8019A828 ( void )

◆ fn_8019A86C()

void fn_8019A86C ( s32 * arg0,
u32 arg1,
u32 arg2 )

◆ fn_8019AF50()

void fn_8019AF50 ( s32 * arg0,
u32 arg1,
u32 arg2 )

Tournament match timer display/audio state machine.

Handles match countdown, audio transitions, and end conditions.

◆ gm_8019B2DC_OnFrame()

void gm_8019B2DC_OnFrame ( void )
Todo
Currently 89.97% match - permuter couldn't improve Per-frame update for tournament mode menu.

◆ fn_8019B458()

void fn_8019B458 ( s32 * arg0)

Transitions to results screen after a tournament match.

Ranks players, preloads stage/character data, and starts audio.

◆ fn_8019B81C()

void fn_8019B81C ( s32 * state)

Initializes match data and transitions to next state.

Type cast used to match target stw instruction pattern.

◆ fn_8019B860()

void fn_8019B860 ( TmData * tm)

◆ gm_8019B8C4_OnEnter()

void gm_8019B8C4_OnEnter ( void * arg0)

◆ gm_8019B9C8_OnLeave()

void gm_8019B9C8_OnLeave ( void * arg0)

◆ fn_8019BA04()

void fn_8019BA04 ( s32 * state)

Variable Documentation

◆ lbl_804799D8

struct Lbl804799D8_t lbl_804799D8

◆ lbl_804799B8

struct Lbl804799B8_t lbl_804799B8

◆ lbl_804D6670

SceneDesc * lbl_804D6670
extern

◆ lbl_803DA0D0

struct lbl_803DA0D0_t lbl_803DA0D0
Initial value:
= {
0, 1, 2, 3, 5, 6, 12, 6, 6, 7, 9, 8, 6, 9, 4, 9, 10, 11, 12,
2, 12, 6, 7, 9, 12, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 3, 0,
0, 0, 5, 6, 4, 0, 0, 0, 6, 7, 6, 10, 0, 0, 12, 13, 8, 12, 0,
0, 14, 15, 12, 18, 21, 0, 23, 24, 16, 24, 28, 0, 30, 31, 24, 36, 42, 46,
48, 49, 32, 48, 56, 60, 62, 63, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
4, 4, 0, 0, 0, 6, 7, 6, 0, 0, 0, 8, 9, 9, 0, 0, 0, 12, 13,
2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 5, 4,
0, 0, 0, 6, 7, 5, 0, 0, 0, 7, 8, 6, 0, 0, 0, 8, 9, 7, 0,
0, 0, 9, 10, 8, 0, 0, 0, 10, 11, 8, 12, 0, 0, 14, 15, 9, 0, 0,
0, 12, 13, 10, 0, 0, 0, 14, 15, 11, 0, 0, 0, 15, 16, 12, 0, 0, 0,
16, 17, 13, 0, 0, 0, 17, 18, 14, 0, 0, 0, 18, 19, 15, 0, 0, 0, 19,
20, 16, 0, 0, 0, 20, 21, 16, 20, 0, 0, 22, 23
}

◆ lbl_804D4190

s32 lbl_804D4190 = 0xFFFFFFFF
static

◆ lbl_804D4194

s32 lbl_804D4194 = -1
static

◆ lbl_804D663C

HSD_GObj* lbl_804D663C

◆ lbl_803B7CE0

s32 lbl_803B7CE0[9]
extern

◆ lbl_804DA7E0

f32 lbl_804DA7E0
extern

◆ lbl_804DA7E4

f32 lbl_804DA7E4
extern

◆ lbl_804DA7E8

f32 lbl_804DA7E8
extern

◆ lbl_804DA7EC

f32 lbl_804DA7EC
extern

◆ lbl_804DA7F0

f32 lbl_804DA7F0
extern

◆ lbl_804DA810

f32 lbl_804DA810
extern

◆ lbl_804DA814

f32 lbl_804DA814
extern

◆ lbl_804DA818

f32 lbl_804DA818
extern

◆ lbl_804DA81C

f32 lbl_804DA81C
extern

◆ lbl_804DA820

f32 lbl_804DA820
extern

◆ lbl_804DA824

f32 lbl_804DA824
extern

◆ lbl_804D667C

s32 lbl_804D667C
extern

◆ lbl_804D666C

SceneDesc* lbl_804D666C
extern

◆ lbl_804DA808

f32 lbl_804DA808
extern

◆ lbl_804DA82C

f32 lbl_804DA82C
extern

◆ lbl_804DA830

f32 lbl_804DA830
extern

◆ lbl_804DA834

f32 lbl_804DA834
extern

◆ lbl_804DA838

f32 lbl_804DA838
extern

◆ lbl_804DA83C

f32 lbl_804DA83C
extern

◆ lbl_804DA840

f32 lbl_804DA840
extern

◆ lbl_804D6674

SceneDesc* lbl_804D6674
extern

◆ lbl_804DA828

f32 lbl_804DA828
extern

◆ lbl_804DA844

f32 lbl_804DA844
extern

◆ lbl_804DA848

f32 lbl_804DA848
extern

◆ lbl_804DA84C

f32 lbl_804DA84C
extern

◆ lbl_804DA850

f32 lbl_804DA850
extern

◆ lbl_804DA854

f32 lbl_804DA854
extern

◆ lbl_804DA858

f32 lbl_804DA858
extern

◆ lbl_804DA85C

f32 lbl_804DA85C
extern

◆ lbl_804DA860

f32 lbl_804DA860
extern

◆ lbl_804DA864

f32 lbl_804DA864
extern

◆ lbl_804DA868

f32 lbl_804DA868
extern

◆ lbl_804DA86C

f32 lbl_804DA86C
extern

◆ lbl_804DA870

f32 lbl_804DA870
extern

◆ lbl_804DA874

f32 lbl_804DA874
extern

◆ lbl_804D6678

s32 lbl_804D6678
extern

◆ lbl_804D6680

u8 lbl_804D6680[8]
extern

◆ lbl_803B7D04

u8 lbl_803B7D04[20]
extern