|
SSBM Decomp
|
#include <Runtime/platform.h>#include <sysdolphin/baselib/forward.h>#include <placeholder.h>#include "forward.h"#include "inlines.h"#include "mnmain.h"#include "mnmainrule.h"#include "mnstagesw.h"#include "types.h"#include <melee/gm/gm_1A3F.h>#include <melee/gm/gmmain_lib.h>#include <melee/gm/types.h>#include <melee/lb/lbspdisplay.h>#include <melee/sc/types.h>#include <sysdolphin/baselib/debug.h>#include <sysdolphin/baselib/gobj.h>#include <sysdolphin/baselib/gobjgxlink.h>#include <sysdolphin/baselib/gobjobject.h>#include <sysdolphin/baselib/gobjplink.h>#include <sysdolphin/baselib/gobjproc.h>#include <sysdolphin/baselib/gobjuserdata.h>#include <sysdolphin/baselib/jobj.h>#include <sysdolphin/baselib/memory.h>#include <sysdolphin/baselib/sislib.h>Data Structures | |
| struct | MenuRulesPlusData |
| struct | mn_803ED1D0_t |
| union | JObjIndices |
Functions | |
| ASSERT_SIZE (mn_803ED1D0_t, 0xA0) | |
| static void | SisLib_ClearText (HSD_Text **text) |
| static u8 | mnRulePlus_GetDescIdx (u8 sel, u8 confirmed) |
| static void | mnRulePlus_SaveRules (void) |
| Copy rule values from menu data to the global game rules. | |
| static s32 | mnRulePlus_IsOptionVisible (u8 sel) |
| Check if a given option is visible (not hidden by game mode). | |
| void | fn_8023201C (HSD_GObj *gobj) |
| AnimLoopSettings * | mn_80232458 (u8 option, u8 value, u8 direction) |
| mn_80232458 already matched above | |
| static void | mnRulePlus_AnimTimeDigits (u8 value, HSD_JObj **jobjs) |
| static void | mnRulePlus_AnimZeros (HSD_JObj **jobjs) |
| void | mn_802324E4 (u8 time_limit, MenuRulesPlusData *data) |
| void | mn_80232660 (HSD_GObj *gobj, HSD_JObj *jobj, u8 option) |
| static void | mn_802327A4_InitOptionRoots (HSD_JObj **option_roots, mn_803ED1D0_t *rule_data, MenuRulesPlusData *data, u8 num_options, s32 *i) |
| static void | mn_802327A4_UpdateOption (MenuRulesPlusData *data, HSD_GObj *gobj, u32 arg2, u32 arg1, u16 *selected) |
| void | mn_802327A4 (HSD_GObj *gobj, u32 arg1, u32 arg2) |
| void | mn_80232D4C (HSD_GObj *gobj, u32 arg1, u32 arg2) |
| void | fn_80232F44 (HSD_GObj *gobj) |
| static void | mnRulePlus_CountAllVisible (u8 limit, s32 *result) |
| static s32 | mnRulePlus_CountVisibleBefore (u8 limit) |
| HSD_GObj * | mn_80233218 (MenuState state) |
| void | mn_802339FC (void) |
Variables | |
| StaticModelDesc | MenMainConRl_Top |
| StaticModelDesc | MenMainCursorRl_Top |
| StaticModelDesc | MenMainCursorTr01_Top |
| StaticModelDesc | MenMainCursorTr02_Top |
| StaticModelDesc | MenMainCursorTr03_Top |
| StaticModelDesc | MenMainCursorTr04_Top |
| StaticModelDesc | MenMainNmRl_Top |
| MenuKindData | mn_803EB6B0 [] |
| f32 | mn_804D6BE4 |
| HSD_GObj * | mn_804D6BE0 |
| mn_803ED1D0_t | mn_803ED1D0 |
| AnimLoopSettings | mn_803ED270 [3] |
| AnimLoopSettings | mn_803ED294 [7] |
| struct { | |
| u8 stat [6][2] | |
| u8 desc [6][3] | |
| u8 pad [2] | |
| } | mn_803ED2E8 |
| char | mn_803ED308 [0x18] = "Can't get user_data.\n" |
| char | mn_803ED320 [0x10] = "mnruleplus.c" |
| char | mn_803ED330 [0x10] = "user_data" |
| f32 | mnRulePlus_TimeLimitOffFrame = 1.0f |
| Anim frame requested for the time-limit value jobj when the time limit is disabled. | |
| const JObjIndices | mn_804DBE40 = { 0x02030506 } |
| const JObjIndices | mn_804DBE48 = { 0x02030506 } |
| ASSERT_SIZE | ( | mn_803ED1D0_t | , |
| 0xA0 | ) |
|
inlinestatic |
|
inlinestatic |
Copy rule values from menu data to the global game rules.
Check if a given option is visible (not hidden by game mode).
| void fn_8023201C | ( | HSD_GObj * | gobj | ) |
A button: confirm stage select (option 5 only)
Start button: accept all rules and proceed
B button: cancel and go back
D-Pad Up: move selection up (with wrap)
D-Pad Down: move selection down (with wrap)
D-Pad Left/Right: adjust value for non-stage options
| AnimLoopSettings * mn_80232458 | ( | u8 | option, |
| u8 | value, | ||
| u8 | direction ) |
mn_80232458 already matched above
|
static |
| void mn_802324E4 | ( | u8 | time_limit, |
| MenuRulesPlusData * | data ) |
|
inlinestatic |
|
inlinestatic |
| void fn_80232F44 | ( | HSD_GObj * | gobj | ) |
| void mn_802339FC | ( | void | ) |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| f32 mn_804D6BE4 |
| HSD_GObj* mn_804D6BE0 |
| mn_803ED1D0_t mn_803ED1D0 |
| AnimLoopSettings mn_803ED270[3] |
| AnimLoopSettings mn_803ED294[7] |
| u8 stat[6][2] |
| u8 desc[6][3] |
| u8 pad[2] |
| struct { ... } mn_803ED2E8 |
| char mn_803ED308[0x18] = "Can't get user_data.\n" |
| char mn_803ED320[0x10] = "mnruleplus.c" |
| char mn_803ED330[0x10] = "user_data" |
| f32 mnRulePlus_TimeLimitOffFrame = 1.0f |
Anim frame requested for the time-limit value jobj when the time limit is disabled.
Retail mn_802324E4 loads this TU-owned .sdata variable (see symbols.txt) instead of materializing an .sdata2 constant.
| const JObjIndices mn_804DBE40 = { 0x02030506 } |
| const JObjIndices mn_804DBE48 = { 0x02030506 } |