1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-12-23 15:10:01 +00:00
This commit is contained in:
Nikolay Korolev 2021-01-18 22:20:44 +03:00
parent 239dd55146
commit 4f36a1fb77
26 changed files with 924 additions and 561 deletions

View file

@ -8,7 +8,8 @@ enum bridgeStates {
STATE_LIFT_PART_MOVING_DOWN, STATE_LIFT_PART_MOVING_DOWN,
STATE_LIFT_PART_IS_DOWN, STATE_LIFT_PART_IS_DOWN,
STATE_LIFT_PART_ABOUT_TO_MOVE_UP, STATE_LIFT_PART_ABOUT_TO_MOVE_UP,
STATE_LIFT_PART_MOVING_UP STATE_LIFT_PART_MOVING_UP,
STATE_BRIDGE_ALWAYS_UNLOCKED
}; };
class CBridge class CBridge

View file

@ -112,6 +112,8 @@ int32 CCarCtrl::LoadedCarsArray[TOTAL_CUSTOM_CLASSES][MAX_CAR_MODELS_IN_ARRAY];
CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP]; CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP];
uint32 aCarsToKeepTime[MAX_CARS_TO_KEEP]; uint32 aCarsToKeepTime[MAX_CARS_TO_KEEP];
bool gbEmergencyVehiclesEnabled = true;
//--MIAMI: done except heli/plane functions //--MIAMI: done except heli/plane functions
void void
@ -3205,7 +3207,7 @@ void CCarCtrl::GenerateEmergencyServicesCar(void)
if (NumFiretrucksOnDuty + NumAmbulancesOnDuty + NumParkedCars + NumMissionCars + if (NumFiretrucksOnDuty + NumAmbulancesOnDuty + NumParkedCars + NumMissionCars +
NumLawEnforcerCars + NumRandomCars > MaxNumberOfCarsInUse) NumLawEnforcerCars + NumRandomCars > MaxNumberOfCarsInUse)
return; return;
if (NumAmbulancesOnDuty == 0 /* TODO(LCS): && gbEmergencyVehiclesEnabled */){ if (NumAmbulancesOnDuty == 0 && gbEmergencyVehiclesEnabled){
if (gAccidentManager.CountActiveAccidents() < 2){ if (gAccidentManager.CountActiveAccidents() < 2){
if (CStreaming::HasModelLoaded(MI_AMBULAN)) if (CStreaming::HasModelLoaded(MI_AMBULAN))
CStreaming::SetModelIsDeletable(MI_MEDIC); CStreaming::SetModelIsDeletable(MI_MEDIC);
@ -3224,7 +3226,7 @@ void CCarCtrl::GenerateEmergencyServicesCar(void)
} }
} }
} }
if (NumFiretrucksOnDuty == 0 /* TODO(LCS): && gbEmergencyVehiclesEnabled */){ if (NumFiretrucksOnDuty == 0 && gbEmergencyVehiclesEnabled){
if (gFireManager.GetTotalActiveFires() < 3){ if (gFireManager.GetTotalActiveFires() < 3){
if (CStreaming::HasModelLoaded(MI_FIRETRUCK)) if (CStreaming::HasModelLoaded(MI_FIRETRUCK))
CStreaming::SetModelIsDeletable(MI_FIREMAN); CStreaming::SetModelIsDeletable(MI_FIREMAN);

View file

@ -173,3 +173,4 @@ public:
}; };
extern CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP]; extern CVehicle* apCarsToKeep[MAX_CARS_TO_KEEP];
extern bool gbEmergencyVehiclesEnabled;

View file

@ -45,6 +45,7 @@ float CGameLogic::AfterDeathStartPointOrientation[NUM_SHORTCUT_START_POINTS];
CVector CGameLogic::ShortCutDropOffForMission; CVector CGameLogic::ShortCutDropOffForMission;
float CGameLogic::ShortCutDropOffOrientationForMission; float CGameLogic::ShortCutDropOffOrientationForMission;
bool CGameLogic::MissionDropOffReadyToBeUsed; bool CGameLogic::MissionDropOffReadyToBeUsed;
char CGameLogic::mStoredPlayerOutfit[8] = "plr3";
//--MIAMI: file done //--MIAMI: file done
@ -90,7 +91,7 @@ CGameLogic::SortOutStreamingAndMemory(const CVector &pos)
CStreaming::DeleteRwObjectsAfterDeath(pos); CStreaming::DeleteRwObjectsAfterDeath(pos);
CStreaming::RemoveUnusedModelsInLoadedList(); CStreaming::RemoveUnusedModelsInLoadedList();
CGame::DrasticTidyUpMemory(true); CGame::DrasticTidyUpMemory(true);
CWorld::Players[CWorld::PlayerInFocus].m_pPed->Undress("player"); CWorld::Players[CWorld::PlayerInFocus].m_pPed->Undress(mStoredPlayerOutfit);
CStreaming::LoadSceneCollision(pos); CStreaming::LoadSceneCollision(pos);
CStreaming::LoadScene(pos); CStreaming::LoadScene(pos);
CWorld::Players[CWorld::PlayerInFocus].m_pPed->Dress(); CWorld::Players[CWorld::PlayerInFocus].m_pPed->Dress();

View file

@ -48,4 +48,5 @@ public:
static CVector ShortCutDropOffForMission; static CVector ShortCutDropOffForMission;
static float ShortCutDropOffOrientationForMission; static float ShortCutDropOffOrientationForMission;
static bool MissionDropOffReadyToBeUsed; static bool MissionDropOffReadyToBeUsed;
static char mStoredPlayerOutfit[8];
}; };

View file

@ -857,7 +857,79 @@ void CGarage::Update()
} }
break; break;
case GARAGE_CRUSHER: case GARAGE_CRUSHER:
{
// for now version from III
switch (m_eGarageState) {
case GS_OPENED:
{
int i = CPools::GetVehiclePool()->GetSize() * (CTimer::GetFrameCounter() % CRUSHER_VEHICLE_TEST_SPAN) / CRUSHER_VEHICLE_TEST_SPAN;
int end = CPools::GetVehiclePool()->GetSize() * (CTimer::GetFrameCounter() % CRUSHER_VEHICLE_TEST_SPAN + 1) / CRUSHER_VEHICLE_TEST_SPAN;
for (; i < end; i++) {
CVehicle* pVehicle = CPools::GetVehiclePool()->GetSlot(i);
if (!pVehicle)
continue;
if (pVehicle->IsCar() && IsEntityEntirelyInside3D(pVehicle, 0.0f)) {
m_eGarageState = GS_CLOSING;
m_pTarget = pVehicle;
m_pTarget->RegisterReference((CEntity**)&m_pTarget);
}
}
break;
}
case GS_CLOSING:
if (m_pTarget) {
m_fDoorPos = Max(0.0f, m_fDoorPos - CRUSHER_CRANE_SPEED * CTimer::GetTimeStep());
if (m_fDoorPos < TWOPI / 5) {
m_pTarget->bUsesCollision = false;
m_pTarget->bAffectedByGravity = false;
m_pTarget->SetMoveSpeed(0.0f, 0.0f, 0.0f);
}
else {
m_pTarget->SetMoveSpeed(m_pTarget->GetMoveSpeed() * Pow(0.8f, CTimer::GetTimeStep()));
}
if (m_fDoorPos == 0.0f) {
CGarages::CrushedCarId = CPools::GetVehiclePool()->GetIndex(m_pTarget);
float reward = Min(CRUSHER_MAX_REWARD, CRUSHER_MIN_REWARD + m_pTarget->pHandling->nMonetaryValue * m_pTarget->m_fHealth * CRUSHER_REWARD_COEFFICIENT);
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += reward;
DestroyVehicleAndDriverAndPassengers(m_pTarget);
//++CStats::CarsCrushed;
m_pTarget = nil;
m_eGarageState = GS_AFTERDROPOFF;
m_nTimeToStartAction = CTimer::GetTimeInMilliseconds() + TIME_TO_CRUSH_CAR;
DMAudio.PlayOneShot(hGarages, SOUND_GARAGE_DOOR_CLOSED, 1.0f);
}
}
else
m_eGarageState = GS_OPENING;
UpdateCrusherAngle();
break;
case GS_AFTERDROPOFF:
if (CTimer::GetTimeInMilliseconds() <= m_nTimeToStartAction) {
UpdateCrusherShake((myrand() & 0xFF - 128) * 0.0002f, (myrand() & 0xFF - 128) * 0.0002f);
}
else {
UpdateCrusherShake(0.0f, 0.0f);
m_eGarageState = GS_OPENING;
}
break;
case GS_OPENING:
m_fDoorPos = Min(HALFPI, m_fDoorPos + CTimer::GetTimeStep() * CRUSHER_CRANE_SPEED);
if (m_fDoorPos == HALFPI) {
m_eGarageState = GS_OPENED;
DMAudio.PlayOneShot(hGarages, SOUND_GARAGE_DOOR_OPENED, 1.0f);
}
UpdateCrusherAngle();
break;
//case GS_FULLYCLOSED:
//case GS_CLOSEDCONTAINSCAR:
//case GS_OPENEDCONTAINSCAR:
default:
break;
}
if (!FindPlayerVehicle() && (CTimer::GetFrameCounter() & 0x1F) == 0x17 && IsEntityEntirelyInside3D(FindPlayerPed(), 0.0f))
FindPlayerPed()->InflictDamage(nil, WEAPONTYPE_RAMMEDBYCAR, 300.0f, PEDPIECE_TORSO, 0);
break; break;
}
case GARAGE_MISSION_KEEPCAR: case GARAGE_MISSION_KEEPCAR:
case GARAGE_MISSION_KEEPCAR_REMAINCLOSED: case GARAGE_MISSION_KEEPCAR_REMAINCLOSED:
switch (m_eGarageState) { switch (m_eGarageState) {
@ -1494,13 +1566,14 @@ void CGarage::BuildRotatedDoorMatrix(CEntity * pDoor, float fPosition)
void CGarage::UpdateCrusherAngle() void CGarage::UpdateCrusherAngle()
{ {
RefreshDoorPointers(false); RefreshDoorPointers(false);
//m_pDoor2->GetMatrix().SetRotateXOnly(TWOPI - m_fDoorPos); TODO m_pDoor1->GetMatrix().SetRotateXOnly(TWOPI - m_fDoorPos);
//m_pDoor2->GetMatrix().UpdateRW(); m_pDoor1->GetMatrix().UpdateRW();
//m_pDoor2->UpdateRwFrame(); m_pDoor1->UpdateRwFrame();
} }
void CGarage::UpdateCrusherShake(float X, float Y) void CGarage::UpdateCrusherShake(float X, float Y)
{ {
/*
RefreshDoorPointers(false); RefreshDoorPointers(false);
m_pDoor1->GetMatrix().GetPosition().x += X; m_pDoor1->GetMatrix().GetPosition().x += X;
m_pDoor1->GetMatrix().GetPosition().y += Y; m_pDoor1->GetMatrix().GetPosition().y += Y;
@ -1514,6 +1587,7 @@ void CGarage::UpdateCrusherShake(float X, float Y)
m_pDoor2->UpdateRwFrame(); m_pDoor2->UpdateRwFrame();
m_pDoor2->GetMatrix().GetPosition().x -= X; m_pDoor2->GetMatrix().GetPosition().x -= X;
m_pDoor2->GetMatrix().GetPosition().y -= Y; m_pDoor2->GetMatrix().GetPosition().y -= Y;
*/
} }
void CGarage::RefreshDoorPointers(bool bCreate) void CGarage::RefreshDoorPointers(bool bCreate)
@ -1749,15 +1823,17 @@ void CGarage::FindDoorsEntities()
} }
} }
if (m_pDoor1 && m_pDoor2) { if (m_pDoor1 && m_pDoor2) {
CVector2D vecDoor1ToGarage(m_pDoor1->GetPosition().x - GetGarageCenterX(), m_pDoor1->GetPosition().y - GetGarageCenterY()); if (m_pDoor1->GetModelIndex() != MI_LCS_GARAGEDOOR39 && m_pDoor1->GetModelIndex() != MI_LCS_GARAGEDOOR40) {
CVector2D vecDoor2ToGarage(m_pDoor2->GetPosition().x - GetGarageCenterX(), m_pDoor2->GetPosition().y - GetGarageCenterY()); CVector2D vecDoor1ToGarage(m_pDoor1->GetPosition().x - GetGarageCenterX(), m_pDoor1->GetPosition().y - GetGarageCenterY());
if (DotProduct2D(vecDoor1ToGarage, vecDoor2ToGarage) > 0.0f) { CVector2D vecDoor2ToGarage(m_pDoor2->GetPosition().x - GetGarageCenterX(), m_pDoor2->GetPosition().y - GetGarageCenterY());
if (vecDoor1ToGarage.MagnitudeSqr() >= vecDoor2ToGarage.MagnitudeSqr()) { if (DotProduct2D(vecDoor1ToGarage, vecDoor2ToGarage) > 0.0f) {
m_pDoor1 = m_pDoor2; if (vecDoor1ToGarage.MagnitudeSqr() >= vecDoor2ToGarage.MagnitudeSqr()) {
m_bDoor1IsDummy = m_bDoor2IsDummy; m_pDoor1 = m_pDoor2;
m_bDoor1IsDummy = m_bDoor2IsDummy;
}
m_pDoor2 = nil;
m_bDoor2IsDummy = false;
} }
m_pDoor2 = nil;
m_bDoor2IsDummy = false;
} }
} }
if (m_pDoor1) if (m_pDoor1)
@ -2331,27 +2407,44 @@ void CGarages::Load(uint8* buf, uint32 size)
bool bool
CGarages::IsModelIndexADoor(uint32 id) CGarages::IsModelIndexADoor(uint32 id)
{ {
return id == MI_GARAGEDOOR2 || return id == MI_LCS_GARAGEDOOR01 ||
id == MI_GARAGEDOOR3 || id == MI_LCS_GARAGEDOOR02 ||
id == MI_GARAGEDOOR4 || id == MI_LCS_GARAGEDOOR03 ||
id == MI_GARAGEDOOR5 || id == MI_LCS_GARAGEDOOR04 ||
id == MI_GARAGEDOOR6 || id == MI_LCS_GARAGEDOOR05 ||
id == MI_GARAGEDOOR7 || id == MI_LCS_GARAGEDOOR06 ||
id == MI_GARAGEDOOR9 || id == MI_LCS_GARAGEDOOR07 ||
id == MI_GARAGEDOOR10 || id == MI_LCS_GARAGEDOOR08 ||
id == MI_GARAGEDOOR11 || id == MI_LCS_GARAGEDOOR09 ||
id == MI_GARAGEDOOR12 || id == MI_LCS_GARAGEDOOR10 ||
id == MI_GARAGEDOOR13 || id == MI_LCS_GARAGEDOOR11 ||
id == MI_GARAGEDOOR14 || id == MI_LCS_GARAGEDOOR12 ||
id == MI_GARAGEDOOR15 || id == MI_LCS_GARAGEDOOR13 ||
id == MI_GARAGEDOOR16 || id == MI_LCS_GARAGEDOOR14 ||
id == MI_GARAGEDOOR18 || id == MI_LCS_GARAGEDOOR15 ||
id == MI_GARAGEDOOR19 || id == MI_LCS_GARAGEDOOR16 ||
id == MI_GARAGEDOOR20 || id == MI_LCS_GARAGEDOOR17 ||
id == MI_GARAGEDOOR21 || id == MI_LCS_GARAGEDOOR18 ||
id == MI_GARAGEDOOR22 || id == MI_LCS_GARAGEDOOR19 ||
id == MI_GARAGEDOOR23 || id == MI_LCS_GARAGEDOOR20 ||
id == MI_GARAGEDOOR24 || id == MI_LCS_GARAGEDOOR21 ||
id == MI_GARAGEDOOR25 || id == MI_LCS_GARAGEDOOR22 ||
id == MI_GARAGEDOOR26; id == MI_LCS_GARAGEDOOR23 ||
id == MI_LCS_GARAGEDOOR24 ||
id == MI_LCS_GARAGEDOOR25 ||
id == MI_LCS_GARAGEDOOR26 ||
id == MI_LCS_GARAGEDOOR27 ||
id == MI_LCS_GARAGEDOOR28 ||
id == MI_LCS_GARAGEDOOR29 ||
id == MI_LCS_GARAGEDOOR30 ||
id == MI_LCS_GARAGEDOOR31 ||
id == MI_LCS_GARAGEDOOR32 ||
id == MI_LCS_GARAGEDOOR33 ||
id == MI_LCS_GARAGEDOOR34 ||
id == MI_LCS_GARAGEDOOR35 ||
id == MI_LCS_GARAGEDOOR36 ||
id == MI_LCS_GARAGEDOOR37 ||
id == MI_LCS_GARAGEDOOR38 ||
id == MI_LCS_GARAGEDOOR39 ||
id == MI_LCS_GARAGEDOOR40;
} }

View file

@ -1676,3 +1676,19 @@ CPed::CreateDeadPedPickupCoors(float *x, float *y, float *z)
*z = GetPosition().z + 0.4f; *z = GetPosition().z + 0.4f;
#undef NUMBER_OF_ATTEMPTS #undef NUMBER_OF_ATTEMPTS
} }
float CPickups::GetValue(int index)
{
int i = GetActualPickupIndex(index);
if (i == -1)
return 0.0f;
return aPickUps[i].m_fRevenue;
}
void CPickups::SetValue(int index, float value)
{
int i = GetActualPickupIndex(index);
if (i == -1)
return;
aPickUps[i].m_fRevenue = value;
}

View file

@ -117,6 +117,9 @@ public:
static void RemoveAllPickupsOfACertainWeaponGroupWithNoAmmo(eWeaponType); static void RemoveAllPickupsOfACertainWeaponGroupWithNoAmmo(eWeaponType);
static CPickup *FindPickUpForThisObject(CEntity*); static CPickup *FindPickUpForThisObject(CEntity*);
static float GetValue(int);
static void SetValue(int, float);
}; };
extern uint16 AmmoForWeapon[WEAPONTYPE_TOTALWEAPONS + 1]; extern uint16 AmmoForWeapon[WEAPONTYPE_TOTALWEAPONS + 1];

View file

@ -1647,166 +1647,166 @@ const tScriptCommandData commands[] = {
REGISTER_COMMAND(COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_STORE_CAR_COLLIDED_WITH_NO_SAVE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_STORE_CAR_COLLIDED_WITH_NO_SAVE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1497, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DISABLE_FERRY_PATH, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1498, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ENABLE_FERRY_PATH, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1499, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_CLOSEST_DOCKED_FERRY, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1500, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_OPEN_FERRY_DOOR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1501, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CLOSE_FERRY_DOOR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1502, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_FERRY_DOOR_OPEN, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1503, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_FERRY_DOOR_CLOSED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1504, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SKIP_FERRY_TO_NEXT_DOCK, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1505, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_DROPS_WEAPONS_ON_DEATH, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1506, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_CHAR_CROUCHING, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1507, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_FERRY_BOARDING_SPACE, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1508, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_FERRY_HEADING, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1509, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_FERRIES_ENABLED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1510, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_COMPLETE_FERRY_DOOR_MOVEMENT, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1511, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_OVERRIDE_CAR_REMOTE_CONTROL, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1512, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CANCEL_REMOTE_MODE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1513, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_CAR_SOLD, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1514, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_WITH_CAR_SALES, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1515, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_BRIDGE_STATE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1516, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_OBJECT_TURN_SPEED, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1517, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_OBJECT_MASS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1518, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_HAS_CUTSCENE_LOADED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1519, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_UNIQUE_JUMPS_FOUND, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1520, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_HIDDEN_PACKAGES_COLLECTED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1521, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_BIKE_SOLD, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1522, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_WITH_BIKE_SALES, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1523, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_PACKAGE_SMUGGLED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1524, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_SMUGGLER_WASTED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1525, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_FASTEST_SMUGGLING_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1526, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_DIVE_FROM_CAR, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1527, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_WRECK_CAR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1528, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_IN_COACH, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1529, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_COLLECTING_TRASH, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1530, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_HITMAN_KILLED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1531, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_GUARDIAN_ANGEL_MISSION_PASSED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1532, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_HIGHEST_GUARDIAN_ANGEL_JUSTICE_DISHED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1533, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_BEST_BANDIT_LAP_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1534, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_BEST_BANDIT_POSITION, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1535, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_MOST_TIME_LEFT_TRAIN_RACE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1536, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_HIGHEST_TRAIN_CASH_EARNED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1537, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_FASTEST_HELI_RACE_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1538, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_BEST_HELI_RACE_POSITION, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1539, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_OUTFIT_CHANGE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1540, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_STREET_RACE_FASTEST_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1541, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_STREET_RACE_FASTEST_LAP, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1542, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_STREET_RACE_BEST_POSITION, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1543, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_HAS_OBJECT_BEEN_DAMAGED_BY_WEAPON, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1544, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CLEAR_OBJECT_LAST_WEAPON_DAMAGE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1545, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CAR_TURN_SPEED, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1546, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CAR_MOVE_SPEED, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1547, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_OBJECT_PROOFS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1548, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_CAMERA_PED_ZOOM_INDICATOR, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1549, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CAMERA_PED_ZOOM_INDICATOR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1550, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_CAR_ORIENTATION, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1551, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CAR_ORIENTATION, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1552, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_DEBUG_MENU_ON, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1553, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_OPEN_VAN_BACK_DOORS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1554, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_CHAR_THREAT_CHAR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1555, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_FREEZE_PED_ZOOM_SWITCH, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1556, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_OBJECT_RENDERED_DAMAGED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1557, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_RANDOM_CAR_IN_AREA_NO_SAVE, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1558, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_PLAYER_MADE_SAFE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1559, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_IF_FREE, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1560, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""), REGISTER_COMMAND(COMMAND_IS_E3_BUILD, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1561, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DECLARE_FORT_STAUNTON_DESTROYED_FLAG, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1562, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CLEAR_BIG_MESSAGES, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1563, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CLEAR_AREA_OF_OBJECTS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1564, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_LOAD_NON_STANDARD_PED_ANIM, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1565, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_UNLOAD_NON_STANDARD_PED_ANIM, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1566, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_1566, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1567, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_BUILD_WORLD_GEOMETRY, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1568, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_STORE_BUILDING_SWAP, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1569, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""), REGISTER_COMMAND(COMMAND_IS_MULTIPLAYER_ACTIVE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1570, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_MULTIPLAYER_MODE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1571, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_MULTIPLAYER_SCRIPT_DONE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1572, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_MULTIPLAYER_SERVER, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1573, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_MULTIPLAYER_TEAM_GAME, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1574, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_MULTIPLAYER_TEAM_ID, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1575, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DOES_SHORTCUT_TAXI_EXIST, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1576, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_ONSCREEN_TIMER_COLOUR, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1577, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_ONSCREEN_TIMER_BACKGROUND_COLOUR, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1578, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REMOVE_CAR_BOOT, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1579, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_POINT_3D_MARKER, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1580, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_VECTOR_FROM_MULTIPLAYER, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1581, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_ALWAYS, INPUT_ARGUMENTS(ARGTYPE_STRING, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1582, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_FOREVER_ALWAYS, INPUT_ARGUMENTS(ARGTYPE_STRING, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1583, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SWITCH_FERRY_COLLISION, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1584, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_MAX_HEALTH, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1585, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_SHOOT_TIMER, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1586, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_ATTACK_TIMER, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1587, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_HELI_ROTOR_BLADES_FULLSPEED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1588, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CRUSHER_REWARD_MULTIPLIER, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1589, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SWAP_BUILDINGS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1590, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_STREAM_BUILDING_SWAPS, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1591, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_WORLD_STREAMING_COMPLETE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1592, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SWAP_TO_STREAMED_SECTOR, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1593, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_ATTACKS_PLAYER_WITH_COPS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1594, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_FACE_PLANT_DISTANCE, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1595, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_MAX_SECONDS_ON_CARNAGE_LEFT, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1596, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_MAX_KILLS_ON_RC_TRIAD, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1597, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_HIGHEST_LEVEL_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1598, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_WITH_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1599, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_TOTAL_KILLS_ON_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1600, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_NOODLES_DELIEVERED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1601, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_SCRAPYARD_CHALLENGE_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1602, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_9MM_MAYHEM_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1603, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_SCOOTER_SHOOTER_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1604, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_FROM_TOURIST, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1605, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_TOURISTS_TAKEN_TO_SPOTS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1606, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_EXPORTED_CARS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1607, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_TOTAL_EXPORT_CARS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1608, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_DIRT_BIKE_FASTEST_LAP, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1609, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_DIRT_BIKE_FASTEST_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1610, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_DIRT_BIKE_AIR_TIME, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1611, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_ARROW_3D_MARKER, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1612, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_NOW_OVERRIDE_FADE, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1613, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_PICKUP_VALUE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1614, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_PICKUP_VALUE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1615, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_DEVELOPER, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1616, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_DEVELOPER_FLAG, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1617, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_WICHITA_WIPEOUT_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1618, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ATTACH_OBJECT_TO_CAR, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1619, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DETACH_OBJECT_FROM_CAR, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1620, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_PAD_STICKS_MULTIPLIER, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1621, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_SUBTITLE_NOW, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1622, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_SUBTITLE_NOW_OVERRIDE_FADE, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1623, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_SUBTITLE_NOW_NO_BRIEF, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1624, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_WITH_NUMBER_NOW_NO_BRIEF, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1625, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_ANGLE_BETWEEN_POINTS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1626, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_OVERRIDE_CHAR_MOVE_ANIM, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1627, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_1627, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1628, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ENABLE_EMERGENCY_VEHICLES, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1629, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_UNLOCKED_COSTUME, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1630, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CLEAR_MULTIPLAYER_SPLASH_SCREEN, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1631, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_WITH_2_NUMBERS_NOW_NO_BRIEF, INPUT_ARGUMENTS(ARGTYPE_STRING, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1632, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_OBJECT_ORIENTATION, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1633, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_OBJECT_ORIENTATION, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1634, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_CHANGE_ONSCREEN_COUNTER_PREFIX, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1635, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_STORE_PLAYER_OUTFIT, INPUT_ARGUMENTS(ARGTYPE_STRING, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1636, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_STRING, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_STRING, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1637, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_PLAYER_CURRENT_WEAPON_AMMO_IN_CLIP, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1638, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_WAIT_STATE_REPEAT, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1639, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_BEST_TIME_GOGO_FAGGIO, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1640, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_LOCK_GARAGE, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1641, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_FINAL_GAME, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1642, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_ALLOWED_COLLISION, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1643, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_GUARDIAN_ANGEL_LEVEL, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1644, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_2_STRINGS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_STRING, ARGTYPE_STRING, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1645, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_GET_PLAYER_STORED_WEAPON, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
REGISTER_COMMAND(COMMAND_1646, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_DISABLE_PAUSE_MENU, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1647, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_IS_CHANNEL_PLAYING, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
REGISTER_COMMAND(COMMAND_1648, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CLOCK_EVENT_WARNING, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1649, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_EXTRA_COLOUR_LIGHT_DIRECTION, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1650, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_CHAR_CAN_BE_TARGETTED_BY_LEADER, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1651, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_NO_BRIEF, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1652, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_FOREVER_NO_BRIEF, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1653, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_ALWAYS_NO_BRIEF, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1654, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_PRINT_HELP_FOREVER_ALWAYS_NO_BRIEF, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1655, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_SET_MISSION_CAR_CAN_BE_STORED_IN_GARAGE, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
REGISTER_COMMAND(COMMAND_1656, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_FREEZE_ALL_PLAYER_FOLLOWERS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
}; };
#undef REGISTER_COMMAND #undef REGISTER_COMMAND
#undef INPUT_ARGUMENTS #undef INPUT_ARGUMENTS
@ -2930,7 +2930,7 @@ int8 CRunningScript::ProcessOneCommand()
case ARGTYPE_STRING: sprintf(tmp, " '%s'", (const char*)&CTheScripts::ScriptSpace[m_nIp]); m_nIp += KEY_LENGTH_IN_SCRIPT; break; case ARGTYPE_STRING: sprintf(tmp, " '%s'", (const char*)&CTheScripts::ScriptSpace[m_nIp]); m_nIp += KEY_LENGTH_IN_SCRIPT; break;
case ARGTYPE_LABEL: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, var ? " (%s(%d))" : " %s(%d)", value >= 0 ? "G" : "L", abs(value)); break; case ARGTYPE_LABEL: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, var ? " (%s(%d))" : " %s(%d)", value >= 0 ? "G" : "L", abs(value)); break;
case ARGTYPE_BOOL: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, var ? " (%s)" : " %s", value ? "TRUE" : "FALSE"); break; case ARGTYPE_BOOL: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, var ? " (%s)" : " %s", value ? "TRUE" : "FALSE"); break;
case ARGTYPE_ANDOR: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, " %d %ss", (value + 1) % 10, value / 10 == 0 ? "AND" : "OR"); break; case ARGTYPE_ANDOR: value = CollectParameterForDebug(commandInfo, var); sprintf(tmp, " %d %ss", (value) % 10, value / 10 == 0 ? "AND" : "OR"); break;
default: script_assert(0); default: script_assert(0);
} }
strcat(commandInfo, tmp); strcat(commandInfo, tmp);
@ -4621,10 +4621,8 @@ int8 CRunningScript::ProcessCommands200To299(int32 command)
m_bCondResult = false; // pointless m_bCondResult = false; // pointless
}else if (m_nAndOrState >= ANDS_1 && m_nAndOrState <= ANDS_8){ }else if (m_nAndOrState >= ANDS_1 && m_nAndOrState <= ANDS_8){
m_bCondResult = true; m_bCondResult = true;
m_nAndOrState++;
}else if (m_nAndOrState >= ORS_1 && m_nAndOrState <= ORS_8){ }else if (m_nAndOrState >= ORS_1 && m_nAndOrState <= ORS_8){
m_bCondResult = false; m_bCondResult = false;
m_nAndOrState++;
}else{ }else{
script_assert(0 && "COMMAND_ANDOR: invalid ANDOR state"); script_assert(0 && "COMMAND_ANDOR: invalid ANDOR state");
} }

View file

@ -3,209 +3,411 @@
#include "Script.h" #include "Script.h"
#include "ScriptCommands.h" #include "ScriptCommands.h"
#include "CarCtrl.h"
#include "DMAudio.h"
#include "Frontend.h"
#include "GameLogic.h"
#include "General.h"
#include "Hud.h"
#include "Messages.h"
#include "Object.h"
#include "Pad.h"
#include "Pickups.h"
#include "PlayerPed.h" #include "PlayerPed.h"
#include "Pools.h"
#include "Vehicle.h"
#include "SpecialFX.h"
#include "Stats.h"
#include "User.h"
#include "Weather.h"
#include "World.h" #include "World.h"
bool gDeveloperFlag;
int8 CRunningScript::ProcessCommands1600To1699(int32 command) int8 CRunningScript::ProcessCommands1600To1699(int32 command)
{ {
switch (command) { switch (command) {
case COMMAND_1600: case COMMAND_ADD_NOODLES_DELIEVERED:
script_assert(false);
return 0;
case COMMAND_1601:
script_assert(false);
return 0;
case COMMAND_1602:
script_assert(false);
return 0;
case COMMAND_1603:
script_assert(false);
return 0;
case COMMAND_1604:
script_assert(false);
return 0;
case COMMAND_1605:
script_assert(false);
return 0;
case COMMAND_1606:
script_assert(false);
return 0;
case COMMAND_1607:
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
// TODO (SET_TOTAL_CARS_FOR_EXPORT) // CStats::NoodlesDelievered += GET_INTEGER_PARAM(0);
return 0; return 0;
case COMMAND_1608: case COMMAND_REGISTER_SCRAPYARD_CHALLENGE_SCORE:
script_assert(false); //CStats::TopScrapyardChallengeScore = Max(CStats::TopScrapyardChallengeScore, GET_INTEGER_PARAM(0));
return 0; return 0;
case COMMAND_1609: case COMMAND_REGISTER_9MM_MAYHEM_SCORE:
script_assert(false); //CStats::Top9mmMayhemScore = Max(CStats::Top9mmMayhemScore, GET_INTEGER_PARAM(0));
return 0; return 0;
case COMMAND_1610: case COMMAND_REGISTER_SCOOTER_SHOOTER_SCORE:
script_assert(false); //CStats::TopScooterShooterScore = Max(CStats::TopScooterShooterScore, GET_INTEGER_PARAM(0));
return 0; return 0;
case COMMAND_1611: case COMMAND_ADD_MONEY_MADE_FROM_TOURIST:
script_assert(false); CollectParameters(&m_nIp, 1);
// CStats::MoneyMadeFromTourist += GET_INTEGER_PARAM(0);
return 0; return 0;
case COMMAND_1612: case COMMAND_ADD_TOURISTS_TAKEN_TO_SPOTS:
script_assert(false); CollectParameters(&m_nIp, 1);
// CStats::TouristsTakenToSpots += GET_INTEGER_PARAM(0);
return 0; return 0;
case COMMAND_1613: case COMMAND_ADD_EXPORTED_CARS:
script_assert(false); CollectParameters(&m_nIp, 1);
// CStats::NumberOfExportedCars += GET_INTEGER_PARAM(0);
return 0; return 0;
case COMMAND_1614: case COMMAND_SET_TOTAL_EXPORT_CARS:
script_assert(false); CollectParameters(&m_nIp, 1);
// CStats::TotalNumberOfCarExport = GET_INTEGER_PARAM(0);
return 0; return 0;
case COMMAND_1615: case COMMAND_REGISTER_DIRT_BIKE_FASTEST_LAP:
// TODO (GET_DEVELOPER_FLAG?) CollectParameters(&m_nIp, 2);
UpdateCompareFlag(false); // CStats::RegisterDirtBikeFastestLap(GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1));
return 0; return 0;
case COMMAND_1616: case COMMAND_REGISTER_DIRT_BIKE_FASTEST_TIME:
// TODO (SET_DEVELOPER_FLAG) CollectParameters(&m_nIp, 2);
// CStats::RegisterDirtBikeFastestTime(GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1));
return 0; return 0;
case COMMAND_1617: case COMMAND_REGISTER_DIRT_BIKE_AIR_TIME:
script_assert(false); //CStats::DirtBikeMostAir = Max(CStats::DirtBikeMostAir, GET_INTEGER_PARAM(0));
return 0; return 0;
case COMMAND_1618: case COMMAND_ADD_ARROW_3D_MARKER:
script_assert(false); {
uint32 ip = m_nIp;
uint32 id = (uint32)(uintptr)GetPointerToScriptVariable(&m_nIp, 0);
CollectParameters(&m_nIp, 10);
CVector pos = GET_VECTOR_PARAM(0);
CVector dir = GET_VECTOR_PARAM(3);
pos.z += GET_FLOAT_PARAM(9) + 7.0f;
//C3dMarkers::PlaceMarker(id, MARKERTYPE_ARROW, pos, GET_INTEGER_PARAM(6), GET_INTEGER_PARAM(7), GET_INTEGER_PARAM(8), 200, 1, 3.2f, 1, dir, 1.0f, 0, 0); - TODO
return 0; return 0;
case COMMAND_1619: }
script_assert(false); case COMMAND_PRINT_NOW_OVERRIDE_FADE:
return 0;
case COMMAND_1620:
script_assert(false);
return 0;
case COMMAND_1621:
{ {
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp); wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
// TODO (SET_SUBTITLE_TEXT) CMessages::AddMessageJumpQ(key, GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1)); // true, true
return 0; return 0;
} }
case COMMAND_1622: case COMMAND_GET_PICKUP_VALUE:
script_assert(false);
return 0;
case COMMAND_1623:
script_assert(false);
return 0;
case COMMAND_1624:
script_assert(false);
return 0;
case COMMAND_1625:
script_assert(false);
return 0;
case COMMAND_1626:
script_assert(false);
return 0;
case COMMAND_1627:
script_assert(false);
return 0;
case COMMAND_1628:
script_assert(false);
return 0;
case COMMAND_1629:
script_assert(false);
return 0;
case COMMAND_1630:
script_assert(false);
return 0;
case COMMAND_1631:
script_assert(false);
return 0;
case COMMAND_1632:
script_assert(false);
return 0;
case COMMAND_1633:
script_assert(false);
return 0;
case COMMAND_1634:
script_assert(false);
return 0;
case COMMAND_1635:
{
char tmp[12]; // TODO
CTheScripts::ReadTextLabelFromScript(&m_nIp, tmp);
m_nIp += KEY_LENGTH_IN_SCRIPT;
// TODO (CHANGE_STORED_PLAYER_OUTFIT?)
return 0;
}
case COMMAND_1636:
script_assert(false);
return 0;
case COMMAND_1637:
script_assert(false);
return 0;
case COMMAND_1638:
script_assert(false);
return 0;
case COMMAND_1639:
script_assert(false);
return 0;
case COMMAND_1640:
CollectParameters(&m_nIp, 2);
// TODO (LOCK_GARAGE?)
return 0;
case COMMAND_1641:
// TODO
UpdateCompareFlag(true);
return 0;
case COMMAND_1642:
script_assert(false);
return 0;
case COMMAND_1643:
script_assert(false);
return 0;
case COMMAND_1644:
script_assert(false);
return 0;
case COMMAND_1645:
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
// TODO (GET_STORED_WEAPON?) SET_INTEGER_PARAM(0, CPickups::GetValue(GET_INTEGER_PARAM(0)));
CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed; return 0;
script_assert(pPed); }
ScriptParams[0] = pPed->m_storedWeapon; case COMMAND_SET_PICKUP_VALUE:
{
CollectParameters(&m_nIp, 2);
CPickups::SetValue(GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1));
return 0;
}
case COMMAND_IS_DEVELOPER:
UpdateCompareFlag(gDeveloperFlag);
return 0;
case COMMAND_SET_DEVELOPER_FLAG:
CollectParameters(&m_nIp, 1);
gDeveloperFlag = GET_INTEGER_PARAM(0);
return 0;
case COMMAND_REGISTER_WICHITA_WIPEOUT_SCORE:
CollectParameters(&m_nIp, 1);
//CStats::TopWichitaWipeoutScore = Max(CStats::TopWichitaWipeoutScore, GET_INTEGER_PARAM(0));
return 0;
case COMMAND_ATTACH_OBJECT_TO_CAR:
{
CollectParameters(&m_nIp, 5);
CObject* pObject = CPools::GetObjectPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pObject);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(GET_INTEGER_PARAM(1));
script_assert(pVehicle);
CVector offset = GET_VECTOR_PARAM(2);
// pObject->AttachObjectToEntity(pVehicle, offset);
return 0;
}
case COMMAND_DETACH_OBJECT_FROM_CAR:
{
CollectParameters(&m_nIp, 1);
CObject* pObject = CPools::GetObjectPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pObject);
// if (pObject && pObject->m_pAttachedTo)
// pObject->DettachObjectFromEntity();
return 0;
}
case COMMAND_SET_PAD_STICKS_MULTIPLIER:
{
CollectParameters(&m_nIp, 2);
CPad::GetPad(0)->unk_B4 = GET_FLOAT_PARAM(0);
CPad::GetPad(0)->unk_B8 = GET_FLOAT_PARAM(1);
return 0;
}
case COMMAND_PRINT_SUBTITLE_NOW:
{
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 2);
if (FrontEndMenuManager.m_PrefsShowSubtitles)
CMessages::AddMessageJumpQ(key, GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1)); // false, true
else
CMessages::AddToPreviousBriefArray(key, -1, -1, -1, -1, -1, -1, nil);
return 0;
}
case COMMAND_PRINT_SUBTITLE_NOW_OVERRIDE_FADE:
{
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 2);
if (FrontEndMenuManager.m_PrefsShowSubtitles)
CMessages::AddMessageJumpQ(key, GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1)); // true, true
else
CMessages::AddToPreviousBriefArray(key, -1, -1, -1, -1, -1, -1, nil);
return 0;
}
case COMMAND_PRINT_SUBTITLE_NOW_NO_BRIEF:
{
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 2);
if (FrontEndMenuManager.m_PrefsShowSubtitles)
CMessages::AddMessageJumpQ(key, GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1)); // false, false
else
CMessages::AddToPreviousBriefArray(key, -1, -1, -1, -1, -1, -1, nil);
return 0;
}
case COMMAND_PRINT_WITH_NUMBER_NOW_NO_BRIEF:
{
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 3);
CMessages::AddMessageJumpQWithNumber(key, GET_INTEGER_PARAM(1), GET_INTEGER_PARAM(2), GET_INTEGER_PARAM(0), -1, -1, -1, -1, -1); // 0
return 0;
}
case COMMAND_GET_ANGLE_BETWEEN_POINTS:
{
CollectParameters(&m_nIp, 4);
SET_FLOAT_PARAM(0, CGeneral::GetAngleBetweenPoints(GET_FLOAT_PARAM(0), GET_FLOAT_PARAM(1), GET_FLOAT_PARAM(2), GET_FLOAT_PARAM(3)));
StoreParameters(&m_nIp, 1); StoreParameters(&m_nIp, 1);
return 0; return 0;
} }
case COMMAND_1646: case COMMAND_OVERRIDE_CHAR_MOVE_ANIM:
{
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
// TODO (DISABLE_PAUSE_MENU?) CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pPed);
pPed->bOverrideMoveAnim = true;
return 0; return 0;
case COMMAND_1647: }
case COMMAND_1627:
{
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
// TODO (IS_CHANNEL_PLAYING?) // something related to debug menu, not implemented
return 0;
}
case COMMAND_ENABLE_EMERGENCY_VEHICLES:
{
CollectParameters(&m_nIp, 1);
gbEmergencyVehiclesEnabled = GET_INTEGER_PARAM(0) != 0;
return 0;
}
case COMMAND_ADD_UNLOCKED_COSTUME:
CollectParameters(&m_nIp, 1);
// CStats::AddUnlockedCostume(GET_INTEGER_PARAM(0));
return 0;
case COMMAND_CLEAR_MULTIPLAYER_SPLASH_SCREEN:
// ClearMultiplayerSplashScreen();
return 0;
case COMMAND_PRINT_WITH_2_NUMBERS_NOW_NO_BRIEF:
{
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 3);
CMessages::AddMessageJumpQWithNumber(key, GET_INTEGER_PARAM(2), GET_INTEGER_PARAM(3), GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1), -1, -1, -1, -1); // 0
return 0;
}
case COMMAND_GET_OBJECT_ORIENTATION:
{
CollectParameters(&m_nIp, 1);
CObject* pObject = CPools::GetObjectPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pObject);
SET_FLOAT_PARAM(1, LimitAngleOnCircle(RADTODEG(Asin(pObject->GetForward().z))));
SET_FLOAT_PARAM(2, LimitAngleOnCircle(RADTODEG(CGeneral::GetATanOfXY(pObject->GetForward().x, pObject->GetForward().y))));
SET_FLOAT_PARAM(0, LimitAngleOnCircle(RADTODEG(CGeneral::GetATanOfXY(pObject->GetUp().z, pObject->GetRight().z))));
StoreParameters(&m_nIp, 3);
return 0;
}
case COMMAND_SET_OBJECT_ORIENTATION:
{
CollectParameters(&m_nIp, 4);
CObject* pObject = CPools::GetObjectPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pObject);
pObject->SetOrientation(DEGTORAD(GET_FLOAT_PARAM(2)), DEGTORAD(GET_FLOAT_PARAM(1)), DEGTORAD(GET_FLOAT_PARAM(3)));
return 0;
}
case COMMAND_CHANGE_ONSCREEN_COUNTER_PREFIX:
{
uint16 offset = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 1);
//CUserDisplay::OnscnTimer.ChangeCounterPrefix(offset, GET_INTEGER_PARAMS(0));
return 0;
}
case COMMAND_STORE_PLAYER_OUTFIT:
{
char tmp[12]; // TODO
CTheScripts::ReadTextLabelFromScript(&m_nIp, tmp);
for (int i = 0; i < KEY_LENGTH_IN_SCRIPT; i++)
CGameLogic::mStoredPlayerOutfit[i] = tmp[i];
printf("STORED PLAYOUR OUTFIT : %s\n", CGameLogic::mStoredPlayerOutfit);
m_nIp += KEY_LENGTH_IN_SCRIPT;
return 0;
}
case COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_STRING:
{
char onscreen_str1[12];
uint16 var = (uint8*)GetPointerToScriptVariable(&m_nIp, 0) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 2);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
strncpy(onscreen_str1, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += KEY_LENGTH_IN_SCRIPT;
CUserDisplay::OnscnTimer.AddCounter(var, GET_INTEGER_PARAM(1), onscreen_str1, 0); // TODO - second set of data
return 0;
}
case COMMAND_SET_PLAYER_CURRENT_WEAPON_AMMO_IN_CLIP:
{
CollectParameters(&m_nIp, 1);
CWeapon* pWeapon = FindPlayerPed()->GetWeapon();
if (pWeapon && GET_INTEGER_PARAM(0))
pWeapon->m_nAmmoInClip = GET_INTEGER_PARAM(0);
return 0;
}
case COMMAND_SET_CHAR_WAIT_STATE_REPEAT:
{
CollectParameters(&m_nIp, 3);
CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
if (pPed)
pPed->SetWaitState((eWaitState)GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1) >= 0 ? (void*)GET_INTEGER_PARAM(0) : nil); // + true
return 0;
}
case COMMAND_REGISTER_BEST_TIME_GOGO_FAGGIO:
CollectParameters(&m_nIp, 1);
// CStats::RegisterBestTimeGoGoFaggio(GET_INTEGER_PARAM(0));
return 0;
case COMMAND_LOCK_GARAGE:
CollectParameters(&m_nIp, 2);
// CGarages::LockGarage(GET_INTEGER_PARAM(0), GET_INTEGER_PARAM(1));
return 0;
case COMMAND_IS_FINAL_GAME:
#ifdef FINAL
UpdateCompareFlag(false);
#else
UpdateCompareFlag(true);
#endif
return 0;
case COMMAND_SET_ALLOWED_COLLISION:
{
CollectParameters(&m_nIp, 2);
CTheScripts::AllowedCollision[0] = GET_INTEGER_PARAM(0);
CTheScripts::AllowedCollision[1] = GET_INTEGER_PARAM(1);
return 0;
}
case COMMAND_REGISTER_GUARDIAN_ANGEL_LEVEL:
CollectParameters(&m_nIp, 3);
//CStats::GuardianAngelHighestLevel_Ind = Max(CStats::GuardianAngelHighestLevel_Ind, GET_INTEGER_PARAM(0));
//CStats::GuardianAngelHighestLevel_Com = Max(CStats::GuardianAngelHighestLevel_Com, GET_INTEGER_PARAM(1));
//CStats::GuardianAngelHighestLevel_Sub = Max(CStats::GuardianAngelHighestLevel_Sub, GET_INTEGER_PARAM(2));
return 0;
case COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_2_STRINGS:
{
char onscreen_str1[12];
char onscreen_str2[12];
uint16 var = (uint8*)GetPointerToScriptVariable(&m_nIp, 0) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 3);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
strncpy(onscreen_str1, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += KEY_LENGTH_IN_SCRIPT;
wchar* text2 = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]);
strncpy(onscreen_str2, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
m_nIp += KEY_LENGTH_IN_SCRIPT;
CUserDisplay::OnscnTimer.AddCounter(var, GET_INTEGER_PARAM(1), onscreen_str1, 0); // TODO - second set of data
}
case COMMAND_GET_PLAYER_STORED_WEAPON:
{
CollectParameters(&m_nIp, 1);
CPed* pPed = CWorld::Players[GET_INTEGER_PARAM(0)].m_pPed;
script_assert(pPed);
SET_INTEGER_PARAM(0, pPed->m_storedWeapon);
StoreParameters(&m_nIp, 1);
return 0;
}
case COMMAND_DISABLE_PAUSE_MENU:
CollectParameters(&m_nIp, 1);
// FrontEndMenuManager.mDisablePauseMenu = GET_INTEGER_PARAM(0) != 0; // TODO: static + member
return 0;
case COMMAND_IS_CHANNEL_PLAYING:
CollectParameters(&m_nIp, 1);
//UpdateCompareFlag(DMAudio.IsChannelPlaying(GET_INTEGER_PARAM(0));
UpdateCompareFlag(false); UpdateCompareFlag(false);
return 0; return 0;
case COMMAND_1648: case COMMAND_SET_CLOCK_EVENT_WARNING:
CollectParameters(&m_nIp, 3); CollectParameters(&m_nIp, 3);
// TODO (SET_CLOCK_EVENT_WARNING); /*
if (CHud::m_ClockEventWarningMinutes || GET_INTEGER_PARAMS(2)){
CHud::m_ClockEventWarningMinutes = GET_INTEGER_PARAMS(2);
CHud::m_ClockEventMinutes = GET_INTEGER_PARAMS(1);
CHud::m_ClockEventHours = GET_INTEGER_PARAMS(0);
CHud::m_ClockEventFlashTimer = 0;
}
*/
return 0; return 0;
case COMMAND_1649: case COMMAND_SET_EXTRA_COLOUR_LIGHT_DIRECTION:
CollectParameters(&m_nIp, 3); CollectParameters(&m_nIp, 3);
// TODO (SET_EXTRA_COLOUR_DIRECTION) // CWeather::ExtraColourLightDir = GET_VECTOR_PARAM(0);
// CWeather::ExtraColourLightDir.Normalise();
return 0; return 0;
case COMMAND_1650: case COMMAND_SET_CHAR_CAN_BE_TARGETTED_BY_LEADER:
script_assert(false); {
return 0;
case COMMAND_1651:
script_assert(false);
return 0;
case COMMAND_1652:
script_assert(false);
return 0;
case COMMAND_1653:
script_assert(false);
return 0;
case COMMAND_1654:
script_assert(false);
return 0;
case COMMAND_1655:
script_assert(false);
return 0;
case COMMAND_1656:
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
// TODO (?) CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pPed);
pPed->bCanBeTargettedByLeader = GET_INTEGER_PARAM(1) != 0;
return 0; return 0;
}
case COMMAND_PRINT_HELP_NO_BRIEF:
{
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CHud::SetHelpMessage(text, false); // + false, false
return 0;
}
case COMMAND_PRINT_HELP_FOREVER_NO_BRIEF:
{
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CHud::SetHelpMessage(text, false, true); // + false
return 0;
}
case COMMAND_PRINT_HELP_ALWAYS_NO_BRIEF:
{
// CHud::mAlwaysAllowHelpText = true;
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CHud::SetHelpMessage(text, false); // + false, false
return 0;
}
case COMMAND_PRINT_HELP_FOREVER_ALWAYS_NO_BRIEF:
{
// CHud::mAlwaysAllowHelpText = true;
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CHud::SetHelpMessage(text, false, true); // + false
return 0;
}
case COMMAND_SET_MISSION_CAR_CAN_BE_STORED_IN_GARAGE:
{
CollectParameters(&m_nIp, 2);
CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pVehicle);
pVehicle->bAllowGarageToStore = (GET_INTEGER_PARAM(1) != 0);
return 0;
}
case COMMAND_FREEZE_ALL_PLAYER_FOLLOWERS:
{
CollectParameters(&m_nIp, 2);
CPlayerPed* pPlayerPed = CWorld::Players[GET_INTEGER_PARAM(0)].m_pPed;
script_assert(pPlayerPed);
for (int i = 0; i < CPools::GetVehiclePool()->GetSize(); i++) {
CPed* pPed = CPools::GetPedPool()->GetSlot(i);
if (pPed && IsPedPointerValid(pPed)) {
if (pPed->m_leader == pPlayerPed || (pPed->m_objective == OBJECTIVE_FOLLOW_CHAR_IN_FORMATION && pPed->m_pedInObjective == pPlayerPed))
pPed->bIsFrozen = (GET_INTEGER_PARAM(1) != 0);
}
}
return 0;
}
default: default:
script_assert(0); script_assert(0);
} }

View file

@ -175,27 +175,27 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
*/ */
case COMMAND_DISPLAY_ONSCREEN_TIMER: case COMMAND_DISPLAY_ONSCREEN_TIMER:
{ {
uint16 offset = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 offset = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CUserDisplay::OnscnTimer.AddClock(offset, nil, GET_INTEGER_PARAM(0) != 0); CUserDisplay::OnscnTimer.AddClock(offset, nil, GET_INTEGER_PARAM(0) != 0);
return 0; return 0;
} }
case COMMAND_CLEAR_ONSCREEN_TIMER: case COMMAND_CLEAR_ONSCREEN_TIMER:
{ {
uint16 offset = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 offset = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CUserDisplay::OnscnTimer.ClearClock(offset); CUserDisplay::OnscnTimer.ClearClock(offset);
return 0; return 0;
} }
case COMMAND_DISPLAY_ONSCREEN_COUNTER: case COMMAND_DISPLAY_ONSCREEN_COUNTER:
{ {
uint16 counter = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 counter = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CUserDisplay::OnscnTimer.AddCounter(counter, GET_INTEGER_PARAM(0), nil, 0); CUserDisplay::OnscnTimer.AddCounter(counter, GET_INTEGER_PARAM(0), nil, 0);
return 0; return 0;
} }
case COMMAND_CLEAR_ONSCREEN_COUNTER: case COMMAND_CLEAR_ONSCREEN_COUNTER:
{ {
uint16 counter = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 counter = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CUserDisplay::OnscnTimer.ClearCounter(counter); CUserDisplay::OnscnTimer.ClearCounter(counter);
return 0; return 0;
} }
@ -624,7 +624,7 @@ int8 CRunningScript::ProcessCommands300To399(int32 command)
//case COMMAND_MOVE_CAMERA_ALONG_SPLINE: //case COMMAND_MOVE_CAMERA_ALONG_SPLINE:
//case COMMAND_GET_CAMERA_POSITION_ALONG_SPLINE: //case COMMAND_GET_CAMERA_POSITION_ALONG_SPLINE:
case COMMAND_DECLARE_MISSION_FLAG: case COMMAND_DECLARE_MISSION_FLAG:
CTheScripts::OnAMissionFlag = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; CTheScripts::OnAMissionFlag = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
return 0; return 0;
case COMMAND_DECLARE_MISSION_FLAG_FOR_CONTACT: case COMMAND_DECLARE_MISSION_FLAG_FOR_CONTACT:
return 0; return 0;
@ -1452,7 +1452,7 @@ int8 CRunningScript::ProcessCommands400To499(int32 command)
{ {
wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp); wchar* text = CTheScripts::GetTextByKeyFromScript(&m_nIp);
CollectParameters(&m_nIp, 3); CollectParameters(&m_nIp, 3);
CMessages::AddMessageJumpQWithNumber(text, GET_INTEGER_PARAM(1), GET_INTEGER_PARAM(2), GET_INTEGER_PARAM(0), -1, -1, -1, -1, -1); CMessages::AddMessageJumpQWithNumber(text, GET_INTEGER_PARAM(1), GET_INTEGER_PARAM(2), GET_INTEGER_PARAM(0), -1, -1, -1, -1, -1); // 1
return 0; return 0;
} }
case COMMAND_PRINT_WITH_NUMBER_SOON: case COMMAND_PRINT_WITH_NUMBER_SOON:

View file

@ -733,7 +733,7 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0)); CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pPed); script_assert(pPed);
pPed->m_animGroup = (AssocGroupId)GET_INTEGER_PARAM(1); pPed->m_animGroup = (AssocGroupId)GET_INTEGER_PARAM(1);
pPed->b1A1_20 = false; pPed->bOverrideMoveAnim = false;
return 0; return 0;
} }
/* /*

View file

@ -1754,7 +1754,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
*/ */
case COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_STRING: case COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_STRING:
{ {
uint16 var = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 var = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ??? wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT); strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);
@ -1764,7 +1764,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
} }
case COMMAND_DISPLAY_ONSCREEN_COUNTER_WITH_STRING: case COMMAND_DISPLAY_ONSCREEN_COUNTER_WITH_STRING:
{ {
uint16 var = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace; uint16 var = (uint8*)GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ??? wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT); strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);

View file

@ -565,7 +565,7 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command)
{ {
char onscreen_str[12]; char onscreen_str[12];
//script_assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR); //script_assert(CTheScripts::ScriptSpace[m_nIp++] == ARGUMENT_GLOBALVAR);
uint16 var = CTheScripts::Read2BytesFromScript(&m_nIp); uint16 var = (uint8*)GetPointerToScriptVariable(&m_nIp, 0) - CTheScripts::ScriptSpace;
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ??? wchar* text = TheText.Get((char*)&CTheScripts::ScriptSpace[m_nIp]); // ???
strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT); strncpy(onscreen_str, (char*)&CTheScripts::ScriptSpace[m_nIp], KEY_LENGTH_IN_SCRIPT);

View file

@ -26,6 +26,8 @@
#include "World.h" #include "World.h"
#include "Zones.h" #include "Zones.h"
// LCS: file done except TODOs (also check commented out strings)
int8 CRunningScript::ProcessCommands1400To1499(int32 command) int8 CRunningScript::ProcessCommands1400To1499(int32 command)
{ {
switch (command) { switch (command) {
@ -37,7 +39,7 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command)
{ {
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);
CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0)); CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
if (pPed && pPed->GetPedState() != PED_DRIVING && !pPed->GetPedState() != PED_AIM_GUN) { if (pPed && pPed->GetPedState() != PED_DRIVING && pPed->GetPedState() != PED_AIM_GUN) {
pPed->m_pVehicleAnim = nil; pPed->m_pVehicleAnim = nil;
pPed->RestartNonPartialAnims(); pPed->RestartNonPartialAnims();
RpAnimBlendClumpRemoveAllAssociations(pPed->GetClump()); RpAnimBlendClumpRemoveAllAssociations(pPed->GetClump());
@ -606,6 +608,7 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command)
} }
SET_INTEGER_PARAM(0, -1); SET_INTEGER_PARAM(0, -1);
StoreParameters(&m_nIp, 1); StoreParameters(&m_nIp, 1);
return 0;
} }
case COMMAND_REMOVE_SCRIPT_CORONA: case COMMAND_REMOVE_SCRIPT_CORONA:
CollectParameters(&m_nIp, 1); CollectParameters(&m_nIp, 1);

View file

@ -1498,166 +1498,166 @@ enum {
COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS, COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS,
COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE, COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE,
COMMAND_STORE_CAR_COLLIDED_WITH_NO_SAVE, COMMAND_STORE_CAR_COLLIDED_WITH_NO_SAVE,
COMMAND_1497, COMMAND_DISABLE_FERRY_PATH,
COMMAND_1498, COMMAND_ENABLE_FERRY_PATH,
COMMAND_1499, COMMAND_GET_CLOSEST_DOCKED_FERRY,
COMMAND_1500, COMMAND_OPEN_FERRY_DOOR,
COMMAND_1501, COMMAND_CLOSE_FERRY_DOOR,
COMMAND_1502, COMMAND_IS_FERRY_DOOR_OPEN,
COMMAND_1503, COMMAND_IS_FERRY_DOOR_CLOSED,
COMMAND_1504, COMMAND_SKIP_FERRY_TO_NEXT_DOCK,
COMMAND_1505, COMMAND_SET_CHAR_DROPS_WEAPONS_ON_DEATH,
COMMAND_1506, COMMAND_IS_CHAR_CROUCHING,
COMMAND_1507, COMMAND_GET_FERRY_BOARDING_SPACE,
COMMAND_1508, COMMAND_GET_FERRY_HEADING,
COMMAND_1509, COMMAND_SET_FERRIES_ENABLED,
COMMAND_1510, COMMAND_COMPLETE_FERRY_DOOR_MOVEMENT,
COMMAND_1511, COMMAND_OVERRIDE_CAR_REMOTE_CONTROL,
COMMAND_1512, COMMAND_CANCEL_REMOTE_MODE,
COMMAND_1513, COMMAND_REGISTER_CAR_SOLD,
COMMAND_1514, COMMAND_ADD_MONEY_MADE_WITH_CAR_SALES,
COMMAND_1515, COMMAND_SET_BRIDGE_STATE,
COMMAND_1516, COMMAND_SET_OBJECT_TURN_SPEED,
COMMAND_1517, COMMAND_SET_OBJECT_MASS,
COMMAND_1518, COMMAND_HAS_CUTSCENE_LOADED,
COMMAND_1519, COMMAND_SET_UNIQUE_JUMPS_FOUND,
COMMAND_1520, COMMAND_SET_HIDDEN_PACKAGES_COLLECTED,
COMMAND_1521, COMMAND_REGISTER_BIKE_SOLD,
COMMAND_1522, COMMAND_ADD_MONEY_MADE_WITH_BIKE_SALES,
COMMAND_1523, COMMAND_REGISTER_PACKAGE_SMUGGLED,
COMMAND_1524, COMMAND_REGISTER_SMUGGLER_WASTED,
COMMAND_1525, COMMAND_REGISTER_FASTEST_SMUGGLING_TIME,
COMMAND_1526, COMMAND_SET_CHAR_DIVE_FROM_CAR,
COMMAND_1527, COMMAND_WRECK_CAR,
COMMAND_1528, COMMAND_ADD_MONEY_MADE_IN_COACH,
COMMAND_1529, COMMAND_ADD_MONEY_MADE_COLLECTING_TRASH,
COMMAND_1530, COMMAND_REGISTER_HITMAN_KILLED,
COMMAND_1531, COMMAND_REGISTER_GUARDIAN_ANGEL_MISSION_PASSED,
COMMAND_1532, COMMAND_REGISTER_HIGHEST_GUARDIAN_ANGEL_JUSTICE_DISHED,
COMMAND_1533, COMMAND_REGISTER_BEST_BANDIT_LAP_TIME,
COMMAND_1534, COMMAND_REGISTER_BEST_BANDIT_POSITION,
COMMAND_1535, COMMAND_REGISTER_MOST_TIME_LEFT_TRAIN_RACE,
COMMAND_1536, COMMAND_REGISTER_HIGHEST_TRAIN_CASH_EARNED,
COMMAND_1537, COMMAND_REGISTER_FASTEST_HELI_RACE_TIME,
COMMAND_1538, COMMAND_REGISTER_BEST_HELI_RACE_POSITION,
COMMAND_1539, COMMAND_REGISTER_OUTFIT_CHANGE,
COMMAND_1540, COMMAND_REGISTER_STREET_RACE_FASTEST_TIME,
COMMAND_1541, COMMAND_REGISTER_STREET_RACE_FASTEST_LAP,
COMMAND_1542, COMMAND_REGISTER_STREET_RACE_BEST_POSITION,
COMMAND_1543, COMMAND_HAS_OBJECT_BEEN_DAMAGED_BY_WEAPON,
COMMAND_1544, COMMAND_CLEAR_OBJECT_LAST_WEAPON_DAMAGE,
COMMAND_1545, COMMAND_SET_CAR_TURN_SPEED,
COMMAND_1546, COMMAND_SET_CAR_MOVE_SPEED,
COMMAND_1547, COMMAND_SET_OBJECT_PROOFS,
COMMAND_1548, COMMAND_GET_CAMERA_PED_ZOOM_INDICATOR,
COMMAND_1549, COMMAND_SET_CAMERA_PED_ZOOM_INDICATOR,
COMMAND_1550, COMMAND_GET_CAR_ORIENTATION,
COMMAND_1551, COMMAND_SET_CAR_ORIENTATION,
COMMAND_1552, COMMAND_IS_DEBUG_MENU_ON,
COMMAND_1553, COMMAND_OPEN_VAN_BACK_DOORS,
COMMAND_1554, COMMAND_GET_CHAR_THREAT_CHAR,
COMMAND_1555, COMMAND_FREEZE_PED_ZOOM_SWITCH,
COMMAND_1556, COMMAND_SET_OBJECT_RENDERED_DAMAGED,
COMMAND_1557, COMMAND_GET_RANDOM_CAR_IN_AREA_NO_SAVE,
COMMAND_1558, COMMAND_IS_PLAYER_MADE_SAFE,
COMMAND_1559, COMMAND_PRINT_IF_FREE,
COMMAND_1560, COMMAND_IS_E3_BUILD,
COMMAND_1561, COMMAND_DECLARE_FORT_STAUNTON_DESTROYED_FLAG,
COMMAND_1562, COMMAND_CLEAR_BIG_MESSAGES,
COMMAND_1563, COMMAND_CLEAR_AREA_OF_OBJECTS,
COMMAND_1564, COMMAND_LOAD_NON_STANDARD_PED_ANIM,
COMMAND_1565, COMMAND_UNLOAD_NON_STANDARD_PED_ANIM,
COMMAND_1566, COMMAND_1566,
COMMAND_1567, COMMAND_BUILD_WORLD_GEOMETRY,
COMMAND_1568, COMMAND_STORE_BUILDING_SWAP,
COMMAND_1569, COMMAND_IS_MULTIPLAYER_ACTIVE,
COMMAND_1570, COMMAND_GET_MULTIPLAYER_MODE,
COMMAND_1571, COMMAND_MULTIPLAYER_SCRIPT_DONE,
COMMAND_1572, COMMAND_IS_MULTIPLAYER_SERVER,
COMMAND_1573, COMMAND_IS_MULTIPLAYER_TEAM_GAME,
COMMAND_1574, COMMAND_GET_MULTIPLAYER_TEAM_ID,
COMMAND_1575, COMMAND_DOES_SHORTCUT_TAXI_EXIST,
COMMAND_1576, COMMAND_SET_ONSCREEN_TIMER_COLOUR,
COMMAND_1577, COMMAND_SET_ONSCREEN_TIMER_BACKGROUND_COLOUR,
COMMAND_1578, COMMAND_REMOVE_CAR_BOOT,
COMMAND_1579, COMMAND_ADD_POINT_3D_MARKER,
COMMAND_1580, COMMAND_GET_VECTOR_FROM_MULTIPLAYER,
COMMAND_1581, COMMAND_PRINT_HELP_ALWAYS,
COMMAND_1582, COMMAND_PRINT_HELP_FOREVER_ALWAYS,
COMMAND_1583, COMMAND_SWITCH_FERRY_COLLISION,
COMMAND_1584, COMMAND_SET_CHAR_MAX_HEALTH,
COMMAND_1585, COMMAND_SET_CHAR_SHOOT_TIMER,
COMMAND_1586, COMMAND_SET_CHAR_ATTACK_TIMER,
COMMAND_1587, COMMAND_SET_HELI_ROTOR_BLADES_FULLSPEED,
COMMAND_1588, COMMAND_SET_CRUSHER_REWARD_MULTIPLIER,
COMMAND_1589, COMMAND_SWAP_BUILDINGS,
COMMAND_1590, COMMAND_STREAM_BUILDING_SWAPS,
COMMAND_1591, COMMAND_IS_WORLD_STREAMING_COMPLETE,
COMMAND_1592, COMMAND_SWAP_TO_STREAMED_SECTOR,
COMMAND_1593, COMMAND_SET_CHAR_ATTACKS_PLAYER_WITH_COPS,
COMMAND_1594, COMMAND_REGISTER_FACE_PLANT_DISTANCE,
COMMAND_1595, COMMAND_REGISTER_MAX_SECONDS_ON_CARNAGE_LEFT,
COMMAND_1596, COMMAND_REGISTER_MAX_KILLS_ON_RC_TRIAD,
COMMAND_1597, COMMAND_REGISTER_HIGHEST_LEVEL_SLASH_TV,
COMMAND_1598, COMMAND_ADD_MONEY_MADE_WITH_SLASH_TV,
COMMAND_1599, COMMAND_ADD_TOTAL_KILLS_ON_SLASH_TV,
COMMAND_1600, COMMAND_ADD_NOODLES_DELIEVERED,
COMMAND_1601, COMMAND_REGISTER_SCRAPYARD_CHALLENGE_SCORE,
COMMAND_1602, COMMAND_REGISTER_9MM_MAYHEM_SCORE,
COMMAND_1603, COMMAND_REGISTER_SCOOTER_SHOOTER_SCORE,
COMMAND_1604, COMMAND_ADD_MONEY_MADE_FROM_TOURIST,
COMMAND_1605, COMMAND_ADD_TOURISTS_TAKEN_TO_SPOTS,
COMMAND_1606, COMMAND_ADD_EXPORTED_CARS,
COMMAND_1607, COMMAND_SET_TOTAL_EXPORT_CARS,
COMMAND_1608, COMMAND_REGISTER_DIRT_BIKE_FASTEST_LAP,
COMMAND_1609, COMMAND_REGISTER_DIRT_BIKE_FASTEST_TIME,
COMMAND_1610, COMMAND_REGISTER_DIRT_BIKE_AIR_TIME,
COMMAND_1611, COMMAND_ADD_ARROW_3D_MARKER,
COMMAND_1612, COMMAND_PRINT_NOW_OVERRIDE_FADE,
COMMAND_1613, COMMAND_GET_PICKUP_VALUE,
COMMAND_1614, COMMAND_SET_PICKUP_VALUE,
COMMAND_1615, COMMAND_IS_DEVELOPER,
COMMAND_1616, COMMAND_SET_DEVELOPER_FLAG,
COMMAND_1617, COMMAND_REGISTER_WICHITA_WIPEOUT_SCORE,
COMMAND_1618, COMMAND_ATTACH_OBJECT_TO_CAR,
COMMAND_1619, COMMAND_DETACH_OBJECT_FROM_CAR,
COMMAND_1620, COMMAND_SET_PAD_STICKS_MULTIPLIER,
COMMAND_1621, COMMAND_PRINT_SUBTITLE_NOW,
COMMAND_1622, COMMAND_PRINT_SUBTITLE_NOW_OVERRIDE_FADE,
COMMAND_1623, COMMAND_PRINT_SUBTITLE_NOW_NO_BRIEF,
COMMAND_1624, COMMAND_PRINT_WITH_NUMBER_NOW_NO_BRIEF,
COMMAND_1625, COMMAND_GET_ANGLE_BETWEEN_POINTS,
COMMAND_1626, COMMAND_OVERRIDE_CHAR_MOVE_ANIM,
COMMAND_1627, COMMAND_1627,
COMMAND_1628, COMMAND_ENABLE_EMERGENCY_VEHICLES,
COMMAND_1629, COMMAND_ADD_UNLOCKED_COSTUME,
COMMAND_1630, COMMAND_CLEAR_MULTIPLAYER_SPLASH_SCREEN,
COMMAND_1631, COMMAND_PRINT_WITH_2_NUMBERS_NOW_NO_BRIEF,
COMMAND_1632, COMMAND_GET_OBJECT_ORIENTATION,
COMMAND_1633, COMMAND_SET_OBJECT_ORIENTATION,
COMMAND_1634, COMMAND_CHANGE_ONSCREEN_COUNTER_PREFIX,
COMMAND_1635, COMMAND_STORE_PLAYER_OUTFIT,
COMMAND_1636, COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_STRING,
COMMAND_1637, COMMAND_SET_PLAYER_CURRENT_WEAPON_AMMO_IN_CLIP,
COMMAND_1638, COMMAND_SET_CHAR_WAIT_STATE_REPEAT,
COMMAND_1639, COMMAND_REGISTER_BEST_TIME_GOGO_FAGGIO,
COMMAND_1640, COMMAND_LOCK_GARAGE,
COMMAND_1641, COMMAND_IS_FINAL_GAME,
COMMAND_1642, COMMAND_SET_ALLOWED_COLLISION,
COMMAND_1643, COMMAND_REGISTER_GUARDIAN_ANGEL_LEVEL,
COMMAND_1644, COMMAND_DISPLAY_ONSCREEN_TIMER_WITH_NUMBER_AND_2_STRINGS,
COMMAND_1645, COMMAND_GET_PLAYER_STORED_WEAPON,
COMMAND_1646, COMMAND_DISABLE_PAUSE_MENU,
COMMAND_1647, COMMAND_IS_CHANNEL_PLAYING,
COMMAND_1648, COMMAND_SET_CLOCK_EVENT_WARNING,
COMMAND_1649, COMMAND_SET_EXTRA_COLOUR_LIGHT_DIRECTION,
COMMAND_1650, COMMAND_SET_CHAR_CAN_BE_TARGETTED_BY_LEADER,
COMMAND_1651, COMMAND_PRINT_HELP_NO_BRIEF,
COMMAND_1652, COMMAND_PRINT_HELP_FOREVER_NO_BRIEF,
COMMAND_1653, COMMAND_PRINT_HELP_ALWAYS_NO_BRIEF,
COMMAND_1654, COMMAND_PRINT_HELP_FOREVER_ALWAYS_NO_BRIEF,
COMMAND_1655, COMMAND_SET_MISSION_CAR_CAN_BE_STORED_IN_GARAGE,
COMMAND_1656, COMMAND_FREEZE_ALL_PLAYER_FOLLOWERS,
#ifdef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT #ifdef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
LAST_SCRIPT_COMMAND LAST_SCRIPT_COMMAND
#endif #endif

View file

@ -114,6 +114,7 @@ CCamera::Init(void)
m_1rstPersonRunCloseToAWall = false; m_1rstPersonRunCloseToAWall = false;
m_fPositionAlongSpline = 0.0f; m_fPositionAlongSpline = 0.0f;
m_bCameraJustRestored = false; m_bCameraJustRestored = false;
m_bFreezePedZoomSwitch = false;
Cams[0].Init(); Cams[0].Init();
Cams[1].Init(); Cams[1].Init();
Cams[2].Init(); Cams[2].Init();
@ -985,7 +986,7 @@ CCamera::CamControl(void)
// Change user selected mode // Change user selected mode
if(CPad::GetPad(0)->CycleCameraModeUpJustDown() && !CReplay::IsPlayingBack() && if(CPad::GetPad(0)->CycleCameraModeUpJustDown() && !CReplay::IsPlayingBack() &&
(m_bLookingAtPlayer || WhoIsInControlOfTheCamera == CAMCONTROL_OBBE) && (m_bLookingAtPlayer || WhoIsInControlOfTheCamera == CAMCONTROL_OBBE) &&
!m_WideScreenOn && !m_bFailedCullZoneTestPreviously && !m_bFirstPersonBeingUsed){ !m_WideScreenOn && !m_bFailedCullZoneTestPreviously && !m_bFirstPersonBeingUsed && !m_bFreezePedZoomSwitch){
if(FrontEndMenuManager.m_ControlMethod == CONTROL_STANDARD){ if(FrontEndMenuManager.m_ControlMethod == CONTROL_STANDARD){
if(PedZoomIndicator == CAM_ZOOM_3) if(PedZoomIndicator == CAM_ZOOM_3)
PedZoomIndicator = CAM_ZOOM_1; PedZoomIndicator = CAM_ZOOM_1;

View file

@ -368,6 +368,7 @@ public:
bool m_bVehicleSuspenHigh; bool m_bVehicleSuspenHigh;
bool m_bEnable1rstPersonCamCntrlsScript; bool m_bEnable1rstPersonCamCntrlsScript;
bool m_bAllow1rstPersonWeaponsCamera; bool m_bAllow1rstPersonWeaponsCamera;
bool m_bFreezePedZoomSwitch;
bool m_bFailedCullZoneTestPreviously; bool m_bFailedCullZoneTestPreviously;
bool m_FadeTargetIsSplashScreen; bool m_FadeTargetIsSplashScreen;

View file

@ -283,8 +283,8 @@ public:
int16 GuiRight() { return GetAnaloguePadRight() || GetDPadRightJustDown(); } int16 GuiRight() { return GetAnaloguePadRight() || GetDPadRightJustDown(); }
int16 GuiUp() { return GetAnaloguePadUp() || GetDPadUpJustDown(); } int16 GuiUp() { return GetAnaloguePadUp() || GetDPadUpJustDown(); }
int16 GuiDown() { return GetAnaloguePadDown() || GetDPadDownJustDown(); } int16 GuiDown() { return GetAnaloguePadDown() || GetDPadDownJustDown(); }
int16 GuiSelect() { return GetSelect(); } int16 GuiSelect() { return GetCrossJustDown(); }
int16 GuiBack() { return GetStart(); } int16 GuiBack() { return GetTriangleJustDown(); }
int16 GetSkipCutscene() { return GetCrossJustDown(); } int16 GetSkipCutscene() { return GetCrossJustDown(); }
#ifdef XINPUT #ifdef XINPUT

View file

@ -198,6 +198,7 @@ enum Config {
//#define ANIM_COMPRESSION // only keep most recently used anims uncompressed //#define ANIM_COMPRESSION // only keep most recently used anims uncompressed
#define GTA_TRAIN #define GTA_TRAIN
//#define GTA_BRIDGE
#if defined GTA_PS2 #if defined GTA_PS2
# define GTA_PS2_STUFF # define GTA_PS2_STUFF
@ -211,7 +212,7 @@ enum Config {
# define PS2_MATFX # define PS2_MATFX
# endif # endif
# define PC_PLAYER_CONTROLS // mouse player/cam mode # define PC_PLAYER_CONTROLS // mouse player/cam mode
# define GTA_REPLAY # //define GTA_REPLAY
# define GTA_SCENE_EDIT # define GTA_SCENE_EDIT
#elif defined GTA_XBOX #elif defined GTA_XBOX
#endif #endif
@ -343,7 +344,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
#endif #endif
//#define SIMPLIER_MISSIONS // apply simplifications from mobile //#define SIMPLIER_MISSIONS // apply simplifications from mobile
#define USE_ADVANCED_SCRIPT_DEBUG_OUTPUT #define USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
#define SCRIPT_LOG_FILE_LEVEL 0 // 0 == no log, 1 == overwrite every frame, 2 == full log #define SCRIPT_LOG_FILE_LEVEL 2 // 0 == no log, 1 == overwrite every frame, 2 == full log
#ifndef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT #ifndef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
#define USE_BASIC_SCRIPT_DEBUG_OUTPUT #define USE_BASIC_SCRIPT_DEBUG_OUTPUT

View file

@ -138,7 +138,50 @@
X("blimp_night", MI_BLIMP_NIGHT) \ X("blimp_night", MI_BLIMP_NIGHT) \
X("blimp_day", MI_BLIMP_DAY) \ X("blimp_day", MI_BLIMP_DAY) \
X("yt_main_body", MI_YT_MAIN_BODY) \ X("yt_main_body", MI_YT_MAIN_BODY) \
X("yt_main_body2", MI_YT_MAIN_BODY2) X("yt_main_body2", MI_YT_MAIN_BODY2) \
X("oddjgaragdoor", MI_LCS_GARAGEDOOR01) \
X("bombdoor", MI_LCS_GARAGEDOOR02) \
X("door_bombshop", MI_LCS_GARAGEDOOR03) \
X("vheistlocdoor", MI_LCS_GARAGEDOOR04) \
X("door2_garage", MI_LCS_GARAGEDOOR05) \
X("ind_slidedoor", MI_LCS_GARAGEDOOR06) \
X("bankjobdoor", MI_LCS_GARAGEDOOR07) \
X("door_jmsgrage", MI_LCS_GARAGEDOOR08) \
X("ind_safeh_gdoor", MI_LCS_GARAGEDOOR09) \
X("door_sfehousegrge", MI_LCS_GARAGEDOOR10) \
X("shedgaragedoor", MI_LCS_GARAGEDOOR11) \
X("door4_garage", MI_LCS_GARAGEDOOR12) \
X("door_col_compnd_01", MI_LCS_GARAGEDOOR13) \
X("door_col_compnd_02", MI_LCS_GARAGEDOOR14) \
X("door_col_compnd_03", MI_LCS_GARAGEDOOR15) \
X("door_col_compnd_04", MI_LCS_GARAGEDOOR16) \
X("door_col_compnd_05", MI_LCS_GARAGEDOOR17) \
X("impex_door", MI_LCS_GARAGEDOOR18) \
X("SalvGarage", MI_LCS_GARAGEDOOR19) \
X("door3_garage", MI_LCS_GARAGEDOOR20) \
X("leveldoor2", MI_LCS_GARAGEDOOR21) \
X("double_garage_dr", MI_LCS_GARAGEDOOR22) \
X("amcogaragedoor", MI_LCS_GARAGEDOOR23) \
X("towergaragedoor1", MI_LCS_GARAGEDOOR24) \
X("towergaragedoor2", MI_LCS_GARAGEDOOR25) \
X("towergaragedoor3", MI_LCS_GARAGEDOOR26) \
X("plysve_gragedoor", MI_LCS_GARAGEDOOR27) \
X("impexpsubgrgdoor", MI_LCS_GARAGEDOOR28) \
X("Sub_sprayshopdoor", MI_LCS_GARAGEDOOR29) \
X("ind_plyrwoor", MI_LCS_GARAGEDOOR30) \
X("8ballsuburbandoor", MI_LCS_GARAGEDOOR31) \
X("door_nthgrage", MI_LCS_GARAGEDOOR32) \
X("hangardoor1", MI_LCS_GARAGEDOOR33) \
X("hangardoor2", MI_LCS_GARAGEDOOR34) \
X("neds_door", MI_LCS_GARAGEDOOR35) \
X("fs_wrhsedoor", MI_LCS_GARAGEDOOR36) \
X("jm_ContraGarage", MI_LCS_GARAGEDOOR37) \
X("jm_imp_SalvGarage", MI_LCS_GARAGEDOOR38) \
X("crushercrush", MI_LCS_GARAGEDOOR39) \
X("crushertop", MI_LCS_GARAGEDOOR40) \
X("crusher_crane", MI_LCS_CRANE01) \
// NB: MI_LCS_ <- temporary stuff so that garages started somewhat working
#define X(name, var) extern int16 var; #define X(name, var) extern int16 var;
MODELINDICES MODELINDICES

View file

@ -71,6 +71,7 @@ public:
uint8 bIsWeapon : 1; uint8 bIsWeapon : 1;
uint8 bIsStreetLight : 1; uint8 bIsStreetLight : 1;
int8 m_nBonusValue; int8 m_nBonusValue;
int8 m_nLastWeaponToDamage;
uint16 m_nCostValue; uint16 m_nCostValue;
float m_fCollisionDamageMultiplier; float m_fCollisionDamageMultiplier;
uint8 m_nCollisionDamageEffect; uint8 m_nCollisionDamageEffect;

View file

@ -527,7 +527,7 @@ public:
uint32 bOnlyAllowedToSitInFront : 1; uint32 bOnlyAllowedToSitInFront : 1;
uint32 b1A1_8 : 1; uint32 b1A1_8 : 1;
uint32 b1A1_10 : 1; uint32 b1A1_10 : 1;
uint32 b1A1_20 : 1; uint32 bOverrideMoveAnim : 1;
#ifdef KANGAROO_CHEAT #ifdef KANGAROO_CHEAT
// our own flags // our own flags
@ -536,16 +536,16 @@ public:
uint16 m_gangFlags; // <- this one is uint16 uint16 m_gangFlags; // <- this one is uint16
uint8 b1A4_1 : 1; uint8 bDropsWeaponsOnDeath : 1;
uint8 b1A4_2 : 1; uint8 b1A4_2 : 1;
uint8 b1A4_4 : 1; uint8 bAttacksPlayerWithCops : 1;
uint8 b1A4_8 : 1; uint8 b1A4_8 : 1;
uint8 b1A4_10 : 1; uint8 b1A4_10 : 1;
uint8 b1A4_20 : 1; uint8 b1A4_20 : 1;
uint8 b1A4_40 : 1; uint8 b1A4_40 : 1;
uint8 b1A4_80 : 1; uint8 b1A4_80 : 1;
uint8 b1A5_1 : 1; uint8 bCanBeTargettedByLeader : 1;
uint8 b1A5_2 : 1; uint8 b1A5_2 : 1;
uint8 b1A5_4 : 1; uint8 b1A5_4 : 1;
uint8 b1A5_8 : 1; uint8 b1A5_8 : 1;
@ -605,6 +605,8 @@ public:
float m_fHealth; float m_fHealth;
float m_fArmour; float m_fArmour;
uint32 m_nExtendedRangeTimer; uint32 m_nExtendedRangeTimer;
uint32 m_nScriptShootTimer;
uint32 m_nScriptAttackTimer;
int16 m_routeLastPoint; int16 m_routeLastPoint;
uint16 m_routeStartPoint; uint16 m_routeStartPoint;
int16 m_routePointsPassed; int16 m_routePointsPassed;
@ -704,6 +706,7 @@ public:
uint32 m_lastComment; uint32 m_lastComment;
CVector m_vecSpotToGuard; CVector m_vecSpotToGuard;
float m_radiusToGuard; float m_radiusToGuard;
float m_fMaxHealth;
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);

View file

@ -6488,7 +6488,7 @@ CPed::KillCharOnFootArmed(CVector &ourPos, CVector &targetPos, CVector &distWith
} }
} }
if (m_pedInObjective->IsPlayer() && m_nPedType != PEDTYPE_COP if (m_pedInObjective->IsPlayer() && m_nPedType != PEDTYPE_COP
&& CharCreatedBy != MISSION_CHAR && FindPlayerPed()->m_pWanted->m_CurrentCops != 0) { && CharCreatedBy != MISSION_CHAR && FindPlayerPed()->m_pWanted->m_CurrentCops != 0/* TODO: && !bAttacksPlayerWithCops*/) {
SetObjective(OBJECTIVE_FLEE_ON_FOOT_TILL_SAFE); SetObjective(OBJECTIVE_FLEE_ON_FOOT_TILL_SAFE);
return CANT_ATTACK; return CANT_ATTACK;

View file

@ -14,7 +14,7 @@
// --MIAMI: file done // --MIAMI: file done
#define MAX_DISTANCE_TO_FIND_CRANE (10.0f) #define MAX_DISTANCE_TO_FIND_CRANE (100.0f)
#define CRANE_UPDATE_RADIUS (300.0f) #define CRANE_UPDATE_RADIUS (300.0f)
#define CRANE_MOVEMENT_PROCESSING_RADIUS (150.0f) #define CRANE_MOVEMENT_PROCESSING_RADIUS (150.0f)
#define CRUSHER_Z (-0.951f) #define CRUSHER_Z (-0.951f)
@ -52,28 +52,18 @@ void CCranes::InitCranes(void)
for (int j = 0; j < NUMSECTORS_Y; j++) { for (int j = 0; j < NUMSECTORS_Y; j++) {
for (CPtrNode* pNode = CWorld::GetSector(i, j)->m_lists[ENTITYLIST_BUILDINGS].first; pNode; pNode = pNode->next) { for (CPtrNode* pNode = CWorld::GetSector(i, j)->m_lists[ENTITYLIST_BUILDINGS].first; pNode; pNode = pNode->next) {
CEntity* pEntity = (CEntity*)pNode->item; CEntity* pEntity = (CEntity*)pNode->item;
if (MODELID_CRANE_1 == pEntity->GetModelIndex() || if (MI_LCS_CRANE01 == pEntity->GetModelIndex())
MODELID_CRANE_2 == pEntity->GetModelIndex() ||
MODELID_CRANE_3 == pEntity->GetModelIndex() ||
MODELID_CRANE_4 == pEntity->GetModelIndex() ||
MODELID_CRANE_5 == pEntity->GetModelIndex() ||
MODELID_CRANE_6 == pEntity->GetModelIndex())
AddThisOneCrane(pEntity); AddThisOneCrane(pEntity);
} }
} }
} }
/* // TODO(LCS) // TODO(LCS)
for (CPtrNode* pNode = CWorld::GetBigBuildingList(LEVEL_MAINLAND).first; pNode; pNode = pNode->next) { for (CPtrNode* pNode = CWorld::GetBigBuildingList(LEVEL_INDUSTRIAL).first; pNode; pNode = pNode->next) {
CEntity* pEntity = (CEntity*)pNode->item; CEntity* pEntity = (CEntity*)pNode->item;
if (MODELID_CRANE_1 == pEntity->GetModelIndex() || if (MI_LCS_CRANE01 == pEntity->GetModelIndex())
MODELID_CRANE_2 == pEntity->GetModelIndex() ||
MODELID_CRANE_3 == pEntity->GetModelIndex() ||
MODELID_CRANE_4 == pEntity->GetModelIndex() ||
MODELID_CRANE_5 == pEntity->GetModelIndex() ||
MODELID_CRANE_6 == pEntity->GetModelIndex())
AddThisOneCrane(pEntity); AddThisOneCrane(pEntity);
} }
*/
} }
void CCranes::AddThisOneCrane(CEntity* pEntity) void CCranes::AddThisOneCrane(CEntity* pEntity)

View file

@ -245,6 +245,8 @@ public:
#endif #endif
uint8 bDriverLastFrame : 1; uint8 bDriverLastFrame : 1;
uint8 bAllowGarageToStore : 1; // <- many LCS flags before
int8 m_numPedsUseItAsCover; int8 m_numPedsUseItAsCover;
uint8 m_nAmmoInClip; // Used to make the guns on boat do a reload (20 by default) uint8 m_nAmmoInClip; // Used to make the guns on boat do a reload (20 by default)
int8 m_nPacManPickupsCarried; int8 m_nPacManPickupsCarried;