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

Data Structures

struct  MnNameNewKeyMap
 Maps keyboard cursor positions to jobj indices and glyph strings. More...
struct  MnNameNewGlyphTable
 Lowercase/uppercase glyph variant rows for each key. More...
struct  MnNameNewDataLayout

Typedefs

typedef char * GlyphRow[4]
typedef volatile char GlyphChar

Functions

void mnNameNew_8023B0F8 (HSD_GObj *arg0, u8 arg1)
void mnNameNew_8023B224 (u8 arg0)
void mnNameNew_8023B314 (NameNewEntry *arg0, s32 arg1)
static void mnNameNew_SetKeyColor (HSD_Text *text, s32 index, GXColor *color_ptr, GXColor *color)
HSD_TextmnNameNew_KeySetup (NameNewEntry *arg0, u8 arg1)
s32 mnNameNew_8023BAA8 (NameNewEntry *arg0, s32 arg1, u8 arg2)
u8 GetAutoNameCharacter (u8 **names, s32 char_idx)
static s32 PickAutoNameInline (HSD_GObj *arg0)
s32 PickAutoName (HSD_GObj *arg0)
bool NameContainsOnlySpaces (void)
static void CopyCurrentNameToNametag (struct NameTagData *nametag)
s32 WriteCharactersForNameAtIndex (u8 arg0, s32 arg1)
static char ** AddCharacterToName_getGlyphs (GlyphRow *arg0, u8 arg1)
char * AddCharacterToName (char *arg0, u8 arg1, u8 arg2, u8 arg3)
void mnNameNew_GlyphVariantInput (HSD_GObj *gobj)
static void copyName (char *name_text, char *name_buffer)
static s32 mnNameNew_CountVariants (GlyphRow *glyphs, u8 selected_key)
void mnNameNew_MainInput (HSD_GObj *arg0)
static NameNewEntrymnNameNew_GetEntryData (void)
void mnNameNew_8023CE4C (void)
void fn_8023CFC8 (HSD_GObj *arg0)
void fn_8023D0F8 (void *arg0)
HSD_TextmnNameNew_8023D130 (GlyphVariantEntry *arg0, u16 arg1, u8 arg2, s32 arg3)
static void GlyphVariantCount (u16 count, s32 *out)
static void AnimateGlyphVariant (HSD_JObj *variant, GlyphVariantEntry *user_data, s32 i)
static void CreateGlyphVariant (StaticModelDesc *variant_desc, GlyphVariantEntry *user_data, s32 i, HSD_JObj **out)
HSD_GObjmnNameNew_GlyphVariantSetup (NameNewEntry *arg0, u16 arg1, s32 arg2)
s32 mnNameNew_8023DA08 (NameNewEntry *arg0)
void fn_8023DAEC (HSD_GObj *arg0)
void fn_8023DBE8 (HSD_GObj *arg0)
void mnNameNew_8023E0D8 (NameNewEntry *arg0)
s32 InitNameEntryUIState (NameNewEntry *arg0, s32 arg1)
static void mnNameNew_InitKeyJobjs (NameNewEntry *user_data, HSD_JObj **child_out)
void mnNameNew_8023E32C (s32 arg0)
void mnNameNew_EnterFromMnName (UNK_T arg0)
void mnNameNew_EnterFromMnCharSel (HSD_Archive *arg0, s32 arg1)
void mnNameNew_8023EA08 (UNK_T arg0)
static u8 mnNameNew_804D4F98[8] ATTRIBUTE_ALIGN (8)

Variables

u8 mnNameNew_PortInUse
StaticModelDesc mnNameNew_804A06F0
 Shared model descriptors loaded by both name-entry menus.
StaticModelDesc mnNameNew_804A0700
StaticModelDesc mnNameNew_804A0710
StaticModelDesc mnNameNew_804A0720 [2]
char mnNameNew_CurrentNameText [0x10]
u8 mnNameNew_804D4F7C [8] = { 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'H' }
HSD_GObjmnNameNew_804D6C08
static AnimLoopSettings mnNameNew_803EDA58 [3]
static f32 mnNameNew_804D4C10 = 10.0f
static MnNameNewKeyMap mnNameNew_KeyMap
char mnNameNew_NullCharacter [1] = ""
static MnNameNewGlyphTable mnNameNew_GlyphTable
Vec3 unk_vec = { -0.8f, 0.4f, 0.0f }
static Vec3 mnNameNew_803EE330 = { -0.7f, 0.7f, 0.0f }
static GXColor mnNameNew_804D4F68 = { 0, 0, 0, 0xFF }
static GXColor mnNameNew_804D4F6C = { 0xA6, 0x81, 0x3D, 0xFF }
static GXColor mnNameNew_804D4F70 = { 0, 0, 0, 0xFF }
static GXColor mnNameNew_804D4F74 = { 0x74, 0x4F, 0x0B, 0xFF }
static GXColor mnNameNew_804D4F78 = { 0, 0, 0, 0xFF }
GXColor const mnNameNew_804DBF44 = { 0xA6, 0x81, 0x3D, 0xFF }
GXColor const mnNameNew_804DBF48 = { 0x00, 0x00, 0x00, 0xFF }
static const Vec3 mnNameNew_803B8528 = { -0.5f, 0.7f, 0.0f }
char * mnNameNew_803EE724 [] = { (char*) mnNameNew_804D4F98 }

Typedef Documentation

◆ GlyphRow

typedef char* GlyphRow[4]

◆ GlyphChar

typedef volatile char GlyphChar

Function Documentation

◆ mnNameNew_8023B0F8()

void mnNameNew_8023B0F8 ( HSD_GObj * arg0,
u8 arg1 )

◆ mnNameNew_8023B224()

void mnNameNew_8023B224 ( u8 arg0)

◆ mnNameNew_8023B314()

void mnNameNew_8023B314 ( NameNewEntry * arg0,
s32 arg1 )

◆ mnNameNew_SetKeyColor()

void mnNameNew_SetKeyColor ( HSD_Text * text,
s32 index,
GXColor * color_ptr,
GXColor * color )
inlinestatic

◆ mnNameNew_KeySetup()

HSD_Text * mnNameNew_KeySetup ( NameNewEntry * arg0,
u8 arg1 )

◆ mnNameNew_8023BAA8()

s32 mnNameNew_8023BAA8 ( NameNewEntry * arg0,
s32 arg1,
u8 arg2 )

◆ GetAutoNameCharacter()

u8 GetAutoNameCharacter ( u8 ** names,
s32 char_idx )
inline

◆ PickAutoNameInline()

s32 PickAutoNameInline ( HSD_GObj * arg0)
inlinestatic

◆ PickAutoName()

s32 PickAutoName ( HSD_GObj * arg0)

◆ NameContainsOnlySpaces()

bool NameContainsOnlySpaces ( void )

◆ CopyCurrentNameToNametag()

void CopyCurrentNameToNametag ( struct NameTagData * nametag)
inlinestatic

◆ WriteCharactersForNameAtIndex()

s32 WriteCharactersForNameAtIndex ( u8 arg0,
s32 arg1 )

◆ AddCharacterToName_getGlyphs()

char ** AddCharacterToName_getGlyphs ( GlyphRow * arg0,
u8 arg1 )
inlinestatic

◆ AddCharacterToName()

char * AddCharacterToName ( char * arg0,
u8 arg1,
u8 arg2,
u8 arg3 )

◆ mnNameNew_GlyphVariantInput()

void mnNameNew_GlyphVariantInput ( HSD_GObj * gobj)

◆ copyName()

void copyName ( char * name_text,
char * name_buffer )
inlinestatic

◆ mnNameNew_CountVariants()

s32 mnNameNew_CountVariants ( GlyphRow * glyphs,
u8 selected_key )
inlinestatic

◆ mnNameNew_MainInput()

void mnNameNew_MainInput ( HSD_GObj * arg0)

◆ mnNameNew_GetEntryData()

NameNewEntry * mnNameNew_GetEntryData ( void )
inlinestatic

◆ mnNameNew_8023CE4C()

void mnNameNew_8023CE4C ( void )

◆ fn_8023CFC8()

void fn_8023CFC8 ( HSD_GObj * arg0)

◆ fn_8023D0F8()

void fn_8023D0F8 ( void * arg0)

◆ mnNameNew_8023D130()

HSD_Text * mnNameNew_8023D130 ( GlyphVariantEntry * arg0,
u16 arg1,
u8 arg2,
s32 arg3 )

◆ GlyphVariantCount()

void GlyphVariantCount ( u16 count,
s32 * out )
inlinestatic

◆ AnimateGlyphVariant()

void AnimateGlyphVariant ( HSD_JObj * variant,
GlyphVariantEntry * user_data,
s32 i )
inlinestatic

◆ CreateGlyphVariant()

void CreateGlyphVariant ( StaticModelDesc * variant_desc,
GlyphVariantEntry * user_data,
s32 i,
HSD_JObj ** out )
inlinestatic

◆ mnNameNew_GlyphVariantSetup()

HSD_GObj * mnNameNew_GlyphVariantSetup ( NameNewEntry * arg0,
u16 arg1,
s32 arg2 )

◆ mnNameNew_8023DA08()

s32 mnNameNew_8023DA08 ( NameNewEntry * arg0)

◆ fn_8023DAEC()

void fn_8023DAEC ( HSD_GObj * arg0)

◆ fn_8023DBE8()

void fn_8023DBE8 ( HSD_GObj * arg0)

◆ mnNameNew_8023E0D8()

void mnNameNew_8023E0D8 ( NameNewEntry * arg0)

◆ InitNameEntryUIState()

s32 InitNameEntryUIState ( NameNewEntry * arg0,
s32 arg1 )

◆ mnNameNew_InitKeyJobjs()

void mnNameNew_InitKeyJobjs ( NameNewEntry * user_data,
HSD_JObj ** child_out )
inlinestatic

◆ mnNameNew_8023E32C()

void mnNameNew_8023E32C ( s32 arg0)

◆ mnNameNew_EnterFromMnName()

void mnNameNew_EnterFromMnName ( UNK_T arg0)

◆ mnNameNew_EnterFromMnCharSel()

void mnNameNew_EnterFromMnCharSel ( HSD_Archive * arg0,
s32 arg1 )

◆ mnNameNew_8023EA08()

void mnNameNew_8023EA08 ( UNK_T arg0)

◆ ATTRIBUTE_ALIGN()

u8 mnNameNew_804D4F98[8] ATTRIBUTE_ALIGN ( 8 )
static

Variable Documentation

◆ mnNameNew_PortInUse

u8 mnNameNew_PortInUse

◆ mnNameNew_804A06F0

StaticModelDesc mnNameNew_804A06F0
extern

Shared model descriptors loaded by both name-entry menus.

◆ mnNameNew_804A0700

StaticModelDesc mnNameNew_804A0700
extern

◆ mnNameNew_804A0710

StaticModelDesc mnNameNew_804A0710
extern

◆ mnNameNew_804A0720

StaticModelDesc mnNameNew_804A0720[2]
extern

◆ mnNameNew_CurrentNameText

char mnNameNew_CurrentNameText[0x10]

◆ mnNameNew_804D4F7C

u8 mnNameNew_804D4F7C = { 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'H' }

◆ mnNameNew_804D6C08

HSD_GObj* mnNameNew_804D6C08

◆ mnNameNew_803EDA58

AnimLoopSettings mnNameNew_803EDA58[3]
static
Initial value:
= {
{ 0.0f, 19.0f, -0.1f },
{ 20.0f, 39.0f, -0.1f },
{ 0.0f, 10.0f, -0.1f },
}

◆ mnNameNew_804D4C10

f32 mnNameNew_804D4C10 = 10.0f
static

◆ mnNameNew_KeyMap

MnNameNewKeyMap mnNameNew_KeyMap
static
Initial value:
= {
{ 3, 10, 11, 7, 9, 8, 5, 5 },
{ "あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ",
"さ", "し", "す", "せ", "そ", "た", "ち", "つ", "て", "と",
"な", "に", "ぬ", "ね", "の", "は", "ひ", "ふ", "へ", "ほ",
"ま", "み", "む", "め", "も", "や", "ゆ", "よ", " ", " ",
"ら", "り", "る", "れ", "ろ", "わ", "を", "ん", "ー", "。" },
{ "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ",
"サ", "シ", "ス", "セ", "ソ", "タ", "チ", "ツ", "テ", "ト",
"ナ", "ニ", "ヌ", "ネ", "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ",
"マ", "ミ", "ム", "メ", "モ", "ヤ", "ユ", "ヨ", " ", " ",
"ラ", "リ", "ル", "レ", "ロ", "ワ", "ヲ", "ン", "ー", "。" },
{ "J", "T", " ", "9", ".", "I", "S", " ", "8", "$",
"H", "R", " ", "7", "&", "G", "Q", " ", "6", "%",
"F", "P", "Z", "5", "@", "E", "O", "Y", "4", "?",
"D", "N", "X", "3", "!", "C", "M", "W", "2", "=",
"B", "L", "V", "1", "+", "A", "K", "U", "0", "-" },
}

◆ mnNameNew_NullCharacter

char mnNameNew_NullCharacter[1] = ""
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.

◆ mnNameNew_GlyphTable

MnNameNewGlyphTable mnNameNew_GlyphTable
static

◆ unk_vec

Vec3 unk_vec = { -0.8f, 0.4f, 0.0f }

◆ mnNameNew_803EE330

Vec3 mnNameNew_803EE330 = { -0.7f, 0.7f, 0.0f }
static

◆ mnNameNew_804D4F68

GXColor mnNameNew_804D4F68 = { 0, 0, 0, 0xFF }
static

◆ mnNameNew_804D4F6C

GXColor mnNameNew_804D4F6C = { 0xA6, 0x81, 0x3D, 0xFF }
static

◆ mnNameNew_804D4F70

GXColor mnNameNew_804D4F70 = { 0, 0, 0, 0xFF }
static

◆ mnNameNew_804D4F74

GXColor mnNameNew_804D4F74 = { 0x74, 0x4F, 0x0B, 0xFF }
static

◆ mnNameNew_804D4F78

GXColor mnNameNew_804D4F78 = { 0, 0, 0, 0xFF }
static

◆ mnNameNew_804DBF44

GXColor const mnNameNew_804DBF44 = { 0xA6, 0x81, 0x3D, 0xFF }

◆ mnNameNew_804DBF48

GXColor const mnNameNew_804DBF48 = { 0x00, 0x00, 0x00, 0xFF }

◆ mnNameNew_803B8528

const Vec3 mnNameNew_803B8528 = { -0.5f, 0.7f, 0.0f }
static

◆ mnNameNew_803EE724

char* mnNameNew_803EE724[] = { (char*) mnNameNew_804D4F98 }