|
SSBM Decomp
|
#include "particle.h"#include "generator.h"#include <Runtime/platform.h>#include <math.h>#include <string.h>#include "gobjobject.h"#include "mtx.h"#include "psappsrt.h"#include "psstructs.h"#include "random.h"#include <dolphin/gx.h>#include <dolphin/os.h>Data Structures | |
| struct | PerfDispItem |
| union | PerfDispItem::particle_PerfDispItem_content |
| struct | PerfDispItem::particle_PerfDispItem_content::particle_PerfDispItem_content_bars |
| struct | PerfDispItem::particle_PerfDispItem_content::particle_PerfDispItem_content_gradient |
| struct | PSNode |
| union | ParticleFloatBytes |
| struct | ParticleData |
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 (int *cmdBank, int *texBank, int *formBank) |
| void | psInitDataBank (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank) |
| void | hsd_80398A08 (u32 unused) |
| 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) |
| void | hsd_80398F0C (s32 linkNo, s32 bank, s32 kind, u16 texGroup, u8 *cmdList, s32 life, s32 zero, HSD_Generator *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 | applyForceJObj (HSD_Generator *gen, HSD_JObj *jobj, f32 force, f32 range) |
| static void | psEnableTexture (HSD_Particle *pp, u8 *const *textures) |
| static void | psReadFloat (u8 **stream) |
| static HSD_Particle * | psSpawnChild (HSD_Particle **head, int linkNo, int bank, int idx) |
| void * | hsd_8039930C (HSD_Particle *pp, HSD_Particle *prev) |
| void | hsd_8039CEAC (u32 mask) |
| void | psSetPointJObj (int index, HSD_JObj *jobj) |
| void | psClearPointJObj (HSD_Particle *particle) |
| void | hsd_8039D0A0 (HSD_Generator *gen) |
Variables | |
| static u32 | hsd_804D78D0 |
| static int(** | psCallback )(HSD_Particle *part) |
| u16 | numPeakPSAppSRT = 0 |
| u16 | numPeakGenerators = 0 |
| static u16 | numPeakParticles |
| u16 | numActivePSAppSRT = 0 |
| u16 | numActiveGenerators = 0 |
| static u16 | numActiveParticles |
| void(* | hsd_804D78E8 )(HSD_Generator *, Mtx) = NULL |
| void(* | hsd_804D78EC )(HSD_Generator *) = NULL |
| HSD_CObj * | psCamera = NULL |
| HSD_SList * | hsd_804D78F4 = NULL |
| static HSD_JObj * | psPointJObj [8] |
| HSD_Particle * | hsd_804D0908 [16] |
| u32 * | hsd_804D0948 [65] |
| int | psFormGroupArray [65] |
| HSD_PSTexGroup ** | psTexGroupArray [65] |
| HSD_PSFormGroup ** | psCmdListArray [65] |
| int | psNumCmdList [65] |
| HSD_PSCmdList ** | ptclref_804D0E5C [65] |
| struct hsd_804D0F60_t | hsd_804D0F60 |
| static volatile const f32 | particle_zero = 0.0F |
| #define fval (*(f32*) &hsd_804D78D0) |
| void hsd_803983A4 | ( | HSD_Generator * | gen | ) |
| void psInitDataBankLoad | ( | int | bank, |
| const int * | cmdBank, | ||
| const int * | texBank, | ||
| const u32 * | ref, | ||
| const int * | formBank ) |
| void psInitDataBankLocate | ( | int * | cmdBank, |
| int * | texBank, | ||
| int * | formBank ) |
| void psInitDataBank | ( | int | bank, |
| int * | cmdBank, | ||
| int * | texBank, | ||
| u32 * | ref, | ||
| int * | formBank ) |
| void hsd_80398A08 | ( | u32 | unused | ) |
| 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 ) |
| void hsd_80398F0C | ( | s32 | linkNo, |
| s32 | bank, | ||
| s32 | kind, | ||
| u16 | texGroup, | ||
| u8 * | cmdList, | ||
| s32 | life, | ||
| s32 | zero, | ||
| HSD_Generator * | 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 applyForceJObj | ( | HSD_Generator * | gen, |
| HSD_JObj * | jobj, | ||
| f32 | force, | ||
| f32 | range ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void * hsd_8039930C | ( | HSD_Particle * | pp, |
| HSD_Particle * | prev ) |
| void hsd_8039CEAC | ( | u32 | mask | ) |
| void psSetPointJObj | ( | int | index, |
| HSD_JObj * | jobj ) |
| void psClearPointJObj | ( | HSD_Particle * | particle | ) |
| void hsd_8039D0A0 | ( | HSD_Generator * | gen | ) |
|
static |
|
static |
| u16 numPeakPSAppSRT = 0 |
| u16 numPeakGenerators = 0 |
|
static |
| u16 numActivePSAppSRT = 0 |
| u16 numActiveGenerators = 0 |
|
static |
| void(* hsd_804D78E8) (HSD_Generator *, Mtx) | ( | HSD_Generator * | , |
| Mtx | ) = NULL |
| void(* hsd_804D78EC) (HSD_Generator *) | ( | HSD_Generator * | ) | = NULL |
|
static |
| HSD_Particle* hsd_804D0908[16] |
| u32* hsd_804D0948[65] |
| int psFormGroupArray[65] |
| HSD_PSTexGroup** psTexGroupArray[65] |
| HSD_PSFormGroup** psCmdListArray[65] |
| int psNumCmdList[65] |
| HSD_PSCmdList** ptclref_804D0E5C[65] |
| struct hsd_804D0F60_t hsd_804D0F60 |
|
static |