SSBM Decomp
Loading...
Searching...
No Matches
particle.c File Reference
#include "particle.h"
#include "generator.h"
#include <math.h>
#include <string.h>
#include "cobj.h"
#include "gobjobject.h"
#include "mtx.h"
#include "particle.static.h"
#include "psappsrt.h"
#include "psstructs.h"
#include "random.h"
#include <dolphin/gx.h>
#include <dolphin/os.h>

Data Structures

struct  PerfDispItem
struct  PSNode
union  ParticleFloatBytes

Macros

#define fval   (*(f32*) &hsd_804D78D0)

Functions

void hsd_803983A4 (HSD_Generator *gen)
void psInitDataBankLoad (int bank, const int *cmdBank, const int *texBank, const u32 *ref, const int *formBank)
void psInitDataBankLocate (HSD_Archive *cmdBank, HSD_Archive *texBank, int *formBank)
void psInitDataBank (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank)
void hsd_80398A08 (u32 unused)
HSD_ParticlepsGenerateParticle0 (HSD_Particle **head, int linkNo, int bank, u32 kind, u16 texGroup, u8 *list, int life, int palflag, f32 x, f32 y, f32 z, f32 vx, f32 vy, f32 vz, f32 size, f32 grav, f32 fric, HSD_Generator *gp, int flgInterpret)
void hsd_80398F0C (s32 linkNo, s32 bank, s32 kind, u16 texGroup, s32 cmdList, s32 life, s32 zero, s32 gen, f32 pos_x, f32 pos_y, f32 pos_z, f32 vel_x, f32 vel_y, f32 vel_z, f32 fric, f32 rate, f32 angle3)
void hsd_80398F8C (HSD_Particle *pp, f32 angle)
s32 hsd_803991D8 (HSD_Generator *gen, HSD_JObj *jobj, f32 force, f32 range)
static void psReadFloat (u8 **stream)
static HSD_ParticlepsSpawnChild (HSD_Particle **head, int linkNo, int bank, int idx)
void * hsd_8039930C (HSD_Particle *pp, HSD_Particle *prev)
void hsd_8039CEAC (u32 mask)
void hsd_8039CF4C (s32 index, HSD_JObj *jobj)
void hsd_8039D048 (void *particle)
void hsd_8039D0A0 (HSD_Generator *gen)

Variables

u16 hsd_804D78D8 = 0
u16 hsd_804D78DA = 0
static u16 numPeakParticles
u16 hsd_804D78DE = 0
u16 hsd_804D78E0 = 0
static u16 hsd_804D78E2
u32 hsd_804D78E8 = 0
u32 hsd_804D78EC = 0
HSD_CObjpsCamera = NULL
u32 hsd_804D78F4 = 0
static HSD_JObjhsd_804D08E8 [8]
HSD_Particlehsd_804D0908 [16]
u32hsd_804D0948 [65]
HSD_PSFormGroup ** psFormGroupArray [65]
HSD_PSTexGroup ** psTexGroupArray [65]
HSD_PSFormGroup ** psNumCmdList [65]
int psCmdListArray [65]
HSD_PSCmdList ** ptclref_804D0E5C [65]
struct hsd_804D0F60_t hsd_804D0F60
static volatile const f32 particle_zero = 0.0F

Macro Definition Documentation

◆ fval

#define fval   (*(f32*) &hsd_804D78D0)

Function Documentation

◆ hsd_803983A4()

void hsd_803983A4 ( HSD_Generator * gen)

◆ psInitDataBankLoad()

void psInitDataBankLoad ( int bank,
const int * cmdBank,
const int * texBank,
const u32 * ref,
const int * formBank )

◆ psInitDataBankLocate()

void psInitDataBankLocate ( HSD_Archive * cmdBank,
HSD_Archive * texBank,
int * formBank )

◆ psInitDataBank()

void psInitDataBank ( int bank,
int * cmdBank,
int * texBank,
u32 * ref,
int * formBank )

◆ hsd_80398A08()

void hsd_80398A08 ( u32 unused)

◆ psGenerateParticle0()

HSD_Particle * psGenerateParticle0 ( HSD_Particle ** head,
int linkNo,
int bank,
u32 kind,
u16 texGroup,
u8 * list,
int life,
int palflag,
f32 x,
f32 y,
f32 z,
f32 vx,
f32 vy,
f32 vz,
f32 size,
f32 grav,
f32 fric,
HSD_Generator * gp,
int flgInterpret )

◆ hsd_80398F0C()

void hsd_80398F0C ( s32 linkNo,
s32 bank,
s32 kind,
u16 texGroup,
s32 cmdList,
s32 life,
s32 zero,
s32 gen,
f32 pos_x,
f32 pos_y,
f32 pos_z,
f32 vel_x,
f32 vel_y,
f32 vel_z,
f32 fric,
f32 rate,
f32 angle3 )

◆ hsd_80398F8C()

void hsd_80398F8C ( HSD_Particle * pp,
f32 angle )

◆ hsd_803991D8()

s32 hsd_803991D8 ( HSD_Generator * gen,
HSD_JObj * jobj,
f32 force,
f32 range )

◆ psReadFloat()

void psReadFloat ( u8 ** stream)
inlinestatic

◆ psSpawnChild()

HSD_Particle * psSpawnChild ( HSD_Particle ** head,
int linkNo,
int bank,
int idx )
inlinestatic

◆ hsd_8039930C()

void * hsd_8039930C ( HSD_Particle * pp,
HSD_Particle * prev )

◆ hsd_8039CEAC()

void hsd_8039CEAC ( u32 mask)

◆ hsd_8039CF4C()

void hsd_8039CF4C ( s32 index,
HSD_JObj * jobj )

◆ hsd_8039D048()

void hsd_8039D048 ( void * particle)

◆ hsd_8039D0A0()

void hsd_8039D0A0 ( HSD_Generator * gen)

Variable Documentation

◆ hsd_804D78D8

u16 hsd_804D78D8 = 0

◆ hsd_804D78DA

u16 hsd_804D78DA = 0

◆ numPeakParticles

u16 numPeakParticles
static

◆ hsd_804D78DE

u16 hsd_804D78DE = 0

◆ hsd_804D78E0

u16 hsd_804D78E0 = 0

◆ hsd_804D78E2

u16 hsd_804D78E2
static

◆ hsd_804D78E8

u32 hsd_804D78E8 = 0

◆ hsd_804D78EC

u32 hsd_804D78EC = 0

◆ psCamera

HSD_CObj* psCamera = NULL

◆ hsd_804D78F4

u32 hsd_804D78F4 = 0

◆ hsd_804D08E8

HSD_JObj* hsd_804D08E8[8]
static

◆ hsd_804D0908

HSD_Particle* hsd_804D0908[16]

◆ hsd_804D0948

u32* hsd_804D0948[65]

◆ psFormGroupArray

HSD_PSFormGroup** psFormGroupArray[65]

◆ psTexGroupArray

HSD_PSTexGroup** psTexGroupArray[65]

◆ psNumCmdList

HSD_PSFormGroup** psNumCmdList[65]

◆ psCmdListArray

int psCmdListArray[65]

◆ ptclref_804D0E5C

HSD_PSCmdList** ptclref_804D0E5C[65]

◆ hsd_804D0F60

struct hsd_804D0F60_t hsd_804D0F60

◆ particle_zero

volatile const f32 particle_zero = 0.0F
static