SSBM Decomp
Loading...
Searching...
No Matches
mnruleplus.c File Reference
#include "mnruleplus.h"
#include "placeholder.h"
#include "platform.h"
#include "baselib/debug.h"
#include "baselib/gobj.h"
#include "baselib/gobjgxlink.h"
#include "baselib/gobjobject.h"
#include "baselib/gobjplink.h"
#include "baselib/gobjproc.h"
#include "baselib/gobjuserdata.h"
#include "baselib/jobj.h"
#include "baselib/memory.h"
#include "baselib/sislib.h"
#include "gm/gm_1A3F.h"
#include "gm/gmmain_lib.h"
#include "gm/types.h"
#include "lb/lb_00F9.h"
#include "lb/lbaudio_ax.h"
#include "mn/forward.h"
#include "mn/mnmain.h"
#include "mn/mnmainrule.h"
#include "mn/mnstagesw.h"
#include "sc/types.h"
#include <dolphin/os.h>

Data Structures

union  JObjIndices

Functions

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)
AnimLoopSettingsmn_80232458 (u8 option, u8 value, u8 direction)
 mn_80232458 already matched above
void mn_802324E4 (u8 time_limit, MenuRulesPlusData *data)
void mn_80232660_inline (HSD_JObj *jobj)
void mn_80232660 (HSD_GObj *gobj, HSD_JObj *jobj, u8 option)
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)
HSD_GObjmn_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 []
HSD_GObjmn_804D6BE0
f32 mn_804D6BE4
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 mn_804D4B98 = 1.0f
volatile const f64 mn_804DBE38 = 4503599627370496.0
const JObjIndices mn_804DBE40 = { 0x02030506 }
volatile f32 mn_804DBE44 = 0.0f
const JObjIndices mn_804DBE48 = { 0x02030506 }
const f32 mn_804DBE4C = -9.5f
const f32 mn_804DBE50 = 8.0f
const f32 mn_804DBE54 = 17.0f
const f32 mn_804DBE58 = 364.68332f
const f32 mn_804DBE5C = 76.77544f
const f32 mn_804DBE60 = 0.0521f
volatile const f64 mn_804DBE68 = 4503599627370496.0

Function Documentation

◆ SisLib_ClearText()

void SisLib_ClearText ( HSD_Text ** text)
inlinestatic

◆ mnRulePlus_GetDescIdx()

u8 mnRulePlus_GetDescIdx ( u8 sel,
u8 confirmed )
inlinestatic

◆ mnRulePlus_SaveRules()

void mnRulePlus_SaveRules ( void )
inlinestatic

Copy rule values from menu data to the global game rules.

◆ mnRulePlus_IsOptionVisible()

s32 mnRulePlus_IsOptionVisible ( u8 sel)
inlinestatic

Check if a given option is visible (not hidden by game mode).

◆ fn_8023201C()

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

◆ mn_80232458()

AnimLoopSettings * mn_80232458 ( u8 option,
u8 value,
u8 direction )

mn_80232458 already matched above

◆ mn_802324E4()

void mn_802324E4 ( u8 time_limit,
MenuRulesPlusData * data )

◆ mn_80232660_inline()

void mn_80232660_inline ( HSD_JObj * jobj)
inline

◆ mn_80232660()

void mn_80232660 ( HSD_GObj * gobj,
HSD_JObj * jobj,
u8 option )

◆ mn_802327A4()

void mn_802327A4 ( HSD_GObj * gobj,
u32 arg1,
u32 arg2 )

◆ mn_80232D4C()

void mn_80232D4C ( HSD_GObj * gobj,
u32 arg1,
u32 arg2 )

◆ fn_80232F44()

void fn_80232F44 ( HSD_GObj * gobj)

◆ mn_80233218()

HSD_GObj * mn_80233218 ( MenuState state)

◆ mn_802339FC()

void mn_802339FC ( void )

Variable Documentation

◆ MenMainConRl_Top

StaticModelDesc MenMainConRl_Top
extern

◆ MenMainCursorRl_Top

StaticModelDesc MenMainCursorRl_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

◆ MenMainNmRl_Top

StaticModelDesc MenMainNmRl_Top
extern

◆ mn_803EB6B0

MenuKindData mn_803EB6B0[]
extern

◆ mn_804D6BE0

HSD_GObj* mn_804D6BE0
extern

◆ mn_804D6BE4

f32 mn_804D6BE4
extern

◆ mn_803ED1D0

mn_803ED1D0_t mn_803ED1D0
Initial value:
= {
{ 3, 4, 5, 6, 7, 8, 9 },
{ 7, 2, 2, 2, 2, 0 },
{ 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f,
30.0f, 31.0f },
{ 0.0f, 99.0f, 0.0f },
{ 200.0f, 399.0f, 200.0f },
{ { 100.0f, 124.0f, -0.1f }, { 125.0f, 149.0f, -0.1f } },
{ { 150.0f, 174.0f, -0.1f }, { 175.0f, 199.0f, -0.1f } },
{ 0.0f, 99.0f, 60.0f },
}

◆ mn_803ED270

AnimLoopSettings mn_803ED270[3]
Initial value:
= { { 0.0f, 3.0f, -0.1f },
{ 20.0f, 23.0f, -0.1f },
{ 40.0f, 43.0f, -0.1f } }

◆ mn_803ED294

AnimLoopSettings mn_803ED294[7]
Initial value:
= {
{ 100.0f, 103.0f, -0.1f }, { 120.0f, 123.0f, -0.1f },
{ 140.0f, 143.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 },
}

◆ stat

u8 stat[6][2]

◆ desc

u8 desc[6][3]

◆ pad

u8 pad[2]

◆ [struct]

struct { ... } mn_803ED2E8
Initial value:
= {
{ { 0, 99 }, { 0, 1 }, { 0, 1 }, { 0, 1 }, { 0, 2 }, { 0, 0 } },
{ { 0x37, 0x00, 0x00 },
{ 0x38, 0x39, 0x00 },
{ 0x3A, 0x3B, 0x00 },
{ 0x3D, 0x3C, 0x00 },
{ 0x3F, 0x3E, 0x40 },
{ 0x41, 0x00, 0x00 } },
{ 0x00, 0x00 },
}

◆ mn_803ED308

char mn_803ED308[0x18] = "Can't get user_data.\n"

◆ mn_803ED320

char mn_803ED320[0x10] = "mnruleplus.c"

◆ mn_803ED330

char mn_803ED330[0x10] = "user_data"

◆ mn_804D4B98

f32 mn_804D4B98 = 1.0f

◆ mn_804DBE38

volatile const f64 mn_804DBE38 = 4503599627370496.0

◆ mn_804DBE40

const JObjIndices mn_804DBE40 = { 0x02030506 }

◆ mn_804DBE44

volatile f32 mn_804DBE44 = 0.0f

◆ mn_804DBE48

const JObjIndices mn_804DBE48 = { 0x02030506 }

◆ mn_804DBE4C

const f32 mn_804DBE4C = -9.5f

◆ mn_804DBE50

const f32 mn_804DBE50 = 8.0f

◆ mn_804DBE54

const f32 mn_804DBE54 = 17.0f

◆ mn_804DBE58

const f32 mn_804DBE58 = 364.68332f

◆ mn_804DBE5C

const f32 mn_804DBE5C = 76.77544f

◆ mn_804DBE60

const f32 mn_804DBE60 = 0.0521f

◆ mn_804DBE68

volatile const f64 mn_804DBE68 = 4503599627370496.0