mirror of
https://github.com/halpz/re3.git
synced 2025-06-30 00:16:22 +00:00
eSurfaceType
This commit is contained in:
@ -2413,7 +2413,7 @@ particleProduceFootDust(CPed *ped, CVector const &pos, float size, int times)
|
||||
switch (ped->m_nSurfaceTouched)
|
||||
{
|
||||
case SURFACE_TARMAC:
|
||||
case SURFACE_DIRT:
|
||||
case SURFACE_GRAVEL:
|
||||
case SURFACE_PAVEMENT:
|
||||
case SURFACE_SAND:
|
||||
for (int i = 0; i < times; ++i) {
|
||||
@ -2566,7 +2566,7 @@ CPed::PlayFootSteps(void)
|
||||
}
|
||||
}
|
||||
|
||||
if (m_nSurfaceTouched == SURFACE_PUDDLE) {
|
||||
if (m_nSurfaceTouched == SURFACE_WATER) {
|
||||
float pedSpeed = CVector2D(m_vecMoveSpeed).Magnitude();
|
||||
if (pedSpeed > 0.03f && CTimer::GetFrameCounter() % 2 == 0 && pedSpeed > 0.13f) {
|
||||
#ifdef PC_PARTICLE
|
||||
@ -2965,7 +2965,7 @@ CPed::CanPedDriveOff(void)
|
||||
bool
|
||||
CPed::CanPedJumpThis(CEntity *unused, CVector *damageNormal = nil)
|
||||
{
|
||||
if (m_nSurfaceTouched == SURFACE_PUDDLE)
|
||||
if (m_nSurfaceTouched == SURFACE_WATER)
|
||||
return true;
|
||||
|
||||
CVector pos = GetPosition();
|
||||
@ -5306,8 +5306,8 @@ CPed::SetAttack(CEntity *victim)
|
||||
aimPos += GetUp() * 0.35f;
|
||||
CEntity *obstacle = CWorld::TestSphereAgainstWorld(aimPos, 0.2f, nil, true, false, false, true, false, false);
|
||||
if (obstacle) {
|
||||
if(gaTempSphereColPoints[0].surfaceB != SURFACE_SCAFFOLD && gaTempSphereColPoints[0].surfaceB != SURFACE_METAL_FENCE &&
|
||||
gaTempSphereColPoints[0].surfaceB != SURFACE_WOOD_BOX && gaTempSphereColPoints[0].surfaceB != SURFACE_METAL_POLE) {
|
||||
if(gaTempSphereColPoints[0].surfaceB != SURFACE_TRANSPARENT_CLOTH && gaTempSphereColPoints[0].surfaceB != SURFACE_METAL_CHAIN_FENCE &&
|
||||
gaTempSphereColPoints[0].surfaceB != SURFACE_WOOD_BENCH && gaTempSphereColPoints[0].surfaceB != SURFACE_SCAFFOLD_POLE) {
|
||||
if (!IsPlayer()) {
|
||||
bObstacleShowedUpDuringKillObjective = true;
|
||||
m_shootTimer = 0;
|
||||
@ -11647,7 +11647,7 @@ CPed::SetJump(void)
|
||||
#ifdef VC_PED_PORTS
|
||||
m_nPedState != PED_JUMP && !RpAnimBlendClumpGetAssociation(GetClump(), ANIM_JUMP_LAUNCH) &&
|
||||
#endif
|
||||
(m_nSurfaceTouched != SURFACE_STONE || DotProduct(GetForward(), m_vecDamageNormal) >= 0.0f)) {
|
||||
(m_nSurfaceTouched != SURFACE_STEEP_CLIFF || DotProduct(GetForward(), m_vecDamageNormal) >= 0.0f)) {
|
||||
SetStoredState();
|
||||
m_nPedState = PED_JUMP;
|
||||
CAnimBlendAssociation *jumpAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ANIM_JUMP_LAUNCH, 8.0f);
|
||||
@ -15473,7 +15473,7 @@ CPed::ProcessEntityCollision(CEntity *collidingEnt, CColPoint *collidingPoints)
|
||||
GetMatrix().GetPosition().z = FEET_OFFSET + intersectionPoint.point.z;
|
||||
#endif
|
||||
m_nSurfaceTouched = intersectionPoint.surfaceB;
|
||||
if (m_nSurfaceTouched == SURFACE_STONE) {
|
||||
if (m_nSurfaceTouched == SURFACE_STEEP_CLIFF) {
|
||||
bHitSteepSlope = true;
|
||||
m_vecDamageNormal = intersectionPoint.normal;
|
||||
}
|
||||
@ -15559,7 +15559,7 @@ CPed::ProcessEntityCollision(CEntity *collidingEnt, CColPoint *collidingPoints)
|
||||
#endif
|
||||
sphereNormal.Normalise();
|
||||
collidingPoints[sphere].normal = sphereNormal;
|
||||
if (collidingPoints[sphere].surfaceB == SURFACE_STONE)
|
||||
if (collidingPoints[sphere].surfaceB == SURFACE_STEEP_CLIFF)
|
||||
bHitSteepSlope = true;
|
||||
}
|
||||
}
|
||||
@ -17430,7 +17430,7 @@ CPed::UpdatePosition(void)
|
||||
velocityChange = m_moved + velocityOfSurface - m_vecMoveSpeed;
|
||||
m_fRotationCur += curSurface->m_vecTurnSpeed.z * CTimer::GetTimeStep();
|
||||
m_fRotationDest += curSurface->m_vecTurnSpeed.z * CTimer::GetTimeStep();
|
||||
} else if (m_nSurfaceTouched != SURFACE_STONE || m_vecDamageNormal.x == 0.0f && m_vecDamageNormal.y == 0.0f) {
|
||||
} else if (m_nSurfaceTouched != SURFACE_STEEP_CLIFF || m_vecDamageNormal.x == 0.0f && m_vecDamageNormal.y == 0.0f) {
|
||||
velocityChange = m_moved - m_vecMoveSpeed;
|
||||
} else {
|
||||
// Ped got damaged by steep slope
|
||||
|
Reference in New Issue
Block a user