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

Data Structures

struct  MnNameUserDataState
union  CompareNameStrings_string1
struct  AnimTable

Functions

void fn_80249A1C (HSD_GObj *arg0)
char * mnName_8023749C (int slot)
char * GetNameText (int slot)
static int GetNameCount_noinline (void)
int GetNameCount (void)
static int GetNumNameList (void)
bool IsNameListFull (void)
static s8 readNameTerminator (const volatile char *terminator)
static bool signedCharactersEqual (s8 lhs, u8 rhs)
static bool checkStringRest (const char *ptr, s8 terminator)
static u8 unsignedCharacter (s32 character)
s32 CompareNameStrings (char *str1, char *str2)
bool IsNameUnique (char *name)
void DeleteName (u8 arg0)
bool IsNameValid (int slot)
void CreateNameAtIndex (s32 slot)
static bool hasName (s32 slot, bool *has)
void mnName_SortNames (HSD_GObj *arg0)
u8 mnName_80237D94 (s32 arg0, u8 arg1)
void mnName_ConfirmNameDeleteInput (HSD_GObj *arg0)
static u8 mnName_GetHoveredName (void)
static u8 mnName_CountValid (void)
void mnName_MainInput (HSD_GObj *arg0)
void fn_80238540 (HSD_GObj *gobj)
void mnName_802385A0 (HSD_GObj *gobj)
s32 mnName_GetPageCount (void)
s32 mnName_GetColumnCount (void)
static void mnName_80238754_noinline (HSD_GObj *gobj)
void mnName_80238754 (HSD_GObj *gobj)
static HSD_JObj * mnName_802388D4_noinline (HSD_GObj *gobj, u8 index)
HSD_JObj * mnName_802388D4 (HSD_GObj *gobj, u8 index)
static f32 mnName_80238964_noinline (u8 index, u8 target, u8 flag)
f32 mnName_80238964 (u8 index, u8 target, u8 flag)
void mnName_80238A04 (HSD_GObj *gobj, u8 target, u8 flag)
void mnName_80238AE0 (HSD_GObj *gobj, u8 index, u8 arg2)
static AnimLoopSettings * mnName_FindAnimLoop (AnimLoopSettings *const *tableBase, f32 frame)
static f32 mnName_80238C34_inline (AnimLoopSettings *anim)
static void mnName_UpdateSelection (u8 do_update, MnName_GObj *data)
void mnName_80238C34 (HSD_GObj *arg0, u8 arg1, u8 arg2)
void fn_80239574 (HSD_GObj *arg0)
void mnName_80239878 (u8 arg0, HSD_GObj *gobj)
static f32 mnName_TextWidth (f32 start, HSD_JObj *end)
static s32 mnName_GetDisplayIndex (s32 cell)
void mnName_80239A24 (HSD_GObj *gobj)
void mnName_80239EBC (HSD_JObj *jobj, f32 y)
void mnName_80239F5C (HSD_JObj *jobj, f32 x)
void mnName_80239FFC (HSD_GObj *gobj)
void mnName_8023A058 (HSD_GObj *gobj)
void fn_8023A0BC (HSD_GObj *gobj)
static void mnName_SetupDeleteCursor (s32 sel, HSD_JObj *jobj)
void mnName_8023A290 (void)
static void mnName_SetupScrollbarAndText (s32 count, HSD_JObj *scrollbar, MnName_GObj *user_data)
HSD_GObj * mnName_8023A59C (u8 arg0)
static struct mn_80231634_t * mnName_8023A9B4_GetUserData (MnName_GObj *gobj2)
static void mnName_8023A9B4_ResetDisplayOrder (void)
static MnName_GObj * mnName_8023A9B4_GetGObj (void)
void mnName_8023A9B4 (u8 arg0)
static void mnName_InitNameDisplayOrder (void)
s32 mnName_8023AC40 (void)
bool IsNameNotAllowed (char *name)

Variables

AnimLoopSettings mnName_803ED538 [4]
 Name-entry menu animation loop windows (.data block owned by this translation unit; see symbols.txt 0x803ED538..0x803ED62F).
AnimLoopSettings mnName_803ED568 = { 50.0F, 59.0F, -0.1F }
AnimLoopSettings mnName_803ED574 = { 40.0F, 49.0F, -0.1F }
AnimLoopSettings mnName_803ED580 = { 30.0F, 39.0F, -0.1F }
AnimLoopSettings mnName_803ED58C = { 10.0F, 19.0F, -0.1F }
AnimLoopSettings mnName_803ED598 = { 20.0F, 29.0F, -0.1F }
f32 mnName_803ED5A4 [23]
f32 mnName_803ED600 [6]
Vec3 mnName_803ED618 [2]
static AnimLoopSettings *const mnName_803B8510 [6]
 Animation loop window lookup table for mnName_FindAnimLoop (.rodata block owned by this translation unit; see symbols.txt 0x803B8510..0x803B8527).
static u8 mnName_NameDisplayOrder [0x78]
 Display order of the saved name entries, followed by the loaded archive section pointers (.bss block owned by this translation unit; see symbols.txt 0x804A0648..0x804A06EF).
static StaticModelDesc mnName_804A06C0
static StaticModelDesc mnName_804A06D0
static StaticModelDesc mnName_804A06E0
StaticModelDesc mnNameNew_804A06F0
 Shared model descriptors loaded by both name-entry menus.
StaticModelDesc mnNameNew_804A0700
StaticModelDesc mnNameNew_804A0710
StaticModelDesc mnNameNew_804A0720 [2]
f32 mnName_804D4BD0 [2] = { 39.0f, 59.0f }
f32 mnName_804D4BD8 [2] = { 39.0f, 19.0f }
GXColor mnName_804D4BE0 = { 0, 0, 0, 0xFF }
GXColor mnName_804D4BE4 = { 0xA6, 0x81, 0x3D, 0xFF }
u8 mnName_804D4BE8 [4] = { 0x93, 0x94, 0x95, 0 }
char mnName_StringTerminator [1] = ""
char mnName_804D4C04 [8]
HSD_GObj * mnName_804D6BF8 = NULL
HSD_Text * mnName_804D6BFC = NULL
char ** NotAllowedNamesList = NULL
u8 ** AutoNamesList = NULL
char mnNameNew_NullCharacter

Function Documentation

◆ fn_80249A1C()

void fn_80249A1C ( HSD_GObj * arg0)

◆ mnName_8023749C()

char * mnName_8023749C ( int slot)

◆ GetNameText()

char * GetNameText ( int slot)

◆ GetNameCount_noinline()

int GetNameCount_noinline ( void )
inlinestatic

◆ GetNameCount()

int GetNameCount ( void )

◆ GetNumNameList()

int GetNumNameList ( void )
inlinestatic

◆ IsNameListFull()

bool IsNameListFull ( void )

◆ readNameTerminator()

s8 readNameTerminator ( const volatile char * terminator)
inlinestatic

◆ signedCharactersEqual()

bool signedCharactersEqual ( s8 lhs,
u8 rhs )
inlinestatic

◆ checkStringRest()

bool checkStringRest ( const char * ptr,
s8 terminator )
inlinestatic

◆ unsignedCharacter()

u8 unsignedCharacter ( s32 character)
inlinestatic

◆ CompareNameStrings()

s32 CompareNameStrings ( char * str1,
char * str2 )

◆ IsNameUnique()

bool IsNameUnique ( char * name)

◆ DeleteName()

void DeleteName ( u8 arg0)

◆ IsNameValid()

bool IsNameValid ( int slot)

◆ CreateNameAtIndex()

void CreateNameAtIndex ( s32 slot)

◆ hasName()

bool hasName ( s32 slot,
bool * has )
inlinestatic

◆ mnName_SortNames()

void mnName_SortNames ( HSD_GObj * arg0)

◆ mnName_80237D94()

u8 mnName_80237D94 ( s32 arg0,
u8 arg1 )

◆ mnName_ConfirmNameDeleteInput()

void mnName_ConfirmNameDeleteInput ( HSD_GObj * arg0)

◆ mnName_GetHoveredName()

u8 mnName_GetHoveredName ( void )
inlinestatic

◆ mnName_CountValid()

u8 mnName_CountValid ( void )
inlinestatic

◆ mnName_MainInput()

void mnName_MainInput ( HSD_GObj * arg0)

◆ fn_80238540()

void fn_80238540 ( HSD_GObj * gobj)

◆ mnName_802385A0()

void mnName_802385A0 ( HSD_GObj * gobj)

◆ mnName_GetPageCount()

s32 mnName_GetPageCount ( void )

◆ mnName_GetColumnCount()

s32 mnName_GetColumnCount ( void )

◆ mnName_80238754_noinline()

void mnName_80238754_noinline ( HSD_GObj * gobj)
inlinestatic

◆ mnName_80238754()

void mnName_80238754 ( HSD_GObj * gobj)

◆ mnName_802388D4_noinline()

HSD_JObj * mnName_802388D4_noinline ( HSD_GObj * gobj,
u8 index )
inlinestatic

◆ mnName_802388D4()

HSD_JObj * mnName_802388D4 ( HSD_GObj * gobj,
u8 index )

◆ mnName_80238964_noinline()

f32 mnName_80238964_noinline ( u8 index,
u8 target,
u8 flag )
inlinestatic

◆ mnName_80238964()

f32 mnName_80238964 ( u8 index,
u8 target,
u8 flag )

◆ mnName_80238A04()

void mnName_80238A04 ( HSD_GObj * gobj,
u8 target,
u8 flag )

◆ mnName_80238AE0()

void mnName_80238AE0 ( HSD_GObj * gobj,
u8 index,
u8 arg2 )

◆ mnName_FindAnimLoop()

AnimLoopSettings * mnName_FindAnimLoop ( AnimLoopSettings *const * tableBase,
f32 frame )
inlinestatic

◆ mnName_80238C34_inline()

f32 mnName_80238C34_inline ( AnimLoopSettings * anim)
inlinestatic

◆ mnName_UpdateSelection()

void mnName_UpdateSelection ( u8 do_update,
MnName_GObj * data )
inlinestatic

◆ mnName_80238C34()

void mnName_80238C34 ( HSD_GObj * arg0,
u8 arg1,
u8 arg2 )

◆ fn_80239574()

void fn_80239574 ( HSD_GObj * arg0)

◆ mnName_80239878()

void mnName_80239878 ( u8 arg0,
HSD_GObj * gobj )

◆ mnName_TextWidth()

f32 mnName_TextWidth ( f32 start,
HSD_JObj * end )
inlinestatic

◆ mnName_GetDisplayIndex()

s32 mnName_GetDisplayIndex ( s32 cell)
inlinestatic

◆ mnName_80239A24()

void mnName_80239A24 ( HSD_GObj * gobj)

◆ mnName_80239EBC()

void mnName_80239EBC ( HSD_JObj * jobj,
f32 y )

◆ mnName_80239F5C()

void mnName_80239F5C ( HSD_JObj * jobj,
f32 x )

◆ mnName_80239FFC()

void mnName_80239FFC ( HSD_GObj * gobj)

◆ mnName_8023A058()

void mnName_8023A058 ( HSD_GObj * gobj)

◆ fn_8023A0BC()

void fn_8023A0BC ( HSD_GObj * gobj)

◆ mnName_SetupDeleteCursor()

void mnName_SetupDeleteCursor ( s32 sel,
HSD_JObj * jobj )
inlinestatic

◆ mnName_8023A290()

void mnName_8023A290 ( void )

◆ mnName_SetupScrollbarAndText()

void mnName_SetupScrollbarAndText ( s32 count,
HSD_JObj * scrollbar,
MnName_GObj * user_data )
inlinestatic
Todo
Strings at base offsets are in rodata near mnName_803ED538

◆ mnName_8023A59C()

HSD_GObj * mnName_8023A59C ( u8 arg0)

◆ mnName_8023A9B4_GetUserData()

struct mn_80231634_t * mnName_8023A9B4_GetUserData ( MnName_GObj * gobj2)
inlinestatic

◆ mnName_8023A9B4_ResetDisplayOrder()

void mnName_8023A9B4_ResetDisplayOrder ( void )
inlinestatic

◆ mnName_8023A9B4_GetGObj()

MnName_GObj * mnName_8023A9B4_GetGObj ( void )
inlinestatic

◆ mnName_8023A9B4()

void mnName_8023A9B4 ( u8 arg0)

◆ mnName_InitNameDisplayOrder()

void mnName_InitNameDisplayOrder ( void )
inlinestatic

◆ mnName_8023AC40()

s32 mnName_8023AC40 ( void )

◆ IsNameNotAllowed()

bool IsNameNotAllowed ( char * name)

Variable Documentation

◆ mnName_803ED538

AnimLoopSettings mnName_803ED538[4]
Initial value:
= {
{ 0.0F, 0.0F, -0.1F },
{ 0.0F, 0.0F, -0.1F },
{ 0.0F, 0.0F, -0.1F },
{ 0.0F, 0.0F, -0.1F },
}

Name-entry menu animation loop windows (.data block owned by this translation unit; see symbols.txt 0x803ED538..0x803ED62F).

◆ mnName_803ED568

AnimLoopSettings mnName_803ED568 = { 50.0F, 59.0F, -0.1F }

◆ mnName_803ED574

AnimLoopSettings mnName_803ED574 = { 40.0F, 49.0F, -0.1F }

◆ mnName_803ED580

AnimLoopSettings mnName_803ED580 = { 30.0F, 39.0F, -0.1F }

◆ mnName_803ED58C

AnimLoopSettings mnName_803ED58C = { 10.0F, 19.0F, -0.1F }

◆ mnName_803ED598

AnimLoopSettings mnName_803ED598 = { 20.0F, 29.0F, -0.1F }

◆ mnName_803ED5A4

f32 mnName_803ED5A4[23]
Initial value:
= {
0.0F, 9.0F, -0.1F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F,
1.0F, 0.0F, 0.0F, 2.0F, 3.0F, 4.0F, 0.0F, 5.0F, 6.0F, 7.0F, 8.0F,
}

◆ mnName_803ED600

f32 mnName_803ED600[6]
Initial value:
= {
0.0F, 9.0F, -0.1F, 20.0F, 29.0F, -0.1F,
}

◆ mnName_803ED618

Vec3 mnName_803ED618[2]
Initial value:
= {
{ -2.0F, 0.5F, 0.0F },
{ -5.5F, -2.9F, 23.0F },
}

◆ mnName_803B8510

AnimLoopSettings* const mnName_803B8510[6]
static
Initial value:
= {
}
AnimLoopSettings mnName_803ED580
Definition mnname.c:40
AnimLoopSettings mnName_803ED574
Definition mnname.c:39
AnimLoopSettings mnName_803ED598
Definition mnname.c:42
f32 mnName_803ED5A4[23]
Definition mnname.c:43
AnimLoopSettings mnName_803ED58C
Definition mnname.c:41
AnimLoopSettings mnName_803ED568
Definition mnname.c:38
Definition types.h:548

Animation loop window lookup table for mnName_FindAnimLoop (.rodata block owned by this translation unit; see symbols.txt 0x803B8510..0x803B8527).

The last entry treats the leading three floats of mnName_803ED5A4 as an AnimLoopSettings window, mirroring the retail data layout.

◆ mnName_NameDisplayOrder

u8 mnName_NameDisplayOrder[0x78]
static

Display order of the saved name entries, followed by the loaded archive section pointers (.bss block owned by this translation unit; see symbols.txt 0x804A0648..0x804A06EF).

◆ mnName_804A06C0

StaticModelDesc mnName_804A06C0
static

◆ mnName_804A06D0

StaticModelDesc mnName_804A06D0
static

◆ mnName_804A06E0

StaticModelDesc mnName_804A06E0
static

◆ mnNameNew_804A06F0

StaticModelDesc mnNameNew_804A06F0

Shared model descriptors loaded by both name-entry menus.

◆ mnNameNew_804A0700

StaticModelDesc mnNameNew_804A0700

◆ mnNameNew_804A0710

StaticModelDesc mnNameNew_804A0710

◆ mnNameNew_804A0720

StaticModelDesc mnNameNew_804A0720[2]

◆ mnName_804D4BD0

f32 mnName_804D4BD0[2] = { 39.0f, 59.0f }

◆ mnName_804D4BD8

f32 mnName_804D4BD8[2] = { 39.0f, 19.0f }

◆ mnName_804D4BE0

GXColor mnName_804D4BE0 = { 0, 0, 0, 0xFF }

◆ mnName_804D4BE4

GXColor mnName_804D4BE4 = { 0xA6, 0x81, 0x3D, 0xFF }

◆ mnName_804D4BE8

u8 mnName_804D4BE8[4] = { 0x93, 0x94, 0x95, 0 }

◆ mnName_StringTerminator

char mnName_StringTerminator[1] = ""

◆ mnName_804D4C04

char mnName_804D4C04[8]
extern

◆ mnName_804D6BF8

HSD_GObj* mnName_804D6BF8 = NULL

◆ mnName_804D6BFC

HSD_Text* mnName_804D6BFC = NULL

◆ NotAllowedNamesList

char** NotAllowedNamesList = NULL

◆ AutoNamesList

u8** AutoNamesList = NULL

◆ mnNameNew_NullCharacter

char mnNameNew_NullCharacter
extern
Remarks
The original defines mnNameNew_NullCharacter between the first two glyph literals of the table below, which C cannot express; the seed restores that literal-pool order.