From dac4dd560a60d306694833d367e9ae57ca1ff8c9 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Tue, 19 Jan 2021 23:34:37 +0300 Subject: saves --- src/control/Script5.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/control') diff --git a/src/control/Script5.cpp b/src/control/Script5.cpp index bddcac62..9fca2cc0 100644 --- a/src/control/Script5.cpp +++ b/src/control/Script5.cpp @@ -2222,9 +2222,13 @@ INITSAVEBUF script_assert(ReadSaveBuf(buf) == SCRIPT_DATA_SIZE); OnAMissionFlag = ReadSaveBuf(buf); LastMissionPassedTime = ReadSaveBuf(buf); + for (uint32 i = 0; i < MAX_NUM_COLLECTIVES; i++) + CollectiveArray[i] = ReadSaveBuf(buf); + NextFreeCollectiveIndex = ReadSaveBuf(buf); for (uint32 i = 0; i < MAX_NUM_BUILDING_SWAPS; i++) { uint32 type = ReadSaveBuf(buf); uint32 handle = ReadSaveBuf(buf); + /* switch (type) { case 0: BuildingSwapArray[i].m_pBuilding = nil; @@ -2238,14 +2242,18 @@ INITSAVEBUF default: script_assert(false); } - BuildingSwapArray[i].m_nNewModel = ReadSaveBuf(buf); - BuildingSwapArray[i].m_nOldModel = ReadSaveBuf(buf); + */ + /*BuildingSwapArray[i].m_nNewModel = */ReadSaveBuf(buf); + /*BuildingSwapArray[i].m_nOldModel = */ReadSaveBuf(buf); + /* if (BuildingSwapArray[i].m_pBuilding) BuildingSwapArray[i].m_pBuilding->ReplaceWithNewModel(BuildingSwapArray[i].m_nNewModel); + */ } for (uint32 i = 0; i < MAX_NUM_INVISIBILITY_SETTINGS; i++) { uint32 type = ReadSaveBuf(buf); uint32 handle = ReadSaveBuf(buf); + /* switch (type) { case 0: InvisibilitySettingArray[i] = nil; @@ -2267,9 +2275,10 @@ INITSAVEBUF } if (InvisibilitySettingArray[i]) InvisibilitySettingArray[i]->bIsVisible = false; + */ } script_assert(ReadSaveBuf(buf) == bUsingAMultiScriptFile); - bPlayerHasMetDebbieHarry = ReadSaveBuf(buf); + /*bPlayerHasMetDebbieHarry = */ReadSaveBuf(buf); ReadSaveBuf(buf); script_assert(ReadSaveBuf(buf) == MainScriptSize); script_assert(ReadSaveBuf(buf) == LargestMissionScriptSize); -- cgit v1.2.3 From aa0f77043c6f90c36ddfdf91d608dacc7d8eafdc Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Wed, 20 Jan 2021 12:12:26 +0300 Subject: script fixes --- src/control/Script.cpp | 4 ++-- src/control/Script.h | 7 ++----- src/control/Script10.cpp | 2 +- src/control/Script5.cpp | 3 ++- src/control/Script8.cpp | 2 +- src/control/ScriptCommands.h | 4 ++-- 6 files changed, 10 insertions(+), 12 deletions(-) (limited to 'src/control') diff --git a/src/control/Script.cpp b/src/control/Script.cpp index 4fa7d71b..6b52ed82 100644 --- a/src/control/Script.cpp +++ b/src/control/Script.cpp @@ -1642,7 +1642,7 @@ const tScriptCommandData commands[] = { 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(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_DEBUG_MENU_ACTIVE, 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, ""), @@ -1750,7 +1750,7 @@ const tScriptCommandData commands[] = { REGISTER_COMMAND(COMMAND_REGISTER_HIGHEST_LEVEL_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_MONEY_MADE_WITH_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_ADD_TOTAL_KILLS_ON_SLASH_TV, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), - REGISTER_COMMAND(COMMAND_ADD_NOODLES_DELIEVERED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), + REGISTER_COMMAND(COMMAND_ADD_NOODLES_DELIVERED, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_SCRAPYARD_CHALLENGE_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_9MM_MAYHEM_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), REGISTER_COMMAND(COMMAND_REGISTER_SCOOTER_SHOOTER_SCORE, INPUT_ARGUMENTS(ARGTYPE_INT, ), OUTPUT_ARGUMENTS(), false, -1, ""), diff --git a/src/control/Script.h b/src/control/Script.h index f2b5dda9..780440dd 100644 --- a/src/control/Script.h +++ b/src/control/Script.h @@ -568,16 +568,13 @@ public: return; } } - else if (m_nAndOrState >= ORS_1 && m_nAndOrState <= ORS_8) { + else { m_bCondResult |= flag; - if (m_nAndOrState == ORS_1) { + if (m_nAndOrState <= ORS_1) { m_nAndOrState = ANDOR_NONE; return; } } - else { - return; - } m_nAndOrState--; } int16 GetPadState(uint16, uint16); diff --git a/src/control/Script10.cpp b/src/control/Script10.cpp index 388bfe8e..1a355228 100644 --- a/src/control/Script10.cpp +++ b/src/control/Script10.cpp @@ -27,7 +27,7 @@ bool gDeveloperFlag; int8 CRunningScript::ProcessCommands1600To1699(int32 command) { switch (command) { - case COMMAND_ADD_NOODLES_DELIEVERED: + case COMMAND_ADD_NOODLES_DELIVERED: CollectParameters(&m_nIp, 1); // CStats::NoodlesDelievered += GET_INTEGER_PARAM(0); return 0; diff --git a/src/control/Script5.cpp b/src/control/Script5.cpp index 9fca2cc0..74d187ca 100644 --- a/src/control/Script5.cpp +++ b/src/control/Script5.cpp @@ -2286,7 +2286,8 @@ INITSAVEBUF script_assert(ReadSaveBuf(buf) == NumberOfExclusiveMissionScripts); uint32 runningScripts = ReadSaveBuf(buf); for (uint32 i = 0; i < runningScripts; i++) - StartNewScript(0)->Load(buf); + CRunningScript().Load(buf); + StartTestScript(); // <- tmp hack return true; VALIDATESAVEBUF(size) } diff --git a/src/control/Script8.cpp b/src/control/Script8.cpp index c6e11127..e58bf3ea 100644 --- a/src/control/Script8.cpp +++ b/src/control/Script8.cpp @@ -681,7 +681,7 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command) //case COMMAND_1489: //case COMMAND_1490: //case COMMAND_1491: - case COMMAND_SET_DEBUG_MENU_ACTUVE: + case COMMAND_SET_DEBUG_MENU_ACTIVE: CollectParameters(&m_nIp, 1); // this sets two values on PS2, but not on mobile - TODO? return 0; diff --git a/src/control/ScriptCommands.h b/src/control/ScriptCommands.h index ce8327ec..76bc4aa3 100644 --- a/src/control/ScriptCommands.h +++ b/src/control/ScriptCommands.h @@ -1493,7 +1493,7 @@ enum { COMMAND_1489, COMMAND_1490, COMMAND_1491, - COMMAND_SET_DEBUG_MENU_ACTUVE, + COMMAND_SET_DEBUG_MENU_ACTIVE, COMMAND_SET_DRAW_HUD, COMMAND_GET_RANDOM_CHAR_IN_AREA_NO_CHECKS, COMMAND_GET_RANDOM_CAR_IN_AREA_NO_CHECKS_NO_SAVE, @@ -1601,7 +1601,7 @@ enum { COMMAND_REGISTER_HIGHEST_LEVEL_SLASH_TV, COMMAND_ADD_MONEY_MADE_WITH_SLASH_TV, COMMAND_ADD_TOTAL_KILLS_ON_SLASH_TV, - COMMAND_ADD_NOODLES_DELIEVERED, + COMMAND_ADD_NOODLES_DELIVERED, COMMAND_REGISTER_SCRAPYARD_CHALLENGE_SCORE, COMMAND_REGISTER_9MM_MAYHEM_SCORE, COMMAND_REGISTER_SCOOTER_SHOOTER_SCORE, -- cgit v1.2.3