Peds, ProcessObjective and fixes
This commit is contained in:
parent
3cb0a62ee6
commit
0c385195d8
@ -14,6 +14,7 @@ WRAPPER void CCarAI::AddPoliceOccupants(CVehicle*) { EAXJMP(0x415C60); }
|
|||||||
WRAPPER void CCarAI::AddAmbulanceOccupants(CVehicle*) { EAXJMP(0x415CE0); }
|
WRAPPER void CCarAI::AddAmbulanceOccupants(CVehicle*) { EAXJMP(0x415CE0); }
|
||||||
WRAPPER void CCarAI::AddFiretruckOccupants(CVehicle*) { EAXJMP(0x415D00); }
|
WRAPPER void CCarAI::AddFiretruckOccupants(CVehicle*) { EAXJMP(0x415D00); }
|
||||||
WRAPPER void CCarAI::TellOccupantsToLeaveCar(CVehicle*) { EAXJMP(0x415D20); }
|
WRAPPER void CCarAI::TellOccupantsToLeaveCar(CVehicle*) { EAXJMP(0x415D20); }
|
||||||
|
WRAPPER float CCarAI::GetCarToGoToCoors(CVehicle*, CVector*) { EAXJMP(0x415B10); }
|
||||||
|
|
||||||
void CCarAI::CarHasReasonToStop(CVehicle* pVehicle)
|
void CCarAI::CarHasReasonToStop(CVehicle* pVehicle)
|
||||||
{
|
{
|
||||||
|
@ -16,4 +16,5 @@ public:
|
|||||||
static void AddFiretruckOccupants(CVehicle*);
|
static void AddFiretruckOccupants(CVehicle*);
|
||||||
static void CarHasReasonToStop(CVehicle*);
|
static void CarHasReasonToStop(CVehicle*);
|
||||||
static void TellOccupantsToLeaveCar(CVehicle*);
|
static void TellOccupantsToLeaveCar(CVehicle*);
|
||||||
|
static float GetCarToGoToCoors(CVehicle*, CVector*);
|
||||||
};
|
};
|
||||||
|
@ -137,5 +137,6 @@ enum Config {
|
|||||||
#define USE_DEBUG_SCRIPT_LOADER
|
#define USE_DEBUG_SCRIPT_LOADER
|
||||||
#define EXPLODING_AIRTRAIN // can blow up jumbo jet with rocket launcher
|
#define EXPLODING_AIRTRAIN // can blow up jumbo jet with rocket launcher
|
||||||
#define ANIMATE_PED_COL_MODEL
|
#define ANIMATE_PED_COL_MODEL
|
||||||
#define CANCELLABLE_CAR_ENTER
|
|
||||||
//#define REMOVE_TREADABLE_PATHFIND
|
//#define REMOVE_TREADABLE_PATHFIND
|
||||||
|
#define CANCELLABLE_CAR_ENTER
|
||||||
|
#define VC_PED_PORTS
|
||||||
|
1620
src/peds/Ped.cpp
1620
src/peds/Ped.cpp
File diff suppressed because it is too large
Load Diff
@ -129,7 +129,7 @@ enum eObjective : uint32 {
|
|||||||
OBJECTIVE_IDLE,
|
OBJECTIVE_IDLE,
|
||||||
OBJECTIVE_FLEE_TILL_SAFE,
|
OBJECTIVE_FLEE_TILL_SAFE,
|
||||||
OBJECTIVE_GUARD_SPOT,
|
OBJECTIVE_GUARD_SPOT,
|
||||||
OBJECTIVE_GUARD_AREA,
|
OBJECTIVE_GUARD_AREA, // not implemented
|
||||||
OBJECTIVE_WAIT_IN_CAR,
|
OBJECTIVE_WAIT_IN_CAR,
|
||||||
OBJECTIVE_WAIT_IN_CAR_THEN_GETOUT,
|
OBJECTIVE_WAIT_IN_CAR_THEN_GETOUT,
|
||||||
OBJECTIVE_KILL_CHAR_ON_FOOT,
|
OBJECTIVE_KILL_CHAR_ON_FOOT,
|
||||||
@ -141,15 +141,15 @@ enum eObjective : uint32 {
|
|||||||
OBJECTIVE_LEAVE_VEHICLE,
|
OBJECTIVE_LEAVE_VEHICLE,
|
||||||
OBJECTIVE_ENTER_CAR_AS_PASSENGER,
|
OBJECTIVE_ENTER_CAR_AS_PASSENGER,
|
||||||
OBJECTIVE_ENTER_CAR_AS_DRIVER,
|
OBJECTIVE_ENTER_CAR_AS_DRIVER,
|
||||||
OBJECTIVE_FOLLOW_CAR_IN_CAR,
|
OBJECTIVE_FOLLOW_CAR_IN_CAR, // seems not implemented so far
|
||||||
OBJECTIVE_FIRE_AT_OBJ_FROM_VEHICLE,
|
OBJECTIVE_FIRE_AT_OBJ_FROM_VEHICLE, // not implemented
|
||||||
OBJECTIVE_DESTROY_OBJ,
|
OBJECTIVE_DESTROY_OBJ, // not implemented
|
||||||
OBJECTIVE_DESTROY_CAR,
|
OBJECTIVE_DESTROY_CAR,
|
||||||
OBJECTIVE_GOTO_AREA_ANY_MEANS,
|
OBJECTIVE_GOTO_AREA_ANY_MEANS,
|
||||||
OBJECTIVE_GOTO_AREA_ON_FOOT,
|
OBJECTIVE_GOTO_AREA_ON_FOOT,
|
||||||
OBJECTIVE_RUN_TO_AREA,
|
OBJECTIVE_RUN_TO_AREA,
|
||||||
OBJECTIVE_23,
|
OBJECTIVE_23, // not implemented
|
||||||
OBJECTIVE_24,
|
OBJECTIVE_24, // not implemented
|
||||||
OBJECTIVE_FIGHT_CHAR,
|
OBJECTIVE_FIGHT_CHAR,
|
||||||
OBJECTIVE_SET_LEADER,
|
OBJECTIVE_SET_LEADER,
|
||||||
OBJECTIVE_FOLLOW_ROUTE,
|
OBJECTIVE_FOLLOW_ROUTE,
|
||||||
@ -160,7 +160,9 @@ enum eObjective : uint32 {
|
|||||||
OBJECTIVE_STEAL_ANY_CAR,
|
OBJECTIVE_STEAL_ANY_CAR,
|
||||||
OBJECTIVE_MUG_CHAR,
|
OBJECTIVE_MUG_CHAR,
|
||||||
OBJECTIVE_FLEE_CAR,
|
OBJECTIVE_FLEE_CAR,
|
||||||
OBJECTIVE_35
|
#ifdef VC_PED_PORTS
|
||||||
|
OBJECTIVE_LEAVE_CAR_AND_DIE
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -469,8 +471,8 @@ public:
|
|||||||
uint32 m_soundStart;
|
uint32 m_soundStart;
|
||||||
uint16 m_lastQueuedSound;
|
uint16 m_lastQueuedSound;
|
||||||
uint16 m_queuedSound;
|
uint16 m_queuedSound;
|
||||||
CVector m_vecSeekPosEx;
|
CVector m_vecSeekPosEx; // used in objectives
|
||||||
float m_seekExAngle;
|
float m_distanceToCountSeekDoneEx; // used in objectives
|
||||||
|
|
||||||
static void *operator new(size_t);
|
static void *operator new(size_t);
|
||||||
static void *operator new(size_t, int);
|
static void *operator new(size_t, int);
|
||||||
@ -651,6 +653,11 @@ public:
|
|||||||
bool RunToReportCrime(eCrimeType);
|
bool RunToReportCrime(eCrimeType);
|
||||||
bool PlacePedOnDryLand(void);
|
bool PlacePedOnDryLand(void);
|
||||||
bool PossiblyFindBetterPosToSeekCar(CVector*, CVehicle*);
|
bool PossiblyFindBetterPosToSeekCar(CVector*, CVehicle*);
|
||||||
|
void UpdateFromLeader(void);
|
||||||
|
int ScanForThreats(void);
|
||||||
|
void SetEnterCar(CVehicle*, uint32);
|
||||||
|
bool WarpPedToNearEntityOffScreen(CEntity*);
|
||||||
|
void SetExitCar(CVehicle*, uint32);
|
||||||
|
|
||||||
// Static methods
|
// Static methods
|
||||||
static CVector GetLocalPositionToOpenCarDoor(CVehicle *veh, uint32 component, float offset);
|
static CVector GetLocalPositionToOpenCarDoor(CVehicle *veh, uint32 component, float offset);
|
||||||
@ -721,6 +728,10 @@ public:
|
|||||||
void PointGunAt(void);
|
void PointGunAt(void);
|
||||||
bool ServiceTalkingWhenDead(void);
|
bool ServiceTalkingWhenDead(void);
|
||||||
void SetPedPositionInTrain(void);
|
void SetPedPositionInTrain(void);
|
||||||
|
void SetShootTimer(uint32);
|
||||||
|
void SetSeekCar(CVehicle*, uint32);
|
||||||
|
void SetSeekBoatPosition(CVehicle*);
|
||||||
|
void SetExitTrain(CVehicle*);
|
||||||
|
|
||||||
bool HasWeapon(uint8 weaponType) { return m_weapons[weaponType].m_eWeaponType == weaponType; }
|
bool HasWeapon(uint8 weaponType) { return m_weapons[weaponType].m_eWeaponType == weaponType; }
|
||||||
CWeapon &GetWeapon(uint8 weaponType) { return m_weapons[weaponType]; }
|
CWeapon &GetWeapon(uint8 weaponType) { return m_weapons[weaponType]; }
|
||||||
@ -734,6 +745,9 @@ public:
|
|||||||
// set by 0482:set_threat_reaction_range_multiplier opcode
|
// set by 0482:set_threat_reaction_range_multiplier opcode
|
||||||
static uint16 &nThreatReactionRangeMultiplier;
|
static uint16 &nThreatReactionRangeMultiplier;
|
||||||
|
|
||||||
|
// set by 0481:set_enter_car_range_multiplier opcode
|
||||||
|
static uint16 &nEnterCarRangeMultiplier;
|
||||||
|
|
||||||
static bool &bNastyLimbsCheat;
|
static bool &bNastyLimbsCheat;
|
||||||
static bool &bPedCheat2;
|
static bool &bPedCheat2;
|
||||||
static bool &bPedCheat3;
|
static bool &bPedCheat3;
|
||||||
|
@ -4,3 +4,4 @@
|
|||||||
#include "PedRoutes.h"
|
#include "PedRoutes.h"
|
||||||
|
|
||||||
WRAPPER int16 CRouteNode::GetRouteThisPointIsOn(int16) { EAXJMP(0x4EE7A0); }
|
WRAPPER int16 CRouteNode::GetRouteThisPointIsOn(int16) { EAXJMP(0x4EE7A0); }
|
||||||
|
WRAPPER CVector CRouteNode::GetPointPosition(int16) { EAXJMP(0x4EE780); }
|
@ -3,5 +3,6 @@
|
|||||||
class CRouteNode
|
class CRouteNode
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int16 GetRouteThisPointIsOn(int16 point);
|
static int16 GetRouteThisPointIsOn(int16);
|
||||||
|
static CVector GetPointPosition(int16);
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user