mirror of
https://github.com/halpz/re3.git
synced 2025-07-03 01:40:48 +00:00
Merge branch 'miami' into lcs
# Conflicts: # src/control/CarCtrl.cpp # src/control/Script4.cpp # src/core/Frontend.cpp
This commit is contained in:
@ -644,6 +644,9 @@ CCopPed::ProcessControl(void)
|
||||
int numCopsNear = 0;
|
||||
for (int i = 0; i < player->m_numNearPeds; ++i) {
|
||||
CPed *nearPed = player->m_nearPeds[i];
|
||||
#ifdef FIX_BUGS
|
||||
if (nearPed)
|
||||
#endif
|
||||
if (nearPed->m_nPedType == PEDTYPE_COP && nearPed->m_nPedState != PED_DEAD)
|
||||
++numCopsNear;
|
||||
}
|
||||
|
@ -1309,7 +1309,7 @@ CPed::StartFightDefend(uint8 direction, uint8 hitLevel, uint8 unk)
|
||||
if (IsPlayer())
|
||||
moveAssoc->speed = 1.2f;
|
||||
|
||||
m_takeAStepAfterAttack = 0;
|
||||
m_takeAStepAfterAttack = false;
|
||||
m_fightButtonPressure = 0;
|
||||
|
||||
} else if (IsPlayer() && GetWeapon()->m_eWeaponType != WEAPONTYPE_UNARMED && GetWeapon()->m_eWeaponType != WEAPONTYPE_BRASSKNUCKLE &&
|
||||
@ -3929,7 +3929,7 @@ CPed::DriveVehicle(void)
|
||||
targetLRLean = 0.0f;
|
||||
timeBlend = Pow(0.86f, CTimer::GetTimeStep());
|
||||
} else {
|
||||
targetLRLean = clamp(bike->m_fLeanLRAngle / bike->pBikeHandling->fFullAnimLean, -1.0f, 1.0f);
|
||||
targetLRLean = Clamp(bike->m_fLeanLRAngle / bike->pBikeHandling->fFullAnimLean, -1.0f, 1.0f);
|
||||
timeBlend = Pow(0.86f, CTimer::GetTimeStep());
|
||||
}
|
||||
|
||||
@ -4116,7 +4116,7 @@ CPed::DriveVehicle(void)
|
||||
lDriveAssoc->blendAmount = 0.0f;
|
||||
|
||||
if (rDriveAssoc)
|
||||
rDriveAssoc->blendAmount = clamp(steerAngle * -100.0f / 61.0f, 0.0f, 1.0f);
|
||||
rDriveAssoc->blendAmount = Clamp(steerAngle * -100.0f / 61.0f, 0.0f, 1.0f);
|
||||
else if (m_pMyVehicle->IsBoat() && !(m_pMyVehicle->pHandling->Flags & HANDLING_SIT_IN_BOAT))
|
||||
CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_BOAT_DRIVE_RIGHT);
|
||||
else if (m_pMyVehicle->bLowVehicle)
|
||||
@ -4129,7 +4129,7 @@ CPed::DriveVehicle(void)
|
||||
rDriveAssoc->blendAmount = 0.0f;
|
||||
|
||||
if (lDriveAssoc)
|
||||
lDriveAssoc->blendAmount = clamp(steerAngle * 100.0f / 61.0f, 0.0f, 1.0f);
|
||||
lDriveAssoc->blendAmount = Clamp(steerAngle * 100.0f / 61.0f, 0.0f, 1.0f);
|
||||
else if (m_pMyVehicle->IsBoat() && !(m_pMyVehicle->pHandling->Flags & HANDLING_SIT_IN_BOAT))
|
||||
CAnimManager::AddAnimation(GetClump(), ASSOCGRP_STD, ANIM_STD_BOAT_DRIVE_LEFT);
|
||||
else if (m_pMyVehicle->bLowVehicle)
|
||||
|
@ -79,7 +79,7 @@ CPedIK::MoveLimb(LimbOrientation &limb, float targetYaw, float targetPitch, Limb
|
||||
}
|
||||
|
||||
if (limb.yaw > moveInfo.maxYaw || limb.yaw < moveInfo.minYaw) {
|
||||
limb.yaw = clamp(limb.yaw, moveInfo.minYaw, moveInfo.maxYaw);
|
||||
limb.yaw = Clamp(limb.yaw, moveInfo.minYaw, moveInfo.maxYaw);
|
||||
result = ANGLES_SET_TO_MAX;
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ CPedIK::MoveLimb(LimbOrientation &limb, float targetYaw, float targetPitch, Limb
|
||||
}
|
||||
|
||||
if (limb.pitch > moveInfo.maxPitch || limb.pitch < moveInfo.minPitch) {
|
||||
limb.pitch = clamp(limb.pitch, moveInfo.minPitch, moveInfo.maxPitch);
|
||||
limb.pitch = Clamp(limb.pitch, moveInfo.minPitch, moveInfo.maxPitch);
|
||||
result = ANGLES_SET_TO_MAX;
|
||||
}
|
||||
return result;
|
||||
@ -122,14 +122,14 @@ CPedIK::LookInDirection(float targetYaw, float targetPitch)
|
||||
m_headOrient.yaw = Atan2(-m->at.y, -m->at.x);
|
||||
m_headOrient.yaw -= m_ped->m_fRotationCur;
|
||||
m_headOrient.yaw = CGeneral::LimitRadianAngle(m_headOrient.yaw);
|
||||
float up = clamp(m->up.z, -1.0f, 1.0f);
|
||||
float up = Clamp(m->up.z, -1.0f, 1.0f);
|
||||
m_headOrient.pitch = Atan2(-up, Sqrt(1.0f - SQR(-up)));
|
||||
}
|
||||
|
||||
// parent of head is neck
|
||||
RwMatrix *m = GetComponentMatrix(m_ped, PED_NECK);
|
||||
yaw = CGeneral::LimitRadianAngle(Atan2(-m->at.y, -m->at.x));
|
||||
float up = clamp(m->up.z, -1.0f, 1.0f);
|
||||
float up = Clamp(m->up.z, -1.0f, 1.0f);
|
||||
pitch = Atan2(-up, Sqrt(1.0f - SQR(-up)));
|
||||
float headYaw = CGeneral::LimitRadianAngle(targetYaw - (yaw + m_torsoOrient.yaw));
|
||||
float headPitch = CGeneral::LimitRadianAngle(targetPitch - pitch) * Cos(Min(Abs(headYaw), HALFPI));
|
||||
@ -336,11 +336,11 @@ CPedIK::RestoreLookAt(void)
|
||||
void
|
||||
CPedIK::ExtractYawAndPitchWorld(RwMatrix *mat, float *yaw, float *pitch)
|
||||
{
|
||||
float f = clamp(DotProduct(mat->up, CVector(0.0f, 1.0f, 0.0f)), -1.0f, 1.0f);
|
||||
float f = Clamp(DotProduct(mat->up, CVector(0.0f, 1.0f, 0.0f)), -1.0f, 1.0f);
|
||||
*yaw = Acos(f);
|
||||
if (mat->up.x > 0.0f) *yaw = -*yaw;
|
||||
|
||||
f = clamp(DotProduct(mat->right, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
|
||||
f = Clamp(DotProduct(mat->right, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
|
||||
*pitch = Acos(f);
|
||||
if (mat->up.z > 0.0f) *pitch = -*pitch;
|
||||
}
|
||||
@ -348,11 +348,11 @@ CPedIK::ExtractYawAndPitchWorld(RwMatrix *mat, float *yaw, float *pitch)
|
||||
void
|
||||
CPedIK::ExtractYawAndPitchLocal(RwMatrix *mat, float *yaw, float *pitch)
|
||||
{
|
||||
float f = clamp(DotProduct(mat->at, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
|
||||
float f = Clamp(DotProduct(mat->at, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
|
||||
*yaw = Acos(f);
|
||||
if (mat->at.y > 0.0f) *yaw = -*yaw;
|
||||
|
||||
f = clamp(DotProduct(mat->right, CVector(1.0f, 0.0f, 0.0f)), -1.0f, 1.0f);
|
||||
f = Clamp(DotProduct(mat->right, CVector(1.0f, 0.0f, 0.0f)), -1.0f, 1.0f);
|
||||
*pitch = Acos(f);
|
||||
if (mat->up.x > 0.0f) *pitch = -*pitch;
|
||||
}
|
||||
|
@ -837,8 +837,8 @@ CPlayerPed::PlayerControlFighter(CPad *padUsed)
|
||||
|
||||
if (padMove > 0.0f) {
|
||||
m_fRotationDest = CGeneral::GetRadianAngleBetweenPoints(0.0f, 0.0f, -leftRight, upDown) - TheCamera.Orientation;
|
||||
m_takeAStepAfterAttack = padMove > 2 * PAD_MOVE_TO_GAME_WORLD_MOVE;
|
||||
if (padUsed->GetSprint() && padMove > 1 * PAD_MOVE_TO_GAME_WORLD_MOVE)
|
||||
m_takeAStepAfterAttack = padMove > (2 * PAD_MOVE_TO_GAME_WORLD_MOVE);
|
||||
if (padUsed->GetSprint() && padMove > (1 * PAD_MOVE_TO_GAME_WORLD_MOVE))
|
||||
bIsAttacking = false;
|
||||
}
|
||||
|
||||
@ -2081,13 +2081,13 @@ CPlayerPed::UpdateMeleeAttackers(void)
|
||||
void
|
||||
CPlayerPed::RemovePedFromMeleeList(CPed *ped)
|
||||
{
|
||||
int i = 0;
|
||||
for (; m_pMeleeList[i] != ped; i++) {
|
||||
if (i >= ARRAY_SIZE(m_pMeleeList))
|
||||
for (uint16 i = 0; i < ARRAY_SIZE(m_pMeleeList); i++) {
|
||||
if (m_pMeleeList[i] == ped) {
|
||||
m_pMeleeList[i] = nil;
|
||||
ped->m_attackTimer = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
m_pMeleeList[i] = nil;
|
||||
ped->m_attackTimer = 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -413,7 +413,7 @@ CPopulation::PedCreationDistMultiplier()
|
||||
return 1.0f;
|
||||
|
||||
float vehSpeed = veh->m_vecMoveSpeed.Magnitude2D();
|
||||
return clamp(vehSpeed - 0.1f + 1.0f, 1.0f, 1.5f);
|
||||
return Clamp(vehSpeed - 0.1f + 1.0f, 1.0f, 1.5f);
|
||||
}
|
||||
|
||||
CPed*
|
||||
|
Reference in New Issue
Block a user