1#ifndef SYSDOLPHIN_BASELIB_PSSTRUCTS_H
2#define SYSDOLPHIN_BASELIB_PSSTRUCTS_H
12#include <dolphin/gx.h>
13#include <dolphin/gx/GXEnum.h>
14#include <dolphin/mtx.h>
38typedef struct _HSD_PSTexGroup {
54typedef struct _HSD_PSFormGroup {
60typedef struct _HSD_PSCmdList {
188typedef struct _PSUserFunc {
195typedef struct _auxDisc {
200typedef struct _auxLine {
206typedef struct _auxTornado {
210typedef struct _auxRect {
226typedef struct _auxCone {
232typedef struct _auxSphere {
276#define PS_TEXDIRECTION
277#ifdef PS_TEXDIRECTION
278extern int texc[4][4];
298 float y,
float z,
float ppvx,
299 float ppvy,
float ppvz,
float x0,
300 float y0,
float z0,
float x1,
float y1,
305void psInitDataBank(
int bank,
int* cmdBank,
int* texBank, u32* ref,
313 u32 kind, u16 texGroup,
u8* list,
int life,
314 float x,
float y,
float z,
float vx,
315 float vy,
float vz,
float size,
float grav,
320 int id,
int flgInterpret);
323 u8* list,
int life,
float x,
float y,
float z,
324 float vx,
float vy,
float vz,
float size,
325 float grav,
float fric,
int palflag,
329 float py,
float pz,
float vx,
float vy,
u8 x0
Definition dbbonus.c:20
UnkFlagStruct x1
Definition dbbonus.c:21
static void callback(HSD_GObj *gobj)
Definition ftDk_SpecialLw.c:89
static GXColor col
Definition gm_18A5.c:1196
signed char s8
Definition hsd_3B2B.h:3
unsigned char u8
Definition hsd_3B2B.h:2
void psRemoveParticle(void)
void psRestartFamily(u16 idnum, int linkNo)
HSD_Particle * psGenerateParticleIDN(int linkNo, int bank, int id)
void psSetUserFunc(HSD_Generator *gp, HSD_PSUserFunc *userfunc)
static void psDispSubMakePolygon(HSD_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 * 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, HSD_Generator *gp, int flgInterpret)
HSD_ParticleKind
Definition psstructs.h:18
@ TexEdge
Definition psstructs.h:20
@ DispLighting
Definition psstructs.h:34
@ DispFog
Definition psstructs.h:31
@ Tornado
Definition psstructs.h:19
@ DirVec
Definition psstructs.h:30
@ TexInterpNear
Definition psstructs.h:25
@ Trail
Definition psstructs.h:29
@ MirrorS
Definition psstructs.h:22
@ DispTexture
Definition psstructs.h:26
@ MirrorT
Definition psstructs.h:23
@ DispPoint
Definition psstructs.h:33
@ PrimEnv
Definition psstructs.h:24
@ TexFlipT
Definition psstructs.h:28
@ ComTLUT
Definition psstructs.h:21
@ NoZComp
Definition psstructs.h:32
@ TexFlipS
Definition psstructs.h:27
void psSetFog(struct HSD_Fog *fog)
void psInitDataBank(int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank)
Definition particle.c:4710
void psSetCallback(int(**callback)(HSD_Particle *part))
void psSetPointJObjNodup(HSD_JObj *jobj, int no)
void psKillParticle(HSD_Particle *pp)
static void psRemoveBillboardCamera(void)
HSD_Particle * psGenerateParticleID(int linkNo, int bank, int id)
void psAddOffsetAll(float xofs, float yofs, float zofs)
void psKillGeneratorChild(HSD_Generator *gp)
static void setupChanCtrl(HSD_Particle *pp)
static void setupChanReg(HSD_Particle *pp)
static void setBlendMode(int blendmode)
HSD_Particle * psGenerateParticleID0(HSD_Particle *p, int linkNo, int bank, int id, int flgInterpret)
static void getClrTrail(HSD_Particle *pp, GXColor *col)
static HSD_Particle * psDispSubPointTrail(HSD_Particle *pp)
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)
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, HSD_Generator *gp)
void psInitParticle(int num)
static void setupTevReg(HSD_Particle *pp)
HSD_Particle * psGenerateParticleIDPV(int linkNo, int bank, int id, float px, float py, float pz, float vx, float vy, float vz)
static void psDispSub(HSD_Particle *pp, u8 *texform)
void psKillAllParticle(void)
static HSD_Particle * psDispSubPoint(HSD_Particle *pp)
Definition psstructs.h:240
u8 dummy
Definition psstructs.h:251
Vec3 pos
Definition psstructs.h:255
u8 * cmdList
Definition psstructs.h:254
HSD_psAppSRT * appsrt
Definition psstructs.h:263
union HSD_Generator::@376127326376157246134125134252314237200066350077 aux
HSD_Generator * next
Definition psstructs.h:241
f32 fric
Definition psstructs.h:258
f32 size
Definition psstructs.h:259
u32 numChild
Definition psstructs.h:262
f32 count
Definition psstructs.h:244
u16 idnum
Definition psstructs.h:252
u16 type
Definition psstructs.h:247
u8 bank
Definition psstructs.h:248
u8 linkNo
Definition psstructs.h:249
u8 texGroup
Definition psstructs.h:250
u16 genLife
Definition psstructs.h:246
f32 random
Definition psstructs.h:243
auxRect rect
Definition psstructs.h:270
f32 radius
Definition psstructs.h:260
u16 life
Definition psstructs.h:253
f32 grav
Definition psstructs.h:257
Vec3 vel
Definition psstructs.h:256
auxSphere sphere
Definition psstructs.h:272
auxCone cone
Definition psstructs.h:271
HSD_JObj * jobj
Definition psstructs.h:245
HSD_PSUserFunc * userfunc
Definition psstructs.h:264
auxLine line
Definition psstructs.h:268
f32 angle
Definition psstructs.h:261
u32 kind
Definition psstructs.h:242
auxTornado tornado
Definition psstructs.h:269
int(* callback)(HSD_Generator *part)
Definition psstructs.h:265
auxDisc disc
Definition psstructs.h:267
Definition psstructs.h:60
u32 kind
Definition psstructs.h:67
float fric
Definition psstructs.h:70
u16 genLife
Definition psstructs.h:64
float vy
Definition psstructs.h:73
float param2
Definition psstructs.h:82
float param1
Definition psstructs.h:81
float size
Definition psstructs.h:79
float param3
Definition psstructs.h:83
u16 type
Definition psstructs.h:61
float vz
Definition psstructs.h:74
u16 life
Definition psstructs.h:65
float grav
Definition psstructs.h:69
float angle
Definition psstructs.h:77
float radius
Definition psstructs.h:76
u16 texGroup
Definition psstructs.h:62
float random
Definition psstructs.h:78
u8 cmdList[1]
Definition psstructs.h:85
float vx
Definition psstructs.h:72
Definition psstructs.h:38
u16 palnum
Definition psstructs.h:47
u8 * texTable[1]
Definition psstructs.h:50
u32 num
Definition psstructs.h:39
u32 fmt
Definition psstructs.h:41
u32 width
Definition psstructs.h:44
u16 palflag
Definition psstructs.h:48
u32 height
Definition psstructs.h:45
u32 tlutfmt
Definition psstructs.h:42
Definition psstructs.h:188
int(* hookCreate)(HSD_Particle *part)
Definition psstructs.h:189
int(* hookDelete)(HSD_Particle *part)
Definition psstructs.h:190
int(* setUserData)(HSD_Particle *part, u8 unknown1, float unknown2)
Definition psstructs.h:191
Definition psstructs.h:126
u16 envColRemain
Definition psstructs.h:164
Vec3 pos
Definition psstructs.h:150
u16 ambColCount
Definition psstructs.h:159
u16 cmdLoopPtr
Definition psstructs.h:145
u8 ambRGBTarget
Definition psstructs.h:178
GXColor primCol
Definition psstructs.h:136
u16 ambColRemain
Definition psstructs.h:168
u8 aCmpParam1Target
Definition psstructs.h:170
float fric
Definition psstructs.h:149
u8 poseNum
Definition psstructs.h:131
struct HSD_Generator * gen
Definition psstructs.h:181
u8 ambRGB
Definition psstructs.h:174
u8 matRGB
Definition psstructs.h:172
u8 aCmpParam2Target
Definition psstructs.h:171
GXColor envCol
Definition psstructs.h:137
u8 bank
Definition psstructs.h:129
u16 primColCount
Definition psstructs.h:134
u16 idnum
Definition psstructs.h:141
u16 matColCount
Definition psstructs.h:158
float size
Definition psstructs.h:151
u8 ambATarget
Definition psstructs.h:179
u8 linkNo
Definition psstructs.h:140
GXColor primColTarget
Definition psstructs.h:165
Vec3 vel
Definition psstructs.h:147
float rotateTarget
Definition psstructs.h:162
int(* callback)(HSD_Particle *part)
Definition psstructs.h:184
u8 ambA
Definition psstructs.h:175
u16 cmdWait
Definition psstructs.h:138
u8 pJObjOfs
Definition psstructs.h:157
float grav
Definition psstructs.h:148
u16 cmdMarkPtr
Definition psstructs.h:144
u16 cmdPtr
Definition psstructs.h:143
float rotate
Definition psstructs.h:152
u8 matA
Definition psstructs.h:173
u16 matColRemain
Definition psstructs.h:167
float sizeTarget
Definition psstructs.h:161
u32 kind
Definition psstructs.h:128
u8 texGroup
Definition psstructs.h:130
HSD_Particle * next
Definition psstructs.h:127
u16 primColRemain
Definition psstructs.h:163
struct HSD_psAppSRT * appsrt
Definition psstructs.h:182
u8 aCmpMode
Definition psstructs.h:154
u16 aCmpCount
Definition psstructs.h:153
u8 * cmdList
Definition psstructs.h:142
u16 envColCount
Definition psstructs.h:135
GXColor envColTarget
Definition psstructs.h:166
float * userdata
Definition psstructs.h:183
u8 matATarget
Definition psstructs.h:177
u16 rotateCount
Definition psstructs.h:160
u8 palNum
Definition psstructs.h:132
u16 sizeCount
Definition psstructs.h:133
u8 matRGBTarget
Definition psstructs.h:176
u8 aCmpParam1
Definition psstructs.h:155
u16 aCmpRemain
Definition psstructs.h:169
u8 aCmpParam2
Definition psstructs.h:156
float trail
Definition psstructs.h:180
u16 life
Definition psstructs.h:146
u8 loopCount
Definition psstructs.h:139
Definition psstructs.h:88
f32 x78
Definition psstructs.h:109
Vec3 translate
Definition psstructs.h:93
float ssx
Definition psstructs.h:103
f32 x88
Definition psstructs.h:113
s8 xA2
Definition psstructs.h:122
f32 x98
Definition psstructs.h:117
f32 x8C
Definition psstructs.h:114
Vec3 scale
Definition psstructs.h:95
f32 x7C
Definition psstructs.h:110
struct HSD_psAppSRT * next
Definition psstructs.h:89
f32 x74
Definition psstructs.h:108
struct HSD_Generator * gp
Definition psstructs.h:91
u8 status
Definition psstructs.h:97
f32 x90
Definition psstructs.h:115
u16 idnum
Definition psstructs.h:121
f32 x94
Definition psstructs.h:116
float ssy
Definition psstructs.h:104
f32 x70
Definition psstructs.h:107
f32 x6C
Definition psstructs.h:106
u16 usedCount
Definition psstructs.h:100
Quaternion rot
Definition psstructs.h:94
f32 x84
Definition psstructs.h:112
u8 frameNum
Definition psstructs.h:99
f32 x80
Definition psstructs.h:111
void(* freefunc)(struct HSD_psAppSRT *appSrt)
Definition psstructs.h:119
Mtx mmtx
Definition psstructs.h:102
Definition psstructs.h:226
f32 maxAngle
Definition psstructs.h:228
f32 minAngle
Definition psstructs.h:227
f32 height
Definition psstructs.h:229
Definition psstructs.h:195
f32 maxAngle
Definition psstructs.h:197
f32 minAngle
Definition psstructs.h:196
Definition psstructs.h:200
f32 x2
Definition psstructs.h:201
f32 y2
Definition psstructs.h:202
f32 z2
Definition psstructs.h:203
Definition psstructs.h:210
f32 xz
Definition psstructs.h:216
f32 yz
Definition psstructs.h:219
f32 x
Definition psstructs.h:211
f32 yy
Definition psstructs.h:218
f32 xy
Definition psstructs.h:215
f32 zx
Definition psstructs.h:220
u16 flag
Definition psstructs.h:223
f32 y
Definition psstructs.h:212
f32 zy
Definition psstructs.h:221
f32 z
Definition psstructs.h:213
f32 yx
Definition psstructs.h:217
f32 xx
Definition psstructs.h:214
f32 zz
Definition psstructs.h:222
Definition psstructs.h:232
f32 lonMid
Definition psstructs.h:236
f32 lonRange
Definition psstructs.h:237
f32 latMid
Definition psstructs.h:234
f32 speed
Definition psstructs.h:233
f32 latRange
Definition psstructs.h:235
Definition psstructs.h:206
f32 vel
Definition psstructs.h:207