re3/src/peds/PlayerPed.cpp

71 lines
1.5 KiB
C++
Raw Normal View History

2019-06-29 11:38:37 +00:00
#include "common.h"
#include "patcher.h"
#include "PlayerPed.h"
2019-07-04 20:31:21 +00:00
#include "Camera.h"
#include "WeaponEffects.h"
2019-06-29 11:38:37 +00:00
CPlayerPed::~CPlayerPed()
{
delete m_pWanted;
}
2019-06-29 15:07:57 +00:00
WRAPPER void CPlayerPed::ReApplyMoveAnims(void) { EAXJMP(0x4F07C0); }
2019-07-09 20:38:05 +00:00
WRAPPER void CPlayerPed::SetupPlayerPed(int32) { EAXJMP(0x4EFB60); }
WRAPPER void CPlayerPed::DeactivatePlayerPed(int32) { EAXJMP(0x4EFC00); }
WRAPPER void CPlayerPed::ReactivatePlayerPed(int32) { EAXJMP(0x4EFC20); }
2019-07-11 10:48:49 +00:00
WRAPPER void CPlayerPed::KeepAreaAroundPlayerClear(void) { EAXJMP(0x4F3460); }
2019-07-04 20:31:21 +00:00
void CPlayerPed::ClearWeaponTarget()
{
if (!m_nPedType) {
m_pPointGunAt = 0;
TheCamera.ClearPlayerWeaponMode();
CWeaponEffects::ClearCrosshair();
}
ClearPointGunAt();
}
2019-07-09 16:50:35 +00:00
void
CPlayerPed::SetWantedLevel(int32 level)
{
m_pWanted->SetWantedLevel(level);
}
void
CPlayerPed::SetWantedLevelNoDrop(int32 level)
{
m_pWanted->SetWantedLevelNoDrop(level);
}
// I don't know actual purpose of parameter
void
CPlayerPed::AnnoyPlayerPed(bool itsPolice)
{
int8 *temper = &m_pedStats->m_temper;
if (*temper >= 52) {
if (itsPolice) {
if (*temper < 55) {
(*temper)++;
} else {
(*temper) = 46;
}
}
} else {
(*temper)++;
}
}
2019-07-09 16:50:35 +00:00
class CPlayerPed_ : public CPlayerPed
{
public:
void dtor(void) { CPlayerPed::~CPlayerPed(); }
};
2019-07-04 20:31:21 +00:00
STARTPATCHES
InjectHook(0x4EFB30, &CPlayerPed_::dtor, PATCH_JUMP);
InjectHook(0x4F28A0, &CPlayerPed::ClearWeaponTarget, PATCH_JUMP);
InjectHook(0x4F3700, &CPlayerPed::AnnoyPlayerPed, PATCH_JUMP);
ENDPATCHES