Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Data Structures | Macros | Functions | Variables
envfx_snow.h File Reference
#include <ultra64.h>
#include "types.h"

Go to the source code of this file.

Data Structures

struct  EnvFxParticle
 

Macros

#define ENVFX_MODE_NONE   0
 
#define ENVFX_SNOW_NORMAL   1
 
#define ENVFX_SNOW_WATER   2
 
#define ENVFX_SNOW_BLIZZARD   3
 
#define ENVFX_BUBBLE_START   10
 
#define ENVFX_FLOWERS   11
 
#define ENVFX_LAVA_BUBBLES   12
 
#define ENVFX_WHIRLPOOL_BUBBLES   13
 
#define ENVFX_JETSTREAM_BUBBLES   14
 

Functions

Gfxenvfx_update_particles (s32 snowMode, Vec3s marioPos, Vec3s camTo, Vec3s camFrom)
 Updates the environment effects (snow, flowers, bubbles) and returns a display list drawing them. More...
 
void orbit_from_positions (Vec3s from, Vec3s to, s16 *radius, s16 *pitch, s16 *yaw)
 Given two points, return the vector from one to the other represented as euler angles and a length. More...
 
void rotate_triangle_vertices (Vec3s vertex1, Vec3s vertex2, Vec3s vertex3, s16 pitch, s16 yaw)
 Rotates the input vertices according to the give pitch and yaw. More...
 

Variables

s8 gEnvFxMode
 
UNUSED s32 D_80330644
 
struct SnowFlakeVertex gSnowFlakeVertex1
 
struct SnowFlakeVertex gSnowFlakeVertex2
 
struct SnowFlakeVertex gSnowFlakeVertex3
 
struct EnvFxParticlegEnvFxBuffer
 
Vec3i gSnowCylinderLastPos
 
s16 gSnowParticleCount
 
s16 gSnowParticleMaxCount
 

Macro Definition Documentation

◆ ENVFX_BUBBLE_START

#define ENVFX_BUBBLE_START   10

◆ ENVFX_FLOWERS

#define ENVFX_FLOWERS   11

◆ ENVFX_JETSTREAM_BUBBLES

#define ENVFX_JETSTREAM_BUBBLES   14

◆ ENVFX_LAVA_BUBBLES

#define ENVFX_LAVA_BUBBLES   12

◆ ENVFX_MODE_NONE

#define ENVFX_MODE_NONE   0

◆ ENVFX_SNOW_BLIZZARD

#define ENVFX_SNOW_BLIZZARD   3

◆ ENVFX_SNOW_NORMAL

#define ENVFX_SNOW_NORMAL   1

◆ ENVFX_SNOW_WATER

#define ENVFX_SNOW_WATER   2

◆ ENVFX_WHIRLPOOL_BUBBLES

#define ENVFX_WHIRLPOOL_BUBBLES   13

Function Documentation

◆ envfx_update_particles()

Gfx* envfx_update_particles ( s32  snowMode,
Vec3s  marioPos,
Vec3s  camTo,
Vec3s  camFrom 
)

Updates the environment effects (snow, flowers, bubbles) and returns a display list drawing them.

◆ orbit_from_positions()

void orbit_from_positions ( Vec3s  from,
Vec3s  to,
s16 radius,
s16 pitch,
s16 yaw 
)

Given two points, return the vector from one to the other represented as euler angles and a length.

◆ rotate_triangle_vertices()

void rotate_triangle_vertices ( Vec3s  vertex1,
Vec3s  vertex2,
Vec3s  vertex3,
s16  pitch,
s16  yaw 
)

Rotates the input vertices according to the give pitch and yaw.

This is needed for billboarding of particles.

Variable Documentation

◆ D_80330644

UNUSED s32 D_80330644

◆ gEnvFxBuffer

struct EnvFxParticle* gEnvFxBuffer

◆ gEnvFxMode

s8 gEnvFxMode

◆ gSnowCylinderLastPos

Vec3i gSnowCylinderLastPos

◆ gSnowFlakeVertex1

struct SnowFlakeVertex gSnowFlakeVertex1

◆ gSnowFlakeVertex2

struct SnowFlakeVertex gSnowFlakeVertex2

◆ gSnowFlakeVertex3

struct SnowFlakeVertex gSnowFlakeVertex3

◆ gSnowParticleCount

s16 gSnowParticleCount

◆ gSnowParticleMaxCount

s16 gSnowParticleMaxCount