mirror of
https://gitlab.com/GaryOderNichts/re3-wiiu.git
synced 2024-11-23 17:49:16 +01:00
Peds & fixes continues
This commit is contained in:
parent
686d6e9834
commit
c4e129509b
@ -233,6 +233,7 @@ enum AnimationId
|
|||||||
ANIM_MELEE_ATTACK = ANIM_WEAPON_FIRE,
|
ANIM_MELEE_ATTACK = ANIM_WEAPON_FIRE,
|
||||||
ANIM_MELEE_ATTACK_2ND,
|
ANIM_MELEE_ATTACK_2ND,
|
||||||
ANIM_MELEE_ATTACK_START,
|
ANIM_MELEE_ATTACK_START,
|
||||||
|
ANIM_MELEE_IDLE_FIGHTMODE,
|
||||||
ANIM_THROWABLE_THROW = ANIM_WEAPON_FIRE,
|
ANIM_THROWABLE_THROW = ANIM_WEAPON_FIRE,
|
||||||
ANIM_THROWABLE_THROWU,
|
ANIM_THROWABLE_THROWU,
|
||||||
ANIM_THROWABLE_START_THROW,
|
ANIM_THROWABLE_START_THROW,
|
||||||
|
723
src/peds/Ped.cpp
723
src/peds/Ped.cpp
File diff suppressed because it is too large
Load Diff
@ -594,6 +594,7 @@ public:
|
|||||||
CEntity *m_pPointGunAt;
|
CEntity *m_pPointGunAt;
|
||||||
CVector m_vecHitLastPos;
|
CVector m_vecHitLastPos;
|
||||||
uint32 m_lastFightMove;
|
uint32 m_lastFightMove;
|
||||||
|
uint32 m_lastHitState; // TODO(Miami): What's this?
|
||||||
uint8 m_fightButtonPressure;
|
uint8 m_fightButtonPressure;
|
||||||
FightState m_fightState;
|
FightState m_fightState;
|
||||||
bool m_takeAStepAfterAttack;
|
bool m_takeAStepAfterAttack;
|
||||||
@ -756,7 +757,8 @@ public:
|
|||||||
void SetAttack(CEntity*);
|
void SetAttack(CEntity*);
|
||||||
void StartFightAttack(uint8);
|
void StartFightAttack(uint8);
|
||||||
void SetWaitState(eWaitState, void*);
|
void SetWaitState(eWaitState, void*);
|
||||||
bool FightStrike(CVector&);
|
bool FightStrike(CVector&, bool);
|
||||||
|
void FightHitPed(CPed*, CVector&, CVector&, int16);
|
||||||
int GetLocalDirection(const CVector2D &);
|
int GetLocalDirection(const CVector2D &);
|
||||||
void StartFightDefend(uint8, uint8, uint8);
|
void StartFightDefend(uint8, uint8, uint8);
|
||||||
void PlayHitSound(CPed*);
|
void PlayHitSound(CPed*);
|
||||||
@ -1020,6 +1022,13 @@ public:
|
|||||||
else
|
else
|
||||||
return (AnimationId)0;
|
return (AnimationId)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static AnimationId GetFightIdleWithMeleeAnim(CWeaponInfo* weapon) {
|
||||||
|
if (!!weapon->m_bFightMode)
|
||||||
|
return ANIM_MELEE_IDLE_FIGHTMODE;
|
||||||
|
else
|
||||||
|
return (AnimationId)0;
|
||||||
|
}
|
||||||
// --
|
// --
|
||||||
|
|
||||||
// My additions, because there were many, many instances of that.
|
// My additions, because there were many, many instances of that.
|
||||||
|
@ -81,7 +81,7 @@ CPlayerPed::CPlayerPed(void) : CPed(PEDTYPE_PLAYER1)
|
|||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
m_vecSafePos[i] = CVector(0.0f, 0.0f, 0.0f);
|
m_vecSafePos[i] = CVector(0.0f, 0.0f, 0.0f);
|
||||||
m_pPedAtSafePos[i] = nil;
|
m_pPedAtSafePos[i] = nil;
|
||||||
m_pCheckPlayers[i] = nil;
|
m_pMeleeList[i] = nil;
|
||||||
}
|
}
|
||||||
m_nCheckPlayersIndex = 0;
|
m_nCheckPlayersIndex = 0;
|
||||||
m_nPadUpPressedInMilliseconds = 0;
|
m_nPadUpPressedInMilliseconds = 0;
|
||||||
@ -1711,6 +1711,18 @@ CPlayerPed::PlayIdleAnimations(CPad *padUsed)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CPlayerPed::RemovePedFromMeleeList(CPed *ped)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
for (; m_pMeleeList[i] != ped; i++) {
|
||||||
|
if (i >= ARRAY_SIZE(m_pMeleeList))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_pMeleeList[i] = nil;
|
||||||
|
ped->m_attackTimer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef COMPATIBLE_SAVES
|
#ifdef COMPATIBLE_SAVES
|
||||||
#define CopyFromBuf(buf, data) memcpy(&data, buf, sizeof(data)); SkipSaveBuf(buf, sizeof(data));
|
#define CopyFromBuf(buf, data) memcpy(&data, buf, sizeof(data)); SkipSaveBuf(buf, sizeof(data));
|
||||||
#define CopyToBuf(buf, data) memcpy(buf, &data, sizeof(data)); SkipSaveBuf(buf, sizeof(data));
|
#define CopyToBuf(buf, data) memcpy(buf, &data, sizeof(data)); SkipSaveBuf(buf, sizeof(data));
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
bool m_bDrunkVisualsWearOff; // TODO(Miami): That may be something else
|
bool m_bDrunkVisualsWearOff; // TODO(Miami): That may be something else
|
||||||
CVector m_vecSafePos[6]; // safe places from the player, for example behind a tree
|
CVector m_vecSafePos[6]; // safe places from the player, for example behind a tree
|
||||||
CPed *m_pPedAtSafePos[6];
|
CPed *m_pPedAtSafePos[6];
|
||||||
CPlayerPed* m_pCheckPlayers[6]; //checks something with players, could be a leftover from original multiplayer
|
CPlayerPed* m_pMeleeList[6];
|
||||||
char unused1;
|
char unused1;
|
||||||
int16 m_nCheckPlayersIndex;
|
int16 m_nCheckPlayersIndex;
|
||||||
float m_fWalkAngle; //angle between heading and walking direction
|
float m_fWalkAngle; //angle between heading and walking direction
|
||||||
@ -84,6 +84,7 @@ public:
|
|||||||
void PlayerControlZelda(CPad*);
|
void PlayerControlZelda(CPad*);
|
||||||
bool DoesPlayerWantNewWeapon(eWeaponType, bool);
|
bool DoesPlayerWantNewWeapon(eWeaponType, bool);
|
||||||
void PlayIdleAnimations(CPad*);
|
void PlayIdleAnimations(CPad*);
|
||||||
|
void RemovePedFromMeleeList(CPed*);
|
||||||
|
|
||||||
static void SetupPlayerPed(int32);
|
static void SetupPlayerPed(int32);
|
||||||
static void DeactivatePlayerPed(int32);
|
static void DeactivatePlayerPed(int32);
|
||||||
|
@ -411,13 +411,13 @@ CBike::ProcessControl(void)
|
|||||||
fDx = fDAxisXExtra;
|
fDx = fDAxisXExtra;
|
||||||
if(!(m_aWheelTimer[BIKESUSP_R1] == 0.0f && m_aWheelTimer[BIKESUSP_R2] == 0.0f) &&
|
if(!(m_aWheelTimer[BIKESUSP_R1] == 0.0f && m_aWheelTimer[BIKESUSP_R2] == 0.0f) &&
|
||||||
GetForward().z > 0.0f)
|
GetForward().z > 0.0f)
|
||||||
res.x -= Max(0.25f*Abs(pBikeHandling->fWheelieAng-GetForward().z), 0.07f);
|
res.x -= Min(0.25f*Abs(pBikeHandling->fWheelieAng-GetForward().z), 0.07f);
|
||||||
else
|
else
|
||||||
res.x = fInAirXRes;
|
res.x = fInAirXRes;
|
||||||
}else if(m_aWheelTimer[BIKESUSP_R1] == 0.0f && m_aWheelTimer[BIKESUSP_R2] == 0.0f){
|
}else if(m_aWheelTimer[BIKESUSP_R1] == 0.0f && m_aWheelTimer[BIKESUSP_R2] == 0.0f){
|
||||||
fDx = fDAxisXExtra;
|
fDx = fDAxisXExtra;
|
||||||
if(GetForward().z < 0.0f)
|
if(GetForward().z < 0.0f)
|
||||||
res.x *= Max(0.3f*Abs(pBikeHandling->fStoppieAng-GetForward().z), 0.1f) + 0.9f;
|
res.x *= Min(0.3f*Abs(pBikeHandling->fStoppieAng-GetForward().z), 0.1f) + 0.9f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1014,7 +1014,7 @@ CBike::ProcessControl(void)
|
|||||||
m_vecAvgSurfaceRight.Normalise();
|
m_vecAvgSurfaceRight.Normalise();
|
||||||
float lean;
|
float lean;
|
||||||
if(m_nWheelsOnGround == 0)
|
if(m_nWheelsOnGround == 0)
|
||||||
lean = -m_fSteerAngle/DEGTORAD(pHandling->fSteeringLock)*0.5f*GRAVITY*CTimer::GetTimeStep();
|
lean = -(m_fSteerAngle/DEGTORAD(pHandling->fSteeringLock))*0.5f*GRAVITY*CTimer::GetTimeStep();
|
||||||
else
|
else
|
||||||
lean = DotProduct(m_vecMoveSpeed-initialMoveSpeed, m_vecAvgSurfaceRight);
|
lean = DotProduct(m_vecMoveSpeed-initialMoveSpeed, m_vecAvgSurfaceRight);
|
||||||
lean /= GRAVITY*Max(CTimer::GetTimeStep(), 0.01f);
|
lean /= GRAVITY*Max(CTimer::GetTimeStep(), 0.01f);
|
||||||
|
@ -603,18 +603,12 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||||||
newDir.z = 0.01f;
|
newDir.z = 0.01f;
|
||||||
CParticle::AddParticle(PARTICLE_DEBRIS2, bloodPos, newDir);
|
CParticle::AddParticle(PARTICLE_DEBRIS2, bloodPos, newDir);
|
||||||
|
|
||||||
// TODO(Miami): New particle
|
CVector dropDir(CGeneral::GetRandomNumberInRange(-0.15f, 0.15f), CGeneral::GetRandomNumberInRange(0.1f, 0.35f), 0.f);
|
||||||
/*
|
CVector dropPos(CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_X(50.0f), SCREEN_STRETCH_FROM_RIGHT(50.0f)),
|
||||||
v116.z = 0.0;
|
CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_Y(50.0f), SCREEN_STRETCH_FROM_BOTTOM(50.0f)), 1.f);
|
||||||
v116.x = CGeneral::GetRandomNumberInRange(-0.15f, 0.15f);
|
CParticle::AddParticle(PARTICLE_BLOODDROP, dropPos, dropDir, nil, CGeneral::GetRandomNumberInRange(0.1f, 0.15f),
|
||||||
v116.y = CGeneral::GetRandomNumberInRange(0.1f, 0.35f);
|
|
||||||
v115.x = CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_X(50.0f), SCREEN_STRETCH_FROM_RIGHT(50.0f));
|
|
||||||
v115.z = 1.0;
|
|
||||||
v115.y = CGeneral::GetRandomNumberInRange(SCREEN_STRETCH_Y(50.0f), SCREEN_STRETCH_FROM_BOTTOM(50.0f));
|
|
||||||
CParticle::AddParticle(41, v115, v116, nil, CGeneral::GetRandomNumberInRange(0.1f, 0.15f),
|
|
||||||
CRGBA(0, 0, 0, 0), 0, 0, CGeneral::GetRandomNumber() & 1, 0);
|
CRGBA(0, 0, 0, 0), 0, 0, CGeneral::GetRandomNumber() & 1, 0);
|
||||||
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
if (info->m_AnimToPlay == ASSOCGRP_KNIFE)
|
if (info->m_AnimToPlay == ASSOCGRP_KNIFE)
|
||||||
{
|
{
|
||||||
@ -705,8 +699,7 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||||||
{
|
{
|
||||||
nearCar->VehicleDamage(info->m_nDamage * (0.00075f * nearCar->pHandling->fMass), gaTempSphereColPoints[0].pieceB);
|
nearCar->VehicleDamage(info->m_nDamage * (0.00075f * nearCar->pHandling->fMass), gaTempSphereColPoints[0].pieceB);
|
||||||
|
|
||||||
// TODO(Miami): Particle not in III
|
CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||||
// CParticle::AddParticle(81, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -783,8 +776,7 @@ CWeapon::FireMelee(CEntity *shooter, CVector &fireSource)
|
|||||||
CParticle::AddParticle(PARTICLE_SPARK, gaTempSphereColPoints[0].point, 0.1f * gaTempSphereColPoints[0].normal, 0, 0.0f, 0, 0, 0, 0);
|
CParticle::AddParticle(PARTICLE_SPARK, gaTempSphereColPoints[0].point, 0.1f * gaTempSphereColPoints[0].normal, 0, 0.0f, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(Miami): Particle not in III
|
CParticle::AddParticle(PARTICLE_HEATHAZE, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
||||||
//CParticle::AddParticle(81, gaTempSphereColPoints[0].point, CVector(0.0f, 0.0f, 0.0f), 0, 0.0f, 0, 0, 0, 0);
|
|
||||||
|
|
||||||
if (!damageEntityRegistered)
|
if (!damageEntityRegistered)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user