SSBM Decomp
Loading...
Searching...
No Matches
gm_1601.c File Reference
#include "gm_1601.h"
#include "gm_1601.static.h"
#include "gm_unsplit.h"
#include "gmmain_lib.h"
#include "runtime.h"
#include "stddef.h"
#include "baselib/gobjplink.h"
#include "baselib/particle.h"
#include "cm/camera.h"
#include "db/db.h"
#include "ef/efasync.h"
#include "ef/eflib.h"
#include "gr/ground.h"
#include "gr/stage.h"
#include "if/ifstatus.h"
#include "it/item.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include "lb/lb_0192.h"
#include "lb/lbaudio_ax.h"
#include "lb/lblanguage.h"
#include "lb/lbtime.h"
#include "mn/mnstagesel.h"
#include "mp/mpcoll.h"
#include "pl/player.h"
#include "sc/types.h"
#include "ty/toy.h"
#include <m2c_macros.h>
#include <sysdolphin/baselib/controller.h>
#include <sysdolphin/baselib/random.h>
#include <melee/gm/gm_1A45.h>

Data Structures

struct  lbl_803D5168_t
 

Functions

u8 gm_801601C4 (s8 arg0)
 
u8 gm_80160244 (s8 arg0)
 
void gm_801602C0 (s8 arg0)
 
void gm_801603B0 (void)
 
u32 fn_80160400 (CharacterKind ckind)
 gets character victory theme id
 
char * gm_80160438 (s32 ckind)
 gets character result anim path
 
bool gm_80160474 (CharacterKind ckind, MajorSceneKind scene)
 
char * gm_801604DC (CharacterKind ckind, MajorSceneKind scene)
 gets characters trophy model
 
char * gm_80160564 (CharacterKind ckind, MajorSceneKind scene)
 
u8 fn_801605EC (s32 arg0)
 
s8 gm_80160638 (s32 arg0)
 
static u8 fn_801606A8_inline (int arg0)
 
u8 fn_801606A8 (int arg0)
 
u8 fn_80160710 (int arg0)
 
int gm_8016075C (CharacterKind ckind)
 
u8 fn_801607A8 (int arg0)
 
u8 fn_801607F4 (int arg0)
 
u8 fn_80160840 (u8 arg0)
 
u32 gm_80160854 (u8 slot, u8 team, u8 is_teams, u8 slot_type)
 gets the player hud color index
 
GXColor gm_80160968 (u8 arg0)
 gets the player hud color
 
const char * gm_80160980 (u8 ckind)
 Get SJIS character name for a given CharacterKind.
 
const char * fn_801609E0 (u8 ckind)
 
const char * gm_80160A60 (int arg0)
 
void gm_80160B40 (HSD_Text *text, u8 ckind, u8 arg2)
 
f32 fn_80160F58 (u8 ckind)
 gm_80160C90
 
void gm_801623FC (int arg0)
 fn_80161004
 
void gm_80162B98 (void)
 gm_8016247C
 
bool fn_80162CCC (void)
 gm_80162BD8
 
bool gm_80162D1C (void)
 
bool gm_80162EC8 (void)
 gm_80162D6C
 
bool gm_80162F18 (void)
 
bool fn_801630C4 (void)
 gm_80162F68
 
bool gm_80163114 (void)
 
bool gm_8016365C (u8 arg0)
 gm_80163164
 
bool gm_801639C0 (u8 arg0)
 gm_80163690
 
bool fn_80163D24 (void)
 gm_801639F4
 
bool fn_80163D74 (void)
 
u16 gm_80163DC4 (u8 i)
 
int gm_80163DE8 (void)
 Get total number of KOs.
 
u16 gm_80163E3C (u8 i)
 
int gm_80163E60 (void)
 
int gm_80163EB4 (u8 i)
 
int gm_80163ED8 (void)
 
int gm_80163F2C (u8 i)
 
int gm_80163F50 (void)
 
int fn_80163FA4 (u8 arg0)
 
u8 gm_8016400C (u8 ckind)
 
u8 gm_80164024 (u8 arg0)
 
bool gm_8016403C (u8 item)
 
void fn_801640B0 (u64 *item_mask)
 
float fn_8016419C (u8 arg0)
 
float fn_801641B4 (u8 arg0)
 
u16 gm_801641CC (u8 arg0)
 
void gm_801641E4 (u8 stage, u8 enable)
 
bool gm_80164600 (void)
 gm_80164250
 
void gm_801647D0 (void)
 gm_8016468C
 
int gm_801647F8 (u8 arg0)
 
bool gm_80164840 (u8 ckind)
 Is a specific character unlocked?
 
bool gm_80164ABC (void)
 gm_80164910
 
void gm_8016505C (void)
 fn_80164B48
 
bool gm_80165084 (void)
 
void fn_801650E8 (void)
 
void fn_80165108 (int slot, int arg1)
 
void fn_80165190 (s32 slot, s32 arg1)
 
void fn_801651FC (s32 slot, s32 arg1)
 
void gm_80165268 (int unused)
 
void gm_80165290 (int x)
 
void fn_801652B0 (s32 arg0, s32 arg1)
 
HSD_GObjgm_80165388 (u16 arg0, u8 arg1, u8 arg2, s32 arg3)
 fn_801652D8
 
void gm_801653C8 (HSD_GObj *gobj)
 frees the develop mode stress test
 
f32 fn_801653E8 (u8 arg0)
 
u8 fn_80165418 (MatchEnd *match_end)
 
u8 fn_801654A0 (MatchEnd *match_end)
 
float fn_80166A8C (register Vec3 *src, register Vec3 *dst)
 fn_80165548
 
u8 fn_80166CBC (struct fn_80166CBC_arg0_t *arg0, ssize_t index)
 gm_80166A98
 
bool gm_80167140 (MatchEnd *me)
 gm_80166CCC
 
int fn_80167194 (MatchEnd *me)
 
void fn_8016719C (s32 slot, s32 subchar)
 
void gm_80167320 (int slot, bool arg1)
 
void gm_801677C0 (struct gm_801677C0_s *arg0)
 gm_80167470
 
void gm_801677E8 (s8 arg0)
 
u8 gm_801677F0 (void)
 
bool gm_801677F8 (int port, int arg1)
 
void gm_80167858 (int port, int arg1, int arg2, int arg3)
 
void gm_801678F8 (int port, int arg1, int arg2)
 
void gm_8016795C (struct PlayerInitData *arg0)
 
void gm_80167A14 (struct PlayerInitData *arg0)
 
void gm_80167A64 (struct StartMeleeRules *arg0)
 
void gm_80167B50 (VsModeData *arg0)
 
void gm_80167BC8 (VsModeData *vs_data)
 
static int pad_inline (SSSData *arg0, int base)
 
static int get_flag_unk (u16 temp_r30)
 
static bool check_bit (u8 n, u16 *mask)
 
void gm_80167FC4 (SSSData *arg0)
 
s8 gm_801685D4 (u8 arg0, u8 arg1)
 
void gm_8016895C (HSD_JObj *arg0, DynamicModelDesc *arg1, int idx)
 gm_80168638
 
f32 gm_80168B34 (CharacterKind ckind, int arg1, int arg2)
 fn_801689E4
 
void gm_80168BF8 (int arg0)
 
void gm_80168C5C (u32 arg0)
 
void fn_80168E54 (s8 arg0, s8 arg1, u8 arg2, u8 arg3)
 
void fn_80168F2C (void)
 
void fn_80168F7C (void)
 
void gm_80168F88 (void)
 
void gm_80168FC4 (void)
 
u8 gm_80169238 (u8 ckind)
 fn_80169000
 
u8 gm_80169264 (u8 ckind)
 
u8 gm_80169290 (u8 ckind)
 
u8 gm_801692BC (u8 ckind)
 
void gm_801692E8 (u32 secs, datetime *datetime)
 
struct lbl_8046B488_tfn_80169364 (void)
 
u8 gm_80169370 (s32 arg0)
 
int gm_80169384 (void)
 
s32 gm_80169394 (void)
 
s32 fn_801693A8 (void)
 
static bool gm_801693BC_inline (u8 ckind)
 
bool gm_801693BC (int arg0)
 Player is Fighting Wireframe.
 
void fn_80169434 (s32 arg0)
 
int gm_801694A0 (HSD_GObj *arg0)
 fn_80169444
 
UNK_T gm_80169520 (void)
 
UNK_T gm_80169530 (void)
 
UNK_T gm_80169540 (void)
 
void gm_8016A164 (void)
 fn_80169550
 
s32 fn_8016A1E4 (void)
 
bool gm_8016A1F8 (void)
 
void gm_8016A21C (StartMeleeRules *arg0)
 
void gm_8016A404 (s32 arg0)
 gm_8016A22C
 
void gm_8016A414 (f32 arg8)
 
void gm_8016A424 (s8 arg0)
 
void gm_8016A92C (StartMeleeRules *arg0)
 gm_8016A434
 
UNK_T gm_8016A97C (void)
 gm_8016A944
 
UNK_T gm_8016A98C (void)
 

Variables

char * lbl_803D4D74 []
 JP character names.
 
char * lbl_803D4FDC []
 US character names.
 
char * lbl_803D5060 []
 
char * lbl_803D50E4 []
 
static struct lbl_803D5168_t lbl_803D5168 []
 
struct { 
 
   u8   ncolors 
 
   u8   x1 
 
   u8   x2 
 
   u8   x3 
 
lbl_803D51A0 [CKIND_PLAYABLE_COUNT
 
static struct ResultAnimEntry lbl_803D53A8 [0x1B]
 
static struct VictoryTheme lbl_803D5480 [0x1B]
 

Function Documentation

◆ gm_801601C4()

u8 gm_801601C4 ( s8  arg0)

◆ gm_80160244()

u8 gm_80160244 ( s8  arg0)

◆ gm_801602C0()

void gm_801602C0 ( s8  arg0)

◆ gm_801603B0()

void gm_801603B0 ( void  )

◆ fn_80160400()

u32 fn_80160400 ( CharacterKind  ckind)

gets character victory theme id

◆ gm_80160438()

char * gm_80160438 ( s32  ckind)

gets character result anim path

◆ gm_80160474()

bool gm_80160474 ( CharacterKind  ckind,
MajorSceneKind  scene 
)

◆ gm_801604DC()

char * gm_801604DC ( CharacterKind  ckind,
MajorSceneKind  scene 
)

gets characters trophy model

◆ gm_80160564()

char * gm_80160564 ( CharacterKind  ckind,
MajorSceneKind  scene 
)

◆ fn_801605EC()

u8 fn_801605EC ( s32  arg0)

◆ gm_80160638()

s8 gm_80160638 ( s32  arg0)

◆ fn_801606A8_inline()

static u8 fn_801606A8_inline ( int  arg0)
inlinestatic

◆ fn_801606A8()

u8 fn_801606A8 ( int  arg0)

◆ fn_80160710()

u8 fn_80160710 ( int  arg0)

◆ gm_8016075C()

int gm_8016075C ( CharacterKind  ckind)

◆ fn_801607A8()

u8 fn_801607A8 ( int  arg0)

◆ fn_801607F4()

u8 fn_801607F4 ( int  arg0)

◆ fn_80160840()

u8 fn_80160840 ( u8  arg0)

◆ gm_80160854()

u32 gm_80160854 ( u8  slot,
u8  team,
u8  is_teams,
u8  slot_type 
)

gets the player hud color index

◆ gm_80160968()

GXColor gm_80160968 ( u8  arg0)

gets the player hud color

◆ gm_80160980()

const char * gm_80160980 ( u8  ckind)

Get SJIS character name for a given CharacterKind.

◆ fn_801609E0()

const char * fn_801609E0 ( u8  ckind)

◆ gm_80160A60()

const char * gm_80160A60 ( int  arg0)

◆ gm_80160B40()

void gm_80160B40 ( HSD_Text text,
u8  ckind,
u8  arg2 
)

◆ fn_80160F58()

f32 fn_80160F58 ( u8  ckind)

◆ gm_801623FC()

◆ gm_80162B98()

◆ fn_80162CCC()

bool fn_80162CCC ( void  )

◆ gm_80162D1C()

bool gm_80162D1C ( void  )

◆ gm_80162EC8()

◆ gm_80162F18()

bool gm_80162F18 ( void  )

◆ fn_801630C4()

◆ gm_80163114()

bool gm_80163114 ( void  )

◆ gm_8016365C()

◆ gm_801639C0()

bool gm_801639C0 ( u8  arg0)

◆ fn_80163D24()

bool fn_80163D24 ( void  )

◆ fn_80163D74()

bool fn_80163D74 ( void  )

◆ gm_80163DC4()

u16 gm_80163DC4 ( u8  i)

◆ gm_80163DE8()

int gm_80163DE8 ( void  )

Get total number of KOs.

◆ gm_80163E3C()

u16 gm_80163E3C ( u8  i)

◆ gm_80163E60()

int gm_80163E60 ( void  )

◆ gm_80163EB4()

int gm_80163EB4 ( u8  i)

◆ gm_80163ED8()

int gm_80163ED8 ( void  )

◆ gm_80163F2C()

int gm_80163F2C ( u8  i)

◆ gm_80163F50()

int gm_80163F50 ( void  )

◆ fn_80163FA4()

int fn_80163FA4 ( u8  arg0)

◆ gm_8016400C()

u8 gm_8016400C ( u8  ckind)

◆ gm_80164024()

u8 gm_80164024 ( u8  arg0)

◆ gm_8016403C()

bool gm_8016403C ( u8  item)

◆ fn_801640B0()

void fn_801640B0 ( u64 *  item_mask)

◆ fn_8016419C()

float fn_8016419C ( u8  arg0)

◆ fn_801641B4()

float fn_801641B4 ( u8  arg0)

◆ gm_801641CC()

u16 gm_801641CC ( u8  arg0)

◆ gm_801641E4()

void gm_801641E4 ( u8  stage,
u8  enable 
)

◆ gm_80164600()

bool gm_80164600 ( void  )

◆ gm_801647D0()

void gm_801647D0 ( void  )

◆ gm_801647F8()

int gm_801647F8 ( u8  arg0)

◆ gm_80164840()

bool gm_80164840 ( u8  ckind)

Is a specific character unlocked?

character unlocked check

◆ gm_80164ABC()

bool gm_80164ABC ( void  )

gm_80164910

gm_80164A0C Are all unlockable characters unlocked?

Remarks
Gekko codes which unlock all characters change this to return true.

◆ gm_8016505C()

void gm_8016505C ( void  )

◆ gm_80165084()

bool gm_80165084 ( void  )

◆ fn_801650E8()

void fn_801650E8 ( void  )

◆ fn_80165108()

void fn_80165108 ( int  slot,
int  arg1 
)

◆ fn_80165190()

void fn_80165190 ( s32  slot,
s32  arg1 
)

◆ fn_801651FC()

void fn_801651FC ( s32  slot,
s32  arg1 
)

◆ gm_80165268()

void gm_80165268 ( int  unused)

◆ gm_80165290()

void gm_80165290 ( int  x)

◆ fn_801652B0()

void fn_801652B0 ( s32  arg0,
s32  arg1 
)

◆ gm_80165388()

HSD_GObj * gm_80165388 ( u16  arg0,
u8  arg1,
u8  arg2,
s32  arg3 
)

fn_801652D8

creates the develop mode stress test

◆ gm_801653C8()

void gm_801653C8 ( HSD_GObj gobj)

frees the develop mode stress test

◆ fn_801653E8()

f32 fn_801653E8 ( u8  arg0)

◆ fn_80165418()

u8 fn_80165418 ( MatchEnd match_end)

◆ fn_801654A0()

u8 fn_801654A0 ( MatchEnd match_end)

◆ fn_80166A8C()

float fn_80166A8C ( register Vec3 *  src,
register Vec3 *  dst 
)

◆ fn_80166CBC()

u8 fn_80166CBC ( struct fn_80166CBC_arg0_t arg0,
ssize_t  index 
)

◆ gm_80167140()

bool gm_80167140 ( MatchEnd me)

◆ fn_80167194()

int fn_80167194 ( MatchEnd me)

◆ fn_8016719C()

void fn_8016719C ( s32  slot,
s32  subchar 
)

◆ gm_80167320()

void gm_80167320 ( int  slot,
bool  arg1 
)

◆ gm_801677C0()

void gm_801677C0 ( struct gm_801677C0_s arg0)

◆ gm_801677E8()

void gm_801677E8 ( s8  arg0)

◆ gm_801677F0()

u8 gm_801677F0 ( void  )

◆ gm_801677F8()

bool gm_801677F8 ( int  port,
int  arg1 
)

◆ gm_80167858()

void gm_80167858 ( int  port,
int  arg1,
int  arg2,
int  arg3 
)

◆ gm_801678F8()

void gm_801678F8 ( int  port,
int  arg1,
int  arg2 
)

◆ gm_8016795C()

void gm_8016795C ( struct PlayerInitData arg0)

◆ gm_80167A14()

void gm_80167A14 ( struct PlayerInitData arg0)

◆ gm_80167A64()

void gm_80167A64 ( struct StartMeleeRules arg0)

◆ gm_80167B50()

void gm_80167B50 ( VsModeData arg0)

◆ gm_80167BC8()

void gm_80167BC8 ( VsModeData vs_data)

◆ pad_inline()

static int pad_inline ( SSSData arg0,
int  base 
)
inlinestatic

◆ get_flag_unk()

static int get_flag_unk ( u16  temp_r30)
inlinestatic

◆ check_bit()

static bool check_bit ( u8  n,
u16 *  mask 
)
inlinestatic

◆ gm_80167FC4()

void gm_80167FC4 ( SSSData arg0)

◆ gm_801685D4()

s8 gm_801685D4 ( u8  arg0,
u8  arg1 
)

◆ gm_8016895C()

void gm_8016895C ( HSD_JObj arg0,
DynamicModelDesc arg1,
int  idx 
)

◆ gm_80168B34()

f32 gm_80168B34 ( CharacterKind  ckind,
int  arg1,
int  arg2 
)

◆ gm_80168BF8()

void gm_80168BF8 ( int  arg0)

◆ gm_80168C5C()

void gm_80168C5C ( u32  arg0)

◆ fn_80168E54()

void fn_80168E54 ( s8  arg0,
s8  arg1,
u8  arg2,
u8  arg3 
)

◆ fn_80168F2C()

void fn_80168F2C ( void  )

◆ fn_80168F7C()

void fn_80168F7C ( void  )

◆ gm_80168F88()

void gm_80168F88 ( void  )

◆ gm_80168FC4()

void gm_80168FC4 ( void  )

◆ gm_80169238()

u8 gm_80169238 ( u8  ckind)

◆ gm_80169264()

u8 gm_80169264 ( u8  ckind)

◆ gm_80169290()

u8 gm_80169290 ( u8  ckind)

◆ gm_801692BC()

u8 gm_801692BC ( u8  ckind)

◆ gm_801692E8()

void gm_801692E8 ( u32  secs,
datetime datetime 
)

◆ fn_80169364()

struct lbl_8046B488_t * fn_80169364 ( void  )

◆ gm_80169370()

u8 gm_80169370 ( s32  arg0)

◆ gm_80169384()

int gm_80169384 ( void  )

◆ gm_80169394()

s32 gm_80169394 ( void  )

◆ fn_801693A8()

s32 fn_801693A8 ( void  )

◆ gm_801693BC_inline()

static bool gm_801693BC_inline ( u8  ckind)
inlinestatic

◆ gm_801693BC()

bool gm_801693BC ( int  arg0)

Player is Fighting Wireframe.

◆ fn_80169434()

void fn_80169434 ( s32  arg0)

◆ gm_801694A0()

int gm_801694A0 ( HSD_GObj arg0)

◆ gm_80169520()

UNK_T gm_80169520 ( void  )

◆ gm_80169530()

UNK_T gm_80169530 ( void  )

◆ gm_80169540()

UNK_T gm_80169540 ( void  )

◆ gm_8016A164()

◆ fn_8016A1E4()

s32 fn_8016A1E4 ( void  )

◆ gm_8016A1F8()

bool gm_8016A1F8 ( void  )

◆ gm_8016A21C()

void gm_8016A21C ( StartMeleeRules arg0)

◆ gm_8016A404()

void gm_8016A404 ( s32  arg0)

◆ gm_8016A414()

void gm_8016A414 ( f32  arg8)

◆ gm_8016A424()

void gm_8016A424 ( s8  arg0)

◆ gm_8016A92C()

◆ gm_8016A97C()

UNK_T gm_8016A97C ( void  )

◆ gm_8016A98C()

UNK_T gm_8016A98C ( void  )

Variable Documentation

◆ lbl_803D4D74

char* lbl_803D4D74[]

JP character names.

◆ lbl_803D4FDC

char* lbl_803D4FDC[]

US character names.

◆ lbl_803D5060

char* lbl_803D5060[]
Initial value:
= {
NULL, NULL, "フォックス", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, "サムス", NULL,
}
#define NULL
Definition stddef.h:19

◆ lbl_803D50E4

char* lbl_803D50E4[]
Initial value:
= {
NULL, NULL, "Fox", NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, "Samus", NULL,
}

◆ lbl_803D5168

struct lbl_803D5168_t lbl_803D5168[]
static
Initial value:
= {
{ 0x22, 0x00 }, { 0x24, 0x01 }, { 0x27, 0x02 }, { 0x38, 0x03 },
{ 0x29, 0x04 }, { 0x2A, 0x05 }, { 0x2B, 0x06 }, { 0x2C, 0x07 },
{ 0x21, 0x08 }, { 0x2D, 0x09 }, { 0x2E, 0x0A }, { 0x2F, 0x0B },
{ 0x30, 0x0C }, { 0x32, 0x0D }, { 0x28, 0x0E }, { 0x33, 0x0F },
{ 0x34, 0x10 }, { 0x36, 0x11 }, { 0x37, 0x12 }, { 0x35, 0x13 },
{ 0x26, 0x14 }, { 0x23, 0x15 }, { 0x25, 0x16 }, { 0x39, 0x17 },
{ 0x31, 0x18 }, { 0x3A, 0x19 }, { 0x48, 0x00 }, { 0 },
}

◆ ncolors

u8 ncolors

◆ x1

u8 x1

◆ x2

u8 x2

◆ x3

u8 x3

◆ [struct]

struct { ... } lbl_803D51A0[CKIND_PLAYABLE_COUNT]
Initial value:
= {
{ 0x06, 0x02, 0x05, 0x04 }, { 0x05, 0x02, 0x03, 0x04 },
{ 0x04, 0x01, 0x02, 0x03 }, { 0x04, 0x01, 0x02, 0x03 },
{ 0x06, 0x03, 0x02, 0x04 }, { 0x04, 0x01, 0x02, 0x00 },
{ 0x05, 0x01, 0x02, 0x00 }, { 0x04, 0x03, 0x02, 0x00 },
{ 0x05, 0x00, 0x03, 0x04 }, { 0x05, 0x01, 0x00, 0x02 },
{ 0x04, 0x01, 0x02, 0x03 }, { 0x04, 0x00, 0x02, 0x03 },
{ 0x05, 0x00, 0x03, 0x04 }, { 0x04, 0x01, 0x02, 0x03 },
{ 0x04, 0x03, 0x00, 0x01 }, { 0x05, 0x01, 0x02, 0x03 },
{ 0x05, 0x00, 0x04, 0x03 }, { 0x06, 0x01, 0x02, 0x00 },
{ 0x05, 0x01, 0x02, 0x03 }, { 0x05, 0x01, 0x02, 0x03 },
{ 0x04, 0x01, 0x02, 0x03 }, { 0x05, 0x01, 0x02, 0x00 },
{ 0x05, 0x01, 0x02, 0x03 }, { 0x05, 0x01, 0x02, 0x03 },
{ 0x04, 0x01, 0x02, 0x03 }, { 0x05, 0x01, 0x02, 0x03 },
}

◆ lbl_803D53A8

struct ResultAnimEntry lbl_803D53A8[0x1B]
static

◆ lbl_803D5480

struct VictoryTheme lbl_803D5480[0x1B]
static