SSBM Decomp
Loading...
Searching...
No Matches
psstructs.h File Reference
#include <platform.h>
#include "baselib/archive.h"
#include "baselib/forward.h"
#include "baselib/jobj.h"
#include <dolphin/gx.h>
#include <dolphin/gx/GXEnum.h>
#include <dolphin/mtx.h>

Go to the source code of this file.

Data Structures

struct  HSD_PSTexGroup
 
struct  HSD_PSFormGroup
 
struct  HSD_PSCmdList
 
struct  HSD_psAppSRT
 
struct  HSD_Particle
 
struct  HSD_PSUserFunc
 
struct  auxDisc
 
struct  auxLine
 
struct  auxTornado
 
struct  auxRect
 
struct  auxCone
 
struct  auxSphere
 
struct  HSD_Generator
 

Macros

#define PS_TEXDIRECTION
 

Enumerations

enum  HSD_ParticleKind {
  Tornado = 1 << 2 ,
  TexEdge = 1 << 3 ,
  ComTLUT = 1 << 4 ,
  MirrorS = 1 << 5 ,
  MirrorT = 1 << 6 ,
  PrimEnv = 1 << 7 ,
  TexInterpNear = 1 << 9 ,
  DispTexture = 1 << 10 ,
  TexFlipS = 1 << 18 ,
  TexFlipT = 1 << 19 ,
  Trail = 1 << 20 ,
  DirVec = 1 << 21 ,
  DispFog = 1 << 24 ,
  NoZComp = 1 << 28 ,
  DispPoint = 1 << 30 ,
  DispLighting = 1 << 31
}
 

Functions

void psSetFog (struct HSD_Fog *fog)
 
void psRemoveFog (void)
 
static void setBlendMode (int blendmode)
 
static void setupChanCtrl (HSD_Particle *pp)
 
static void setupChanReg (HSD_Particle *pp)
 
static void getClrTrail (HSD_Particle *pp, GXColor *col)
 
static void setupTevReg (HSD_Particle *pp)
 
static void psSetCurrentMtx (GXPosNrmMtx idx)
 
static HSD_ParticlepsDispSubPoint (HSD_Particle *pp)
 
static HSD_ParticlepsDispSubPointTrail (HSD_Particle *pp)
 
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)
 
static void psDispSub (HSD_Particle *pp, u8 *texform)
 
void psInitDataBank (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank)
 
void psInitParticle (int num)
 
void psRemoveParticle (void)
 
HSD_ParticlepsGenerateParticle0 (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_ParticlepsGenerateParticleID0 (HSD_Particle *p, int linkNo, int bank, int id, int flgInterpret)
 
HSD_ParticlepsGenerateParticle (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)
 
HSD_ParticlepsGenerateParticleIDPV (int linkNo, int bank, int id, float px, float py, float pz, float vx, float vy, float vz)
 
HSD_ParticlepsGenerateParticleID (int linkNo, int bank, int id)
 
HSD_ParticlepsGenerateParticleIDN (int linkNo, int bank, int id)
 
void psKillParticle (HSD_Particle *pp)
 
void psKillAllParticle (void)
 
void psSetPointJObj (int no, HSD_JObj *jobj)
 
void psSetPointJObjNodup (HSD_JObj *jobj, int no)
 
void psClearPointJObj (void)
 
void psDeletePntJObjwithParticle (HSD_Particle *pp)
 
void psKillFamily (u16 idnum, int linkNo)
 
void psKillGeneratorChild (HSD_Generator *gp)
 
void psAddOffsetAll (float xofs, float yofs, float zofs)
 
void psPauseFamily (u16 idnum, int linkNo)
 
void psRestartFamily (u16 idnum, int linkNo)
 
void psSetCallback (int(**callback)(HSD_Particle *part))
 
void psSetUserFunc (HSD_Generator *gp, HSD_PSUserFunc *userfunc)
 
static void psRemoveBillboardCamera (void)
 

Variables

u32 * ptclref [64]
 
int psNumTexGroup [64]
 
HSD_PSTexGroup ** psTexGroupArray [64]
 
HSD_PSFormGroup ** psFormGroupArray [64]
 
int psNumCmdList [64]
 
HSD_PSCmdList ** psCmdListArray [64]
 
u16 numActiveParticles
 
u16 numPeakParticles
 
int(** psCallback )(HSD_Particle *part)
 
int texc [4][4]
 
int td
 

Macro Definition Documentation

◆ PS_TEXDIRECTION

#define PS_TEXDIRECTION

Enumeration Type Documentation

◆ HSD_ParticleKind

Enumerator
Tornado 
TexEdge 
ComTLUT 
MirrorS 
MirrorT 
PrimEnv 
TexInterpNear 
DispTexture 
TexFlipS 
TexFlipT 
Trail 
DirVec 
DispFog 
NoZComp 
DispPoint 
DispLighting 

Function Documentation

◆ psSetFog()

void psSetFog ( struct HSD_Fog fog)

◆ psRemoveFog()

void psRemoveFog ( void  )

◆ setBlendMode()

static void setBlendMode ( int  blendmode)
inlinestatic

◆ setupChanCtrl()

static void setupChanCtrl ( HSD_Particle pp)
inlinestatic

◆ setupChanReg()

static void setupChanReg ( HSD_Particle pp)
inlinestatic

◆ getClrTrail()

static void getClrTrail ( HSD_Particle pp,
GXColor *  col 
)
inlinestatic

◆ setupTevReg()

static void setupTevReg ( HSD_Particle pp)
inlinestatic

◆ psSetCurrentMtx()

static void psSetCurrentMtx ( GXPosNrmMtx  idx)
inlinestatic

◆ psDispSubPoint()

static HSD_Particle * psDispSubPoint ( HSD_Particle pp)
inlinestatic

◆ psDispSubPointTrail()

static HSD_Particle * psDispSubPointTrail ( HSD_Particle pp)
inlinestatic

◆ psDispSubMakePolygon()

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 
)
inlinestatic

◆ psDispSub()

static void psDispSub ( HSD_Particle pp,
u8 texform 
)
inlinestatic

◆ psInitDataBank()

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

◆ psInitParticle()

void psInitParticle ( int  num)

◆ psRemoveParticle()

void psRemoveParticle ( void  )

◆ psGenerateParticle0()

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 
)

◆ psGenerateParticleID0()

HSD_Particle * psGenerateParticleID0 ( HSD_Particle p,
int  linkNo,
int  bank,
int  id,
int  flgInterpret 
)

◆ psGenerateParticle()

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 
)

◆ psGenerateParticleIDPV()

HSD_Particle * psGenerateParticleIDPV ( int  linkNo,
int  bank,
int  id,
float  px,
float  py,
float  pz,
float  vx,
float  vy,
float  vz 
)

◆ psGenerateParticleID()

HSD_Particle * psGenerateParticleID ( int  linkNo,
int  bank,
int  id 
)

◆ psGenerateParticleIDN()

HSD_Particle * psGenerateParticleIDN ( int  linkNo,
int  bank,
int  id 
)

◆ psKillParticle()

void psKillParticle ( HSD_Particle pp)

◆ psKillAllParticle()

void psKillAllParticle ( void  )

◆ psSetPointJObj()

void psSetPointJObj ( int  no,
HSD_JObj jobj 
)

◆ psSetPointJObjNodup()

void psSetPointJObjNodup ( HSD_JObj jobj,
int  no 
)

◆ psClearPointJObj()

void psClearPointJObj ( void  )

◆ psDeletePntJObjwithParticle()

void psDeletePntJObjwithParticle ( HSD_Particle pp)

◆ psKillFamily()

void psKillFamily ( u16  idnum,
int  linkNo 
)

◆ psKillGeneratorChild()

void psKillGeneratorChild ( HSD_Generator gp)

◆ psAddOffsetAll()

void psAddOffsetAll ( float  xofs,
float  yofs,
float  zofs 
)

◆ psPauseFamily()

void psPauseFamily ( u16  idnum,
int  linkNo 
)

◆ psRestartFamily()

void psRestartFamily ( u16  idnum,
int  linkNo 
)

◆ psSetCallback()

void psSetCallback ( int(**)(HSD_Particle *part)  callback)

◆ psSetUserFunc()

void psSetUserFunc ( HSD_Generator gp,
HSD_PSUserFunc userfunc 
)

◆ psRemoveBillboardCamera()

static void psRemoveBillboardCamera ( void  )
inlinestatic

Variable Documentation

◆ ptclref

u32* ptclref[64]
extern

◆ psNumTexGroup

int psNumTexGroup[64]
extern

◆ psTexGroupArray

HSD_PSTexGroup** psTexGroupArray[64]
extern

◆ psFormGroupArray

HSD_PSFormGroup** psFormGroupArray[64]
extern

◆ psNumCmdList

int psNumCmdList[64]
extern

◆ psCmdListArray

HSD_PSCmdList** psCmdListArray[64]
extern

◆ numActiveParticles

u16 numActiveParticles
extern

◆ numPeakParticles

u16 numPeakParticles
extern

◆ psCallback

int(** psCallback) (HSD_Particle *part) ( HSD_Particle part)
extern

◆ texc

int texc[4][4]
extern

◆ td

int td
extern