cherrypick fixes

This commit is contained in:
Nikolay Korolev 2021-08-03 22:14:58 +03:00
parent 827f0ffbb6
commit a7e86e0510
2 changed files with 18 additions and 14 deletions

View file

@ -49,6 +49,11 @@ void FlushLog();
#define KEY_LENGTH_IN_SCRIPT (8) #define KEY_LENGTH_IN_SCRIPT (8)
#ifdef USE_DEBUG_SCRIPT_LOADER
extern const char* scriptfile;
#endif
//#define GTA_SCRIPT_COLLECTIVE
#define GET_INTEGER_PARAM(i) (ScriptParams[i]) #define GET_INTEGER_PARAM(i) (ScriptParams[i])
#define GET_FLOAT_PARAM(i) (*(float*)&ScriptParams[i]) #define GET_FLOAT_PARAM(i) (*(float*)&ScriptParams[i])
#define GET_VECTOR_PARAM(i) (CVector(GET_FLOAT_PARAM(i), GET_FLOAT_PARAM(i+1), GET_FLOAT_PARAM(i+2))) #define GET_VECTOR_PARAM(i) (CVector(GET_FLOAT_PARAM(i), GET_FLOAT_PARAM(i+1), GET_FLOAT_PARAM(i+2)))

View file

@ -4,6 +4,9 @@
#include "ScriptCommands.h" #include "ScriptCommands.h"
#include "Debug.h" #include "Debug.h"
#ifdef MISSION_REPLAY
#include "GenericGameStorage.h"
#endif
#include "FileMgr.h" #include "FileMgr.h"
#include "Messages.h" #include "Messages.h"
#include "Timer.h" #include "Timer.h"
@ -1906,6 +1909,7 @@ void CRunningScript::LogBeforeProcessingCommand(int32 command)
m_nIp = storedIp; m_nIp = storedIp;
storedIp = t; storedIp = t;
} }
}
void CRunningScript::LogAfterProcessingCommand(int32 command) void CRunningScript::LogAfterProcessingCommand(int32 command)
{ {
@ -1944,17 +1948,6 @@ void CRunningScript::LogAfterProcessingCommand(int32 command)
#endif #endif
void FlushLog()
{
#ifdef USE_ADVANCED_SCRIPT_DEBUG_OUTPUT
#if SCRIPT_LOG_FILE_LEVEL == 1 || SCRIPT_LOG_FILE_LEVEL == 2
if (dbg_log)
fflush(dbg_log);
#endif
#endif
}
#ifdef MISSION_SWITCHER #ifdef MISSION_SWITCHER
void void
CTheScripts::SwitchToMission(int32 mission) CTheScripts::SwitchToMission(int32 mission)
@ -1978,15 +1971,21 @@ CTheScripts::SwitchToMission(int32 mission)
#ifdef MISSION_REPLAY #ifdef MISSION_REPLAY
missionRetryScriptIndex = mission; missionRetryScriptIndex = mission;
if (missionRetryScriptIndex == 19) #ifdef USE_MISSION_REPLAY_OVERRIDE_FOR_NON_MOBILE_SCRIPT
CStats::LastMissionPassedName[0] = '\0'; if (CTheScripts::MissionSupportsMissionReplay(missionRetryScriptIndex)) {
SaveGameForPause(4);
}
#endif
#endif #endif
CTimer::Suspend(); CTimer::Suspend();
int offset = CTheScripts::MultiScriptArray[mission]; int offset = CTheScripts::MultiScriptArray[mission];
CFileMgr::ChangeDir("\\"); CFileMgr::ChangeDir("\\");
#ifdef USE_DEBUG_SCRIPT_LOADER #ifdef USE_DEBUG_SCRIPT_LOADER
int handle = open_script(); CFileMgr::ChangeDir("\\data\\");
int handle = CFileMgr::OpenFile(scriptfile, "rb");
CFileMgr::ChangeDir("\\");
#else #else
CFileMgr::ChangeDir("\\");
int handle = CFileMgr::OpenFile("data\\main.scm", "rb"); int handle = CFileMgr::OpenFile("data\\main.scm", "rb");
#endif #endif
CFileMgr::Seek(handle, offset, 0); CFileMgr::Seek(handle, offset, 0);