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 "gmstamina.h"
#include "placeholder.h"
#include "stddef.h"
#include "baselib/gobjplink.h"
#include "baselib/jobj.h"
#include "cm/camera.h"
#include "ft/forward.h"
#include "gm/forward.h"
#include "gm/types.h"
#include "gr/ground.h"
#include "gr/stage.h"
#include "if/ifnametag.h"
#include "if/ifstatus.h"
#include "lb/lb_00B0.h"
#include "lb/lbaudio_ax.h"
#include "lb/lblanguage.h"
#include "lb/lbspdisplay.h"
#include "lb/lbtime.h"
#include "mn/mnstagesel.h"
#include "mn/types.h"
#include "pl/player.h"
#include "pl/plbonus.h"
#include "pl/plbonuslib.h"
#include "sc/types.h"
#include "ty/toy.h"
#include <m2c_macros.h>
#include <baselib/video.h>
#include <sysdolphin/baselib/controller.h>
#include <sysdolphin/baselib/debugconsole_main.h>
#include <sysdolphin/baselib/hsd_3915.h>
#include <sysdolphin/baselib/random.h>
#include <melee/gm/gm_1A45.h>

Data Structures

struct  lbl_803D5168_t
struct  gm_stats
struct  fn_80165AC0_loser_bits
struct  fn_8016719C_xC_bits
struct  lbl_803B7A44_t
struct  lbl_8046B488_event_player_init_cb_t
struct  gm_8016A22C_header
struct  gm_8016A22C_buffers

Typedefs

typedef void(* GmEventPlayerInitCallback) (s32 slot, u8 remaining_count)

Functions

int gm_801601C4 (s8 arg0)
int gm_80160244 (s8 arg0)
static int gm_801601C4_inner (s8 arg0)
static int gm_801601C4_noinline (s8 arg0)
static int gm_80160244_inner (s8 arg0)
static int gm_80160244_noinline (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, GameModeKind mode)
char * gm_801604DC (CharacterKind ckind, GameModeKind mode)
 gets characters trophy model
char * gm_80160564 (CharacterKind ckind, GameModeKind mode)
u8 gm_SelKindToUnlockIndex (SelectableCharacterKind selkind)
 Returns the index used in the bitmask to represent whether or not the provided character is unlocked.
s8 gm_CKindToUnlockIndex (CharacterKind ckind)
 Returns the index used in the bitmask to represent whether or not the provided character is unlocked.
static u8 get_unlockable_selkind_by_bit_index (int unlock_bit_index)
u8 gm_GetCKindByUnlockIndex (int unlockable_character_bit_index)
u8 fn_80160710 (int arg0)
int gm_8016075C (SelectableCharacterKind selkind)
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_noinline (u8 ckind)
const char * gm_80160980_noinline2 (u8 ckind)
const char * gm_80160980_noinline3 (u8 ckind)
const char * gm_80160980 (u8 ckind)
 Get SJIS character name for a given CharacterKind.
const char * fn_801609E0_noinline (u8 ckind)
const char * fn_801609E0_noinline2 (u8 ckind)
const char * fn_801609E0_noinline3 (u8 ckind)
const char * fn_801609E0 (u8 ckind)
const char * gm_80160A60 (int arg0)
static void gm_80160B40_init_text (HSD_Text *text, HSD_Text **tmp_text)
void gm_80160B40 (HSD_Text *text, u8 ckind, u8 arg2)
void gm_80160C90 (HSD_Text *text, u8 fighter_id, u8 arg2)
void fn_80160DE8 (HSD_JObj *arg0, u8 arg1, s32 arg2, u8 arg3, f32 farg0, f32 farg1)
f32 fn_80160F58 (u8 ckind)
s32 fn_80161004 (MatchEnd *match_end)
s32 fn_80161154 (MatchEnd *arg0)
static u32 fn_80161C90_count_players (MatchEnd *match_end)
void fn_80161C90 (MatchEnd *arg0, int arg1, u16 *arg2)
void fn_80162068 (MatchEnd *match_end)
void fn_80162170 (MatchEnd *arg0)
s32 gm_801623A4 (MatchEnd *arg0)
int gm_801623D8 (void)
void gm_801623FC (int arg0)
s32 gm_8016247C (s32 arg0)
void gm_80162574 (u8 arg0, u8 arg1)
void gm_8016260C (u8 arg0, u8 arg1)
u32 gm_GetVsPlayMatchTotal (void)
u32 gm_80162800 (MatchEnd *arg0)
void gm_801628C4 (u32 arg0, u32 arg1)
long gm_80162968 (u32 seconds)
long gm_801629B4 (s32 amount)
long gm_GetPlayTime (void)
long gm_80162A4C (s32 amount)
struct gmm_x1868_1A8_t * gm_80162A98 (s32 arg0)
void gm_80162B4C (s32 amount)
void gm_IncrementPowerCount (void)
int gm_80162BD8 (u8 arg0)
bool fn_80162BFC (s8 ckind, int arg1)
s32 gm_80162C48 (void)
bool fn_80162CCC (void)
bool gm_80162D1C (void)
u8 gm_80162D6C (void)
int gm_80162DD4 (u8 i)
s32 fn_80162DF8 (u8 ckind, u32 arg1)
s32 gm_80162E44 (void)
bool gm_80162EC8 (void)
bool gm_80162F18 (void)
u8 gm_80162F68 (void)
int gm_80162FD0 (u8 i)
bool fn_80162FF4 (u8 ckind, u32 arg1)
s32 gm_80163040 (void)
bool fn_801630C4 (void)
bool gm_80163114 (void)
u8 gm_80163164 (void)
u32 gm_801631CC (u8 i)
u32 gm_801631F0 (void)
u16 gm_80163274 (u8 i)
bool gm_80163298 (s8 c_kind, u16 arg1)
s32 gm_8016332C (u8 arg0)
void gm_80163374 (u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3, u8 *arg4)
bool gm_801634D4 (u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3)
bool gm_8016365C (u8 arg0)
s32 gm_80163690 (u8 arg0)
void gm_801636D8 (u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3, u8 *arg4)
bool gm_80163838 (u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3)
bool gm_801639C0 (u8 arg0)
int gm_801639F4 (u8 arg0)
void gm_80163A3C (u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3, u8 *arg4)
bool gm_80163B9C (u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3)
bool fn_80163D24 (void)
bool fn_80163D74 (void)
u16 gm_Get3MinMultimanHighscore (u8 i)
int gm_Get3MinMultimanTotalHighscore (void)
 Get total number of KOs.
u16 gm_Get15MinMultimanHighscore (u8 i)
int gm_Get15MinMultimanTotalHighscore (void)
int gm_GetEndlessHighscore (u8 i)
int gm_GetEndlessTotalHighscore (void)
int gm_GetCruelHighscore (u8 i)
int gm_GetCruelTotalHighscore (void)
int fn_80163FA4 (u8 arg0)
u8 gm_SelKindToCKind (u8 selkind)
 Convert a SelectableCharacterKind into its CharacterKind.
u8 gm_CKindToSelKind (u8 ckind)
 Convert a CharacterKind into its SelectableCharacterKind.
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)
s32 gm_80164250 (u16 mask)
bool fn_801642A0 (void)
bool gm_80164330 (s32 arg0)
bool gm_80164430 (u16 arg0)
void gm_80164504 (u16 stkind)
bool gm_80164600 (void)
 Are all stages unlocked?
void gm_8016468C (void)
void gm_801647D0 (void)
int gm_801647F8 (u8 arg0)
bool gm_IsCKindUnlocked (u8 ckind)
 Is a specific character unlocked?
static bool isCKindUnlocked_inner (u8 ckind)
static bool isCKindUnlocked (u8 ckind)
void gm_UnlockCKind (CharacterKind ckind)
void gm_80164A0C (u8 ckind)
 Lock character?
bool gm_80164ABC (void)
 Are all unlockable characters unlocked?
static bool is_character_unlocked (u8 idx, u16 *ptr)
static bool fn_80164B48_check (u8 idx, u16 *ptr)
static u8 fn_80164B48_lookup (s32 t, const u8 *es, const u8 *base)
static u8 fn_80164B48_lookup_last (s32 t, const u8 **es, const u8 *base)
bool fn_80164B48 (void)
void gm_80164F18 (void)
void gm_8016505C (void)
bool gm_80165084 (void)
void fn_801650E8 (void)
void gm_EnablePlayerPauseCamera (int playerSlot, int playerId)
 Enables the pause camera for the given player.
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)
void * fn_801652D8 (void)
HSD_GObjgm_80165388 (u16 arg0, u8 arg1, u8 arg2, s32 arg3)
 creates the develop mode stress test
void gm_801653C8 (HSD_GObj *gobj)
 frees the develop mode stress test
f32 fn_801653E8 (u8 arg0)
s32 fn_80165418 (MatchEnd *match_end)
s32 fn_801654A0 (MatchEnd *match_end)
s32 fn_80165548 (MatchEnd *me, s32 arg1, s32 team)
u32 fn_801656A8 (MatchEnd *arg0, u32 arg1)
s32 fn_8016588C (lbl_8046B6A0_24C_t *arg0, s32 arg1)
s32 fn_80165AC0 (MatchEnd *arg0)
MatchEndfn_80165D60 (MatchEnd *arg0)
void fn_80165E7C (MatchEnd *arg0)
s32 fn_80165FA4 (MatchEnd *arg0)
s32 fn_801661E0 (MatchEnd *arg0)
void gm_80166378 (lbl_8046B6A0_24C_t *arg0_raw)
float fn_80166A8C (register Vec3 *src, register Vec3 *dst)
s32 gm_80166A98 (MatchEnd *arg0, u8 arg1, s8 arg2, u8 arg3, s8 arg4, u8 arg5, s8 arg6, u8 arg7, u8 arg_sp8, u8 arg_spC)
u8 fn_80166CBC (MatchEnd *arg0, ssize_t index)
void gm_80166CCC (MatchEnd *arg0, MatchEnd *arg1)
bool gm_80167140 (MatchEnd *me)
int fn_80167194 (MatchEnd *me)
void fn_8016719C (s32 slot, s32 subchar)
void gm_80167320 (int slot, bool arg1)
void gm_80167470 (s32 arg0, s32 arg1)
void gm_801674C4 (s8 arg0, u8 arg1, s8 arg2, s8 arg3, GmRouteCallback arg4)
void fn_8016758C (void)
s32 fn_80167638 (s32 arg0, Vec3 *arg1, Vec3 *arg2)
void gm_801677C0 (struct gm_801677C0_s *arg0)
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_80168638 (MatchEnd *arg0)
void gm_80168710 (MatchEnd *arg0, VsModeData *arg1)
s32 gm_801688AC (MatchEnd *arg0)
int gm_80168940 (MatchEnd *match_end)
void gm_8016895C (HSD_JObj *arg0, DynamicModelDesc *arg1, int idx)
void fn_801689E4 (HSD_JObj *arg0, DynamicModelDesc *arg1, int idx)
void fn_80168A6C (void *arg0, void *arg1, s32 idx)
f32 gm_80168B34 (CharacterKind ckind, int arg1, int arg2)
float gm_80168BF8 (int arg0)
void gm_80168C5C (u32 arg0)
void fn_80168E54 (s8 arg0, s8 arg1, u8 arg2, u8 arg3)
void fn_80168F2C (s8 ignored)
void fn_80168F7C (void)
void gm_80168F88 (void)
void gm_80168FC4 (void)
 UnclePunch: Audio_LoadAnnouncer.
s32 fn_80169000 (void *arg0, void *arg1)
u8 gm_80169238 (u8 ckind)
 fn_80169000 done
static u8 gm_80169238_inner2 (u8 ckind)
static u8 gm_80169238_inner (u8 ckind)
static u8 gm_80169238_noinline (u8 ckind)
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_tgm_1601_GetUnkData (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 (GmRouteCallback fn)
bool fn_80169444 (bool arg0)
int gm_801694A0 (HSD_GObj *arg0)
UNK_T gm_80169520 (void)
UNK_T gm_80169530 (void)
UNK_T gm_80169540 (void)
void fn_80169550 (int slot)
void fn_80169574 (ssize_t size, s8 *buf)
static s8fn_801695BC_rand_color (s32 ncolors, s8 *colors)
static s32 fn_801695BC_get_color (s32 i, u8 *colors)
static void fn_801695BC_init_colors (u8 ncolors, s8 *colors)
s32 fn_801695BC (u8 arg0, u8 arg1, u8 arg2, u8 *arg3, u8 *arg4)
void fn_801697FC (s8 character, s8 costume, s8 new_character, s8 new_costume, s8 *buf)
void fn_8016989C (u8 *arg0, u8 arg1, u8 arg2, u8 *arg3, u8 *arg4)
void fn_80169900 (u8 arg0, struct lbl_8046B488_t *arg1, s8 *arg2, s8 *arg3)
long fn_80169A84 (u8 arg0, s8 *arg1, s8 *arg2)
void fn_80169C54 (s8 arg0, s8 arg1)
static void fn_80169F50_inline (s32 arg1, struct lbl_8046B488_t *gp, int temp_arg0)
void fn_80169F50 (s8 arg0, s8 arg1)
void fn_8016A09C (void)
void gm_8016A164 (void)
s32 fn_8016A1E4 (void)
bool gm_8016A1F8 (void)
void gm_8016A21C (StartMeleeRules *arg0)
 STATIC_ASSERT (sizeof(struct lbl_8046B488_event_player_init_cb_t)==0x1C0)
static GmEventPlayerInitCallbackgm_8016A404_event_player_init_cb (struct lbl_8046B488_t *gp)
static struct gm_8016A22C_header * gm_8016A22C_header (struct lbl_8046B488_t *gp)
static struct gm_8016A22C_buffers * gm_8016A22C_buffers (struct lbl_8046B488_t *gp)
s32 gm_8016A22C (s8 k0, s8 k1, s8 k2, u8 a3, u8 a4, int a5, int mode, int a7, u8 color, u8 p87, u8 p8b, int x6, int x7, int x9, int xA, int flag2, int flag1, f32 f1, f32 f2)
void gm_8016A404 (s32 arg0)
void gm_8016A414 (f32 arg8)
void gm_8016A424 (s8 arg0)
void gm_8016A434 (void)
void fn_8016A450 (void)
void fn_8016A46C (void)
void fn_8016A488 (s32 arg0)
static int fn_8016A4C8_spawn_offset (struct lbl_8046B488_t *gp)
static f32 fn_8016A4C8_attack_ratio (struct lbl_8046B488_t *gp)
void fn_8016A4C8 (void)
void gm_8016A92C (StartMeleeRules *arg0)
bool gm_8016A944 (void)
UNK_T gm_8016A97C (void)
struct lbl_8046B668_tgm_8016A98C (void)
int gm_8016A998 (s8 arg0, s8 arg1)
int gm_8016A9E8 (u8 arg0, s8 arg1)
bool gm_8016AC44 (s8 ckind, s8 costume_id)

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 ckind_victory_themes [0x1B]
struct lbl_803B7A44_t lbl_803B7A44

Typedef Documentation

◆ GmEventPlayerInitCallback

typedef void(* GmEventPlayerInitCallback) (s32 slot, u8 remaining_count)

Function Documentation

◆ gm_801601C4()

int gm_801601C4 ( s8 arg0)

◆ gm_80160244()

int gm_80160244 ( s8 arg0)

◆ gm_801601C4_inner()

int gm_801601C4_inner ( s8 arg0)
inlinestatic

◆ gm_801601C4_noinline()

int gm_801601C4_noinline ( s8 arg0)
inlinestatic

◆ gm_80160244_inner()

int gm_80160244_inner ( s8 arg0)
inlinestatic

◆ gm_80160244_noinline()

int gm_80160244_noinline ( s8 arg0)
inlinestatic

◆ 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,
GameModeKind mode )

◆ gm_801604DC()

char * gm_801604DC ( CharacterKind ckind,
GameModeKind mode )

gets characters trophy model

◆ gm_80160564()

char * gm_80160564 ( CharacterKind ckind,
GameModeKind mode )

◆ gm_SelKindToUnlockIndex()

u8 gm_SelKindToUnlockIndex ( SelectableCharacterKind selkind)

Returns the index used in the bitmask to represent whether or not the provided character is unlocked.

◆ gm_CKindToUnlockIndex()

s8 gm_CKindToUnlockIndex ( CharacterKind ckind)

Returns the index used in the bitmask to represent whether or not the provided character is unlocked.

◆ get_unlockable_selkind_by_bit_index()

u8 get_unlockable_selkind_by_bit_index ( int unlock_bit_index)
inlinestatic

◆ gm_GetCKindByUnlockIndex()

u8 gm_GetCKindByUnlockIndex ( int unlockable_character_bit_index)

◆ fn_80160710()

u8 fn_80160710 ( int arg0)

◆ gm_8016075C()

int gm_8016075C ( SelectableCharacterKind selkind)

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

const char * gm_80160980_noinline ( u8 ckind)

◆ gm_80160980_noinline2()

const char * gm_80160980_noinline2 ( u8 ckind)

◆ gm_80160980_noinline3()

const char * gm_80160980_noinline3 ( u8 ckind)

◆ gm_80160980()

const char * gm_80160980 ( u8 ckind)

Get SJIS character name for a given CharacterKind.

◆ fn_801609E0_noinline()

const char * fn_801609E0_noinline ( u8 ckind)

◆ fn_801609E0_noinline2()

const char * fn_801609E0_noinline2 ( u8 ckind)

◆ fn_801609E0_noinline3()

const char * fn_801609E0_noinline3 ( u8 ckind)

◆ fn_801609E0()

const char * fn_801609E0 ( u8 ckind)

◆ gm_80160A60()

const char * gm_80160A60 ( int arg0)

◆ gm_80160B40_init_text()

void gm_80160B40_init_text ( HSD_Text * text,
HSD_Text ** tmp_text )
inlinestatic

◆ gm_80160B40()

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

◆ gm_80160C90()

void gm_80160C90 ( HSD_Text * text,
u8 fighter_id,
u8 arg2 )

◆ fn_80160DE8()

void fn_80160DE8 ( HSD_JObj * arg0,
u8 arg1,
s32 arg2,
u8 arg3,
f32 farg0,
f32 farg1 )

◆ fn_80160F58()

f32 fn_80160F58 ( u8 ckind)

◆ fn_80161004()

s32 fn_80161004 ( MatchEnd * match_end)

◆ fn_80161154()

s32 fn_80161154 ( MatchEnd * arg0)

◆ fn_80161C90_count_players()

u32 fn_80161C90_count_players ( MatchEnd * match_end)
inlinestatic

◆ fn_80161C90()

void fn_80161C90 ( MatchEnd * arg0,
int arg1,
u16 * arg2 )

◆ fn_80162068()

void fn_80162068 ( MatchEnd * match_end)

◆ fn_80162170()

void fn_80162170 ( MatchEnd * arg0)

◆ gm_801623A4()

s32 gm_801623A4 ( MatchEnd * arg0)

◆ gm_801623D8()

int gm_801623D8 ( void )

◆ gm_801623FC()

void gm_801623FC ( int arg0)

◆ gm_8016247C()

s32 gm_8016247C ( s32 arg0)

◆ gm_80162574()

void gm_80162574 ( u8 arg0,
u8 arg1 )

◆ gm_8016260C()

void gm_8016260C ( u8 arg0,
u8 arg1 )

◆ gm_GetVsPlayMatchTotal()

u32 gm_GetVsPlayMatchTotal ( void )

◆ gm_80162800()

u32 gm_80162800 ( MatchEnd * arg0)

◆ gm_801628C4()

void gm_801628C4 ( u32 arg0,
u32 arg1 )

◆ gm_80162968()

long gm_80162968 ( u32 seconds)

◆ gm_801629B4()

long gm_801629B4 ( s32 amount)

◆ gm_GetPlayTime()

long gm_GetPlayTime ( void )

◆ gm_80162A4C()

long gm_80162A4C ( s32 amount)

◆ gm_80162A98()

struct gmm_x1868_1A8_t * gm_80162A98 ( s32 arg0)

◆ gm_80162B4C()

void gm_80162B4C ( s32 amount)

◆ gm_IncrementPowerCount()

void gm_IncrementPowerCount ( void )

◆ gm_80162BD8()

int gm_80162BD8 ( u8 arg0)

◆ fn_80162BFC()

bool fn_80162BFC ( s8 ckind,
int arg1 )

◆ gm_80162C48()

s32 gm_80162C48 ( void )

◆ fn_80162CCC()

bool fn_80162CCC ( void )

◆ gm_80162D1C()

bool gm_80162D1C ( void )

◆ gm_80162D6C()

u8 gm_80162D6C ( void )

◆ gm_80162DD4()

int gm_80162DD4 ( u8 i)

◆ fn_80162DF8()

s32 fn_80162DF8 ( u8 ckind,
u32 arg1 )

◆ gm_80162E44()

s32 gm_80162E44 ( void )

◆ gm_80162EC8()

bool gm_80162EC8 ( void )

◆ gm_80162F18()

bool gm_80162F18 ( void )

◆ gm_80162F68()

u8 gm_80162F68 ( void )

◆ gm_80162FD0()

int gm_80162FD0 ( u8 i)

◆ fn_80162FF4()

bool fn_80162FF4 ( u8 ckind,
u32 arg1 )

◆ gm_80163040()

s32 gm_80163040 ( void )

◆ fn_801630C4()

bool fn_801630C4 ( void )

◆ gm_80163114()

bool gm_80163114 ( void )

◆ gm_80163164()

u8 gm_80163164 ( void )

◆ gm_801631CC()

u32 gm_801631CC ( u8 i)

◆ gm_801631F0()

u32 gm_801631F0 ( void )

◆ gm_80163274()

u16 gm_80163274 ( u8 i)

◆ gm_80163298()

bool gm_80163298 ( s8 c_kind,
u16 arg1 )

◆ gm_8016332C()

s32 gm_8016332C ( u8 arg0)

◆ gm_80163374()

void gm_80163374 ( u8 arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3,
u8 * arg4 )

◆ gm_801634D4()

bool gm_801634D4 ( u8 * arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3 )

◆ gm_8016365C()

bool gm_8016365C ( u8 arg0)

◆ gm_80163690()

s32 gm_80163690 ( u8 arg0)

◆ gm_801636D8()

void gm_801636D8 ( u8 arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3,
u8 * arg4 )

◆ gm_80163838()

bool gm_80163838 ( u8 * arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3 )

◆ gm_801639C0()

bool gm_801639C0 ( u8 arg0)

◆ gm_801639F4()

int gm_801639F4 ( u8 arg0)

◆ gm_80163A3C()

void gm_80163A3C ( u8 arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3,
u8 * arg4 )

◆ gm_80163B9C()

bool gm_80163B9C ( u8 * arg0,
u8 * arg1,
u8 * arg2,
u8 * arg3 )

◆ fn_80163D24()

bool fn_80163D24 ( void )

◆ fn_80163D74()

bool fn_80163D74 ( void )

◆ gm_Get3MinMultimanHighscore()

u16 gm_Get3MinMultimanHighscore ( u8 i)

◆ gm_Get3MinMultimanTotalHighscore()

int gm_Get3MinMultimanTotalHighscore ( void )

Get total number of KOs.

◆ gm_Get15MinMultimanHighscore()

u16 gm_Get15MinMultimanHighscore ( u8 i)

◆ gm_Get15MinMultimanTotalHighscore()

int gm_Get15MinMultimanTotalHighscore ( void )

◆ gm_GetEndlessHighscore()

int gm_GetEndlessHighscore ( u8 i)

◆ gm_GetEndlessTotalHighscore()

int gm_GetEndlessTotalHighscore ( void )

◆ gm_GetCruelHighscore()

int gm_GetCruelHighscore ( u8 i)

◆ gm_GetCruelTotalHighscore()

int gm_GetCruelTotalHighscore ( void )

◆ fn_80163FA4()

int fn_80163FA4 ( u8 arg0)

◆ gm_SelKindToCKind()

u8 gm_SelKindToCKind ( u8 selkind)

Convert a SelectableCharacterKind into its CharacterKind.

Indexes selkind_to_ckind_map with selkind. SELKIND_ZELDA_SEAK resolves to #CharacterKind::CKIND_ZELDA; the Sheik half is dropped because SelectableCharacterKind collapses Zelda/Sheik into a single slot.

Parameters
[in]selkindA SelectableCharacterKind (e.g. the CSS slot index).
Returns
The CharacterKind backing the requested selectable character.
See also
gm_CKindToSelKind for the inverse (lossy) mapping.
selkind_to_ckind_map

◆ gm_CKindToSelKind()

u8 gm_CKindToSelKind ( u8 ckind)

Convert a CharacterKind into its SelectableCharacterKind.

Indexes ckind_to_selkind_map with ckind. Both #CharacterKind::CKIND_ZELDA and #CharacterKind::CKIND_SEAK collapse onto SELKIND_ZELDA_SEAK, so this direction is lossy with respect to the Zelda/Sheik split, not to mention all the non-playable characters.

Parameters
[in]ckindA CharacterKind.
Returns
The SelectableCharacterKind representing the CSS slot for ckind.
See also
gm_SelKindToCKind for the inverse mapping.
ckind_to_selkind_map

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

s32 gm_80164250 ( u16 mask)

◆ fn_801642A0()

bool fn_801642A0 ( void )

◆ gm_80164330()

bool gm_80164330 ( s32 arg0)

◆ gm_80164430()

bool gm_80164430 ( u16 arg0)

◆ gm_80164504()

void gm_80164504 ( u16 stkind)

◆ gm_80164600()

bool gm_80164600 ( void )

Are all stages unlocked?

◆ gm_8016468C()

void gm_8016468C ( void )

◆ gm_801647D0()

void gm_801647D0 ( void )

◆ gm_801647F8()

int gm_801647F8 ( u8 arg0)

◆ gm_IsCKindUnlocked()

bool gm_IsCKindUnlocked ( u8 ckind)

Is a specific character unlocked?

character unlocked check

◆ isCKindUnlocked_inner()

bool isCKindUnlocked_inner ( u8 ckind)
inlinestatic

◆ isCKindUnlocked()

bool isCKindUnlocked ( u8 ckind)
inlinestatic

◆ gm_UnlockCKind()

void gm_UnlockCKind ( CharacterKind ckind)

◆ gm_80164A0C()

void gm_80164A0C ( u8 ckind)

Lock character?

◆ gm_80164ABC()

bool gm_80164ABC ( void )

Are all unlockable characters unlocked?

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

◆ is_character_unlocked()

bool is_character_unlocked ( u8 idx,
u16 * ptr )
inlinestatic

◆ fn_80164B48_check()

bool fn_80164B48_check ( u8 idx,
u16 * ptr )
inlinestatic

◆ fn_80164B48_lookup()

u8 fn_80164B48_lookup ( s32 t,
const u8 * es,
const u8 * base )
inlinestatic

◆ fn_80164B48_lookup_last()

u8 fn_80164B48_lookup_last ( s32 t,
const u8 ** es,
const u8 * base )
inlinestatic

◆ fn_80164B48()

bool fn_80164B48 ( void )

◆ gm_80164F18()

void gm_80164F18 ( void )

◆ gm_8016505C()

void gm_8016505C ( void )

◆ gm_80165084()

bool gm_80165084 ( void )

◆ fn_801650E8()

void fn_801650E8 ( void )

◆ gm_EnablePlayerPauseCamera()

void gm_EnablePlayerPauseCamera ( int playerSlot,
int playerId )

Enables the pause camera for the given player.

If playerSlot is -1, switches to the pause camera with slot 0xB and id 5 (see Camera_SetUpPauseCamera). Otherwise, switches only when the slot is a human or CPU with an active entity.

Parameters
[in]playerSlotPlayer slot to center the pause camera on.
[in]playerIdController port / player id of the pauser.

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

◆ fn_801652D8()

void * fn_801652D8 ( void )

◆ gm_80165388()

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

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

s32 fn_80165418 ( MatchEnd * match_end)

◆ fn_801654A0()

s32 fn_801654A0 ( MatchEnd * match_end)

◆ fn_80165548()

s32 fn_80165548 ( MatchEnd * me,
s32 arg1,
s32 team )

◆ fn_801656A8()

u32 fn_801656A8 ( MatchEnd * arg0,
u32 arg1 )

◆ fn_8016588C()

s32 fn_8016588C ( lbl_8046B6A0_24C_t * arg0,
s32 arg1 )

◆ fn_80165AC0()

s32 fn_80165AC0 ( MatchEnd * arg0)

◆ fn_80165D60()

MatchEnd * fn_80165D60 ( MatchEnd * arg0)

◆ fn_80165E7C()

void fn_80165E7C ( MatchEnd * arg0)

◆ fn_80165FA4()

s32 fn_80165FA4 ( MatchEnd * arg0)

◆ fn_801661E0()

s32 fn_801661E0 ( MatchEnd * arg0)

◆ gm_80166378()

void gm_80166378 ( lbl_8046B6A0_24C_t * arg0_raw)

◆ fn_80166A8C()

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

◆ gm_80166A98()

s32 gm_80166A98 ( MatchEnd * arg0,
u8 arg1,
s8 arg2,
u8 arg3,
s8 arg4,
u8 arg5,
s8 arg6,
u8 arg7,
u8 arg_sp8,
u8 arg_spC )

◆ fn_80166CBC()

u8 fn_80166CBC ( MatchEnd * arg0,
ssize_t index )

◆ gm_80166CCC()

void gm_80166CCC ( MatchEnd * arg0,
MatchEnd * arg1 )

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

void gm_80167470 ( s32 arg0,
s32 arg1 )

◆ gm_801674C4()

void gm_801674C4 ( s8 arg0,
u8 arg1,
s8 arg2,
s8 arg3,
GmRouteCallback arg4 )

◆ fn_8016758C()

void fn_8016758C ( void )

◆ fn_80167638()

s32 fn_80167638 ( s32 arg0,
Vec3 * arg1,
Vec3 * arg2 )

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

int pad_inline ( SSSData * arg0,
int base )
inlinestatic

◆ get_flag_unk()

int get_flag_unk ( u16 temp_r30)
inlinestatic

◆ check_bit()

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

void gm_80168638 ( MatchEnd * arg0)

◆ gm_80168710()

void gm_80168710 ( MatchEnd * arg0,
VsModeData * arg1 )

◆ gm_801688AC()

s32 gm_801688AC ( MatchEnd * arg0)

◆ gm_80168940()

int gm_80168940 ( MatchEnd * match_end)

◆ gm_8016895C()

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

◆ fn_801689E4()

void fn_801689E4 ( HSD_JObj * arg0,
DynamicModelDesc * arg1,
int idx )

◆ fn_80168A6C()

void fn_80168A6C ( void * arg0,
void * arg1,
s32 idx )

◆ gm_80168B34()

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

◆ gm_80168BF8()

float 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 ( s8 ignored)

◆ fn_80168F7C()

void fn_80168F7C ( void )

◆ gm_80168F88()

void gm_80168F88 ( void )

◆ gm_80168FC4()

void gm_80168FC4 ( void )

UnclePunch: Audio_LoadAnnouncer.

◆ fn_80169000()

s32 fn_80169000 ( void * arg0,
void * arg1 )

◆ gm_80169238()

u8 gm_80169238 ( u8 ckind)

fn_80169000 done

Todo
Matching tactic: pad the pre-inline statement count so MWCC keeps direct calls to this accessor instead of auto-inlining them.

◆ gm_80169238_inner2()

u8 gm_80169238_inner2 ( u8 ckind)
inlinestatic

◆ gm_80169238_inner()

u8 gm_80169238_inner ( u8 ckind)
inlinestatic

◆ gm_80169238_noinline()

u8 gm_80169238_noinline ( u8 ckind)
inlinestatic

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

◆ gm_1601_GetUnkData()

struct lbl_8046B488_t * gm_1601_GetUnkData ( 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()

bool gm_801693BC_inline ( u8 ckind)
inlinestatic

◆ gm_801693BC()

bool gm_801693BC ( int arg0)

Player is Fighting Wireframe.

◆ fn_80169434()

void fn_80169434 ( GmRouteCallback fn)

◆ fn_80169444()

bool fn_80169444 ( bool 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 )

◆ fn_80169550()

void fn_80169550 ( int slot)

◆ fn_80169574()

void fn_80169574 ( ssize_t size,
s8 * buf )

◆ fn_801695BC_rand_color()

s8 * fn_801695BC_rand_color ( s32 ncolors,
s8 * colors )
inlinestatic

◆ fn_801695BC_get_color()

s32 fn_801695BC_get_color ( s32 i,
u8 * colors )
inlinestatic

◆ fn_801695BC_init_colors()

void fn_801695BC_init_colors ( u8 ncolors,
s8 * colors )
inlinestatic

◆ fn_801695BC()

s32 fn_801695BC ( u8 arg0,
u8 arg1,
u8 arg2,
u8 * arg3,
u8 * arg4 )

◆ fn_801697FC()

void fn_801697FC ( s8 character,
s8 costume,
s8 new_character,
s8 new_costume,
s8 * buf )

◆ fn_8016989C()

void fn_8016989C ( u8 * arg0,
u8 arg1,
u8 arg2,
u8 * arg3,
u8 * arg4 )

◆ fn_80169900()

void fn_80169900 ( u8 arg0,
struct lbl_8046B488_t * arg1,
s8 * arg2,
s8 * arg3 )

◆ fn_80169A84()

long fn_80169A84 ( u8 arg0,
s8 * arg1,
s8 * arg2 )

◆ fn_80169C54()

void fn_80169C54 ( s8 arg0,
s8 arg1 )

◆ fn_80169F50_inline()

void fn_80169F50_inline ( s32 arg1,
struct lbl_8046B488_t * gp,
int temp_arg0 )
inlinestatic

◆ fn_80169F50()

void fn_80169F50 ( s8 arg0,
s8 arg1 )

◆ fn_8016A09C()

void fn_8016A09C ( void )

◆ gm_8016A164()

void gm_8016A164 ( void )
Todo
Offset mismatch indicates a TU split between lbl_8046B378 and lbl_8046B488

◆ fn_8016A1E4()

s32 fn_8016A1E4 ( void )

◆ gm_8016A1F8()

bool gm_8016A1F8 ( void )

◆ gm_8016A21C()

void gm_8016A21C ( StartMeleeRules * arg0)

◆ STATIC_ASSERT()

STATIC_ASSERT ( sizeof(struct lbl_8046B488_event_player_init_cb_t) = =0x1C0)

◆ gm_8016A404_event_player_init_cb()

GmEventPlayerInitCallback * gm_8016A404_event_player_init_cb ( struct lbl_8046B488_t * gp)
inlinestatic

◆ gm_8016A22C_header()

struct gm_8016A22C_header * gm_8016A22C_header ( struct lbl_8046B488_t * gp)
inlinestatic

◆ gm_8016A22C_buffers()

struct gm_8016A22C_buffers * gm_8016A22C_buffers ( struct lbl_8046B488_t * gp)
inlinestatic

◆ gm_8016A22C()

s32 gm_8016A22C ( s8 k0,
s8 k1,
s8 k2,
u8 a3,
u8 a4,
int a5,
int mode,
int a7,
u8 color,
u8 p87,
u8 p8b,
int x6,
int x7,
int x9,
int xA,
int flag2,
int flag1,
f32 f1,
f32 f2 )

◆ gm_8016A404()

void gm_8016A404 ( s32 arg0)

◆ gm_8016A414()

void gm_8016A414 ( f32 arg8)

◆ gm_8016A424()

void gm_8016A424 ( s8 arg0)

◆ gm_8016A434()

void gm_8016A434 ( void )

◆ fn_8016A450()

void fn_8016A450 ( void )

◆ fn_8016A46C()

void fn_8016A46C ( void )

◆ fn_8016A488()

void fn_8016A488 ( s32 arg0)

◆ fn_8016A4C8_spawn_offset()

int fn_8016A4C8_spawn_offset ( struct lbl_8046B488_t * gp)
inlinestatic

◆ fn_8016A4C8_attack_ratio()

f32 fn_8016A4C8_attack_ratio ( struct lbl_8046B488_t * gp)
inlinestatic

◆ fn_8016A4C8()

void fn_8016A4C8 ( void )

◆ gm_8016A92C()

void gm_8016A92C ( StartMeleeRules * arg0)

◆ gm_8016A944()

bool gm_8016A944 ( void )

◆ gm_8016A97C()

UNK_T gm_8016A97C ( void )

◆ gm_8016A98C()

struct lbl_8046B668_t * gm_8016A98C ( void )

◆ gm_8016A998()

int gm_8016A998 ( s8 arg0,
s8 arg1 )

◆ gm_8016A9E8()

int gm_8016A9E8 ( u8 arg0,
s8 arg1 )

◆ gm_8016AC44()

bool gm_8016AC44 ( s8 ckind,
s8 costume_id )

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

◆ ckind_victory_themes

struct VictoryTheme ckind_victory_themes[0x1B]
static

◆ lbl_803B7A44

struct lbl_803B7A44_t lbl_803B7A44
extern