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

Data Structures

struct  CutsceneData
struct  IntroData

Macros

#define NEXT_SCENEBLOCK_AFTER(x)
 The scenes are divided up into "blocks" for each stage of adventure mode, in multiples of 8.

Enumerations

enum  {
  ADVENTURE_INTRO = 0x0 ,
  ADVENTURE_MUSHROOM_KINGDOM ,
  ADVENTURE_LUIGI_CUTSCENE ,
  ADVENTURE_MARIO_PEACH_FIGHT ,
  ADVENTURE_KIRBY_INTRO = 0x20 ,
  ADVENTURE_KIRBY_FIGHT ,
  ADVENTURE_TEAMKIRBY_INTRO ,
  ADVENTURE_TEAMKIRBY_FIGHT ,
  ADVENTURE_GIANTKIRBY_INTRO ,
  ADVENTURE_GIANTKIRBY_FIGHT ,
  ADVENTURE_BACK_TO_CSS = 0x70
}

Functions

static int getIndex (int scene_id)
static void setValUnk (int scene_id, bool temp_r30)
void gm_801B3F40 (GameScene *arg0)
void gm_801B4064 (GameScene *arg0)
void gm_801B4170 (GameScene *arg0)
void gm_801B4254 (GameScene *scene)
void gm_801B4294 (GameScene *scene)
void gm_801B42E8 (GameScene *scene)
void gm_801B4350 (GameScene *scene)
void gm_801B4408 (GameScene *scene)
void gm_801B4430 (GameScene *scene)
void gm_801B44A0 (GameScene *scene)
void gm_801B45A4 (GameScene *scene)
void gm_801B461C (GameScene *scene)
void gm_801B4684 (GameScene *scene)
void gm_801B4768 (GameScene *scene)
void gm_801B47FC (GameScene *scene)
static void gm_801B4860_inline0 (GameScene *scene)
static void gm_801B4860_inline1 (GameScene *scene)
void gm_801B4860 (GameScene *scene)
static void gm_8016A22C_inline (GameScene *arg0, UnkAdventureData *temp_r29)
void gm_801B4974 (GameScene *arg0)
static void inline0 (GameScene *scene)
void gm_801B4B28 (GameScene *scene)
void gm_801B4C5C (GameScene *scene)
void gm_801B4D34 (GameScene *scene)
void gm_801B4DAC (GameScene *scene)
void gm_801B4E58 (GameScene *scene)
void gm_801B4EB8 (GameScene *scene)
void gm_801B4F44 (GameScene *scene)
void gm_801B4FCC (GameScene *scene)
void gm_801B5078 (GameScene *scene)
void gm_801B50C4 (GameScene *scene)
void gm_801B518C (GameScene *scene)
void gm_801B51CC_OnInit (void)
void gm_801B5214_OnLoad (void)

Variables

UNK_T gmClassic_80470708 []
DebugGameOverData gmClassic_80470850
MatchExitInfo gmClassic_8047086C
StartMeleeData gmClassic_80472AF8
static CutsceneData gm_804D68D8
static IntroData gm_804D68E0
GameScene gm_803DE1B8_Scenes []
struct gm_803DE650_t gm_803DE650 []
static u8 gm_80490910 [ARRAY_SIZE(gm_803DE650)]

Macro Definition Documentation

◆ NEXT_SCENEBLOCK_AFTER

#define NEXT_SCENEBLOCK_AFTER ( x)
Value:
(((x) + 8) & ~(8 - 1))

The scenes are divided up into "blocks" for each stage of adventure mode, in multiples of 8.

Skipping to the next block goes on to the next stage.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Todo
fill this out with the rest of the scenes
Enumerator
ADVENTURE_INTRO 
ADVENTURE_MUSHROOM_KINGDOM 
ADVENTURE_LUIGI_CUTSCENE 
ADVENTURE_MARIO_PEACH_FIGHT 
ADVENTURE_KIRBY_INTRO 
ADVENTURE_KIRBY_FIGHT 
ADVENTURE_TEAMKIRBY_INTRO 
ADVENTURE_TEAMKIRBY_FIGHT 
ADVENTURE_GIANTKIRBY_INTRO 
ADVENTURE_GIANTKIRBY_FIGHT 
ADVENTURE_BACK_TO_CSS 

Function Documentation

◆ getIndex()

int getIndex ( int scene_id)
inlinestatic

◆ setValUnk()

void setValUnk ( int scene_id,
bool temp_r30 )
inlinestatic

◆ gm_801B3F40()

void gm_801B3F40 ( GameScene * arg0)

◆ gm_801B4064()

void gm_801B4064 ( GameScene * arg0)

◆ gm_801B4170()

void gm_801B4170 ( GameScene * arg0)

◆ gm_801B4254()

void gm_801B4254 ( GameScene * scene)

◆ gm_801B4294()

void gm_801B4294 ( GameScene * scene)

◆ gm_801B42E8()

void gm_801B42E8 ( GameScene * scene)

◆ gm_801B4350()

void gm_801B4350 ( GameScene * scene)

◆ gm_801B4408()

void gm_801B4408 ( GameScene * scene)

◆ gm_801B4430()

void gm_801B4430 ( GameScene * scene)

◆ gm_801B44A0()

void gm_801B44A0 ( GameScene * scene)

Luigi challenger approaching condition: Reach the flagpole with 2 in the seconds place

◆ gm_801B45A4()

void gm_801B45A4 ( GameScene * scene)

◆ gm_801B461C()

void gm_801B461C ( GameScene * scene)

If we got here from the Luigi cutscene, change Mario to Luigi.

◆ gm_801B4684()

void gm_801B4684 ( GameScene * scene)

Unlock conditions for Luigi (match completed in under 1 minute)

◆ gm_801B4768()

void gm_801B4768 ( GameScene * scene)

◆ gm_801B47FC()

void gm_801B47FC ( GameScene * scene)

◆ gm_801B4860_inline0()

void gm_801B4860_inline0 ( GameScene * scene)
inlinestatic

◆ gm_801B4860_inline1()

void gm_801B4860_inline1 ( GameScene * scene)
inlinestatic

◆ gm_801B4860()

void gm_801B4860 ( GameScene * scene)

◆ gm_8016A22C_inline()

void gm_8016A22C_inline ( GameScene * arg0,
UnkAdventureData * temp_r29 )
static

◆ gm_801B4974()

void gm_801B4974 ( GameScene * arg0)

◆ inline0()

void inline0 ( GameScene * scene)
inlinestatic

◆ gm_801B4B28()

void gm_801B4B28 ( GameScene * scene)

◆ gm_801B4C5C()

void gm_801B4C5C ( GameScene * scene)

If the player took longer than 30 seconds, skip the Giant Kirby battle.

◆ gm_801B4D34()

void gm_801B4D34 ( GameScene * scene)

If Falco is unlocked, the player will fight him instead about 1/3 of the time.

◆ gm_801B4DAC()

void gm_801B4DAC ( GameScene * scene)

◆ gm_801B4E58()

void gm_801B4E58 ( GameScene * scene)

< enabling an item, which one?

◆ gm_801B4EB8()

void gm_801B4EB8 ( GameScene * scene)

If Luigi isn't unlocked, don't spawn him for this match.

◆ gm_801B4F44()

void gm_801B4F44 ( GameScene * scene)

◆ gm_801B4FCC()

void gm_801B4FCC ( GameScene * scene)

◆ gm_801B5078()

void gm_801B5078 ( GameScene * scene)

◆ gm_801B50C4()

void gm_801B50C4 ( GameScene * scene)

◆ gm_801B518C()

void gm_801B518C ( GameScene * scene)

◆ gm_801B51CC_OnInit()

void gm_801B51CC_OnInit ( void )

◆ gm_801B5214_OnLoad()

void gm_801B5214_OnLoad ( void )

Variable Documentation

◆ gmClassic_80470708

UNK_T gmClassic_80470708[]
extern

◆ gmClassic_80470850

DebugGameOverData gmClassic_80470850
extern

◆ gmClassic_8047086C

MatchExitInfo gmClassic_8047086C
extern

◆ gmClassic_80472AF8

StartMeleeData gmClassic_80472AF8
extern

◆ gm_804D68D8

CutsceneData gm_804D68D8
static

◆ gm_804D68E0

IntroData gm_804D68E0
static

◆ gm_803DE1B8_Scenes

GameScene gm_803DE1B8_Scenes[]

◆ gm_803DE650

struct gm_803DE650_t gm_803DE650[]

◆ gm_80490910

u8 gm_80490910[ARRAY_SIZE(gm_803DE650)]
static