mirror of
https://github.com/halpz/re3.git
synced 2025-07-11 10:18:24 +00:00
Merge branch 'miami' into lcs
# Conflicts: # src/control/Script.cpp # src/control/Script4.cpp # src/render/Weather.cpp # src/render/Weather.h # src/vehicles/Automobile.cpp
This commit is contained in:
@ -36,6 +36,7 @@
|
||||
#include "WaterLevel.h"
|
||||
#include "World.h"
|
||||
#include "Zones.h"
|
||||
#include "Pickups.h"
|
||||
|
||||
#define DISTANCE_TO_SPAWN_ROADBLOCK_PEDS (51.0f)
|
||||
#define DISTANCE_TO_SCAN_FOR_DANGER (14.0f)
|
||||
@ -3217,8 +3218,9 @@ void CCarCtrl::GenerateEmergencyServicesCar(void)
|
||||
CStreaming::RequestModel(MI_AMBULAN, STREAMFLAGS_DEPENDENCY);
|
||||
CStreaming::RequestModel(MI_MEDIC, STREAMFLAGS_DONT_REMOVE);
|
||||
if (CStreaming::HasModelLoaded(MI_AMBULAN) && CStreaming::HasModelLoaded(MI_MEDIC)){
|
||||
if (GenerateOneEmergencyServicesCar(MI_AMBULAN, pNearestAccident->m_pVictim->GetPosition()))
|
||||
if (GenerateOneEmergencyServicesCar(MI_AMBULAN, pNearestAccident->m_pVictim->GetPosition())){
|
||||
LastTimeAmbulanceCreated = CTimer::GetTimeInMilliseconds();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3236,8 +3238,15 @@ void CCarCtrl::GenerateEmergencyServicesCar(void)
|
||||
CStreaming::RequestModel(MI_FIRETRUCK, STREAMFLAGS_DEPENDENCY);
|
||||
CStreaming::RequestModel(MI_FIREMAN, STREAMFLAGS_DONT_REMOVE);
|
||||
if (CStreaming::HasModelLoaded(MI_FIRETRUCK) && CStreaming::HasModelLoaded(MI_FIREMAN)){
|
||||
if (GenerateOneEmergencyServicesCar(MI_FIRETRUCK, pNearestFire->m_vecPos))
|
||||
if (GenerateOneEmergencyServicesCar(MI_FIRETRUCK, pNearestFire->m_vecPos)){
|
||||
LastTimeFireTruckCreated = CTimer::GetTimeInMilliseconds();
|
||||
#ifdef SECUROM
|
||||
if ((myrand() & 7) == 5){
|
||||
// if pirated game
|
||||
CPickups::Init();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -177,6 +177,10 @@ void CGarages::Update(void)
|
||||
static uint32 GarageToBeTidied = 0;
|
||||
if (CReplay::IsPlayingBack())
|
||||
return;
|
||||
#ifdef SECUROM
|
||||
extern uint8 gameProcessPirateCheck;
|
||||
if (gameProcessPirateCheck == 2) return;
|
||||
#endif
|
||||
bCamShouldBeOutisde = false;
|
||||
TheCamera.pToGarageWeAreIn = nil;
|
||||
TheCamera.pToGarageWeAreInForHackAvoidFirstPerson = nil;
|
||||
@ -1522,7 +1526,7 @@ void CGarage::RefreshDoorPointers(bool bCreate)
|
||||
m_bRecreateDoorOnNextRefresh = false;
|
||||
if (m_pDoor1) {
|
||||
if (m_bDoor1IsDummy) {
|
||||
if (CPools::GetDummyPool()->IsFreeSlot(CPools::GetDummyPool()->GetJustIndex_NoFreeAssert((CDummy*)m_pDoor1)))
|
||||
if (CPools::GetDummyPool()->GetIsFree(CPools::GetDummyPool()->GetJustIndex_NoFreeAssert((CDummy*)m_pDoor1)))
|
||||
bNeedToFindDoorEntities = true;
|
||||
else {
|
||||
if (m_bDoor1PoolIndex != (CPools::GetDummyPool()->GetIndex((CDummy*)m_pDoor1) & 0x7F))
|
||||
@ -1532,7 +1536,7 @@ void CGarage::RefreshDoorPointers(bool bCreate)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (CPools::GetObjectPool()->IsFreeSlot(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert((CObject*)m_pDoor1)))
|
||||
if (CPools::GetObjectPool()->GetIsFree(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert((CObject*)m_pDoor1)))
|
||||
bNeedToFindDoorEntities = true;
|
||||
else {
|
||||
if (m_bDoor1PoolIndex != (CPools::GetObjectPool()->GetIndex((CObject*)m_pDoor1) & 0x7F))
|
||||
@ -1544,7 +1548,7 @@ void CGarage::RefreshDoorPointers(bool bCreate)
|
||||
}
|
||||
if (m_pDoor2) {
|
||||
if (m_bDoor2IsDummy) {
|
||||
if (CPools::GetDummyPool()->IsFreeSlot(CPools::GetDummyPool()->GetJustIndex_NoFreeAssert((CDummy*)m_pDoor2)))
|
||||
if (CPools::GetDummyPool()->GetIsFree(CPools::GetDummyPool()->GetJustIndex_NoFreeAssert((CDummy*)m_pDoor2)))
|
||||
bNeedToFindDoorEntities = true;
|
||||
else {
|
||||
if (m_bDoor2PoolIndex != (CPools::GetDummyPool()->GetIndex((CDummy*)m_pDoor2) & 0x7F))
|
||||
@ -1554,7 +1558,7 @@ void CGarage::RefreshDoorPointers(bool bCreate)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (CPools::GetObjectPool()->IsFreeSlot(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert((CObject*)m_pDoor2)))
|
||||
if (CPools::GetObjectPool()->GetIsFree(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert((CObject*)m_pDoor2)))
|
||||
bNeedToFindDoorEntities = true;
|
||||
else {
|
||||
if (m_bDoor2PoolIndex != (CPools::GetObjectPool()->GetIndex((CObject*)m_pDoor2) & 0x7F))
|
||||
|
@ -1820,6 +1820,12 @@ CPathFind::Load(uint8 *buf, uint32 size)
|
||||
m_pathNodes[i].bBetweenLevels = true;
|
||||
else
|
||||
m_pathNodes[i].bBetweenLevels = false;
|
||||
|
||||
#ifdef SECUROM
|
||||
// if pirated game
|
||||
for(i = 0; i < m_numPathNodes; i++)
|
||||
m_pathNodes[i].bDisabled = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -336,7 +336,7 @@ void CReplay::RecordThisFrame(void)
|
||||
GoToNextBlock();
|
||||
tGeneralPacket* general = (tGeneralPacket*)&Record.m_pBase[Record.m_nOffset];
|
||||
general->type = REPLAYPACKET_GENERAL;
|
||||
general->camera_pos.CopyOnlyMatrix(&TheCamera.GetMatrix());
|
||||
general->camera_pos.CopyOnlyMatrix(TheCamera.GetMatrix());
|
||||
general->player_pos = FindPlayerCoors();
|
||||
general->in_rcvehicle = CWorld::Players[CWorld::PlayerInFocus].m_pRemoteVehicle ? true : false;
|
||||
Record.m_nOffset += sizeof(*general);
|
||||
|
@ -26,6 +26,10 @@ int16 CRoadBlocks::RoadBlockNodes[NUMROADBLOCKS];
|
||||
bool CRoadBlocks::InOrOut[NUMROADBLOCKS];
|
||||
CScriptRoadblock CRoadBlocks::aScriptRoadBlocks[NUM_SCRIPT_ROADBLOCKS];
|
||||
|
||||
#ifdef SECUROM
|
||||
uint8 roadBlocksPirateCheck = 0;
|
||||
#endif
|
||||
|
||||
void
|
||||
CRoadBlocks::Init(void)
|
||||
{
|
||||
@ -189,6 +193,13 @@ CRoadBlocks::RegisterScriptRoadBlock(CVector vInf, CVector vSup)
|
||||
void
|
||||
CRoadBlocks::CreateRoadBlockBetween2Points(CVector point1, CVector point2)
|
||||
{
|
||||
#ifdef SECUROM
|
||||
if (roadBlocksPirateCheck == 0)
|
||||
// if not pirated game
|
||||
// roadBlocksPirateCheck = 1;
|
||||
// else
|
||||
roadBlocksPirateCheck = 2;
|
||||
#endif
|
||||
CMatrix tmp;
|
||||
CVector forward = (point2 - point1);
|
||||
float distBetween = forward.Magnitude();
|
||||
|
@ -2145,6 +2145,12 @@ void CMissionCleanup::Process()
|
||||
if (CStreaming::IsScriptOwnedModel(i))
|
||||
CStreaming::SetMissionDoesntRequireModel(i);
|
||||
}
|
||||
#ifdef SECUROM
|
||||
if ((myrand() & 3) == 2){
|
||||
// if pirated game
|
||||
CWeather::ForceHurricaneWeather();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* NB: CUpsideDownCarCheck is not used by actual script at all
|
||||
|
@ -1493,7 +1493,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
|
||||
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(GET_INTEGER_PARAM(0));
|
||||
script_assert(pVehicle);
|
||||
const CVector& pos = pVehicle->GetPosition();
|
||||
float heading = CGeneral::GetATanOfXY(pos.y - GET_FLOAT_PARAM(2), pos.x - GET_FLOAT_PARAM(1)) + HALFPI;
|
||||
float heading = CGeneral::GetATanOfXY(pos.x - GET_FLOAT_PARAM(1), pos.y - GET_FLOAT_PARAM(2)) + HALFPI;
|
||||
if (heading > TWOPI)
|
||||
heading -= TWOPI;
|
||||
pVehicle->SetHeading(heading);
|
||||
|
@ -793,6 +793,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
|
||||
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]);
|
||||
script_assert(pVehicle);
|
||||
pVehicle->bIsFrozen = ScriptParams[1];
|
||||
pVehicle->bInfiniteMass = ScriptParams[1];
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_HAS_CHAR_BEEN_DAMAGED_BY_CHAR:
|
||||
@ -1109,6 +1110,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
|
||||
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
|
||||
script_assert(pObject);
|
||||
pObject->bIsFrozen = ScriptParams[1];
|
||||
pObject->bInfiniteMass = ScriptParams[1];
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_SET_PLAYER_HAS_MET_DEBBIE_HARRY:
|
||||
|
Reference in New Issue
Block a user