Lines Matching refs:prt
118 static void ParticleEmit ( Particle *prt, Emitter *em );
674 static void TextureParticleEmit(Particle *prt, Emitter *em, s16 nOrder) in TextureParticleEmit() argument
682 prt->nLifespan = 200; in TextureParticleEmit()
693 prt->vVel.x = vDest.x * rRT; in TextureParticleEmit()
694 prt->vVel.y = (vDest.y * rRT) - (GRAVITY * 0.5F * (nT - 1)); in TextureParticleEmit()
695 prt->vVel.z = vDest.z * rRT; in TextureParticleEmit()
697 prt->vPos.x = 0.0F; in TextureParticleEmit()
698 prt->vPos.y = 0.0F; in TextureParticleEmit()
699 prt->vPos.z = 0.0F; in TextureParticleEmit()
701 prt->tex_s = (nX * 0.015625F) + 0.5F; in TextureParticleEmit()
702 prt->tex_t = (nY * -0.015625F) + 0.5F; in TextureParticleEmit()
704 prt->nType = em->nType; in TextureParticleEmit()
708 prt->nSize = (s32)((float)em->rSizeMean + in TextureParticleEmit()
724 static void ParticleEmit(Particle *prt, Emitter *em) in ParticleEmit() argument
729 prt->nLifespan = (s32)((float)em->rLifespanMean + in ParticleEmit()
734 prt->vVel.x = (float)(2 * rndf())-1; in ParticleEmit()
735 prt->vVel.z = (float)(2 * rndf())-1; in ParticleEmit()
736 rW = (prt->vVel.x * prt->vVel.x) + in ParticleEmit()
737 (prt->vVel.z * prt->vVel.z); in ParticleEmit()
741 prt->vVel.x *= 0.5; in ParticleEmit()
742 prt->vVel.z *= 0.5; in ParticleEmit()
745 prt->vVel.y = (float) sqrt( 1.0F - rW ); in ParticleEmit()
747 VECScale(&prt->vVel, &prt->vVel, PARTICLE_SPEED); in ParticleEmit()
748 MTXMultVec(em->mModel, &prt->vVel, &prt->vVel); in ParticleEmit()
750 VECScale(&prt->vVel, &prt->vPos, 2.5F); in ParticleEmit()
751 VECAdd(&em->vPos, &prt->vPos, &prt->vPos); in ParticleEmit()
753 prt->nType = em->nType; in ParticleEmit()
757 prt->nSize = (s32)((float)em->rSizeMean + in ParticleEmit()
854 Particle *prt; in ParticleUpdate() local
860 prt = &ParticleData[nPrt]; in ParticleUpdate()
861 prt->nLifespan --; in ParticleUpdate()
863 if (prt->nLifespan < 0) in ParticleUpdate()
867 *pPrev = prt->nNext; in ParticleUpdate()
868 prt->nNext = ParticleData[FREE_LIST].nNext; in ParticleUpdate()
877 VECAdd(&prt->vPos, &prt->vVel, &prt->vPos); in ParticleUpdate()
878 prt->vVel.y += GRAVITY; in ParticleUpdate()
879 pPrev = &prt->nNext; in ParticleUpdate()
929 Particle *prt; in DrawParticles() local
981 for(; nPrt!=FREE_LIST; nPrt=prt->nNext) in DrawParticles()
983 prt = &ParticleData[nPrt]; in DrawParticles()
985 if (prt->nType & TEXTURE_PARTICLE) in DrawParticles()
1002 if (prt->nType & ANIMATE_SIZE) in DrawParticles()
1004 if (prt->nType & INVERSE_ANIMATE) in DrawParticles()
1006 GXSetPointSize((u8)((prt->nSize + 200 - prt->nLifespan)*0.10), emMain.offset); in DrawParticles()
1010 GXSetPointSize((u8)((prt->nSize + prt->nLifespan)*0.10), emMain.offset); in DrawParticles()
1015 GXSetPointSize((u8)(prt->nSize*0.10), emMain.offset); in DrawParticles()
1019 SendTexturePoint( &prt->vPos, 0.0F, 0.0F ); in DrawParticles()
1021 SendTexturePoint( &prt->vPos, prt->tex_s, prt->tex_t ); in DrawParticles()
1030 if (prt->nType & LINE_SEGMENT) in DrawParticles()
1032 if (prt->nType & PARTICLE_HAS_SIZE) in DrawParticles()
1034 if (prt->nType & ANIMATE_SIZE) in DrawParticles()
1036 if (prt->nType & INVERSE_ANIMATE) in DrawParticles()
1038 GXSetLineWidth((u8)((prt->nSize + 200 - prt->nLifespan)*0.05), GX_TO_ZERO); in DrawParticles()
1042 GXSetLineWidth((u8)((prt->nSize + prt->nLifespan)*0.05), GX_TO_ZERO); in DrawParticles()
1047 GXSetLineWidth((u8)(prt->nSize*0.06), GX_TO_ZERO); in DrawParticles()
1052 SendParticleLine(&prt->vPos, &prt->vVel, (u8)(prt->nLifespan>>3)); in DrawParticles()
1057 if (prt->nType & PARTICLE_HAS_SIZE) in DrawParticles()
1059 if (prt->nType & ANIMATE_SIZE) in DrawParticles()
1061 if (prt->nType & INVERSE_ANIMATE) in DrawParticles()
1063 GXSetPointSize((u8)((prt->nSize + 200 - prt->nLifespan)*0.10), GX_TO_ZERO); in DrawParticles()
1067 GXSetPointSize((u8)((prt->nSize + prt->nLifespan)*0.10), GX_TO_ZERO); in DrawParticles()
1072 GXSetPointSize((u8)(prt->nSize*0.12), GX_TO_ZERO); in DrawParticles()
1076 SendParticlePoint(&prt->vPos, (u8)(prt->nLifespan>>3)); in DrawParticles()