mirror of
https://github.com/halpz/re3.git
synced 2024-12-25 18:05:27 +00:00
commit
a043902d9a
|
@ -2239,7 +2239,6 @@ void CTheScripts::Init()
|
|||
StoreVehicleWasRandom = true;
|
||||
OnAMissionFlag = 0;
|
||||
LastMissionPassedTime = (uint32)-1;
|
||||
NextFreeCollectiveIndex = 0;
|
||||
LastRandomPedId = -1;
|
||||
for (int i = 0; i < MAX_NUM_USED_OBJECTS; i++){
|
||||
memset(&UsedObjectArray[i].name, 0, sizeof(UsedObjectArray[i].name));
|
||||
|
@ -16138,7 +16137,7 @@ void CTheScripts::ReadMultiScriptFileOffsetsFromScript()
|
|||
MainScriptSize = Read4BytesFromScript(&ip);
|
||||
LargestMissionScriptSize = Read4BytesFromScript(&ip);
|
||||
NumberOfMissionScripts = Read2BytesFromScript(&ip);
|
||||
ip += 2;
|
||||
NumberOfExclusiveMissionScripts = Read2BytesFromScript(&ip);
|
||||
for (int i = 0; i < NumberOfMissionScripts; i++) {
|
||||
MultiScriptArray[i] = Read4BytesFromScript(&ip);
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ struct intro_script_rectangle
|
|||
VALIDATE_SIZE(intro_script_rectangle, 0x18);
|
||||
|
||||
enum {
|
||||
SCRIPT_TEXT_MAX_LENGTH = 500
|
||||
SCRIPT_TEXT_MAX_LENGTH = 100
|
||||
};
|
||||
|
||||
struct intro_text_line
|
||||
|
@ -227,7 +227,11 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
#ifdef PS2
|
||||
SIZE_MAIN_SCRIPT = 205512,
|
||||
#else
|
||||
SIZE_MAIN_SCRIPT = 225512,
|
||||
#endif
|
||||
SIZE_MISSION_SCRIPT = 35000,
|
||||
SIZE_SCRIPT_SPACE = SIZE_MAIN_SCRIPT + SIZE_MISSION_SCRIPT
|
||||
};
|
||||
|
|
|
@ -89,6 +89,10 @@ bool CPad::IsAffectedByController = false;
|
|||
_TODO("gbFastTime");
|
||||
extern bool gbFastTime;
|
||||
|
||||
#ifdef WALLCLIMB_CHEAT
|
||||
extern bool gGravityCheat;
|
||||
#endif
|
||||
|
||||
void WeaponCheat1()
|
||||
{
|
||||
CHud::SetHelpMessage(TheText.Get("CHEAT2"), true);
|
||||
|
@ -554,6 +558,22 @@ void AltDodoCheat(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef WALLCLIMB_CHEAT
|
||||
void WallClimbingCheat(void)
|
||||
{
|
||||
wchar* string;
|
||||
if (gGravityCheat) {
|
||||
string = TheText.Get("CHEATOF");
|
||||
gGravityCheat = false;
|
||||
}
|
||||
else {
|
||||
string = TheText.Get("CHEAT1");
|
||||
gGravityCheat = true;
|
||||
}
|
||||
CHud::SetHelpMessage(string, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
void FlyingFishCheat(void)
|
||||
{
|
||||
CHud::SetHelpMessage(TheText.Get("CHEAT1"), true);
|
||||
|
@ -1430,6 +1450,12 @@ void CPad::AddToPCCheatString(char c)
|
|||
AltDodoCheat();
|
||||
#endif
|
||||
|
||||
#ifdef WALLCLIMB_CHEAT
|
||||
// "SPIDERCAR"
|
||||
if (!_CHEATCMP("RACREDIPS"))
|
||||
WallClimbingCheat();
|
||||
#endif
|
||||
|
||||
#if !defined(PC_WATER) && defined(WATER_CHEATS)
|
||||
// SEABEDCHEAT
|
||||
if (!_CHEATCMP("TAEHCDEBAESON"))
|
||||
|
|
|
@ -252,6 +252,7 @@ enum Config {
|
|||
#define KANGAROO_CHEAT
|
||||
#define ALLCARSHELI_CHEAT
|
||||
#define ALT_DODO_CHEAT
|
||||
#define WALLCLIMB_CHEAT
|
||||
#define REGISTER_START_BUTTON
|
||||
//#define BIND_VEHICLE_FIREWEAPON // Adds ability to rebind fire key for 'in vehicle' controls
|
||||
|
||||
|
|
|
@ -23,6 +23,11 @@
|
|||
|
||||
//--MIAMI: file done
|
||||
|
||||
#ifdef WALLCLIMB_CHEAT
|
||||
bool gGravityCheat;
|
||||
#endif
|
||||
|
||||
|
||||
CPhysical::CPhysical(void)
|
||||
{
|
||||
int i;
|
||||
|
@ -521,8 +526,29 @@ CPhysical::ApplySpringDampening(float damping, CVector &springDir, CVector &poin
|
|||
void
|
||||
CPhysical::ApplyGravity(void)
|
||||
{
|
||||
if(bAffectedByGravity)
|
||||
m_vecMoveSpeed.z -= GRAVITY * CTimer::GetTimeStep();
|
||||
if (!bAffectedByGravity)
|
||||
return;
|
||||
#ifdef WALLCLIMB_CHEAT
|
||||
if (gGravityCheat && this == FindPlayerVehicle()) {
|
||||
static CVector v1(0.0f, 0.0f, 1.0f), v2(0.0f, 0.0f, 1.0f);
|
||||
CVector prop = GetPosition() - (GetUp() + GetUp());
|
||||
CColPoint point;
|
||||
CEntity* entity;
|
||||
if (CWorld::ProcessLineOfSight(GetPosition(), prop, point, entity, true, false, false, false, false, false))
|
||||
v2 = point.normal;
|
||||
else
|
||||
v2 = CVector(0.0f, 0.0f, 1.0f);
|
||||
float coef = clamp(CTimer::GetTimeStep() * 0.5f, 0.05f, 0.8f);
|
||||
v1 = v1 * (1.0f - coef) + v2 * coef;
|
||||
if (v1.MagnitudeSqr() < 0.1f)
|
||||
v1 = CVector(0.0f, 0.0f, 1.0f);
|
||||
else
|
||||
v1.Normalise();
|
||||
m_vecMoveSpeed -= GRAVITY * CTimer::GetTimeStep() * v1;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
m_vecMoveSpeed.z -= GRAVITY * CTimer::GetTimeStep();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue