SSBM Decomp
Loading...
Searching...
No Matches
psstructs.h File Reference
#include <platform.h>
#include "baselib/forward.h"
#include <dolphin/gx/forward.h>
#include "baselib/archive.h"
#include "baselib/jobj.h"
#include <dolphin/gx/GXEnum.h>
#include <dolphin/gx/types.h>
#include <dolphin/mtx/types.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

u32ptclref [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