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

Data Structures

struct  mn_803EC818_t
struct  JObjIndices2
struct  JObjIndices5
struct  JObjIndices6
union  mn_802307F8_value_view

Functions

void mnItemSw_802358C0 (void)
void mn_802339FC (void)
void mnCharSel_80264070 (void)
void mnCharSel_802640A0 (void)
static u8 mn_8022F538_GetHoveredSelection (void)
void fn_8022F538 (HSD_GObj *arg0)
void mn_8022FB88 (u8 arg0, void *arg1)
void mn_8022FD18 (u8 arg0)
static void mn_8022FEC8_AnimDigit (HSD_JObj *jobj, u8 digit)
static void mn_8022FEC8_AnimDamageDigits (u8 value, struct mn_802307F8_t *data)
static AnimLoopSettingsmn_8022FEC8_GetSettings (u8 rule_kind, u8 rule_value)
static void mn_8022FEC8_AnimStockDigits (struct mn_802307F8_t *data, int value)
void mn_8022FEC8 (HSD_GObj *arg0, HSD_JObj *arg1, u8 arg2, u8 arg3)
void mn_80230198 (HSD_GObj *gobj, HSD_JObj *jobj, u8 mode)
static void mn_80230274_InitOptionRoots (HSD_JObj **option_roots, const u16 *base, struct mn_802307F8_t *data, u8 count, s32 *i)
void mn_80230274 (HSD_GObj *arg0, int arg1, int arg2)
void mn_802307F8 (struct mn_802307F8_t *arg0, s32 arg1, s32 arg2)
void mn_802308F0 (HSD_GObj *gobj, int arg1, int arg2)
void fn_802309F0 (HSD_GObj *arg0)
s32 mn_80230D18 (struct mn_802307F8_t *arg0, HSD_JObj *arg1, int arg2)
static s32 mn_80230E38_CountVisible (u8 limit)
HSD_GObjmn_80230E38 (int arg0)
int mn_80231634 (struct mn_80231634_t *arg0)
void mn_8023164C (void)
void mn_80231714 (void)
void mn_802317E4 (HSD_Archive *archive, int arg1)
void mn_80231804 (HSD_Archive *archive, int arg1)
bool mn_80231F80 (u8 arg0)

Variables

StaticModelDesc MenMainConTop_Top
StaticModelDesc MenMainCursor_Top
StaticModelDesc MenMainConRl_Top
StaticModelDesc MenMainCursorRl_Top
StaticModelDesc MenMainNmRl_Top
StaticModelDesc MenMainCursorTr01_Top
StaticModelDesc MenMainCursorTr02_Top
StaticModelDesc MenMainCursorTr03_Top
StaticModelDesc MenMainCursorTr04_Top
StaticModelDesc MenMainCursorRl01_Top
StaticModelDesc MenMainCursorRl02_Top
StaticModelDesc MenMainCursorRl03_Top
StaticModelDesc MenMainCursorRl04_Top
StaticModelDesc MenMainCursorRl05_Top
StaticModelDesc MenMainConIs_Top
StaticModelDesc MenMainCursorIs_Top
StaticModelDesc MenMainConSs_Top
StaticModelDesc MenMainCursorSs_Top
static u16 mn_803EC600 [8] = { 3, 4, 5, 6, 7, 8, 9, 0 }
static f32 rule_label_frames [7][2]
static AnimLoopSettings highlight_anim = { 0.0F, 99.0F, 0.0F }
static AnimLoopSettings value_arrow_anim = { 0.0F, 199.0F, 0.0F }
static AnimLoopSettings option_anims [2]
static AnimLoopSettings submenu_anims [2]
static AnimLoopSettings submenu_arrow_anim = { 0.0F, 99.0F, 60.0F }
static AnimLoopSettings unused_anim = { 0.0F, 20.0F, -0.1F }
static f32 value_frames [7][5]
AnimLoopSettings mn_803EC734 [5]
AnimLoopSettings mn_803EC770 [9]
u8 mn_803EC7DC [8][2]
static StaticModelDescmn_803EC7EC [7]
static u16 mn_803EC808 [8] = { 2, 9, 2, 4, 2, 0, 0, 0 }
struct mn_803EC818_t mn_803EC818 [7]
static f32 mn_804D4B88 [2] = { 4.0F, 5.0F }
f32 mn_804D4B90 = 1.0F
u8 mn_StockCountLimits [2] = { 1, 0x63 }
 Stock count {min, max} for the Stock Match rule item (1-99).
u8 mn_StockCountTextId = 0x2B
 SIS text id for the rule value label when Mode is Stock Match.
f32 mn_804D6BD8
s32 mn_804D6BD4
HSD_GObjmn_804D6BD0
static JObjIndices2 const mn_804DBDF8 = { { 2, 3 } }
static JObjIndices2 const mn_804DBE04 = { { 7, 8 } }
static JObjIndices5 const mn_804DBE08 = { { 2, 3, 4, 5, 6 } }
MenuKindData mn_803EB6B0 []
static JObjIndices6 const time_digit_indices = { { 2, 3, 5, 6, 7, 8 } }

Function Documentation

◆ mnItemSw_802358C0()

void mnItemSw_802358C0 ( void )

◆ mn_802339FC()

void mn_802339FC ( void )

◆ mnCharSel_80264070()

void mnCharSel_80264070 ( void )

◆ mnCharSel_802640A0()

void mnCharSel_802640A0 ( void )

◆ mn_8022F538_GetHoveredSelection()

u8 mn_8022F538_GetHoveredSelection ( void )
inlinestatic

◆ fn_8022F538()

void fn_8022F538 ( HSD_GObj * arg0)
Remarks
Keeps the unsigned conversion constant first in .sdata2.

◆ mn_8022FB88()

void mn_8022FB88 ( u8 arg0,
void * arg1 )

◆ mn_8022FD18()

void mn_8022FD18 ( u8 arg0)

◆ mn_8022FEC8_AnimDigit()

void mn_8022FEC8_AnimDigit ( HSD_JObj * jobj,
u8 digit )
inlinestatic

◆ mn_8022FEC8_AnimDamageDigits()

void mn_8022FEC8_AnimDamageDigits ( u8 value,
struct mn_802307F8_t * data )
inlinestatic

◆ mn_8022FEC8_GetSettings()

AnimLoopSettings * mn_8022FEC8_GetSettings ( u8 rule_kind,
u8 rule_value )
inlinestatic

◆ mn_8022FEC8_AnimStockDigits()

void mn_8022FEC8_AnimStockDigits ( struct mn_802307F8_t * data,
int value )
inlinestatic

◆ mn_8022FEC8()

void mn_8022FEC8 ( HSD_GObj * arg0,
HSD_JObj * arg1,
u8 arg2,
u8 arg3 )

◆ mn_80230198()

void mn_80230198 ( HSD_GObj * gobj,
HSD_JObj * jobj,
u8 mode )

◆ mn_80230274_InitOptionRoots()

void mn_80230274_InitOptionRoots ( HSD_JObj ** option_roots,
const u16 * base,
struct mn_802307F8_t * data,
u8 count,
s32 * i )
inlinestatic

◆ mn_80230274()

void mn_80230274 ( HSD_GObj * arg0,
int arg1,
int arg2 )

◆ mn_802307F8()

void mn_802307F8 ( struct mn_802307F8_t * arg0,
s32 arg1,
s32 arg2 )

◆ mn_802308F0()

void mn_802308F0 ( HSD_GObj * gobj,
int arg1,
int arg2 )

◆ fn_802309F0()

void fn_802309F0 ( HSD_GObj * arg0)

◆ mn_80230D18()

s32 mn_80230D18 ( struct mn_802307F8_t * arg0,
HSD_JObj * arg1,
int arg2 )

◆ mn_80230E38_CountVisible()

s32 mn_80230E38_CountVisible ( u8 limit)
inlinestatic

◆ mn_80230E38()

HSD_GObj * mn_80230E38 ( int arg0)

◆ mn_80231634()

int mn_80231634 ( struct mn_80231634_t * arg0)

◆ mn_8023164C()

void mn_8023164C ( void )

◆ mn_80231714()

void mn_80231714 ( void )

◆ mn_802317E4()

void mn_802317E4 ( HSD_Archive * archive,
int arg1 )

◆ mn_80231804()

void mn_80231804 ( HSD_Archive * archive,
int arg1 )

◆ mn_80231F80()

bool mn_80231F80 ( u8 arg0)

Variable Documentation

◆ MenMainConTop_Top

StaticModelDesc MenMainConTop_Top
extern

◆ MenMainCursor_Top

StaticModelDesc MenMainCursor_Top
extern

◆ MenMainConRl_Top

StaticModelDesc MenMainConRl_Top
extern

◆ MenMainCursorRl_Top

StaticModelDesc MenMainCursorRl_Top
extern

◆ MenMainNmRl_Top

StaticModelDesc MenMainNmRl_Top
extern

◆ MenMainCursorTr01_Top

StaticModelDesc MenMainCursorTr01_Top
extern

◆ MenMainCursorTr02_Top

StaticModelDesc MenMainCursorTr02_Top
extern

◆ MenMainCursorTr03_Top

StaticModelDesc MenMainCursorTr03_Top
extern

◆ MenMainCursorTr04_Top

StaticModelDesc MenMainCursorTr04_Top
extern

◆ MenMainCursorRl01_Top

StaticModelDesc MenMainCursorRl01_Top
extern

◆ MenMainCursorRl02_Top

StaticModelDesc MenMainCursorRl02_Top
extern

◆ MenMainCursorRl03_Top

StaticModelDesc MenMainCursorRl03_Top
extern

◆ MenMainCursorRl04_Top

StaticModelDesc MenMainCursorRl04_Top
extern

◆ MenMainCursorRl05_Top

StaticModelDesc MenMainCursorRl05_Top
extern

◆ MenMainConIs_Top

StaticModelDesc MenMainConIs_Top
extern

◆ MenMainCursorIs_Top

StaticModelDesc MenMainCursorIs_Top
extern

◆ MenMainConSs_Top

StaticModelDesc MenMainConSs_Top
extern

◆ MenMainCursorSs_Top

StaticModelDesc MenMainCursorSs_Top
extern

◆ mn_803EC600

u16 mn_803EC600[8] = { 3, 4, 5, 6, 7, 8, 9, 0 }
static

◆ rule_label_frames

f32 rule_label_frames[7][2]
static
Initial value:
= {
{ 0.0F, 1.0F }, { 2.0F, 3.0F }, { 6.0F, 7.0F }, { 8.0F, 9.0F },
{ 10.0F, 11.0F }, { 12.0F, 13.0F }, { 14.0F, 15.0F },
}

◆ highlight_anim

AnimLoopSettings highlight_anim = { 0.0F, 99.0F, 0.0F }
static

◆ value_arrow_anim

AnimLoopSettings value_arrow_anim = { 0.0F, 199.0F, 0.0F }
static

◆ option_anims

AnimLoopSettings option_anims[2]
static
Initial value:
= {
{ 0.0F, 24.0F, -0.1F },
{ 25.0F, 49.0F, -0.1F },
}

◆ submenu_anims

AnimLoopSettings submenu_anims[2]
static
Initial value:
= {
{ 50.0F, 74.0F, -0.1F },
{ 75.0F, 99.0F, -0.1F },
}

◆ submenu_arrow_anim

AnimLoopSettings submenu_arrow_anim = { 0.0F, 99.0F, 60.0F }
static

◆ unused_anim

AnimLoopSettings unused_anim = { 0.0F, 20.0F, -0.1F }
static

◆ value_frames

f32 value_frames[7][5]
static
Initial value:
= {
{ 0.0F, 1.0F, 2.0F, 3.0F, 0.0F }, { 4.0F, 0.0F, 0.0F, 0.0F, 0.0F },
{ 6.0F, 7.0F, 8.0F, 0.0F, 0.0F }, { 9.0F, 0.0F, 0.0F, 0.0F, 0.0F },
{ 10.0F, 11.0F, 12.0F, 13.0F, 14.0F }, { 15.0F, 0.0F, 0.0F, 0.0F, 0.0F },
{ 16.0F, 0.0F, 0.0F, 0.0F, 0.0F },
}

◆ mn_803EC734

AnimLoopSettings mn_803EC734[5]
Initial value:
= {
{ 0.0F, 3.0F, -0.1F }, { 20.0F, 23.0F, -0.1F }, { 40.0F, 43.0F, -0.1F },
{ 60.0F, 63.0F, -0.1F }, { 80.0F, 83.0F, -0.1F },
}

◆ mn_803EC770

AnimLoopSettings mn_803EC770[9]
Initial value:
= {
{ 100.0F, 103.0F, -0.1F }, { 120.0F, 123.0F, -0.1F },
{ 140.0F, 143.0F, -0.1F }, { 160.0F, 163.0F, -0.1F },
{ 180.0F, 183.0F, -0.1F }, { 30.0F, 49.0F, -0.1F },
{ 70.0F, 89.0F, -0.1F }, { 90.0F, 109.0F, -0.1F },
{ 50.0F, 69.0F, -0.1F },
}

◆ mn_803EC7DC

u8 mn_803EC7DC[8][2]
Initial value:
= {
{ 0, 3 }, { 0, 0x63 }, { 0, 2 }, { 5, 0x14 },
{ 0, 4 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
}

◆ mn_803EC7EC

StaticModelDesc* mn_803EC7EC[7]
static
Initial value:
= {
}
StaticModelDesc MenMainCursorRl03_Top
Definition mnmain.c:818
StaticModelDesc MenMainCursorRl04_Top
Definition mnmain.c:819
StaticModelDesc MenMainCursorRl02_Top
Definition mnmain.c:817
StaticModelDesc MenMainCursorRl01_Top
Definition mnmain.c:816
StaticModelDesc MenMainCursorRl05_Top
Definition mnmain.c:820
#define NULL
Definition stddef.h:14

◆ mn_803EC808

u16 mn_803EC808[8] = { 2, 9, 2, 4, 2, 0, 0, 0 }
static

◆ mn_803EC818

struct mn_803EC818_t mn_803EC818[7]
Initial value:
= {
{ 0x26, { 0x27, 0x28, 0x29, 0x00 } }, { 0x2A, { 0x00, 0x00, 0x00, 0x00 } },
{ 0x2D, { 0x2E, 0x2C, 0x00, 0x00 } }, { 0x2F, { 0x00, 0x00, 0x00, 0x00 } },
{ 0x30, { 0x31, 0x32, 0x33, 0x34 } }, { 0x35, { 0x00, 0x00, 0x00, 0x00 } },
{ 0x36, { 0x00, 0x00, 0x00, 0x00 } },
}

◆ mn_804D4B88

f32 mn_804D4B88[2] = { 4.0F, 5.0F }
static

◆ mn_804D4B90

f32 mn_804D4B90 = 1.0F

◆ mn_StockCountLimits

u8 mn_StockCountLimits[2] = { 1, 0x63 }

Stock count {min, max} for the Stock Match rule item (1-99).

Retail .sdata has two objects here (0x804D4B94 size 0x2 and 0x804D4B96 size 0x1 per symbols.txt), not one 4-byte blob.

◆ mn_StockCountTextId

u8 mn_StockCountTextId = 0x2B

SIS text id for the rule value label when Mode is Stock Match.

◆ mn_804D6BD8

f32 mn_804D6BD8

◆ mn_804D6BD4

s32 mn_804D6BD4

◆ mn_804D6BD0

HSD_GObj* mn_804D6BD0

◆ mn_804DBDF8

JObjIndices2 const mn_804DBDF8 = { { 2, 3 } }
static

◆ mn_804DBE04

JObjIndices2 const mn_804DBE04 = { { 7, 8 } }
static

◆ mn_804DBE08

JObjIndices5 const mn_804DBE08 = { { 2, 3, 4, 5, 6 } }
static

◆ mn_803EB6B0

MenuKindData mn_803EB6B0[]
extern

◆ time_digit_indices

JObjIndices6 const time_digit_indices = { { 2, 3, 5, 6, 7, 8 } }
static