Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
platform_displacement.c File Reference
#include <ultra64.h>
#include "sm64.h"
#include "platform_displacement.h"
#include "engine/math_util.h"
#include "object_helpers.h"
#include "object_helpers2.h"
#include "mario.h"
#include "engine/behavior_script.h"
#include "level_update.h"
#include "engine/surface_collision.h"
#include "object_list_processor.h"

Functions

void update_mario_platform (void)
 Determine if mario is standing on a platform object, meaning that he is within 4 units of the floor. More...
 
void get_mario_pos (f32 *x, f32 *y, f32 *z)
 Get mario's position and store it in x, y, and z. More...
 
void set_mario_pos (f32 x, f32 y, f32 z)
 Set mario's position. More...
 
void apply_platform_displacement (u32 isMario, struct Object *platform)
 Apply one frame of platform rotation to mario or an object using the given platform. More...
 
void apply_mario_platform_displacement (void)
 If mario's platform is not null, apply platform displacement. More...
 
void clear_mario_platform (void)
 Set mario's platform to NULL. More...
 

Variables

u16 D_8032FEC0 = 0
 
u32 unused_8032FEC4 [4] = { 0 }
 
struct ObjectgMarioPlatform = NULL
 

Function Documentation

◆ apply_mario_platform_displacement()

void apply_mario_platform_displacement ( void  )

If mario's platform is not null, apply platform displacement.

◆ apply_platform_displacement()

void apply_platform_displacement ( u32  isMario,
struct Object platform 
)

Apply one frame of platform rotation to mario or an object using the given platform.

If isMario is 0, use gCurrentObject.

◆ clear_mario_platform()

void clear_mario_platform ( void  )

Set mario's platform to NULL.

◆ get_mario_pos()

void get_mario_pos ( f32 x,
f32 y,
f32 z 
)

Get mario's position and store it in x, y, and z.

◆ set_mario_pos()

void set_mario_pos ( f32  x,
f32  y,
f32  z 
)

Set mario's position.

◆ update_mario_platform()

void update_mario_platform ( void  )

Determine if mario is standing on a platform object, meaning that he is within 4 units of the floor.

Set his referenced platform object accordingly.

If mario moves onto a rotating platform in a PU, the find_floor call

Variable Documentation

◆ D_8032FEC0

u16 D_8032FEC0 = 0

◆ gMarioPlatform

struct Object* gMarioPlatform = NULL

◆ unused_8032FEC4

u32 unused_8032FEC4[4] = { 0 }