diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2021-01-01 11:21:42 +0100 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2021-01-01 11:21:42 +0100 |
commit | 575845772fc3f5385eab56044cf97ef0ce930e17 (patch) | |
tree | 1b51da6e1759bac72bec1392435c453eaee60158 /src/weapons/Explosion.cpp | |
parent | lcs car ctrl 2 (diff) | |
parent | Merge branch 'miami' of github.com:GTAmodding/re3 into miami (diff) | |
download | re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar.gz re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar.bz2 re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar.lz re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar.xz re3-575845772fc3f5385eab56044cf97ef0ce930e17.tar.zst re3-575845772fc3f5385eab56044cf97ef0ce930e17.zip |
Diffstat (limited to 'src/weapons/Explosion.cpp')
-rw-r--r-- | src/weapons/Explosion.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/weapons/Explosion.cpp b/src/weapons/Explosion.cpp index 515dff94..74137dc0 100644 --- a/src/weapons/Explosion.cpp +++ b/src/weapons/Explosion.cpp @@ -121,7 +121,12 @@ CExplosion::AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionT #endif int n = 0; +#ifdef FIX_BUGS + while (n < ARRAY_SIZE(gaExplosion) && gaExplosion[n].m_nIteration != 0) +#else + // array overrun is UB while (gaExplosion[n].m_nIteration != 0 && n < ARRAY_SIZE(gaExplosion)) +#endif n++; if (n == ARRAY_SIZE(gaExplosion)) return false; @@ -220,7 +225,7 @@ CExplosion::AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionT } else if (veh->IsComponentPresent(CAR_BOOT)) { veh->GetComponentWorldPosition(CAR_BOOT, componentPos); } - if (componentPos != nil) { + if (componentPos.x != 0.0f) { int rn = (CGeneral::GetRandomNumber() & 1) + 1; for (int i = 0; i < rn; i++) CParticle::AddJetExplosion(componentPos, (CGeneral::GetRandomNumber() & 7) / 7.0f + 1.5f, 0.5f); |