mirror of
https://github.com/halpz/re3.git
synced 2025-07-03 09:40:44 +00:00
some updates for script
This commit is contained in:
@ -36,7 +36,7 @@
|
||||
#include "Zones.h"
|
||||
|
||||
#define DISTANCE_TO_SPAWN_ROADBLOCK_PEDS (51.0f)
|
||||
#define DISTANCE_TO_SCAN_FOR_DANGER (11.0f)
|
||||
#define DISTANCE_TO_SCAN_FOR_DANGER (14.0f)
|
||||
#define SAFE_DISTANCE_TO_PED (3.0f)
|
||||
#define INFINITE_Z (1000000000.0f)
|
||||
|
||||
|
@ -197,17 +197,18 @@ void CGarages::Update(void)
|
||||
aGarages[GarageToBeTidied].TidyUpGarage();
|
||||
}
|
||||
|
||||
int16 CGarages::AddOne(float X1, float Y1, float Z1, float X2, float Y2, float Z2, eGarageType type, int32 targetId)
|
||||
int16 CGarages::AddOne(float X1, float Y1, float Z1, float X2, float Y2, float X3, float Y3, float Z2, eGarageType type, int32 targetId)
|
||||
{
|
||||
if (NumGarages >= NUM_GARAGES) {
|
||||
assert(0);
|
||||
return NumGarages++;
|
||||
}
|
||||
CGarage* pGarage = &aGarages[NumGarages];
|
||||
pGarage->m_fX1 = Min(X1, X2);
|
||||
pGarage->m_fX2 = Max(X1, X2);
|
||||
pGarage->m_fY1 = Min(Y1, Y2);
|
||||
pGarage->m_fY2 = Max(Y1, Y2);
|
||||
// TODO(MIAMI): proper!
|
||||
pGarage->m_fX1 = Min(Min(X1, X2), X3);
|
||||
pGarage->m_fX2 = Max(Max(X1, X2), X3);
|
||||
pGarage->m_fY1 = Min(Min(Y1, Y2), Y3);
|
||||
pGarage->m_fY2 = Max(Max(Y1, Y2), Y3);
|
||||
pGarage->m_fZ1 = Min(Z1, Z2);
|
||||
pGarage->m_fZ2 = Max(Z1, Z2);
|
||||
pGarage->m_pDoor1 = nil;
|
||||
@ -2320,8 +2321,7 @@ void CGarages::Load(uint8* buf, uint32 size)
|
||||
bool
|
||||
CGarages::IsModelIndexADoor(uint32 id)
|
||||
{
|
||||
return id == MI_GARAGEDOOR1 ||
|
||||
id == MI_GARAGEDOOR2 ||
|
||||
return id == MI_GARAGEDOOR2 ||
|
||||
id == MI_GARAGEDOOR3 ||
|
||||
id == MI_GARAGEDOOR4 ||
|
||||
id == MI_GARAGEDOOR5 ||
|
||||
@ -2335,7 +2335,6 @@ CGarages::IsModelIndexADoor(uint32 id)
|
||||
id == MI_GARAGEDOOR14 ||
|
||||
id == MI_GARAGEDOOR15 ||
|
||||
id == MI_GARAGEDOOR16 ||
|
||||
id == MI_GARAGEDOOR17 ||
|
||||
id == MI_GARAGEDOOR18 ||
|
||||
id == MI_GARAGEDOOR19 ||
|
||||
id == MI_GARAGEDOOR20 ||
|
||||
@ -2344,13 +2343,5 @@ CGarages::IsModelIndexADoor(uint32 id)
|
||||
id == MI_GARAGEDOOR23 ||
|
||||
id == MI_GARAGEDOOR24 ||
|
||||
id == MI_GARAGEDOOR25 ||
|
||||
id == MI_GARAGEDOOR26 ||
|
||||
id == MI_GARAGEDOOR27 ||
|
||||
id == MI_GARAGEDOOR28 ||
|
||||
id == MI_GARAGEDOOR29 ||
|
||||
id == MI_GARAGEDOOR30 ||
|
||||
id == MI_GARAGEDOOR31 ||
|
||||
id == MI_GARAGEDOOR32 ||
|
||||
id == MI_CRUSHERBODY ||
|
||||
id == MI_CRUSHERLID;
|
||||
id == MI_GARAGEDOOR26;
|
||||
}
|
||||
|
@ -42,6 +42,17 @@ enum eGarageType : int8
|
||||
GARAGE_FOR_SCRIPT_TO_OPEN_AND_CLOSE,
|
||||
GARAGE_KEEPS_OPENING_FOR_SPECIFIC_CAR,
|
||||
GARAGE_MISSION_KEEPCAR_REMAINCLOSED,
|
||||
GARAGE_COLLECTCARS_4,
|
||||
GARAGE_FOR_SCRIPT_TO_OPEN_FOR_CAR,
|
||||
GARAGE_HIDEOUT_FOUR,
|
||||
GARAGE_HIDEOUT_FIVE,
|
||||
GARAGE_HIDEOUT_SIX,
|
||||
GARAGE_HIDEOUT_SEVEN,
|
||||
GARAGE_HIDEOUT_EIGHT,
|
||||
GARAGE_HIDEOUT_NINE,
|
||||
GARAGE_HIDEOUT_TEN,
|
||||
GARAGE_HIDEOUT_ELEVEN,
|
||||
GARAGE_HIDEOUT_TWELVE
|
||||
};
|
||||
|
||||
enum
|
||||
@ -208,7 +219,7 @@ public:
|
||||
#endif
|
||||
static void Update(void);
|
||||
|
||||
static int16 AddOne(float X1, float Y1, float Z1, float X2, float Y2, float Z2, eGarageType type, int32 targetId);
|
||||
static int16 AddOne(float X1, float Y1, float Z1, float X2, float Y2, float X3, float Y3, float Z2, eGarageType type, int32 targetId);
|
||||
static void ChangeGarageType(int16, eGarageType, int32);
|
||||
static void PrintMessages(void);
|
||||
static void TriggerMessage(const char* text, int16, uint16 time, int16);
|
||||
|
@ -8,6 +8,7 @@ enum ePickupType : uint8
|
||||
PICKUP_ON_STREET,
|
||||
PICKUP_ONCE,
|
||||
PICKUP_ONCE_TIMEOUT,
|
||||
PICKUP_ONCE_TIMEOUT_SLOW,
|
||||
PICKUP_COLLECTABLE1,
|
||||
PICKUP_IN_SHOP_OUT_OF_STOCK,
|
||||
PICKUP_MONEY,
|
||||
@ -18,6 +19,9 @@ enum ePickupType : uint8
|
||||
PICKUP_FLOATINGPACKAGE,
|
||||
PICKUP_FLOATINGPACKAGE_FLOATING,
|
||||
PICKUP_ON_STREET_SLOW,
|
||||
PICKUP_ASSET_REVENUE,
|
||||
PICKUP_PROPERTY_LOCKED,
|
||||
PICKUP_PROPERTY_FORSALE,
|
||||
PICKUP_NUMOFTYPES
|
||||
};
|
||||
|
||||
|
@ -474,7 +474,6 @@ bool CStuckCarCheck::HasCarBeenStuckForAWhile(int32 id)
|
||||
void CRunningScript::CollectParameters(uint32* pIp, int16 total)
|
||||
{
|
||||
for (int16 i = 0; i < total; i++){
|
||||
//float tmp;
|
||||
uint16 varIndex;
|
||||
switch (CTheScripts::Read1ByteFromScript(pIp))
|
||||
{
|
||||
@ -498,10 +497,6 @@ void CRunningScript::CollectParameters(uint32* pIp, int16 total)
|
||||
case ARGUMENT_INT16:
|
||||
ScriptParams[i] = CTheScripts::Read2BytesFromScript(pIp);
|
||||
break;
|
||||
//case ARGUMENT_FLOAT:
|
||||
// tmp = CTheScripts::ReadFloatFromScript(pIp);
|
||||
// ScriptParams[i] = *(int32*)&tmp;
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
break;
|
||||
@ -4674,51 +4669,34 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
|
||||
}
|
||||
case COMMAND_SET_GARAGE:
|
||||
{
|
||||
CollectParameters(&m_nIp, 7);
|
||||
CollectParameters(&m_nIp, 9);
|
||||
float infX = *(float*)&ScriptParams[0];
|
||||
float infY = *(float*)&ScriptParams[1];
|
||||
float infZ = *(float*)&ScriptParams[2];
|
||||
float supX = *(float*)&ScriptParams[3];
|
||||
float supY = *(float*)&ScriptParams[4];
|
||||
float supZ = *(float*)&ScriptParams[5];
|
||||
if (infX > supX) {
|
||||
infX = *(float*)&ScriptParams[3];
|
||||
supX = *(float*)&ScriptParams[0];
|
||||
}
|
||||
if (infY > supY) {
|
||||
infY = *(float*)&ScriptParams[4];
|
||||
supY = *(float*)&ScriptParams[1];
|
||||
}
|
||||
if (infZ > supZ) {
|
||||
infZ = *(float*)&ScriptParams[5];
|
||||
supZ = *(float*)&ScriptParams[2];
|
||||
}
|
||||
ScriptParams[0] = CGarages::AddOne(infX, infY, infZ, supX, supY, supZ, (eGarageType)ScriptParams[6], 0);
|
||||
float X2 = *(float*)&ScriptParams[3];
|
||||
float Y2 = *(float*)&ScriptParams[4];
|
||||
float supX = *(float*)&ScriptParams[5];
|
||||
float supY = *(float*)&ScriptParams[6];
|
||||
float supZ = *(float*)&ScriptParams[7];
|
||||
|
||||
// TODO(MIAMI): new 2 parameters, requires CGarage change
|
||||
ScriptParams[0] = CGarages::AddOne(infX, infY, infZ, X2, Y2, supX, supY, supZ, (eGarageType)ScriptParams[8], 0);
|
||||
StoreParameters(&m_nIp, 1);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_SET_GARAGE_WITH_CAR_MODEL:
|
||||
{
|
||||
CollectParameters(&m_nIp, 8);
|
||||
CollectParameters(&m_nIp, 10);
|
||||
float infX = *(float*)&ScriptParams[0];
|
||||
float infY = *(float*)&ScriptParams[1];
|
||||
float infZ = *(float*)&ScriptParams[2];
|
||||
float supX = *(float*)&ScriptParams[3];
|
||||
float supY = *(float*)&ScriptParams[4];
|
||||
float supZ = *(float*)&ScriptParams[5];
|
||||
if (infX > supX) {
|
||||
infX = *(float*)&ScriptParams[3];
|
||||
supX = *(float*)&ScriptParams[0];
|
||||
}
|
||||
if (infY > supY) {
|
||||
infY = *(float*)&ScriptParams[4];
|
||||
supY = *(float*)&ScriptParams[1];
|
||||
}
|
||||
if (infZ > supZ) {
|
||||
infZ = *(float*)&ScriptParams[5];
|
||||
supZ = *(float*)&ScriptParams[2];
|
||||
}
|
||||
ScriptParams[0] = CGarages::AddOne(infX, infY, infZ, supX, supY, supZ, (eGarageType)ScriptParams[6], ScriptParams[7]);
|
||||
float X2 = *(float*)&ScriptParams[3];
|
||||
float Y2 = *(float*)&ScriptParams[4];
|
||||
float supX = *(float*)&ScriptParams[5];
|
||||
float supY = *(float*)&ScriptParams[6];
|
||||
float supZ = *(float*)&ScriptParams[7];
|
||||
// TODO(MIAMI): new 2 parameters, requires CGarage change
|
||||
ScriptParams[0] = CGarages::AddOne(infX, infY, infZ, X2, Y2, supX, supY, supZ, (eGarageType)ScriptParams[8], ScriptParams[9]);
|
||||
StoreParameters(&m_nIp, 1);
|
||||
return 0;
|
||||
}
|
||||
@ -9791,7 +9769,13 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command)
|
||||
case COMMAND_GET_CHAR_WEAPON_IN_SLOT:
|
||||
case COMMAND_GET_CLOSEST_STRAIGHT_ROAD:
|
||||
case COMMAND_SET_CAR_FORWARD_SPEED:
|
||||
assert(0);
|
||||
case COMMAND_SET_AREA_VISIBLE:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
CGame::currArea = ScriptParams[0];
|
||||
// TODO(MIAMI) !!
|
||||
//CStreaming::RemoveBuildingsNotInArea(ScriptParams[0]);
|
||||
return 0;
|
||||
case COMMAND_SET_CUTSCENE_ANIM_TO_LOOP:
|
||||
assert(0);
|
||||
case COMMAND_MARK_CAR_AS_CONVOY_CAR:
|
||||
|
Reference in New Issue
Block a user