00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifdef _PSX
00010 #include <sys\types.h>
00011 #include <libgte.h>
00012 #endif
00013
00014 #ifndef __PARTICLE_H__
00015 #define __PARTICLE_H__
00016
00017 typedef struct ParticleStruct {
00018 REAL Mass, InvMass;
00019 VEC OldPos;
00020 VEC Pos;
00021 VEC Vel;
00022 VEC Acc;
00023 VEC Impulse;
00024
00025
00026 QUATERNION Quat;
00027 QUATERNION OldQuat;
00028
00029 MAT WMatrix;
00030 MAT OldWMatrix;
00031
00032 REAL Hardness;
00033 REAL Resistance;
00034 REAL Grip;
00035 REAL StaticFriction;
00036 REAL KineticFriction;
00037 REAL Gravity;
00038 REAL Boost;
00039
00040 VEC Shift;
00041
00042
00043 VEC LastVel;
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 } PARTICLE;
00054
00055
00056 extern void SetParticleMass(PARTICLE *particle, REAL newMass);
00057 extern void ApplyParticleImpulse(PARTICLE *particle, VEC *impulse);
00058 extern void UpdateParticle(PARTICLE *particle, REAL dt);
00059 extern void ParticleWorldColls(PARTICLE *particle);
00060
00061
00062 #endif