sync
This commit is contained in:
parent
186441e7f5
commit
4703ec5164
|
@ -46,7 +46,7 @@ enum {
|
|||
|
||||
struct CStoredDetailedAnimationState
|
||||
{
|
||||
uint8 aAnimId[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint16 aAnimId[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint8 aCurTime[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint8 aSpeed[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint8 aBlendAmount[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
|
@ -54,7 +54,7 @@ struct CStoredDetailedAnimationState
|
|||
uint8 aFunctionCallbackID[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint16 aFlags[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint8 aGroupId[NUM_MAIN_ANIMS_IN_REPLAY];
|
||||
uint8 aAnimId2[NUM_PARTIAL_ANIMS_IN_REPLAY];
|
||||
uint16 aAnimId2[NUM_PARTIAL_ANIMS_IN_REPLAY];
|
||||
uint8 aCurTime2[NUM_PARTIAL_ANIMS_IN_REPLAY];
|
||||
uint8 aSpeed2[NUM_PARTIAL_ANIMS_IN_REPLAY];
|
||||
uint8 aBlendAmount2[NUM_PARTIAL_ANIMS_IN_REPLAY];
|
||||
|
|
|
@ -1231,7 +1231,7 @@ const tScriptCommandData commands[] = {
|
|||
REGISTER_COMMAND(COMMAND_IS_CAR_PASSENGER_SEAT_FREE, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_CHAR_IN_CAR_PASSENGER_SEAT, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_CHAR_IS_CHRIS_CRIMINAL, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_START_CREDITS, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_START_CREDITS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_STOP_CREDITS, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_ARE_CREDITS_FINISHED, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_CREATE_SINGLE_PARTICLE, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
|
@ -1319,7 +1319,7 @@ const tScriptCommandData commands[] = {
|
|||
REGISTER_COMMAND(COMMAND_SHUT_CHAR_UP, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_ENABLE_RC_DETONATE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_CAR_RANDOM_ROUTE_SEED, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_ANY_PICKUP_AT_COORDS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_ANY_PICKUP_AT_COORDS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_FIRST_PICKUP_COORDS, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_NEXT_PICKUP_COORDS, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_REMOVE_ALL_CHAR_WEAPONS, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
|
@ -1592,24 +1592,24 @@ const tScriptCommandData commands[] = {
|
|||
REGISTER_COMMAND(COMMAND_IS_AUSTRALIAN_GAME, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DISARM_CAR_BOMB, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_JAPANESE_GAME, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1442, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1442, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1443, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1444, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1445, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1446, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1447, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1448, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1449, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1450, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1451, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1452, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1453, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_DISTANCE_BETWEEN_2D_POINTS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_DISTANCE_BETWEEN_3D_POINTS, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DOT_PRODUCT_2D, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DOT_PRODUCT_3D, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_FLOAT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DEBUG_PRINT_WITH_1_FLOAT, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DEBUG_PRINT_WITH_2_FLOATS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_DEBUG_PRINT_WITH_3_FLOATS, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_PAD_BUTTON_STATE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_NAVIGATION_ARROW, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_CLEAR_NAVIGATION_ARROW, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_CALL, INPUT_ARGUMENTS(ARGTYPE_FUNCTION, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_NOTCALL, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1456, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1457, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1458, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1459, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_CALLNOT, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_CAR_AUTOMOBILE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_CAR_BIKE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_CAR_PLANE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_CAR_HELI, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1460, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1461, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1462, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
|
@ -1627,26 +1627,26 @@ const tScriptCommandData commands[] = {
|
|||
REGISTER_COMMAND(COMMAND_1474, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1475, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1476, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1477, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1478, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1479, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1480, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1481, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1482, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1483, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1484, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1485, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1486, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1487, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1488, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_RETURN_IF_TRUE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_RETURN_TRUE_IF_TRUE, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_CHAR_ONLY_ALLOWED_TO_SIT_BEHIND, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_RC_HELI_HEIGHT_LIMIT, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_CREATE_SCRIPT_CORONA, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_REMOVE_SCRIPT_CORONA, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_BOAT_IN_WATER, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_CAR_DRIVER_BEING_JACKED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_CHAR_ONLY_ALLOWED_TO_SIT_IN_FRONT, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_CAR_TILTED_BY_CHAR, INPUT_ARGUMENTS(ARGTYPE_INT, ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_GET_WEAPON_TYPE_FOR_PICKUP_IN_AREA, INPUT_ARGUMENTS(ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ARGTYPE_FLOAT, ), OUTPUT_ARGUMENTS(ARGTYPE_INT, ), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_IS_USING_FIRST_PERSON_WEAPON_CAMERA, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), true, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1489, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1490, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1491, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1492, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1493, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1494, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1495, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1496, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1491, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_DEBUG_MENU_ACTUVE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_SET_DRAW_HUD, INPUT_ARGUMENTS(ARGTYPE_INT, ), 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_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_1498, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
REGISTER_COMMAND(COMMAND_1499, INPUT_ARGUMENTS(), OUTPUT_ARGUMENTS(), false, -1, ""),
|
||||
|
|
|
@ -360,11 +360,13 @@ public:
|
|||
static void UndoBuildingSwaps();
|
||||
static void UndoEntityInvisibilitySettings();
|
||||
|
||||
/*
|
||||
static void ScriptDebugLine3D(float x1, float y1, float z1, float x2, float y2, float z2, uint32 col, uint32 col2);
|
||||
static void RenderTheScriptDebugLines();
|
||||
*/
|
||||
|
||||
static void SaveAllScripts(uint8*, uint32*);
|
||||
static void LoadAllScripts(uint8*, uint32);
|
||||
static bool LoadAllScripts(uint8*, uint32);
|
||||
|
||||
static bool IsDebugOn() { return DbgFlag; };
|
||||
static void InvertDebugFlag() { DbgFlag = !DbgFlag; }
|
||||
|
@ -420,10 +422,12 @@ public:
|
|||
static void DrawScriptSpheres();
|
||||
static void HighlightImportantArea(uint32, float, float, float, float, float);
|
||||
static void HighlightImportantAngledArea(uint32, float, float, float, float, float, float, float, float, float);
|
||||
/*
|
||||
static void DrawDebugSquare(float, float, float, float);
|
||||
static void DrawDebugAngledSquare(float, float, float, float, float, float, float, float);
|
||||
static void DrawDebugCube(float, float, float, float, float, float);
|
||||
static void DrawDebugAngledCube(float, float, float, float, float, float, float, float, float, float);
|
||||
*/
|
||||
|
||||
static void AddToInvisibilitySwapArray(CEntity*, bool);
|
||||
static void AddToBuildingSwapArray(CBuilding*, int32, int32);
|
||||
|
@ -432,7 +436,7 @@ public:
|
|||
static int32 AddScriptSphere(int32 id, CVector pos, float radius);
|
||||
static int32 GetNewUniqueScriptSphereIndex(int32 index);
|
||||
static void RemoveScriptSphere(int32 index);
|
||||
static void RemoveScriptTextureDictionary();
|
||||
//static void RemoveScriptTextureDictionary();
|
||||
public:
|
||||
static void RemoveThisPed(CPed* pPed);
|
||||
|
||||
|
@ -504,7 +508,7 @@ class CRunningScript
|
|||
public:
|
||||
CRunningScript* next;
|
||||
CRunningScript* prev;
|
||||
int m_nId;
|
||||
int32 m_nId;
|
||||
char m_abScriptName[8];
|
||||
uint32 m_nIp;
|
||||
uint32 m_anStack[MAX_STACK_DEPTH];
|
||||
|
@ -549,7 +553,33 @@ public:
|
|||
|
||||
int8 ProcessOneCommand();
|
||||
void DoDeatharrestCheck();
|
||||
void UpdateCompareFlag(bool);
|
||||
void UpdateCompareFlag(bool flag)
|
||||
{
|
||||
if (m_bNotFlag)
|
||||
flag = !flag;
|
||||
if (m_nAndOrState == ANDOR_NONE) {
|
||||
m_bCondResult = flag;
|
||||
return;
|
||||
}
|
||||
if (m_nAndOrState >= ANDS_1 && m_nAndOrState <= ANDS_8) {
|
||||
m_bCondResult &= flag;
|
||||
if (m_nAndOrState == ANDS_1) {
|
||||
m_nAndOrState = ANDOR_NONE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (m_nAndOrState >= ORS_1 && m_nAndOrState <= ORS_8) {
|
||||
m_bCondResult |= flag;
|
||||
if (m_nAndOrState == ORS_1) {
|
||||
m_nAndOrState = ANDOR_NONE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
m_nAndOrState--;
|
||||
}
|
||||
int16 GetPadState(uint16, uint16);
|
||||
|
||||
int8 ProcessCommands0To99(int32);
|
||||
|
@ -570,6 +600,7 @@ public:
|
|||
int8 ProcessCommands1500To1599(int32);
|
||||
int8 ProcessCommands1600To1699(int32);
|
||||
|
||||
uint32 CollectLocateParameters(uint32*, bool);
|
||||
void LocatePlayerCommand(int32, uint32*);
|
||||
void LocatePlayerCharCommand(int32, uint32*);
|
||||
void LocatePlayerCarCommand(int32, uint32*);
|
||||
|
@ -608,6 +639,7 @@ public:
|
|||
bool ThisIsAValidRandomCop(uint32 mi, int cop, int swat, int fbi, int army, int miami);
|
||||
bool ThisIsAValidRandomPed(uint32 pedtype, int civ, int gang, int criminal);
|
||||
bool CheckDamagedWeaponType(int32 actual, int32 type);
|
||||
|
||||
void ReturnFromGosubOrFunction();
|
||||
|
||||
};
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
#include "common.h"
|
||||
|
||||
#include "Script.h"
|
||||
#include "ScriptCommands.h"
|
||||
|
||||
#include "PlayerPed.h"
|
||||
#include "World.h"
|
||||
|
||||
int8 CRunningScript::ProcessCommands1600To1699(int32 command)
|
||||
{
|
||||
switch (command) {
|
||||
case COMMAND_1600:
|
||||
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);
|
||||
// TODO (SET_TOTAL_CARS_FOR_EXPORT)
|
||||
return 0;
|
||||
case COMMAND_1608:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1609:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1610:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1611:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1612:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1613:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1614:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1615:
|
||||
// TODO (GET_DEVELOPER_FLAG?)
|
||||
UpdateCompareFlag(false);
|
||||
return 0;
|
||||
case COMMAND_1616:
|
||||
// TODO (SET_DEVELOPER_FLAG)
|
||||
return 0;
|
||||
case COMMAND_1617:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1618:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1619:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1620:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1621:
|
||||
{
|
||||
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
|
||||
CollectParameters(&m_nIp, 2);
|
||||
// TODO (SET_SUBTITLE_TEXT)
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_1622:
|
||||
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);
|
||||
// TODO (GET_STORED_WEAPON?)
|
||||
CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed;
|
||||
script_assert(pPed);
|
||||
ScriptParams[0] = pPed->m_storedWeapon;
|
||||
StoreParameters(&m_nIp, 1);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_1646:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (DISABLE_PAUSE_MENU?)
|
||||
return 0;
|
||||
case COMMAND_1647:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (IS_CHANNEL_PLAYING?)
|
||||
UpdateCompareFlag(false);
|
||||
return 0;
|
||||
case COMMAND_1648:
|
||||
CollectParameters(&m_nIp, 3);
|
||||
// TODO (SET_CLOCK_EVENT_WARNING);
|
||||
return 0;
|
||||
case COMMAND_1649:
|
||||
CollectParameters(&m_nIp, 3);
|
||||
// TODO (SET_EXTRA_COLOUR_DIRECTION)
|
||||
return 0;
|
||||
case COMMAND_1650:
|
||||
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);
|
||||
// TODO (?)
|
||||
return 0;
|
||||
default:
|
||||
script_assert(0);
|
||||
}
|
||||
return -1;
|
||||
}
|
|
@ -36,6 +36,8 @@
|
|||
#include "GameLogic.h"
|
||||
#include "Bike.h"
|
||||
|
||||
// LCS: file done except TODOs
|
||||
|
||||
int8 CRunningScript::ProcessCommands500To599(int32 command)
|
||||
{
|
||||
switch (command) {
|
||||
|
@ -1740,8 +1742,10 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
|
|||
UpdateCompareFlag(pPed->bIsShooting && pPed->IsWithinArea(x1, y1, x2, y2));
|
||||
if (GET_INTEGER_PARAM(5))
|
||||
CTheScripts::HighlightImportantArea((uintptr)this + m_nIp, x1, y1, x2, y2, MAP_Z_LOW_LIMIT);
|
||||
/*
|
||||
if (CTheScripts::DbgFlag)
|
||||
CTheScripts::DrawDebugSquare(x1, y1, x2, y2);
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_IS_CHAR_SHOOTING_IN_AREA:
|
||||
|
@ -1756,8 +1760,10 @@ int8 CRunningScript::ProcessCommands700To799(int32 command)
|
|||
UpdateCompareFlag(pPed->bIsShooting && pPed->IsWithinArea(x1, y1, x2, y2));
|
||||
if (GET_INTEGER_PARAM(5))
|
||||
CTheScripts::HighlightImportantArea((uintptr)this + m_nIp, x1, y1, x2, y2, MAP_Z_LOW_LIMIT);
|
||||
/*
|
||||
if (CTheScripts::DbgFlag)
|
||||
CTheScripts::DrawDebugSquare(x1, y1, x2, y2);
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_IS_CURRENT_PLAYER_WEAPON:
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
#include "Zones.h"
|
||||
#include "Bike.h"
|
||||
|
||||
// LCS: file done except TODOs
|
||||
|
||||
#ifdef FIX_BUGS
|
||||
static bool IsSlideObjectUsedWrongByScript(const CVector& posTarget, const CVector& slideBy)
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,338 @@
|
|||
#include "common.h"
|
||||
|
||||
#include "Script.h"
|
||||
#include "ScriptCommands.h"
|
||||
|
||||
int8 CRunningScript::ProcessCommands1500To1599(int32 command)
|
||||
{
|
||||
switch (command) {
|
||||
case COMMAND_1497:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1498:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1499:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1500:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1501:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1502:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1503:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1504:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1505:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1506:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1507:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1508:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1509:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1510:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1511:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1512:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1513:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1514:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1515:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1516:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1517:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1518:
|
||||
// TODO (?)
|
||||
UpdateCompareFlag(true);
|
||||
return 0;
|
||||
case COMMAND_1519:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (SET_NUMBER_USJ_FOUND?)
|
||||
return 0;
|
||||
case COMMAND_1520:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (SET_TOTAL_HIDDEN_PACKAGES?)
|
||||
return 0;
|
||||
case COMMAND_1521:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1522:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1523:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1524:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1525:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1526:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1527:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1528:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1529:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1530:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1531:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1532:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1533:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1534:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1535:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1536:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1537:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1538:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1539:
|
||||
//TODO (REGISTER_OUTFIT_CHANGE)
|
||||
return 0;
|
||||
case COMMAND_1540:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1541:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1542:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1543:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1544:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1545:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1546:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1547:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1548:
|
||||
// TODO (GET_ONFOOT_CAMERA_MODE)
|
||||
ScriptParams[0] = 0;
|
||||
StoreParameters(&m_nIp, 1);
|
||||
return 0;
|
||||
case COMMAND_1549:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (SET_ONFOOT_CAMERA_MODE?)
|
||||
return 0;
|
||||
case COMMAND_1550:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1551:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1552:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1553:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1554:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1555:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (FREEZE_ONFOOT_CAMERA_MODE?)
|
||||
return 0;
|
||||
case COMMAND_1556:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1557:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1558:
|
||||
UpdateCompareFlag(false);
|
||||
// TODO
|
||||
return 0;
|
||||
case COMMAND_1559:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1560:
|
||||
// TODO (IS_E3_BUILD?)
|
||||
UpdateCompareFlag(false);
|
||||
return 0;
|
||||
case COMMAND_1561:
|
||||
// TODO (check, SET_FS_DESTROYED_FLAG)
|
||||
CTheScripts::FSDestroyedFlag = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL) - (int32*)CTheScripts::ScriptSpace;
|
||||
return 0;
|
||||
case COMMAND_1562:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1563:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1564:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1565:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1566:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1567:
|
||||
CollectParameters(&m_nIp, 1);
|
||||
// TODO (BUILD_WORLD_GEOMETRY)
|
||||
return 0;
|
||||
case COMMAND_1568:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1569:
|
||||
// TODO (IS_MULTIPLAYER_ACTIVE?)
|
||||
UpdateCompareFlag(false);
|
||||
return 0;
|
||||
case COMMAND_1570:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1571:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1572:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1573:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1574:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1575:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1576:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1577:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1578:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1579:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1580:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1581:
|
||||
{
|
||||
// TODO (SET_HELP_MESSAGE?)
|
||||
wchar* key = CTheScripts::GetTextByKeyFromScript(&m_nIp);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_1582:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1583:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1584:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1585:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1586:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1587:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1588:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1589:
|
||||
CollectParameters(&m_nIp, 2);
|
||||
// TODO (SWAP_BUILDING?)
|
||||
return 0;
|
||||
case COMMAND_1590:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1591:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1592:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1593:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1594:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1595:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1596:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1597:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1598:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
case COMMAND_1599:
|
||||
script_assert(false);
|
||||
return 0;
|
||||
default:
|
||||
script_assert(0);
|
||||
}
|
||||
return -1;
|
||||
}
|
|
@ -1445,22 +1445,22 @@ enum {
|
|||
COMMAND_IS_JAPANESE_GAME,
|
||||
COMMAND_1442,
|
||||
COMMAND_1443,
|
||||
COMMAND_1444,
|
||||
COMMAND_1445,
|
||||
COMMAND_1446,
|
||||
COMMAND_1447,
|
||||
COMMAND_1448,
|
||||
COMMAND_1449,
|
||||
COMMAND_1450,
|
||||
COMMAND_1451,
|
||||
COMMAND_1452,
|
||||
COMMAND_1453,
|
||||
COMMAND_GET_DISTANCE_BETWEEN_2D_POINTS,
|
||||
COMMAND_GET_DISTANCE_BETWEEN_3D_POINTS,
|
||||
COMMAND_DOT_PRODUCT_2D,
|
||||
COMMAND_DOT_PRODUCT_3D,
|
||||
COMMAND_DEBUG_PRINT_WITH_1_FLOAT,
|
||||
COMMAND_DEBUG_PRINT_WITH_2_FLOATS,
|
||||
COMMAND_DEBUG_PRINT_WITH_3_FLOATS,
|
||||
COMMAND_GET_PAD_BUTTON_STATE,
|
||||
COMMAND_SET_NAVIGATION_ARROW,
|
||||
COMMAND_CLEAR_NAVIGATION_ARROW,
|
||||
COMMAND_CALL,
|
||||
COMMAND_NOTCALL,
|
||||
COMMAND_1456,
|
||||
COMMAND_1457,
|
||||
COMMAND_1458,
|
||||
COMMAND_1459,
|
||||
COMMAND_CALLNOT,
|
||||
COMMAND_IS_CAR_AUTOMOBILE,
|
||||
COMMAND_IS_CAR_BIKE,
|
||||
COMMAND_IS_CAR_PLANE,
|
||||
COMMAND_IS_CAR_HELI,
|
||||
COMMAND_1460,
|
||||
COMMAND_1461,
|
||||
COMMAND_1462,
|
||||
|
@ -1478,26 +1478,26 @@ enum {
|
|||
COMMAND_1474,
|
||||
COMMAND_1475,
|
||||
COMMAND_1476,
|
||||
COMMAND_1477,
|
||||
COMMAND_1478,
|
||||
COMMAND_1479,
|
||||
COMMAND_1480,
|
||||
COMMAND_1481,
|
||||
COMMAND_1482,
|
||||
COMMAND_1483,
|
||||
COMMAND_1484,
|
||||
COMMAND_1485,
|
||||
COMMAND_1486,
|
||||
COMMAND_1487,
|
||||
COMMAND_1488,
|
||||
COMMAND_RETURN_IF_TRUE,
|
||||
COMMAND_RETURN_TRUE_IF_TRUE,
|
||||
COMMAND_SET_CHAR_ONLY_ALLOWED_TO_SIT_BEHIND,
|
||||
COMMAND_SET_RC_HELI_HEIGHT_LIMIT,
|
||||
COMMAND_CREATE_SCRIPT_CORONA,
|
||||
COMMAND_REMOVE_SCRIPT_CORONA,
|
||||
COMMAND_IS_BOAT_IN_WATER,
|
||||
COMMAND_IS_CAR_DRIVER_BEING_JACKED,
|
||||
COMMAND_SET_CHAR_ONLY_ALLOWED_TO_SIT_IN_FRONT,
|
||||
COMMAND_SET_CAR_TILTED_BY_CHAR,
|
||||
COMMAND_GET_WEAPON_TYPE_FOR_PICKUP_IN_AREA,
|
||||
COMMAND_IS_USING_FIRST_PERSON_WEAPON_CAMERA,
|
||||
COMMAND_1489,
|
||||
COMMAND_1490,
|
||||
COMMAND_1491,
|
||||
COMMAND_1492,
|
||||
COMMAND_1493,
|
||||
COMMAND_1494,
|
||||
COMMAND_1495,
|
||||
COMMAND_1496,
|
||||
COMMAND_SET_DEBUG_MENU_ACTUVE,
|
||||
COMMAND_SET_DRAW_HUD,
|
||||
COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS,
|
||||
COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE,
|
||||
COMMAND_STORE_CAR_COLLIDED_WITH_NO_SAVE,
|
||||
COMMAND_1497,
|
||||
COMMAND_1498,
|
||||
COMMAND_1499,
|
||||
|
|
|
@ -277,6 +277,16 @@ public:
|
|||
uint32 InputHowLongAgo(void);
|
||||
void SetDrunkInputDelay(int32 delay) { DrunkDrivingBufferUsed = delay; }
|
||||
|
||||
// TODO(LCS): properly, this is just to get some estimation for script
|
||||
int16 GetOddJobTrigger() { return GetRightShockJustDown(); }
|
||||
int16 GuiLeft() { return GetAnaloguePadLeft() || GetDPadLeftJustDown(); }
|
||||
int16 GuiRight() { return GetAnaloguePadRight() || GetDPadRightJustDown(); }
|
||||
int16 GuiUp() { return GetAnaloguePadUp() || GetDPadUpJustDown(); }
|
||||
int16 GuiDown() { return GetAnaloguePadDown() || GetDPadDownJustDown(); }
|
||||
int16 GuiSelect() { return GetSelect(); }
|
||||
int16 GuiBack() { return GetStart(); }
|
||||
int16 GetSkipCutscene() { return GetCrossJustDown(); }
|
||||
|
||||
#ifdef XINPUT
|
||||
void AffectFromXinput(uint32 pad);
|
||||
#endif
|
||||
|
|
|
@ -1129,6 +1129,7 @@ void CRadar::SetRadarMarkerState(int32 counter, bool flag)
|
|||
}
|
||||
|
||||
void CRadar::ShowRadarMarker(CVector pos, uint32 color, float radius) {
|
||||
/*
|
||||
float f1 = radius * 1.4f;
|
||||
float f2 = radius * 0.5f;
|
||||
CVector p1, p2;
|
||||
|
@ -1148,6 +1149,7 @@ void CRadar::ShowRadarMarker(CVector pos, uint32 color, float radius) {
|
|||
p1 = pos - TheCamera.GetRight()*f1;
|
||||
p2 = pos - TheCamera.GetRight()*f2;
|
||||
CTheScripts::ScriptDebugLine3D(p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, color, color);
|
||||
*/
|
||||
}
|
||||
|
||||
void CRadar::ShowRadarTrace(float x, float y, uint32 size, uint8 red, uint8 green, uint8 blue, uint8 alpha)
|
||||
|
|
|
@ -1275,7 +1275,7 @@ RenderScene(void)
|
|||
void
|
||||
RenderDebugShit(void)
|
||||
{
|
||||
CTheScripts::RenderTheScriptDebugLines();
|
||||
//CTheScripts::RenderTheScriptDebugLines();
|
||||
#ifndef FINAL
|
||||
if(gbShowCollisionLines)
|
||||
CRenderer::RenderCollisionLines();
|
||||
|
|
|
@ -9447,8 +9447,10 @@ CPed::SetRadioStation(void)
|
|||
|
||||
// --MIAMI: Done
|
||||
void
|
||||
CPed::WarpPedIntoCar(CVehicle *car)
|
||||
CPed::WarpPedIntoCar(CVehicle *car) // LCS TODO: remove passenger logic
|
||||
{
|
||||
if (GetPedState() == PED_FACE_PHONE)
|
||||
QuitEnteringCar();
|
||||
bInVehicle = true;
|
||||
m_pMyVehicle = car;
|
||||
m_pMyVehicle->RegisterReference((CEntity **) &m_pMyVehicle);
|
||||
|
@ -9513,6 +9515,77 @@ CPed::WarpPedIntoCar(CVehicle *car)
|
|||
bChangedSeat = true;
|
||||
}
|
||||
|
||||
void
|
||||
CPed::WarpPedIntoCarAsPassenger(CVehicle* pVehicle, int32 position)
|
||||
{
|
||||
if (GetPedState() == PED_FACE_PHONE)
|
||||
QuitEnteringCar();
|
||||
bInVehicle = true;
|
||||
m_pMyVehicle = pVehicle;
|
||||
m_pMyVehicle->RegisterReference((CEntity**)&m_pMyVehicle);
|
||||
m_carInObjective = pVehicle;
|
||||
m_carInObjective->RegisterReference((CEntity**)&m_carInObjective);
|
||||
SetPedState(PED_DRIVING); // TODO: this is PED_PASSENGER, but it needs to have some logic applied first
|
||||
bUsesCollision = false;
|
||||
bIsInTheAir = false;
|
||||
bVehExitWillBeInstant = true;
|
||||
if (pVehicle->IsBike() && !pVehicle->pPassengers[0]) {
|
||||
pVehicle->pPassengers[0] = this;
|
||||
pVehicle->pPassengers[0]->RegisterReference((CEntity**)&pVehicle->pPassengers[0]);
|
||||
}
|
||||
if (position >= 0) {
|
||||
if (!pVehicle->pPassengers[position]) {
|
||||
pVehicle->pPassengers[position] = this;
|
||||
pVehicle->pPassengers[position]->RegisterReference((CEntity**)&pVehicle->pPassengers[position]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (!pVehicle->pPassengers[i]) {
|
||||
pVehicle->pPassengers[i] = this;
|
||||
pVehicle->pPassengers[i]->RegisterReference((CEntity**)&pVehicle->pPassengers[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (IsPlayer()) {
|
||||
pVehicle->SetStatus(STATUS_PLAYER);
|
||||
AudioManager.PlayerJustGotInCar();
|
||||
CCarCtrl::RegisterVehicleOfInterest(pVehicle);
|
||||
}
|
||||
else {
|
||||
pVehicle->SetStatus(STATUS_PHYSICS);
|
||||
}
|
||||
|
||||
CWorld::Remove(this);
|
||||
SetPosition(pVehicle->GetPosition());
|
||||
CWorld::Add(this);
|
||||
|
||||
if (pVehicle->bIsAmbulanceOnDuty) {
|
||||
pVehicle->bIsAmbulanceOnDuty = false;
|
||||
--CCarCtrl::NumAmbulancesOnDuty;
|
||||
}
|
||||
if (pVehicle->bIsFireTruckOnDuty) {
|
||||
pVehicle->bIsFireTruckOnDuty = false;
|
||||
--CCarCtrl::NumFiretrucksOnDuty;
|
||||
}
|
||||
if (!pVehicle->bEngineOn) {
|
||||
pVehicle->bEngineOn = true;
|
||||
DMAudio.PlayOneShot(pVehicle->m_audioEntityId, SOUND_CAR_ENGINE_START, 1.0f);
|
||||
}
|
||||
|
||||
RpAnimBlendClumpSetBlendDeltas(GetClump(), ASSOC_PARTIAL, -1000.0f);
|
||||
|
||||
AddInCarAnims(pVehicle, pVehicle->pDriver == this);
|
||||
RemoveWeaponWhenEnteringVehicle();
|
||||
|
||||
if (pVehicle->bIsBus)
|
||||
bRenderPedInCar = false;
|
||||
|
||||
bChangedSeat = true;
|
||||
}
|
||||
|
||||
// --MIAMI: Done
|
||||
bool
|
||||
CPed::HasAttractor(void)
|
||||
|
|
|
@ -406,7 +406,7 @@ public:
|
|||
float m_fCollisionSpeed;
|
||||
|
||||
// cf. https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_sa/game_sa/CPed.h from R*
|
||||
uint32 bIsStanding : 1;
|
||||
uint32 bIsStanding : 1; // 0x194 on PS2, 0x1A4 on android
|
||||
uint32 bWasStanding : 1;
|
||||
uint32 bIsAttacking : 1; // doesn't reset after fist fight
|
||||
uint32 bIsPointingGunAt : 1;
|
||||
|
@ -499,7 +499,7 @@ public:
|
|||
uint32 bIsDrowning : 1;
|
||||
uint32 bDrownsInWater : 1;
|
||||
uint32 bWaitForLeaderToComeCloser : 1;
|
||||
uint32 bHeldHostageInCar : 1;
|
||||
uint32 bHeldHostageInCar : 1; // one flag was added somewhere after this one (TODO: figure out where and which)
|
||||
uint32 bIsPlayerFriend : 1;
|
||||
uint32 bHeadStuckInCollision : 1;
|
||||
uint32 bDeadPedInFrontOfCar : 1;
|
||||
|
@ -512,7 +512,7 @@ public:
|
|||
uint32 bMakeFleeScream : 1;
|
||||
uint32 bPushedAlongByCar : 1;
|
||||
uint32 bRemoveMeWhenIGotIntoCar : 1;
|
||||
uint32 bIgnoreThreatsBehindObjects : 1;
|
||||
uint32 bIgnoreThreatsBehindObjects : 1; // one flag was added somewhere before this one (TODO: figure out where and which)
|
||||
|
||||
uint32 bNeverEverTargetThisPed : 1;
|
||||
uint32 bCrouchWhenScared : 1;
|
||||
|
@ -523,8 +523,8 @@ public:
|
|||
uint32 bDonePositionOutOfCollision : 1;
|
||||
|
||||
uint32 bCanAttackPlayerWithCops : 1; // 1A1_1 on PS2
|
||||
uint32 b1A1_2 : 1;
|
||||
uint32 b1A1_4 : 1;
|
||||
uint32 bOnlyAllowedToSitBehind : 1;
|
||||
uint32 bOnlyAllowedToSitInFront : 1;
|
||||
uint32 b1A1_8 : 1;
|
||||
uint32 b1A1_10 : 1;
|
||||
uint32 b1A1_20 : 1;
|
||||
|
@ -534,11 +534,29 @@ public:
|
|||
uint32 m_ped_flagI80 : 1; // KANGAROO_CHEAT define makes use of this as cheat toggle
|
||||
#endif
|
||||
|
||||
uint8 m_gangFlags;
|
||||
uint8 m_unused15D; // these 3 can't be padding but had to actually have been members ...
|
||||
uint8 m_unused15E;
|
||||
uint8 m_unused15F;
|
||||
uint8 CharCreatedBy;
|
||||
uint16 m_gangFlags; // <- this one is uint16
|
||||
|
||||
uint8 b1A4_1 : 1;
|
||||
uint8 b1A4_2 : 1;
|
||||
uint8 b1A4_4 : 1;
|
||||
uint8 b1A4_8 : 1;
|
||||
uint8 b1A4_10 : 1;
|
||||
uint8 b1A4_20 : 1;
|
||||
uint8 b1A4_40 : 1;
|
||||
uint8 b1A4_80 : 1;
|
||||
|
||||
uint8 b1A5_1 : 1;
|
||||
uint8 b1A5_2 : 1;
|
||||
uint8 b1A5_4 : 1;
|
||||
uint8 b1A5_8 : 1;
|
||||
uint8 b1A5_10 : 1;
|
||||
uint8 b1A5_20 : 1;
|
||||
uint8 b1A5_40 : 1;
|
||||
uint8 b1A5_80 : 1;
|
||||
|
||||
uint8 unk_1A6; // <- init with 100 in constructor
|
||||
|
||||
uint8 CharCreatedBy; // 1AC
|
||||
eObjective m_objective;
|
||||
eObjective m_prevObjective;
|
||||
CPed *m_pedInObjective;
|
||||
|
@ -888,6 +906,7 @@ public:
|
|||
void SetSolicit(uint32 time);
|
||||
void ScanForInterestingStuff(void);
|
||||
void WarpPedIntoCar(CVehicle*);
|
||||
void WarpPedIntoCarAsPassenger(CVehicle*, int32);
|
||||
void SetCarJack(CVehicle*);
|
||||
bool WarpPedToNearLeaderOffScreen(void);
|
||||
void Solicit(void);
|
||||
|
@ -1042,6 +1061,16 @@ public:
|
|||
{
|
||||
return m_pMyVehicle != nil && ((CEntity*)m_pMyVehicle)->GetStatus() != STATUS_WRECKED;
|
||||
}
|
||||
bool CanStartMission() // used in CAN_PLAYER_START_MISSION and can looks like inlined function
|
||||
{
|
||||
if (m_nPedState >= PED_WANDER_RANGE && m_nPedState < PED_STATES_NO_AI && m_nPedState != PED_ANSWER_MOBILE)
|
||||
return false;
|
||||
if (m_nPedState >= PED_JUMP && m_nPedState < PED_STATES_NO_ST)
|
||||
return false;
|
||||
if (m_nPedState >= PED_ENTER_TRAIN && m_nPedState < PED_DEPLOY_STINGER)
|
||||
return false;
|
||||
return !bIsInTheAir && !bIsLanding && m_fHealth > 0.0f;
|
||||
}
|
||||
|
||||
// My names. Inlined in VC
|
||||
AnimationId GetFireAnimNotDucking(CWeaponInfo* weapon) {
|
||||
|
|
|
@ -130,6 +130,8 @@ uint32 CHud::m_LastTimeEnergyLost;
|
|||
|
||||
CSprite2d CHud::Sprites[NUM_HUD_SPRITES];
|
||||
|
||||
wchar* CHud::gLastPrintForeverString;
|
||||
|
||||
struct
|
||||
{
|
||||
const char *name;
|
||||
|
|
|
@ -118,6 +118,8 @@ public:
|
|||
static uint32 m_LastWeapon;
|
||||
static uint32 m_LastTimeEnergyLost;
|
||||
|
||||
static wchar* gLastPrintForeverString;
|
||||
|
||||
public:
|
||||
static void Draw();
|
||||
static void DrawAfterFade();
|
||||
|
|
Loading…
Reference in New Issue