mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 10:10:01 +00:00
parent
6eaf0e4b41
commit
d6314f9564
|
@ -1,25 +0,0 @@
|
||||||
cmake_Minimum_required(VERSION 3.8)
|
|
||||||
|
|
||||||
project(Re3)
|
|
||||||
|
|
||||||
set (CMAKE_CXX_STANDARD 14)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -masm=intel -Wdouble-promotion")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE Sources "*.cpp" "*.h")
|
|
||||||
|
|
||||||
MACRO(HEADER_DIRECTORIES return_list)
|
|
||||||
FILE(GLOB_RECURSE new_list *.h)
|
|
||||||
SET(dir_list "")
|
|
||||||
FOREACH(file_path ${new_list})
|
|
||||||
GET_FILENAME_COMPONENT(dir_path ${file_path} PATH)
|
|
||||||
SET(dir_list ${dir_list} ${dir_path})
|
|
||||||
ENDFOREACH()
|
|
||||||
LIST(REMOVE_DUPLICATES dir_list)
|
|
||||||
SET(${return_list} ${dir_list})
|
|
||||||
ENDMACRO()
|
|
||||||
|
|
||||||
HEADER_DIRECTORIES(header_list)
|
|
||||||
|
|
||||||
include_directories(${header_list})
|
|
||||||
|
|
||||||
add_library(re3 ${Sources})
|
|
|
@ -59,7 +59,8 @@ CAnimBlendAssociation*
|
||||||
CAnimBlendAssocGroup::CopyAnimation(const char *name)
|
CAnimBlendAssocGroup::CopyAnimation(const char *name)
|
||||||
{
|
{
|
||||||
CAnimBlendAssociation *anim = GetAnimation(name);
|
CAnimBlendAssociation *anim = GetAnimation(name);
|
||||||
if(anim == nil) return nil;
|
if(anim == nil)
|
||||||
|
return nil;
|
||||||
CAnimManager::UncompressAnimation(anim->hierarchy);
|
CAnimManager::UncompressAnimation(anim->hierarchy);
|
||||||
return new CAnimBlendAssociation(*anim);
|
return new CAnimBlendAssociation(*anim);
|
||||||
}
|
}
|
||||||
|
@ -69,26 +70,19 @@ strcmpIgnoringDigits(const char *s1, const char *s2)
|
||||||
{
|
{
|
||||||
char c1, c2;
|
char c1, c2;
|
||||||
|
|
||||||
for(;;) {
|
for(;;){
|
||||||
c1 = *s1;
|
c1 = *s1;
|
||||||
c2 = *s2;
|
c2 = *s2;
|
||||||
if(c1) s1++;
|
if(c1) s1++;
|
||||||
if(c2) s2++;
|
if(c2) s2++;
|
||||||
if(c1 == '\0' && c2 == '\0') return true;
|
if(c1 == '\0' && c2 == '\0')
|
||||||
#if 1
|
return true;
|
||||||
if(iswdigit(c1) && iswdigit(c2))
|
|
||||||
#else
|
|
||||||
if(__ascii_iswdigit(c1) && __ascii_iswdigit(c2))
|
if(__ascii_iswdigit(c1) && __ascii_iswdigit(c2))
|
||||||
#endif
|
|
||||||
continue;
|
continue;
|
||||||
#if 1
|
|
||||||
c1 = toupper(c1);
|
|
||||||
c2 = toupper(c2);
|
|
||||||
#else
|
|
||||||
c1 = __ascii_toupper(c1);
|
c1 = __ascii_toupper(c1);
|
||||||
c2 = __ascii_toupper(c2);
|
c2 = __ascii_toupper(c2);
|
||||||
#endif
|
if(c1 != c2)
|
||||||
if(c1 != c2) return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10035,7 +10035,7 @@ cAudioManager::UpdateReflections()
|
||||||
if(CWorld::ProcessVerticalLine(
|
if(CWorld::ProcessVerticalLine(
|
||||||
camPos, m_avecReflectionsPos[4].z, colpoint,
|
camPos, m_avecReflectionsPos[4].z, colpoint,
|
||||||
ent, true, false, false, false, true, false,
|
ent, true, false, false, false, true, false,
|
||||||
nil)) {
|
false)) {
|
||||||
m_afReflectionsDistances[4] =
|
m_afReflectionsDistances[4] =
|
||||||
colpoint.point.z - camPos.z;
|
colpoint.point.z - camPos.z;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "audio_enums.h"
|
#include "audio_enums.h"
|
||||||
#include "CrimeType.h"
|
|
||||||
|
|
||||||
enum eSound : int16
|
enum eSound : int16
|
||||||
{
|
{
|
||||||
|
|
|
@ -1986,59 +1986,50 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
|
||||||
if ( nFile == STREAMED_SOUND_RADIO_MP3_PLAYER )
|
if ( nFile == STREAMED_SOUND_RADIO_MP3_PLAYER )
|
||||||
{
|
{
|
||||||
uint32 i = 0;
|
uint32 i = 0;
|
||||||
do {
|
|
||||||
if(i != 0 || _bIsMp3Active) {
|
|
||||||
if(++_CurMP3Index >= nNumMP3s) _CurMP3Index = 0;
|
|
||||||
|
|
||||||
_CurMP3Pos = 0;
|
if ( !_bIsMp3Active ) goto FIND_MP3TRACK;
|
||||||
|
|
||||||
tMP3Entry *mp3 = _GetMP3EntryByIndex(_CurMP3Index);
|
do
|
||||||
|
{
|
||||||
|
if ( ++_CurMP3Index >= nNumMP3s )
|
||||||
|
_CurMP3Index = 0;
|
||||||
|
|
||||||
if(mp3) {
|
_CurMP3Pos = 0;
|
||||||
mp3 = _pMP3List;
|
|
||||||
if(mp3 == NULL) {
|
|
||||||
_bIsMp3Active = false;
|
|
||||||
nFile = 0;
|
|
||||||
strcpy(filename, m_szCDRomRootPath);
|
|
||||||
strcat(filename, StreamedNameTable[nFile]);
|
|
||||||
|
|
||||||
mp3Stream[nStream] =
|
tMP3Entry *mp3 = _GetMP3EntryByIndex(_CurMP3Index);
|
||||||
AIL_open_stream(DIG, filename, 0);
|
|
||||||
if(mp3Stream[nStream]) {
|
|
||||||
AIL_set_stream_loop_count(
|
|
||||||
mp3Stream[nStream], 1);
|
|
||||||
AIL_set_stream_ms_position(
|
|
||||||
mp3Stream[nStream], position);
|
|
||||||
AIL_pause_stream(mp3Stream[nStream],
|
|
||||||
0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
if ( mp3 )
|
||||||
}
|
{
|
||||||
|
mp3 = _pMP3List;
|
||||||
|
if ( mp3 == NULL )
|
||||||
|
{
|
||||||
|
_bIsMp3Active = false;
|
||||||
|
nFile = 0;
|
||||||
|
goto PLAY_STREAMEDTRACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mp3->pLinkPath != NULL)
|
|
||||||
mp3Stream[nStream] =
|
|
||||||
AIL_open_stream(DIG, mp3->pLinkPath, 0);
|
|
||||||
else {
|
|
||||||
strcpy(filename, _mp3DirectoryPath);
|
|
||||||
strcat(filename, mp3->aFilename);
|
|
||||||
|
|
||||||
mp3Stream[nStream] =
|
|
||||||
AIL_open_stream(DIG, filename, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(mp3Stream[nStream]) {
|
|
||||||
AIL_set_stream_loop_count(mp3Stream[nStream], 1);
|
|
||||||
AIL_set_stream_ms_position(mp3Stream[nStream], 0);
|
|
||||||
AIL_pause_stream(mp3Stream[nStream], 0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
_bIsMp3Active = false;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( mp3->pLinkPath != NULL )
|
||||||
|
mp3Stream[nStream] = AIL_open_stream(DIG, mp3->pLinkPath, 0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy(filename, _mp3DirectoryPath);
|
||||||
|
strcat(filename, mp3->aFilename);
|
||||||
|
|
||||||
|
mp3Stream[nStream] = AIL_open_stream(DIG, filename, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( mp3Stream[nStream] )
|
||||||
|
{
|
||||||
|
AIL_set_stream_loop_count(mp3Stream[nStream], 1);
|
||||||
|
AIL_set_stream_ms_position(mp3Stream[nStream], 0);
|
||||||
|
AIL_pause_stream(mp3Stream[nStream], 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
goto NEXT_MP3TRACK;
|
||||||
|
|
||||||
|
FIND_MP3TRACK:
|
||||||
if ( nPos > nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
if ( nPos > nStreamLength[STREAMED_SOUND_RADIO_MP3_PLAYER] )
|
||||||
position = 0;
|
position = 0;
|
||||||
|
|
||||||
|
@ -2048,20 +2039,7 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
|
||||||
if ( e == NULL )
|
if ( e == NULL )
|
||||||
{
|
{
|
||||||
nFile = 0;
|
nFile = 0;
|
||||||
strcpy(filename, m_szCDRomRootPath);
|
goto PLAY_STREAMEDTRACK;
|
||||||
strcat(filename, StreamedNameTable[nFile]);
|
|
||||||
mp3Stream[nStream] =
|
|
||||||
AIL_open_stream(DIG, filename, 0);
|
|
||||||
if(mp3Stream[nStream]) {
|
|
||||||
AIL_set_stream_loop_count(
|
|
||||||
mp3Stream[nStream], 1);
|
|
||||||
AIL_set_stream_ms_position(
|
|
||||||
mp3Stream[nStream], position);
|
|
||||||
AIL_pause_stream(mp3Stream[nStream], 0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2086,14 +2064,17 @@ cSampleManager::StartStreamedFile(uint8 nFile, uint32 nPos, uint8 nStream)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NEXT_MP3TRACK:
|
||||||
_bIsMp3Active = false;
|
_bIsMp3Active = false;
|
||||||
|
|
||||||
} while(++i < nNumMP3s);
|
} while ( ++i < nNumMP3s );
|
||||||
|
|
||||||
position = 0;
|
position = 0;
|
||||||
nFile = 0;
|
nFile = 0;
|
||||||
|
goto PLAY_STREAMEDTRACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PLAY_STREAMEDTRACK:
|
||||||
strcpy(filename, m_szCDRomRootPath);
|
strcpy(filename, m_szCDRomRootPath);
|
||||||
strcat(filename, StreamedNameTable[nFile]);
|
strcat(filename, StreamedNameTable[nFile]);
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ModelIndices.h"
|
#include "ModelIndices.h"
|
||||||
#include "WeaponType.h"
|
|
||||||
|
|
||||||
class CVehicle;
|
class CVehicle;
|
||||||
class CPed;
|
class CPed;
|
||||||
|
enum eWeaponType;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|
|
@ -1466,11 +1466,8 @@ CPathFind::DoPathSearch(uint8 type, CVector start, int32 startNodeId, CVector ta
|
||||||
targetNode = FindNodeClosestToCoors(target, type, distLimit);
|
targetNode = FindNodeClosestToCoors(target, type, distLimit);
|
||||||
else
|
else
|
||||||
targetNode = forcedTargetNode;
|
targetNode = forcedTargetNode;
|
||||||
if(targetNode < 0) {
|
if(targetNode < 0)
|
||||||
*pNumNodes = 0;
|
goto fail;
|
||||||
if(pDist) *pDist = 100000.0f;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find start
|
// Find start
|
||||||
int numPathsToTry;
|
int numPathsToTry;
|
||||||
|
@ -1489,28 +1486,19 @@ CPathFind::DoPathSearch(uint8 type, CVector start, int32 startNodeId, CVector ta
|
||||||
numPathsToTry = 1;
|
numPathsToTry = 1;
|
||||||
startObj = m_mapObjects[m_pathNodes[startNodeId].objectIndex];
|
startObj = m_mapObjects[m_pathNodes[startNodeId].objectIndex];
|
||||||
}
|
}
|
||||||
if(numPathsToTry == 0) {
|
if(numPathsToTry == 0)
|
||||||
*pNumNodes = 0;
|
goto fail;
|
||||||
if(pDist) *pDist = 100000.0f;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(startNodeId < 0){
|
if(startNodeId < 0){
|
||||||
// why only check node 0?
|
// why only check node 0?
|
||||||
if(m_pathNodes[startObj->m_nodeIndices[type][0]].group !=
|
if(m_pathNodes[startObj->m_nodeIndices[type][0]].group != m_pathNodes[targetNode].group)
|
||||||
m_pathNodes[targetNode].group) {
|
goto fail;
|
||||||
*pNumNodes = 0;
|
|
||||||
if(pDist) *pDist = 100000.0f;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
if(m_pathNodes[startNodeId].group != m_pathNodes[targetNode].group) {
|
if(m_pathNodes[startNodeId].group != m_pathNodes[targetNode].group)
|
||||||
*pNumNodes = 0;
|
goto fail;
|
||||||
if(pDist) *pDist = 100000.0f;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for(i = 0; i < 512; i++)
|
for(i = 0; i < 512; i++)
|
||||||
m_searchNodes[i].next = nil;
|
m_searchNodes[i].next = nil;
|
||||||
AddNodeToList(&m_pathNodes[targetNode], 0);
|
AddNodeToList(&m_pathNodes[targetNode], 0);
|
||||||
|
@ -1588,6 +1576,11 @@ CPathFind::DoPathSearch(uint8 type, CVector start, int32 startNodeId, CVector ta
|
||||||
for(i = 0; i < numNodesToBeCleared; i++)
|
for(i = 0; i < numNodesToBeCleared; i++)
|
||||||
apNodesToBeCleared[i]->distance = MAX_DIST;
|
apNodesToBeCleared[i]->distance = MAX_DIST;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
*pNumNodes = 0;
|
||||||
|
if(pDist)
|
||||||
|
*pDist = 100000.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
static CPathNode *pNodeList[32];
|
static CPathNode *pNodeList[32];
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include "Clock.h"
|
#include "Clock.h"
|
||||||
#include "Weather.h"
|
#include "Weather.h"
|
||||||
#include "Timecycle.h"
|
#include "Timecycle.h"
|
||||||
#include "PointLights.h"
|
#include "Pointlights.h"
|
||||||
#include "Shadows.h"
|
#include "Shadows.h"
|
||||||
#include "Coronas.h"
|
#include "Coronas.h"
|
||||||
#include "SpecialFX.h"
|
#include "SpecialFX.h"
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
enum eCrimeType
|
|
||||||
{
|
|
||||||
CRIME_NONE,
|
|
||||||
CRIME_POSSESSION_GUN,
|
|
||||||
CRIME_HIT_PED,
|
|
||||||
CRIME_HIT_COP,
|
|
||||||
CRIME_SHOOT_PED,
|
|
||||||
CRIME_SHOOT_COP,
|
|
||||||
CRIME_STEAL_CAR,
|
|
||||||
CRIME_RUN_REDLIGHT,
|
|
||||||
CRIME_RECKLESS_DRIVING,
|
|
||||||
CRIME_SPEEDING,
|
|
||||||
CRIME_RUNOVER_PED,
|
|
||||||
CRIME_RUNOVER_COP,
|
|
||||||
CRIME_SHOOT_HELI,
|
|
||||||
CRIME_PED_BURNED,
|
|
||||||
CRIME_COP_BURNED,
|
|
||||||
CRIME_VEHICLE_BURNED,
|
|
||||||
CRIME_DESTROYED_CESSNA,
|
|
||||||
NUM_CRIME_TYPES
|
|
||||||
};
|
|
|
@ -72,7 +72,7 @@
|
||||||
#include "Streaming.h"
|
#include "Streaming.h"
|
||||||
#include "SurfaceTable.h"
|
#include "SurfaceTable.h"
|
||||||
#include "TempColModels.h"
|
#include "TempColModels.h"
|
||||||
#include "Timecycle.h"
|
#include "TimeCycle.h"
|
||||||
#include "TrafficLights.h"
|
#include "TrafficLights.h"
|
||||||
#include "Train.h"
|
#include "Train.h"
|
||||||
#include "TxdStore.h"
|
#include "TxdStore.h"
|
||||||
|
|
|
@ -124,7 +124,7 @@ public:
|
||||||
static bool faststricmp(const char *str1, const char *str2)
|
static bool faststricmp(const char *str1, const char *str2)
|
||||||
{
|
{
|
||||||
for (; *str1; str1++, str2++) {
|
for (; *str1; str1++, str2++) {
|
||||||
#if 1
|
#if MUCH_SLOWER
|
||||||
if (toupper(*str1) != toupper(*str2))
|
if (toupper(*str1) != toupper(*str2))
|
||||||
#else
|
#else
|
||||||
if (__ascii_toupper(*str1) != __ascii_toupper(*str2))
|
if (__ascii_toupper(*str1) != __ascii_toupper(*str2))
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
#include <xinput.h>
|
#include <Xinput.h>
|
||||||
#pragma comment( lib, "Xinput9_1_0.lib" )
|
#pragma comment( lib, "Xinput9_1_0.lib" )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ CPlayerInfo::MakePlayerSafe(bool toggle)
|
||||||
m_pPed->bExplosionProof = true;
|
m_pPed->bExplosionProof = true;
|
||||||
m_pPed->m_bCanBeDamaged = false;
|
m_pPed->m_bCanBeDamaged = false;
|
||||||
((CPlayerPed*)m_pPed)->ClearAdrenaline();
|
((CPlayerPed*)m_pPed)->ClearAdrenaline();
|
||||||
CancelPlayerEnteringCars(nil);
|
CancelPlayerEnteringCars(false);
|
||||||
gFireManager.ExtinguishPoint(GetPos(), 4000.0f);
|
gFireManager.ExtinguishPoint(GetPos(), 4000.0f);
|
||||||
CExplosion::RemoveAllExplosionsInArea(GetPos(), 4000.0f);
|
CExplosion::RemoveAllExplosionsInArea(GetPos(), 4000.0f);
|
||||||
CProjectileInfo::RemoveAllProjectiles();
|
CProjectileInfo::RemoveAllProjectiles();
|
||||||
|
|
|
@ -3,7 +3,27 @@
|
||||||
class CEntity;
|
class CEntity;
|
||||||
class CCopPed;
|
class CCopPed;
|
||||||
|
|
||||||
#include "CrimeType.h"
|
enum eCrimeType
|
||||||
|
{
|
||||||
|
CRIME_NONE,
|
||||||
|
CRIME_POSSESSION_GUN,
|
||||||
|
CRIME_HIT_PED,
|
||||||
|
CRIME_HIT_COP,
|
||||||
|
CRIME_SHOOT_PED,
|
||||||
|
CRIME_SHOOT_COP,
|
||||||
|
CRIME_STEAL_CAR,
|
||||||
|
CRIME_RUN_REDLIGHT,
|
||||||
|
CRIME_RECKLESS_DRIVING,
|
||||||
|
CRIME_SPEEDING,
|
||||||
|
CRIME_RUNOVER_PED,
|
||||||
|
CRIME_RUNOVER_COP,
|
||||||
|
CRIME_SHOOT_HELI,
|
||||||
|
CRIME_PED_BURNED,
|
||||||
|
CRIME_COP_BURNED,
|
||||||
|
CRIME_VEHICLE_BURNED,
|
||||||
|
CRIME_DESTROYED_CESSNA,
|
||||||
|
NUM_CRIME_TYPES
|
||||||
|
};
|
||||||
|
|
||||||
class CCrimeBeingQd
|
class CCrimeBeingQd
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef WITHWINDOWS
|
#ifdef WITHWINDOWS
|
||||||
#include <windows.h>
|
#include <Windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITHD3D
|
#ifdef WITHD3D
|
||||||
|
@ -62,7 +62,7 @@ typedef int64_t int64;
|
||||||
typedef uint16_t wchar;
|
typedef uint16_t wchar;
|
||||||
|
|
||||||
#ifndef nil
|
#ifndef nil
|
||||||
#define nil NULL
|
#define nil nullptr
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "Placeable.h"
|
#include "Placeable.h"
|
||||||
#include "AudioManager.h"
|
#include "AudioManager.h"
|
||||||
#include "ParticleType.h"
|
|
||||||
|
|
||||||
#define MAX_PARTICLEOBJECTS 100
|
#define MAX_PARTICLEOBJECTS 100
|
||||||
#define MAX_AUDIOHYDRANTS 8
|
#define MAX_AUDIOHYDRANTS 8
|
||||||
|
@ -38,6 +37,7 @@ enum eParticleObjectState
|
||||||
POBJECTSTATE_FREE,
|
POBJECTSTATE_FREE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum tParticleType;
|
||||||
class CParticle;
|
class CParticle;
|
||||||
|
|
||||||
class CParticleObject : public CPlaceable
|
class CParticleObject : public CPlaceable
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "AnimManager.h"
|
|
||||||
#include "CrimeType.h"
|
|
||||||
#include "EventList.h"
|
|
||||||
#include "PedIK.h"
|
|
||||||
#include "PedStats.h"
|
|
||||||
#include "Physical.h"
|
#include "Physical.h"
|
||||||
#include "Weapon.h"
|
#include "Weapon.h"
|
||||||
|
#include "PedStats.h"
|
||||||
|
#include "PedIK.h"
|
||||||
|
#include "AnimManager.h"
|
||||||
#include "WeaponInfo.h"
|
#include "WeaponInfo.h"
|
||||||
|
#include "EventList.h"
|
||||||
|
|
||||||
#define FEET_OFFSET 1.04f
|
#define FEET_OFFSET 1.04f
|
||||||
#define CHECK_NEARBY_THINGS_MAX_DIST 15.0f
|
#define CHECK_NEARBY_THINGS_MAX_DIST 15.0f
|
||||||
|
@ -18,6 +17,7 @@ class CObject;
|
||||||
class CFire;
|
class CFire;
|
||||||
struct AnimBlendFrameData;
|
struct AnimBlendFrameData;
|
||||||
class CAnimBlendAssociation;
|
class CAnimBlendAssociation;
|
||||||
|
enum eCrimeType;
|
||||||
|
|
||||||
struct PedAudioData
|
struct PedAudioData
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,83 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ParticleType.h"
|
|
||||||
|
|
||||||
class CParticle;
|
class CParticle;
|
||||||
|
|
||||||
|
enum tParticleType
|
||||||
|
{
|
||||||
|
PARTICLE_SPARK = 0,
|
||||||
|
PARTICLE_SPARK_SMALL,
|
||||||
|
PARTICLE_WHEEL_DIRT,
|
||||||
|
PARTICLE_WHEEL_WATER,
|
||||||
|
PARTICLE_BLOOD,
|
||||||
|
PARTICLE_BLOOD_SMALL,
|
||||||
|
PARTICLE_BLOOD_SPURT,
|
||||||
|
PARTICLE_DEBRIS,
|
||||||
|
PARTICLE_DEBRIS2,
|
||||||
|
PARTICLE_WATER,
|
||||||
|
PARTICLE_FLAME,
|
||||||
|
PARTICLE_FIREBALL,
|
||||||
|
PARTICLE_GUNFLASH,
|
||||||
|
PARTICLE_GUNFLASH_NOANIM,
|
||||||
|
PARTICLE_GUNSMOKE,
|
||||||
|
PARTICLE_GUNSMOKE2,
|
||||||
|
PARTICLE_SMOKE,
|
||||||
|
PARTICLE_SMOKE_SLOWMOTION,
|
||||||
|
PARTICLE_GARAGEPAINT_SPRAY,
|
||||||
|
PARTICLE_SHARD,
|
||||||
|
PARTICLE_SPLASH,
|
||||||
|
PARTICLE_CARFLAME,
|
||||||
|
PARTICLE_STEAM,
|
||||||
|
PARTICLE_STEAM2,
|
||||||
|
PARTICLE_STEAM_NY,
|
||||||
|
PARTICLE_STEAM_NY_SLOWMOTION,
|
||||||
|
PARTICLE_ENGINE_STEAM,
|
||||||
|
PARTICLE_RAINDROP,
|
||||||
|
PARTICLE_RAINDROP_SMALL,
|
||||||
|
PARTICLE_RAIN_SPLASH,
|
||||||
|
PARTICLE_RAIN_SPLASH_BIGGROW,
|
||||||
|
PARTICLE_RAIN_SPLASHUP,
|
||||||
|
PARTICLE_WATERSPRAY,
|
||||||
|
PARTICLE_EXPLOSION_MEDIUM,
|
||||||
|
PARTICLE_EXPLOSION_LARGE,
|
||||||
|
PARTICLE_EXPLOSION_MFAST,
|
||||||
|
PARTICLE_EXPLOSION_LFAST,
|
||||||
|
PARTICLE_CAR_SPLASH,
|
||||||
|
PARTICLE_BOAT_SPLASH,
|
||||||
|
PARTICLE_BOAT_THRUSTJET,
|
||||||
|
PARTICLE_BOAT_WAKE,
|
||||||
|
PARTICLE_WATER_HYDRANT,
|
||||||
|
PARTICLE_WATER_CANNON,
|
||||||
|
PARTICLE_EXTINGUISH_STEAM,
|
||||||
|
PARTICLE_PED_SPLASH,
|
||||||
|
PARTICLE_PEDFOOT_DUST,
|
||||||
|
PARTICLE_HELI_DUST,
|
||||||
|
PARTICLE_HELI_ATTACK,
|
||||||
|
PARTICLE_ENGINE_SMOKE,
|
||||||
|
PARTICLE_ENGINE_SMOKE2,
|
||||||
|
PARTICLE_CARFLAME_SMOKE,
|
||||||
|
PARTICLE_FIREBALL_SMOKE,
|
||||||
|
PARTICLE_PAINT_SMOKE,
|
||||||
|
PARTICLE_TREE_LEAVES,
|
||||||
|
PARTICLE_CARCOLLISION_DUST,
|
||||||
|
PARTICLE_CAR_DEBRIS,
|
||||||
|
PARTICLE_HELI_DEBRIS,
|
||||||
|
PARTICLE_EXHAUST_FUMES,
|
||||||
|
PARTICLE_RUBBER_SMOKE,
|
||||||
|
PARTICLE_BURNINGRUBBER_SMOKE,
|
||||||
|
PARTICLE_BULLETHIT_SMOKE,
|
||||||
|
PARTICLE_GUNSHELL_FIRST,
|
||||||
|
PARTICLE_GUNSHELL,
|
||||||
|
PARTICLE_GUNSHELL_BUMP1,
|
||||||
|
PARTICLE_GUNSHELL_BUMP2,
|
||||||
|
PARTICLE_TEST,
|
||||||
|
PARTICLE_BIRD_FRONT,
|
||||||
|
PARTICLE_RAINDROP_2D,
|
||||||
|
|
||||||
|
MAX_PARTICLES,
|
||||||
|
PARTICLE_FIRST = PARTICLE_SPARK,
|
||||||
|
PARTICLE_LAST = PARTICLE_RAINDROP_2D
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
ZCHECK_FIRST = BIT(0),
|
ZCHECK_FIRST = BIT(0),
|
||||||
|
|
|
@ -3,7 +3,53 @@
|
||||||
#define DRIVEBYAUTOAIMING_MAXDIST (2.5f)
|
#define DRIVEBYAUTOAIMING_MAXDIST (2.5f)
|
||||||
#define DOOMAUTOAIMING_MAXDIST (9000.0f)
|
#define DOOMAUTOAIMING_MAXDIST (9000.0f)
|
||||||
|
|
||||||
#include "WeaponType.h"
|
enum eWeaponType
|
||||||
|
{
|
||||||
|
WEAPONTYPE_UNARMED,
|
||||||
|
WEAPONTYPE_BASEBALLBAT,
|
||||||
|
WEAPONTYPE_COLT45,
|
||||||
|
WEAPONTYPE_UZI,
|
||||||
|
WEAPONTYPE_SHOTGUN,
|
||||||
|
WEAPONTYPE_AK47,
|
||||||
|
WEAPONTYPE_M16,
|
||||||
|
WEAPONTYPE_SNIPERRIFLE,
|
||||||
|
WEAPONTYPE_ROCKETLAUNCHER,
|
||||||
|
WEAPONTYPE_FLAMETHROWER,
|
||||||
|
WEAPONTYPE_MOLOTOV,
|
||||||
|
WEAPONTYPE_GRENADE,
|
||||||
|
WEAPONTYPE_DETONATOR,
|
||||||
|
WEAPONTYPE_HELICANNON,
|
||||||
|
WEAPONTYPE_LAST_WEAPONTYPE,
|
||||||
|
WEAPONTYPE_ARMOUR,
|
||||||
|
WEAPONTYPE_RAMMEDBYCAR,
|
||||||
|
WEAPONTYPE_RUNOVERBYCAR,
|
||||||
|
WEAPONTYPE_EXPLOSION,
|
||||||
|
WEAPONTYPE_UZI_DRIVEBY,
|
||||||
|
WEAPONTYPE_DROWNING,
|
||||||
|
WEAPONTYPE_FALL,
|
||||||
|
WEAPONTYPE_UNIDENTIFIED,
|
||||||
|
|
||||||
|
WEAPONTYPE_TOTALWEAPONS = WEAPONTYPE_LAST_WEAPONTYPE,
|
||||||
|
WEAPONTYPE_TOTAL_INVENTORY_WEAPONS = 13,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum eWeaponFire {
|
||||||
|
WEAPON_FIRE_MELEE,
|
||||||
|
WEAPON_FIRE_INSTANT_HIT,
|
||||||
|
WEAPON_FIRE_PROJECTILE,
|
||||||
|
WEAPON_FIRE_AREA_EFFECT,
|
||||||
|
WEAPON_FIRE_USE
|
||||||
|
};
|
||||||
|
|
||||||
|
// Taken from MTA SA, seems it's unchanged
|
||||||
|
enum eWeaponState
|
||||||
|
{
|
||||||
|
WEAPONSTATE_READY,
|
||||||
|
WEAPONSTATE_FIRING,
|
||||||
|
WEAPONSTATE_RELOADING,
|
||||||
|
WEAPONSTATE_OUT_OF_AMMO,
|
||||||
|
WEAPONSTATE_MELEE_MADECONTACT
|
||||||
|
};
|
||||||
|
|
||||||
class CEntity;
|
class CEntity;
|
||||||
class CPhysical;
|
class CPhysical;
|
||||||
|
|
Loading…
Reference in a new issue