Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Macros | Functions | Variables
bowser.inc.c File Reference

Macros

#define BITDW   (o->oBehParams2ndByte == 0)
 
#define BITFS   (o->oBehParams2ndByte == 1)
 
#define BITS   (o->oBehParams2ndByte == 2)
 

Functions

void ActionBowserTailAnchor0 (void)
 
void ActionBowserTailAnchor1 (void)
 
void ActionBowserTailAnchor2 (void)
 
void bhv_bowser_tail_anchor_loop (void)
 
void bhv_bowser_flame_spawn_loop (void)
 
void bhv_bowser_body_anchor_loop (void)
 
s32 func_802B38B4 (void)
 
void func_802B392C (s32 *a)
 
s32 func_802B39B8 (void)
 
s32 func_802B3A30 (void)
 
s32 func_802B3A98 (void)
 
void func_802B3B0C (void)
 
void ActionBowser5 ()
 
void ActionBowser6 (void)
 
static void Unknown802B3CCC (void)
 
void func_802B3D24 (void)
 
void func_802B3E44 (void)
 
void func_802B3FDC (void)
 
void func_802B4124 (void)
 
void func_802B4144 (void)
 
void func_u_802B4AF4 (void)
 
void ActionBowser18 ()
 
void ActionBowser0 ()
 
void ActionBowser15 (void)
 
void ActionBowser14 ()
 
void ActionBowser16 (void)
 
void ActionBowser8 (void)
 
void ActionBowser12 (void)
 
s32 func_802B4A44 (void)
 
s32 func_802B4A94 (void)
 
void func_802B4BA4 (void)
 
void ActionBowser13 (void)
 
void ActionBowser17 (void)
 
void ActionBowser10 (void)
 
void ActionBowser9 (void)
 
s32 func_802B5108 (s32 a0, s16 a1)
 
void ActionBowser11 (void)
 
void ActionBowser7 (void)
 
s32 func_802B5588 (void)
 
void ActionBowser1 (void)
 
void func_802B5738 (void)
 
void ActionBowser2 (void)
 
void ActionBowser3 (void)
 
void func_802B5C78 (void)
 
void func_802B5D18 (void)
 
void func_802B5DD8 (void)
 
s32 func_802B5E7C (void)
 
s32 func_802B5F20 (void)
 
void func_802B60B8 (void)
 
s32 func_802B6120 (void)
 
s32 func_802B6254 (void)
 
void ActionBowser4 (void)
 
void func_802B64E8 (struct Object *bowser, s16 a1)
 
void ActionBowser19 (void)
 
s32 func_802B67C4 (void)
 
void func_802B688C (void)
 
void func_802B697C (void)
 
void func_802B6AC0 (void)
 
void bhv_bowser_loop (void)
 
void bhv_bowser_init (void)
 
GfxGeo18_802B798C (s32 run, UNUSED struct GraphNode *node, Mat4 mtx)
 
void func_802B70C8 (struct Object *a0, struct GraphNodeSwitchCase *switchCase)
 
s32 geo_switch_bowser_eyes (s32 run, struct GraphNode *node, UNUSED Mat4 *mtx)
 Geo switch for controlling the state of bowser's eye direction and open/closed state. More...
 
GfxGeo18_802B7D44 (s32 a0, struct GraphNode *node, UNUSED s32 a2)
 
void ActionFallingBowserPlatform0 (void)
 
void ActionFallingBowserPlatform1 (void)
 
void ActionFallingBowserPlatform2 (void)
 
void bhv_falling_bowser_platform_loop (void)
 
void func_802B7A58 (void)
 
s32 func_802B7ADC (s32 a0)
 
void bhv_flame_bowser_init (void)
 
void bhv_flame_large_burning_out_init (void)
 
void func_802B7CFC (void)
 
void bhv_flame_bowser_loop (void)
 
void bhv_flame_moving_forward_growing_init (void)
 
void bhv_flame_moving_forward_growing_loop (void)
 
void bhv_flame_floating_landing_init (void)
 
void bhv_flame_floating_landing_loop (void)
 
void bhv_blue_bowser_flame_init (void)
 
void bhv_blue_bowser_flame_loop (void)
 
void bhv_flame_bouncing_init (void)
 
void bhv_flame_bouncing_loop (void)
 
void bhv_blue_flames_group_loop (void)
 

Variables

void(* sBowserTailAnchorActions [])(void)
 
s8 D_8032F4FC [] = { 7, 8, 9, 12, 13, 14, 15, 4, 3, 16, 17, 19, 3, 3, 3, 3 }
 
s16 D_8032F50C [] = { 60, 0 }
 
s16 D_8032F510 [] = { 50, 0 }
 
s8 D_8032F514 [] = { 24, 42, 60, -1 }
 
s16 D_8032F518 [3] = { 119, 120, 121 }
 
s16 D_8032F520 [][3]
 
void(* sBowserActions [])(void)
 
struct SoundState D_8032F5B8 []
 
s8 D_8032F690 [4] = { 0, 0, 1, 0 }
 
s8 D_8032F694 [4] = { 1, 1, 3, 0 }
 
u8 bowser_3_seg7_collision_07004B94 []
 
u8 bowser_3_seg7_collision_07004C18 []
 
u8 bowser_3_seg7_collision_07004C9C []
 
u8 bowser_3_seg7_collision_07004D20 []
 
u8 bowser_3_seg7_collision_07004DA4 []
 
u8 bowser_3_seg7_collision_07004E28 []
 
u8 bowser_3_seg7_collision_07004EAC []
 
u8 bowser_3_seg7_collision_07004F30 []
 
u8 bowser_3_seg7_collision_07004FB4 []
 
u8 bowser_3_seg7_collision_07005038 []
 
struct Struct8032F698 D_8032F698 []
 
void(* sFallingBowserPlatformActions [])(void)
 
struct ObjectHitbox sGrowingBowserFlameHitbox
 
struct ObjectHitbox sBowserFlameHitbox
 
f32 D_8032F748 [] = { -8.0f, -6.0f, -3.0f }
 

Macro Definition Documentation

◆ BITDW

#define BITDW   (o->oBehParams2ndByte == 0)

◆ BITFS

#define BITFS   (o->oBehParams2ndByte == 1)

◆ BITS

#define BITS   (o->oBehParams2ndByte == 2)

Function Documentation

◆ ActionBowser0()

void ActionBowser0 ( )

◆ ActionBowser1()

void ActionBowser1 ( void  )

◆ ActionBowser10()

void ActionBowser10 ( void  )

◆ ActionBowser11()

void ActionBowser11 ( void  )

◆ ActionBowser12()

void ActionBowser12 ( void  )

◆ ActionBowser13()

void ActionBowser13 ( void  )

◆ ActionBowser14()

void ActionBowser14 ( )

◆ ActionBowser15()

void ActionBowser15 ( void  )

◆ ActionBowser16()

void ActionBowser16 ( void  )

◆ ActionBowser17()

void ActionBowser17 ( void  )

◆ ActionBowser18()

void ActionBowser18 ( )

◆ ActionBowser19()

void ActionBowser19 ( void  )

◆ ActionBowser2()

void ActionBowser2 ( void  )

◆ ActionBowser3()

void ActionBowser3 ( void  )

◆ ActionBowser4()

void ActionBowser4 ( void  )

◆ ActionBowser5()

void ActionBowser5 ( )

◆ ActionBowser6()

void ActionBowser6 ( void  )

◆ ActionBowser7()

void ActionBowser7 ( void  )

◆ ActionBowser8()

void ActionBowser8 ( void  )

◆ ActionBowser9()

void ActionBowser9 ( void  )

◆ ActionBowserTailAnchor0()

void ActionBowserTailAnchor0 ( void  )

◆ ActionBowserTailAnchor1()

void ActionBowserTailAnchor1 ( void  )

◆ ActionBowserTailAnchor2()

void ActionBowserTailAnchor2 ( void  )

◆ ActionFallingBowserPlatform0()

void ActionFallingBowserPlatform0 ( void  )

◆ ActionFallingBowserPlatform1()

void ActionFallingBowserPlatform1 ( void  )

◆ ActionFallingBowserPlatform2()

void ActionFallingBowserPlatform2 ( void  )

◆ bhv_blue_bowser_flame_init()

void bhv_blue_bowser_flame_init ( void  )

◆ bhv_blue_bowser_flame_loop()

void bhv_blue_bowser_flame_loop ( void  )

◆ bhv_blue_flames_group_loop()

void bhv_blue_flames_group_loop ( void  )

◆ bhv_bowser_body_anchor_loop()

void bhv_bowser_body_anchor_loop ( void  )

◆ bhv_bowser_flame_spawn_loop()

void bhv_bowser_flame_spawn_loop ( void  )

◆ bhv_bowser_init()

void bhv_bowser_init ( void  )

◆ bhv_bowser_loop()

void bhv_bowser_loop ( void  )

◆ bhv_bowser_tail_anchor_loop()

void bhv_bowser_tail_anchor_loop ( void  )

◆ bhv_falling_bowser_platform_loop()

void bhv_falling_bowser_platform_loop ( void  )

◆ bhv_flame_bouncing_init()

void bhv_flame_bouncing_init ( void  )

◆ bhv_flame_bouncing_loop()

void bhv_flame_bouncing_loop ( void  )

◆ bhv_flame_bowser_init()

void bhv_flame_bowser_init ( void  )

◆ bhv_flame_bowser_loop()

void bhv_flame_bowser_loop ( void  )

◆ bhv_flame_floating_landing_init()

void bhv_flame_floating_landing_init ( void  )

◆ bhv_flame_floating_landing_loop()

void bhv_flame_floating_landing_loop ( void  )

◆ bhv_flame_large_burning_out_init()

void bhv_flame_large_burning_out_init ( void  )

◆ bhv_flame_moving_forward_growing_init()

void bhv_flame_moving_forward_growing_init ( void  )

◆ bhv_flame_moving_forward_growing_loop()

void bhv_flame_moving_forward_growing_loop ( void  )

◆ func_802B38B4()

s32 func_802B38B4 ( void  )

◆ func_802B392C()

void func_802B392C ( s32 a)

◆ func_802B39B8()

s32 func_802B39B8 ( void  )

◆ func_802B3A30()

s32 func_802B3A30 ( void  )

◆ func_802B3A98()

s32 func_802B3A98 ( void  )

◆ func_802B3B0C()

void func_802B3B0C ( void  )

◆ func_802B3D24()

void func_802B3D24 ( void  )

◆ func_802B3E44()

void func_802B3E44 ( void  )

◆ func_802B3FDC()

void func_802B3FDC ( void  )

◆ func_802B4124()

void func_802B4124 ( void  )

◆ func_802B4144()

void func_802B4144 ( void  )

◆ func_802B4A44()

s32 func_802B4A44 ( void  )

◆ func_802B4A94()

s32 func_802B4A94 ( void  )

◆ func_802B4BA4()

void func_802B4BA4 ( void  )

◆ func_802B5108()

s32 func_802B5108 ( s32  a0,
s16  a1 
)

◆ func_802B5588()

s32 func_802B5588 ( void  )

◆ func_802B5738()

void func_802B5738 ( void  )

◆ func_802B5C78()

void func_802B5C78 ( void  )

◆ func_802B5D18()

void func_802B5D18 ( void  )

◆ func_802B5DD8()

void func_802B5DD8 ( void  )

◆ func_802B5E7C()

s32 func_802B5E7C ( void  )

◆ func_802B5F20()

s32 func_802B5F20 ( void  )

◆ func_802B60B8()

void func_802B60B8 ( void  )

◆ func_802B6120()

s32 func_802B6120 ( void  )

◆ func_802B6254()

s32 func_802B6254 ( void  )

◆ func_802B64E8()

void func_802B64E8 ( struct Object bowser,
s16  a1 
)

◆ func_802B67C4()

s32 func_802B67C4 ( void  )

◆ func_802B688C()

void func_802B688C ( void  )

◆ func_802B697C()

void func_802B697C ( void  )

◆ func_802B6AC0()

void func_802B6AC0 ( void  )

◆ func_802B70C8()

void func_802B70C8 ( struct Object a0,
struct GraphNodeSwitchCase switchCase 
)

◆ func_802B7A58()

void func_802B7A58 ( void  )

◆ func_802B7ADC()

s32 func_802B7ADC ( s32  a0)

◆ func_802B7CFC()

void func_802B7CFC ( void  )

◆ func_u_802B4AF4()

void func_u_802B4AF4 ( void  )

◆ Geo18_802B798C()

Gfx* Geo18_802B798C ( s32  run,
UNUSED struct GraphNode node,
Mat4  mtx 
)

◆ Geo18_802B7D44()

Gfx* Geo18_802B7D44 ( s32  a0,
struct GraphNode node,
UNUSED s32  a2 
)

◆ geo_switch_bowser_eyes()

s32 geo_switch_bowser_eyes ( s32  run,
struct GraphNode node,
UNUSED Mat4 mtx 
)

Geo switch for controlling the state of bowser's eye direction and open/closed state.

Checks whether oEyesShut is TRUE and closes eyes if so and processes direction otherwise.

◆ Unknown802B3CCC()

static void Unknown802B3CCC ( void  )
static

Variable Documentation

◆ bowser_3_seg7_collision_07004B94

u8 bowser_3_seg7_collision_07004B94[]

◆ bowser_3_seg7_collision_07004C18

u8 bowser_3_seg7_collision_07004C18[]

◆ bowser_3_seg7_collision_07004C9C

u8 bowser_3_seg7_collision_07004C9C[]

◆ bowser_3_seg7_collision_07004D20

u8 bowser_3_seg7_collision_07004D20[]

◆ bowser_3_seg7_collision_07004DA4

u8 bowser_3_seg7_collision_07004DA4[]

◆ bowser_3_seg7_collision_07004E28

u8 bowser_3_seg7_collision_07004E28[]

◆ bowser_3_seg7_collision_07004EAC

u8 bowser_3_seg7_collision_07004EAC[]

◆ bowser_3_seg7_collision_07004F30

u8 bowser_3_seg7_collision_07004F30[]

◆ bowser_3_seg7_collision_07004FB4

u8 bowser_3_seg7_collision_07004FB4[]

◆ bowser_3_seg7_collision_07005038

u8 bowser_3_seg7_collision_07005038[]

◆ D_8032F4FC

s8 D_8032F4FC[] = { 7, 8, 9, 12, 13, 14, 15, 4, 3, 16, 17, 19, 3, 3, 3, 3 }

◆ D_8032F50C

s16 D_8032F50C[] = { 60, 0 }

◆ D_8032F510

s16 D_8032F510[] = { 50, 0 }

◆ D_8032F514

s8 D_8032F514[] = { 24, 42, 60, -1 }

◆ D_8032F518

s16 D_8032F518[3] = { 119, 120, 121 }

◆ D_8032F520

s16 D_8032F520[][3]
Initial value:
= { { 1, 10, 40 }, { 0, 0, 74 }, { -1, -10, 114 }, { 1, -20, 134 },
{ -1, 20, 154 }, { 1, 40, 164 }, { -1, -40, 174 }, { 1, -80, 179 },
{ -1, 80, 184 }, { 1, 160, 186 }, { -1, -160, 186 }, { 1, 0, 0 } }

◆ D_8032F5B8

struct SoundState D_8032F5B8[]
Initial value:
= { { 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 1, 0, -1, SOUND_OBJECT_BOWSERWALK },
{ 1, 0, -1, SOUND_CH9_UNK04 },
{ 1, 0, -1, SOUND_CH9_UNK04 },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 1, 20, 40, SOUND_OBJECT_BOWSERWALK },
{ 1, 20, -1, SOUND_OBJECT_BOWSERWALK },
{ 1, 20, 40, SOUND_OBJECT_BOWSERWALK },
{ 1, 8, -1, SOUND_OBJECT_BOWSERWALK },
{ 1, 8, 17, SOUND_OBJECT_BOWSERWALK },
{ 1, 8, -10, SOUND_OBJECT_BOWSERWALK },
{ 0, 0, 0, NO_SOUND },
{ 1, 5, -1, SOUND_OBJECT_FLAMEBLOWN },
{ 0, 0, 0, NO_SOUND },
{ 0, 0, 0, NO_SOUND },
{ 1, 0, -1, SOUND_CH9_UNK04 } }
#define SOUND_OBJECT_BOWSERTAILPICKUP
Definition: audio_defines.h:427
#define SOUND_CH9_UNK04
Definition: audio_defines.h:643
#define SOUND_OBJECT_FLAMEBLOWN
Definition: audio_defines.h:516
#define SOUND_OBJECT_BOWSERWALK
Definition: audio_defines.h:425
#define NO_SOUND
Definition: audio_defines.h:41
#define SOUND_OBJECT_BOWSERDEFEATED
Definition: audio_defines.h:428

◆ D_8032F690

s8 D_8032F690[4] = { 0, 0, 1, 0 }

◆ D_8032F694

s8 D_8032F694[4] = { 1, 1, 3, 0 }

◆ D_8032F698

struct Struct8032F698 D_8032F698[]
Initial value:
= { { NULL, 0, 0, 0, 0 },
{ bowser_3_seg7_collision_07004B94, -800, -1000, -20992, 0 },
{ bowser_3_seg7_collision_07004C18, -1158, 390, -18432, 0 },
{ bowser_3_seg7_collision_07004C9C, -1158, 390, -7680, 0 },
{ bowser_3_seg7_collision_07004D20, 0, 1240, -6144, 0 },
{ bowser_3_seg7_collision_07004DA4, 0, 1240, 6144, 0 },
{ bowser_3_seg7_collision_07004E28, 1158, 390, 7680, 0 },
{ bowser_3_seg7_collision_07004EAC, 1158, 390, 18432, 0 },
{ bowser_3_seg7_collision_07004F30, 800, -1000, 20992, 0 },
{ bowser_3_seg7_collision_07004FB4, 800, -1000, -31744, 0 },
{ bowser_3_seg7_collision_07005038, -800, -1000, 31744, 0 } }
u8 bowser_3_seg7_collision_07005038[]
u8 bowser_3_seg7_collision_07004C18[]
u8 bowser_3_seg7_collision_07004FB4[]
u8 bowser_3_seg7_collision_07004F30[]
u8 bowser_3_seg7_collision_07004E28[]
u8 bowser_3_seg7_collision_07004D20[]
u8 bowser_3_seg7_collision_07004EAC[]
u8 bowser_3_seg7_collision_07004DA4[]
#define NULL
Definition: mbi.h:101
u8 bowser_3_seg7_collision_07004C9C[]
u8 bowser_3_seg7_collision_07004B94[]

◆ D_8032F748

f32 D_8032F748[] = { -8.0f, -6.0f, -3.0f }

◆ sBowserActions

void(* sBowserActions[])(void)
Initial value:
void ActionBowser11(void)
Definition: bowser.inc.c:588
void ActionBowser13(void)
Definition: bowser.inc.c:480
void ActionBowser0()
Definition: bowser.inc.c:304
void ActionBowser14()
Definition: bowser.inc.c:329
void ActionBowser2(void)
Definition: bowser.inc.c:687
void ActionBowser18()
Definition: bowser.inc.c:298
void ActionBowser9(void)
Definition: bowser.inc.c:557
void ActionBowser4(void)
Definition: bowser.inc.c:891
void ActionBowser7(void)
Definition: bowser.inc.c:593
void ActionBowser3(void)
Definition: bowser.inc.c:761
void ActionBowser17(void)
Definition: bowser.inc.c:520
void ActionBowser15(void)
Definition: bowser.inc.c:321
void ActionBowser6(void)
Definition: bowser.inc.c:170
void ActionBowser5()
Definition: bowser.inc.c:163
void ActionBowser1(void)
Definition: bowser.inc.c:655
void ActionBowser12(void)
Definition: bowser.inc.c:414
void ActionBowser10(void)
Definition: bowser.inc.c:537
void ActionBowser19(void)
Definition: bowser.inc.c:932
void ActionBowser16(void)
Definition: bowser.inc.c:360
void ActionBowser8(void)
Definition: bowser.inc.c:397

◆ sBowserFlameHitbox

struct ObjectHitbox sBowserFlameHitbox
Initial value:
= {
0,
1,
0,
0,
10,
40,
0,
0,
}
#define INTERACT_FLAME
Definition: interaction.h:24

◆ sBowserTailAnchorActions

void(* sBowserTailAnchorActions[])(void)
Initial value:
void ActionBowserTailAnchor1(void)
Definition: bowser.inc.c:16
void ActionBowserTailAnchor0(void)
Definition: bowser.inc.c:3
void ActionBowserTailAnchor2(void)
Definition: bowser.inc.c:21

◆ sFallingBowserPlatformActions

void(* sFallingBowserPlatformActions[])(void)
Initial value:
void ActionFallingBowserPlatform1(void)
Definition: bowser.inc.c:1303
void ActionFallingBowserPlatform2(void)
Definition: bowser.inc.c:1320
void ActionFallingBowserPlatform0(void)
Definition: bowser.inc.c:1296

◆ sGrowingBowserFlameHitbox

struct ObjectHitbox sGrowingBowserFlameHitbox
Initial value:
= {
20,
1,
0,
0,
10,
40,
0,
0,
}
#define INTERACT_FLAME
Definition: interaction.h:24