Merge pull request #976 from Fire-Head/lcs

Lcs pobj
This commit is contained in:
aap 2021-01-22 01:12:03 +01:00 committed by GitHub
commit c8236d0dd2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 12 deletions

View File

@ -2161,8 +2161,8 @@ CWorld::TriggerExplosionSectorList(CPtrList &list, const CVector &position, floa
} else { } else {
CVector pos = pEntity->GetPosition(); CVector pos = pEntity->GetPosition();
pos.z -= 0.5f; pos.z -= 0.5f;
CParticleObject::AddObject(POBJECT_FIRE_HYDRANT, CParticleObject::AddObject(POBJECT_FIRE_HYDRANT, pos, true);
pos, true); CParticleObject::AddObject(POBJECT_FIRE_HYDRANT_STEAM, pos, true);
pObject->bHasBeenDamaged = true; pObject->bHasBeenDamaged = true;
} }
} }

View File

@ -715,6 +715,7 @@ CPhysical::ApplyCollision(CPhysical *B, CColPoint &colpoint, float &impulseA, fl
int16 model = B->GetModelIndex(); int16 model = B->GetModelIndex();
if(model == MI_FIRE_HYDRANT && !Bobj->bHasBeenDamaged){ if(model == MI_FIRE_HYDRANT && !Bobj->bHasBeenDamaged){
CParticleObject::AddObject(POBJECT_FIRE_HYDRANT, B->GetPosition() - CVector(0.0f, 0.0f, 0.5f), true); CParticleObject::AddObject(POBJECT_FIRE_HYDRANT, B->GetPosition() - CVector(0.0f, 0.0f, 0.5f), true);
CParticleObject::AddObject(POBJECT_FIRE_HYDRANT_STEAM, B->GetPosition() - CVector(0.0f, 0.0f, 0.5f), true);
Bobj->bHasBeenDamaged = true; Bobj->bHasBeenDamaged = true;
}else if(model == MI_PARKINGMETER || model == MI_PARKINGMETER2){ }else if(model == MI_PARKINGMETER || model == MI_PARKINGMETER2){
CPickups::CreateSomeMoney(GetPosition(), CGeneral::GetRandomNumber()%100); CPickups::CreateSomeMoney(GetPosition(), CGeneral::GetRandomNumber()%100);

View File

@ -242,6 +242,16 @@ CParticleObject::AddObject(uint16 type, CVector const &pos, CVector const &targe
break; break;
} }
case POBJECT_FIRE_HYDRANT_STEAM:
{
pobj->m_ParticleType = PARTICLE_HYDRANT_STEAM;
pobj->m_nNumEffectCycles = 2;
pobj->m_nSkipFrames = 2;
pobj->m_nCreationChance = 8;
pobj->m_nRemoveTimer = CTimer::GetTimeInMilliseconds() + 5000;
break;
}
case POBJECT_CAR_WATER_SPLASH: case POBJECT_CAR_WATER_SPLASH:
case POBJECT_PED_WATER_SPLASH: case POBJECT_PED_WATER_SPLASH:
{ {
@ -921,6 +931,7 @@ void CParticleObject::UpdateClose(void)
CParticle::AddParticle(PARTICLE_CAR_SPLASH, splashpos, splashvel, nil, CParticle::AddParticle(PARTICLE_CAR_SPLASH, splashpos, splashvel, nil,
CGeneral::GetRandomNumberInRange(0.005f, 0.0075f), this->m_Color, 0, 0, 1, 300); CGeneral::GetRandomNumberInRange(0.005f, 0.0075f), this->m_Color, 0, 0, 1, 300);
} }
for ( int32 i = 0; i < this->m_nNumEffectCycles; i++ ) for ( int32 i = 0; i < this->m_nNumEffectCycles; i++ )
{ {
CParticle::AddParticle(this->m_ParticleType, pos, vel, nil, 0.0f, this->m_Color); CParticle::AddParticle(this->m_ParticleType, pos, vel, nil, 0.0f, this->m_Color);

View File

@ -15,6 +15,7 @@ enum eParticleObjectType
POBJECT_WALL_STEAM_SLOWMOTION, POBJECT_WALL_STEAM_SLOWMOTION,
POBJECT_DARK_SMOKE, POBJECT_DARK_SMOKE,
POBJECT_FIRE_HYDRANT, POBJECT_FIRE_HYDRANT,
POBJECT_FIRE_HYDRANT_STEAM,
POBJECT_CAR_WATER_SPLASH, POBJECT_CAR_WATER_SPLASH,
POBJECT_PED_WATER_SPLASH, POBJECT_PED_WATER_SPLASH,
POBJECT_SPLASHES_AROUND, POBJECT_SPLASHES_AROUND,
@ -49,7 +50,7 @@ public:
CParticleObject *m_pNext; CParticleObject *m_pNext;
CParticleObject *m_pPrev; CParticleObject *m_pPrev;
CParticle *m_pParticle; CParticle *m_pParticle;
uint32 m_nRemoveTimer; uint32 m_nRemoveTimer;
eParticleObjectType m_Type; eParticleObjectType m_Type;
tParticleType m_ParticleType; tParticleType m_ParticleType;
uint8 m_nNumEffectCycles; uint8 m_nNumEffectCycles;
@ -109,4 +110,4 @@ public:
static void Remove(CParticleObject *particleobject); static void Remove(CParticleObject *particleobject);
static CAudioHydrant *Get(int n); // for neo screen droplets static CAudioHydrant *Get(int n); // for neo screen droplets
}; };

View File

@ -2283,7 +2283,7 @@ void CParticle::HandleShootableBirdsStuff(CEntity *entity, CVector const&camPos)
} }
void void
CEntity::AddSteamsFromGround(CVector *unused) //todo CEntity::AddSteamsFromGround(CVector *unused)
{ {
int i, n; int i, n;
C2dEffect *effect; C2dEffect *effect;

View File

@ -30,13 +30,6 @@ public:
uint8 m_nCurrentFrame; uint8 m_nCurrentFrame;
RwRGBA m_Color; RwRGBA m_Color;
CParticle *m_pNext; CParticle *m_pNext;
//CVector m_vecParticleMovementOffset;
//int16 m_nCurrentZRotation;
//uint16 m_nZRotationTimer;
//float m_fCurrentZRadius;
//uint16 m_nZRadiusTimer;
int32 field_4C; int32 field_4C;
CParticle() CParticle()