Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
level_update.h
Go to the documentation of this file.
1 #ifndef _LEVEL_UPDATE_H
2 #define _LEVEL_UPDATE_H
3 
4 #include "types.h"
5 
6 
7 #define TIMER_CONTROL_SHOW 0
8 #define TIMER_CONTROL_START 1
9 #define TIMER_CONTROL_STOP 2
10 #define TIMER_CONTROL_HIDE 3
11 
12 #define WARP_OP_NONE 0x00
13 #define WARP_OP_UNKNOWN_01 0x01
14 #define WARP_OP_UNKNOWN_02 0x02
15 #define WARP_OP_WARP_DOOR 0x03
16 #define WARP_OP_WARP_OBJECT 0x04
17 #define WARP_OP_TELEPORT 0x05
18 #define WARP_OP_STAR_EXIT 0x11
19 #define WARP_OP_DEATH 0x12
20 #define WARP_OP_WARP_FLOOR 0x13
21 #define WARP_OP_GAME_OVER 0x14
22 #define WARP_OP_CREDITS_END 0x15
23 #define WARP_OP_DEMO_NEXT 0x16
24 #define WARP_OP_CREDITS_START 0x17
25 #define WARP_OP_CREDITS_NEXT 0x18
26 #define WARP_OP_DEMO_END 0x19
27 
28 #define WARP_OP_TRIGGERS_LEVEL_SELECT 0x10
29 
30 #define MARIO_SPAWN_UNKNOWN_01 0x01
31 #define MARIO_SPAWN_UNKNOWN_02 0x02
32 #define MARIO_SPAWN_UNKNOWN_03 0x03
33 #define MARIO_SPAWN_UNKNOWN_04 0x04
34 #define MARIO_SPAWN_UNKNOWN_10 0x10
35 #define MARIO_SPAWN_UNKNOWN_11 0x11
36 #define MARIO_SPAWN_UNKNOWN_12 0x12
37 #define MARIO_SPAWN_UNKNOWN_13 0x13
38 #define MARIO_SPAWN_UNKNOWN_14 0x14
39 #define MARIO_SPAWN_UNKNOWN_15 0x15
40 #define MARIO_SPAWN_UNKNOWN_16 0x16
41 #define MARIO_SPAWN_UNKNOWN_17 0x17
42 #define MARIO_SPAWN_UNKNOWN_20 0x20
43 #define MARIO_SPAWN_UNKNOWN_21 0x21
44 #define MARIO_SPAWN_UNKNOWN_22 0x22
45 #define MARIO_SPAWN_UNKNOWN_23 0x23
46 #define MARIO_SPAWN_UNKNOWN_24 0x24
47 #define MARIO_SPAWN_UNKNOWN_25 0x25
48 #define MARIO_SPAWN_UNKNOWN_27 0x27
49 
50 
52 {
53  /*0x00*/ u8 levelNum;
54  /*0x01*/ u8 areaIndex;
55  /*0x02*/ u8 unk02;
56  /*0x03*/ s8 marioAngle;
57  /*0x04*/ Vec3s marioPos;
58  /*0x0C*/ const char **unk0C;
59 };
60 
61 extern struct CreditsEntry *gCurrCreditsEntry;
62 
63 extern struct MarioState gMarioStates[];
64 extern struct MarioState *gMarioState;
65 
66 extern s16 sCurrPlayMode;
67 extern u16 D_80339ECA;
68 extern s16 sTransitionTimer;
69 extern void (*sTransitionUpdate)(s16 *);
70 extern u8 unused3[4];
71 
72 struct WarpDest {
78 };
79 
80 extern struct WarpDest sWarpDest;
81 
82 extern s16 D_80339EE0;
83 extern s16 sDelayedWarpOp;
84 extern s16 sDelayedWarpTimer;
85 extern s16 sSourceWarpNodeId;
86 extern s32 sDelayedWarpArg;
87 extern u8 unused4[2];
88 extern s8 sTimerRunning;
89 
90 struct HudDisplay {
91  /*0x00*/ s16 lives;
92  /*0x02*/ s16 coins;
93  /*0x04*/ s16 stars;
94  /*0x06*/ s16 wedges;
95  /*0x08*/ s16 keys;
96  /*0x0A*/ s16 flags;
97  /*0x0C*/ u16 timer;
98 };
99 
100 extern struct HudDisplay gHudDisplay;
102 
112 
115 };
116 
117 
118 u16 level_control_timer(s32 timerOp);
119 void func_80249788(u32 arg, u32 color);
120 void func_8024980C(u32 arg);
121 s16 level_trigger_warp(struct MarioState *m, s32 warpOp);
122 void level_set_transition(s16 length, void (*updateFunction)(s16 *));
123 
124 s32 lvl_init_or_update(s16 initOrUpdate, s32);
128 
129 
130 #endif
s32 sDelayedWarpArg
Definition: level_update.c:149
s16 D_80339EE0
Definition: level_update.c:144
struct MarioState * gMarioState
Definition: level_update.c:128
u8 type
Definition: level_update.h:73
u8 areaIndex
Definition: level_update.h:54
signed char s8
Definition: ultratypes.h:11
unsigned short int u16
Definition: ultratypes.h:14
Definition: level_update.h:105
Definition: level_update.h:109
Definition: level_update.h:114
signed short int s16
Definition: ultratypes.h:13
s16 wedges
Definition: level_update.h:94
u8 unused4[2]
Definition: level_update.c:151
s32 lvl_init_from_save_file(s16, s32 levelNum)
u8 areaIdx
Definition: level_update.h:75
s16 flags
Definition: level_update.h:96
u8 levelNum
Definition: level_update.h:53
Definition: level_update.h:51
s16 stars
Definition: level_update.h:93
s16 sCurrPlayMode
Definition: level_update.c:134
u32 arg
Definition: level_update.h:77
s32 lvl_set_current_level(s16, s32 levelNum)
Definition: level_update.h:106
void func_80249788(u32 arg, u32 color)
Definition: level_update.c:210
u8 unk02
Definition: level_update.h:55
u8 unused3[4]
Definition: level_update.c:140
s16 Vec3s[3]
Definition: types.h:24
Definition: level_update.h:104
s16 keys
Definition: level_update.h:95
Definition: types.h:238
Definition: level_update.h:108
s16 level_trigger_warp(struct MarioState *m, s32 warpOp)
If there is not already a delayed warp, schedule one.
Definition: level_update.c:665
struct CreditsEntry * gCurrCreditsEntry
Definition: area.c:40
s8 gShouldNotPlayCastleMusic
Definition: level_update.c:157
s32 lvl_play_the_end_screen_sound(s16, s32)
s16 sDelayedWarpOp
Definition: level_update.c:146
def m
Definition: first-diff.py:153
void(* sTransitionUpdate)(s16 *)
Definition: level_update.c:138
void func_8024980C(u32 arg)
Definition: level_update.c:224
u8 levelNum
Definition: level_update.h:74
Definition: level_update.h:111
s8 marioAngle
Definition: level_update.h:56
s16 sDelayedWarpTimer
Definition: level_update.c:147
u16 timer
Definition: level_update.h:97
Definition: level_update.h:107
const char ** unk0C
Definition: level_update.h:58
Definition: level_update.h:113
u8 nodeId
Definition: level_update.h:76
unsigned char u8
Definition: ultratypes.h:12
Definition: level_update.h:72
u16 level_control_timer(s32 timerOp)
Definition: level_update.c:161
struct WarpDest sWarpDest
Definition: level_update.c:142
struct MarioState gMarioStates[]
Definition: level_update.c:127
Definition: level_update.h:90
signed int s32
Definition: ultratypes.h:15
Vec3s marioPos
Definition: level_update.h:57
struct HudDisplay gHudDisplay
Definition: level_update.c:155
s16 lives
Definition: level_update.h:91
Definition: level_update.h:110
s32 lvl_init_or_update(s16 initOrUpdate, s32)
s8 sTimerRunning
Definition: level_update.c:153
void level_set_transition(s16 length, void(*updateFunction)(s16 *))
Set the transition, which is a period of time after the warp is initiated but before it actually occu...
Definition: level_update.c:1005
s16 coins
Definition: level_update.h:92
one operand is a pointer to an object or incomplete type and the other is a pointer to a qualified or unqualified version of void
Definition: err.english.cc:848
u16 D_80339ECA
Definition: level_update.c:135
unsigned int u32
Definition: ultratypes.h:16
s16 sTransitionTimer
Definition: level_update.c:137
s16 sSourceWarpNodeId
Definition: level_update.c:148
HUDDisplayFlag
Definition: level_update.h:103