SSBM Decomp
Loading...
Searching...
No Matches
psstructs.h File Reference
#include <platform.h>
#include "baselib/forward.h"
#include "baselib/archive.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 (struct _particle *pp)
 
static void setupChanReg (struct _particle *pp)
 
static void getClrTrail (struct _particle *pp, GXColor *col)
 
static void setupTevReg (struct _particle *pp)
 
static void psSetCurrentMtx (GXPosNrmMtx idx)
 
static struct _particlepsDispSubPoint (struct _particle *pp)
 
static struct _particlepsDispSubPointTrail (struct _particle *pp)
 
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)
 
static void psDispSub (struct _particle *pp, u8 *texform)
 
void psInitDataBank (int bank, int *cmdBank, int *texBank, u32 *ref, int *formBank)
 
void psInitParticle (int num)
 
void psRemoveParticle (void)
 
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)
 
HSD_Particle * psGenerateParticleID0 (HSD_Particle *p, int linkNo, int bank, int id, int flgInterpret)
 
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_Particle * psGenerateParticleIDPV (int linkNo, int bank, int id, float px, float py, float pz, float vx, float vy, float vz)
 
HSD_Particle * psGenerateParticleID (int linkNo, int bank, int id)
 
HSD_Particle * psGenerateParticleIDN (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 (struct _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 (struct _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 ( struct _particle pp)
inlinestatic

◆ setupChanReg()

static void setupChanReg ( struct _particle pp)
inlinestatic

◆ getClrTrail()

static void getClrTrail ( struct _particle pp,
GXColor *  col 
)
inlinestatic

◆ setupTevReg()

static void setupTevReg ( struct _particle pp)
inlinestatic

◆ psSetCurrentMtx()

static void psSetCurrentMtx ( GXPosNrmMtx  idx)
inlinestatic

◆ psDispSubPoint()

static struct _particle * psDispSubPoint ( struct _particle pp)
inlinestatic

◆ psDispSubPointTrail()

static struct _particle * psDispSubPointTrail ( struct _particle pp)
inlinestatic

◆ psDispSubMakePolygon()

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

◆ psDispSub()

static void psDispSub ( struct _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,
struct _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,
struct _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 ( struct _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 ( struct _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