1#ifndef SYSDOLPHIN_BASELIB_PSSTRUCTS_H
2#define SYSDOLPHIN_BASELIB_PSSTRUCTS_H
11#include <dolphin/gx.h>
12#include <dolphin/gx/GXEnum.h>
13#include <dolphin/mtx.h>
46typedef struct _HSD_PSTexGroup {
62typedef struct _HSD_PSFormGroup {
68typedef struct _HSD_PSCmdList {
217typedef struct _PSUserFunc {
218 int (*hookCreate)(HSD_Particle* part);
219 int (*hookDelete)(HSD_Particle* part);
220 int (*setUserData)(HSD_Particle* part, u8 unknown1,
224typedef struct _auxDisc {
229typedef struct _auxLine {
235typedef struct _auxTornado {
239typedef struct _auxRect {
255typedef struct _auxCone {
261typedef struct _auxSphere {
324#define PS_TEXDIRECTION
325#ifdef PS_TEXDIRECTION
326extern int texc[4][4];
346 float x,
float y,
float z,
float ppvx,
348 float y0,
float z0,
float x1,
float y1,
362 float x,
float y,
float z,
float vx,
364 float fric,
int palflag,
373 float grav,
float fric,
int palflag,
377 float py,
float pz,
float vx,
float vy,
u8 x0
Definition dbbonus.c:18
UnkFlagStruct x1
Definition dbbonus.c:19
static void callback(HSD_GObj *gobj)
Definition ftDk_SpecialLw.c:88
static struct _particle * psDispSubPointTrail(struct _particle *pp)
void psRemoveParticle(void)
void psRestartFamily(u16 idnum, int linkNo)
HSD_Particle * psGenerateParticleIDN(int linkNo, int bank, int id)
static void setupChanCtrl(struct _particle *pp)
void psSetUserFunc(struct _generator *gp, HSD_PSUserFunc *userfunc)
HSD_ParticleKind
Definition psstructs.h:26
@ TexEdge
Definition psstructs.h:28
@ DispLighting
Definition psstructs.h:42
@ DispFog
Definition psstructs.h:39
@ Tornado
Definition psstructs.h:27
@ DirVec
Definition psstructs.h:38
@ TexInterpNear
Definition psstructs.h:33
@ Trail
Definition psstructs.h:37
@ MirrorS
Definition psstructs.h:30
@ DispTexture
Definition psstructs.h:34
@ MirrorT
Definition psstructs.h:31
@ DispPoint
Definition psstructs.h:41
@ PrimEnv
Definition psstructs.h:32
@ TexFlipT
Definition psstructs.h:36
@ ComTLUT
Definition psstructs.h:29
@ NoZComp
Definition psstructs.h:40
@ TexFlipS
Definition psstructs.h:35
static void setupChanReg(struct _particle *pp)
static struct _particle * psDispSubPoint(struct _particle *pp)
void psSetFog(struct HSD_Fog *fog)
static void psDispSub(struct _particle *pp, u8 *texform)
void psInitDataBank(int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank)
void psSetCallback(int(**callback)(HSD_Particle *part))
void psSetPointJObjNodup(HSD_JObj *jobj, int no)
void psKillParticle(HSD_Particle *pp)
static void psRemoveBillboardCamera(void)
static void psDispSubMakePolygon(struct _particle *pp, u8 *texform, float x, float y, float z, float ppvx, float ppvy, float ppvz, float x0, float y0, float z0, float x1, float y1, float z1)
HSD_Particle * psGenerateParticleID(int linkNo, int bank, int id)
void psAddOffsetAll(float xofs, float yofs, float zofs)
HSD_PSFormGroup ** psFormGroupArray[64]
HSD_PSTexGroup ** psTexGroupArray[64]
static void setBlendMode(int blendmode)
HSD_Particle * psGenerateParticle0(HSD_Particle *p, int linkNo, int bank, u32 kind, u16 texGroup, u8 *list, int life, float x, float y, float z, float vx, float vy, float vz, float size, float grav, float fric, int palflag, struct _generator *gp, int flgInterpret)
static void setupTevReg(struct _particle *pp)
HSD_Particle * psGenerateParticleID0(HSD_Particle *p, int linkNo, int bank, int id, int flgInterpret)
void psKillGeneratorChild(struct _generator *gp)
HSD_Particle * psGenerateParticle(int linkNo, int bank, u32 kind, u16 texGroup, u8 *list, int life, float x, float y, float z, float vx, float vy, float vz, float size, float grav, float fric, int palflag, struct _generator *gp)
HSD_PSCmdList ** psCmdListArray[64]
void psSetPointJObj(int no, HSD_JObj *jobj)
void psPauseFamily(u16 idnum, int linkNo)
void psKillFamily(u16 idnum, int linkNo)
void psClearPointJObj(void)
static void psSetCurrentMtx(GXPosNrmMtx idx)
void psDeletePntJObjwithParticle(HSD_Particle *pp)
void psInitParticle(int num)
int(** psCallback)(HSD_Particle *part)
static void getClrTrail(struct _particle *pp, GXColor *col)
HSD_Particle * psGenerateParticleIDPV(int linkNo, int bank, int id, float px, float py, float pz, float vx, float vy, float vz)
void psKillAllParticle(void)
Definition psstructs.h:68
u32 kind
Definition psstructs.h:75
float fric
Definition psstructs.h:78
u16 genLife
Definition psstructs.h:72
float vy
Definition psstructs.h:81
float param2
Definition psstructs.h:90
float param1
Definition psstructs.h:89
float size
Definition psstructs.h:87
float param3
Definition psstructs.h:91
u16 type
Definition psstructs.h:69
float vz
Definition psstructs.h:82
u16 life
Definition psstructs.h:73
float grav
Definition psstructs.h:77
float angle
Definition psstructs.h:85
float radius
Definition psstructs.h:84
u16 texGroup
Definition psstructs.h:70
float random
Definition psstructs.h:86
float vx
Definition psstructs.h:80
Definition psstructs.h:46
u16 palnum
Definition psstructs.h:55
u32 num
Definition psstructs.h:47
u32 fmt
Definition psstructs.h:49
u32 width
Definition psstructs.h:52
u16 palflag
Definition psstructs.h:56
u32 height
Definition psstructs.h:53
u32 tlutfmt
Definition psstructs.h:50
Definition psstructs.h:217
Definition psstructs.h:269
u8 dummy
Definition psstructs.h:280
u8 * cmdList
Definition psstructs.h:283
HSD_psAppSRT * appsrt
Definition psstructs.h:296
HSD_Generator * next
Definition psstructs.h:270
f32 fric
Definition psstructs.h:291
f32 size
Definition psstructs.h:292
u32 numChild
Definition psstructs.h:295
f32 count
Definition psstructs.h:273
u16 idnum
Definition psstructs.h:281
u16 type
Definition psstructs.h:276
u8 bank
Definition psstructs.h:277
f32 vy
Definition psstructs.h:288
u8 linkNo
Definition psstructs.h:278
f32 vx
Definition psstructs.h:287
u8 texGroup
Definition psstructs.h:279
u16 genLife
Definition psstructs.h:275
f32 random
Definition psstructs.h:272
auxRect rect
Definition psstructs.h:303
f32 radius
Definition psstructs.h:293
u16 life
Definition psstructs.h:282
f32 grav
Definition psstructs.h:290
auxSphere sphere
Definition psstructs.h:305
auxCone cone
Definition psstructs.h:304
union _generator::@326 aux
f32 x
Definition psstructs.h:284
HSD_JObj * jobj
Definition psstructs.h:274
HSD_PSUserFunc * userfunc
Definition psstructs.h:297
f32 vz
Definition psstructs.h:289
auxLine line
Definition psstructs.h:301
f32 z
Definition psstructs.h:286
f32 angle
Definition psstructs.h:294
u32 kind
Definition psstructs.h:271
auxTornado tornado
Definition psstructs.h:302
f32 y
Definition psstructs.h:285
int(* callback)(HSD_Generator *part)
Definition psstructs.h:298
auxDisc disc
Definition psstructs.h:300
Definition psstructs.h:124
u16 envColRemain
Definition psstructs.h:186
float x
Definition psstructs.h:164
u16 ambColCount
Definition psstructs.h:179
u16 cmdLoopPtr
Definition psstructs.h:153
u8 ambRGBTarget
Definition psstructs.h:205
GXColor primCol
Definition psstructs.h:139
float vz
Definition psstructs.h:159
u16 ambColRemain
Definition psstructs.h:191
u8 aCmpParam1Target
Definition psstructs.h:194
float fric
Definition psstructs.h:162
u8 poseNum
Definition psstructs.h:132
u8 ambRGB
Definition psstructs.h:200
u8 matRGB
Definition psstructs.h:197
u8 aCmpParam2Target
Definition psstructs.h:195
GXColor envCol
Definition psstructs.h:140
u8 bank
Definition psstructs.h:129
u16 primColCount
Definition psstructs.h:137
u16 idnum
Definition psstructs.h:148
u16 matColCount
Definition psstructs.h:178
float size
Definition psstructs.h:168
u8 ambATarget
Definition psstructs.h:206
u8 linkNo
Definition psstructs.h:146
GXColor primColTarget
Definition psstructs.h:187
float z
Definition psstructs.h:166
float rotateTarget
Definition psstructs.h:183
int(* callback)(HSD_Particle *part)
Definition psstructs.h:213
u8 ambA
Definition psstructs.h:201
u16 cmdWait
Definition psstructs.h:142
u8 pJObjOfs
Definition psstructs.h:176
float grav
Definition psstructs.h:161
u16 cmdMarkPtr
Definition psstructs.h:152
u16 cmdPtr
Definition psstructs.h:151
float rotate
Definition psstructs.h:169
struct _psAppSRT * appsrt
Definition psstructs.h:211
u8 matA
Definition psstructs.h:198
u16 matColRemain
Definition psstructs.h:190
float sizeTarget
Definition psstructs.h:182
u32 kind
Definition psstructs.h:127
float vx
Definition psstructs.h:157
u8 texGroup
Definition psstructs.h:130
HSD_Particle * next
Definition psstructs.h:125
u16 primColRemain
Definition psstructs.h:185
u8 aCmpMode
Definition psstructs.h:172
u16 aCmpCount
Definition psstructs.h:171
u8 * cmdList
Definition psstructs.h:150
u16 envColCount
Definition psstructs.h:138
struct _generator * gen
Definition psstructs.h:210
GXColor envColTarget
Definition psstructs.h:188
float * userdata
Definition psstructs.h:212
u8 matATarget
Definition psstructs.h:204
float vy
Definition psstructs.h:158
u16 rotateCount
Definition psstructs.h:180
u8 palNum
Definition psstructs.h:133
u16 sizeCount
Definition psstructs.h:135
u8 matRGBTarget
Definition psstructs.h:203
u8 aCmpParam1
Definition psstructs.h:173
u16 aCmpRemain
Definition psstructs.h:193
u8 aCmpParam2
Definition psstructs.h:174
float trail
Definition psstructs.h:208
float y
Definition psstructs.h:165
u16 life
Definition psstructs.h:155
u8 loopCount
Definition psstructs.h:144
Definition psstructs.h:98
float ssx
Definition psstructs.h:113
void(* freefunc)(struct _psAppSRT *appSrt)
Definition psstructs.h:116
u8 dummy
Definition psstructs.h:120
struct _psAppSRT * next
Definition psstructs.h:99
u8 billboard
Definition psstructs.h:119
struct _generator * gp
Definition psstructs.h:101
u8 status
Definition psstructs.h:107
u16 idnum
Definition psstructs.h:118
Vec3 tra
Definition psstructs.h:103
float ssy
Definition psstructs.h:114
Vec3 sca
Definition psstructs.h:105
u16 usedCount
Definition psstructs.h:110
Quaternion rot
Definition psstructs.h:104
u8 frameNum
Definition psstructs.h:109
Mtx mmtx
Definition psstructs.h:112
Definition psstructs.h:255
f32 maxAngle
Definition psstructs.h:257
f32 minAngle
Definition psstructs.h:256
f32 height
Definition psstructs.h:258
Definition psstructs.h:224
f32 maxAngle
Definition psstructs.h:226
f32 minAngle
Definition psstructs.h:225
Definition psstructs.h:229
f32 x2
Definition psstructs.h:230
f32 y2
Definition psstructs.h:231
f32 z2
Definition psstructs.h:232
Definition psstructs.h:239
f32 xz
Definition psstructs.h:245
f32 yz
Definition psstructs.h:248
f32 x
Definition psstructs.h:240
f32 yy
Definition psstructs.h:247
f32 xy
Definition psstructs.h:244
f32 zx
Definition psstructs.h:249
u16 flag
Definition psstructs.h:252
f32 y
Definition psstructs.h:241
f32 zy
Definition psstructs.h:250
f32 z
Definition psstructs.h:242
f32 yx
Definition psstructs.h:246
f32 xx
Definition psstructs.h:243
f32 zz
Definition psstructs.h:251
Definition psstructs.h:261
f32 lonMid
Definition psstructs.h:265
f32 lonRange
Definition psstructs.h:266
f32 latMid
Definition psstructs.h:263
f32 speed
Definition psstructs.h:262
f32 latRange
Definition psstructs.h:264
Definition psstructs.h:235
f32 vel
Definition psstructs.h:236