Compare commits

...

6 commits

Author SHA1 Message Date
0c8c2601ce CMakeLists: bump version number. 2022-03-21 15:22:46 +01:00
147c38669f StoryProgress: add missing story events as well as the "new" chapter 3. 2022-03-21 15:21:45 +01:00
1871440a7b UESaveFile: copy the temp file over the old one.
This is to prevent an issue where updating a profile save makes the app
think it's deleted.
2022-03-21 15:20:36 +01:00
133c34f5f7 SaveTool: make the tuning tab present only in debug builds. 2022-03-20 11:32:08 +01:00
47890f6939 ArmourSets: add Axial Core. 2022-03-20 11:31:37 +01:00
354c3ff3d9 LastMissionId: add missing IDs. 2022-03-20 11:31:15 +01:00
6 changed files with 58 additions and 46 deletions

View file

@ -18,7 +18,7 @@ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_EXTENSIONS OFF)
set(SAVETOOL_PROJECT_VERSION 1.3.0-pre) set(SAVETOOL_PROJECT_VERSION 1.3.0)
find_package(Corrade REQUIRED Main Containers Utility Interconnect) find_package(Corrade REQUIRED Main Containers Utility Interconnect)
find_package(Magnum REQUIRED GL Sdl2Application) find_package(Magnum REQUIRED GL Sdl2Application)
@ -167,7 +167,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
endif() endif()
add_compile_definitions(SAVETOOL_VERSION="${SAVETOOL_PROJECT_VERSION}" add_compile_definitions(SAVETOOL_VERSION="${SAVETOOL_PROJECT_VERSION}"
SAVETOOL_CODENAME="Dickish Cyclops" SAVETOOL_CODENAME="Dickish Cyclops"
SUPPORTED_GAME_VERSION="0.7.6") SUPPORTED_GAME_VERSION="0.8.6")
if(CMAKE_BUILD_TYPE STREQUAL Release) if(CMAKE_BUILD_TYPE STREQUAL Release)
set_target_properties(MassBuilderSaveTool PROPERTIES OUTPUT_NAME MassBuilderSaveTool-${SAVETOOL_PROJECT_VERSION}) set_target_properties(MassBuilderSaveTool PROPERTIES OUTPUT_NAME MassBuilderSaveTool-${SAVETOOL_PROJECT_VERSION})

View file

@ -32,24 +32,27 @@ struct ArmourSet {
}; };
static const std::map<Int, ArmourSet> armour_sets { static const std::map<Int, ArmourSet> armour_sets {
{-1, {"<unequipped>"_s, true}}, {-1, {"<unequipped>"_s, true}},
{0, {"Vanguard"_s, true}}, {0, {"Vanguard"_s, true}},
{1, {"Assault Mk.I"_s, true}}, {1, {"Assault Mk.I"_s, true}},
{2, {"Assault Mk.II"_s, false}}, {2, {"Assault Mk.II"_s, false}},
{3, {"Assault Mk.III"_s, false}}, {3, {"Assault Mk.III"_s, false}},
{7, {"Titan 001"_s, true}}, {7, {"Titan 001"_s, true}},
{8, {"Titan 002"_s, false}}, {8, {"Titan 002"_s, false}},
{9, {"Titan 003"_s, false}}, {9, {"Titan 003"_s, false}},
{13, {"Blitz X"_s, true}}, {13, {"Blitz X"_s, true}},
{14, {"Blitz EX"_s, false}}, {14, {"Blitz EX"_s, false}},
{15, {"Blitz EXS"_s, false}}, {15, {"Blitz EXS"_s, false}},
{16, {"Kaiser S-R0"_s, true}}, {16, {"Kaiser S-R0"_s, true}},
{17, {"Kaiser S-R1"_s, false}}, {17, {"Kaiser S-R1"_s, false}},
{18, {"Kaiser S-R2"_s, false}}, {18, {"Kaiser S-R2"_s, false}},
{19, {"Hammerfall MG-A"_s, true}}, {19, {"Hammerfall MG-A"_s, true}},
{20, {"Hammerfall MG-S"_s, false}}, {20, {"Hammerfall MG-S"_s, false}},
{21, {"Hammerfall MG-X"_s, false}}, {21, {"Hammerfall MG-X"_s, false}},
{22, {"Panzer S-UC"_s, true}}, {22, {"Panzer S-UC"_s, true}},
{23, {"Panzer L-UC"_s, false}}, {23, {"Panzer L-UC"_s, false}},
{24, {"Panzer H-UC"_s, false}}, {24, {"Panzer H-UC"_s, false}},
{25, {"Axial Core R-Type"_s, true}},
{26, {"Axial Core S-Type"_s, false}},
{27, {"Axial Core X-Type"_s, false}},
}; };

View file

@ -42,12 +42,14 @@ static const std::map<Int, Containers::StringView> mission_id_map {{
{0x006F, "Mission 12 - Clashes of Metal"_s}, {0x006F, "Mission 12 - Clashes of Metal"_s},
{0x0070, "Mission 13 - The Sandstorm Glutton"_s}, {0x0070, "Mission 13 - The Sandstorm Glutton"_s},
{0x0071, "Mission 14 - An Icy Investigation"_s}, {0x0071, "Mission 14 - An Icy Investigation"_s},
{0x0072, "Mission 15 - Outposts Line of Defense"_s},
// Hunting grounds // Hunting grounds
{0x00C8, "Hunt 1 - Desert Pathway Safety"_s}, {0x00C8, "Hunt 1 - Desert Pathway Safety"_s},
{0x00C9, "Hunt 2 - Snowfield Custodian"_s}, {0x00C9, "Hunt 2 - Snowfield Custodian"_s},
{0x00CA, "Hunt 3 - Abandoned Valley Raid"_s}, {0x00CA, "Hunt 3 - Abandoned Valley Raid"_s},
{0x00CB, "Hunt 4 - Depths of the Machineries"_s}, {0x00CB, "Hunt 4 - Depths of the Machineries"_s},
{0x00CC, "Hunt 5 - Crater Crashers"_s},
// Challenges // Challenges
{0x012C, "Challenge 1 - Redline Battlefront"_s}, {0x012C, "Challenge 1 - Redline Battlefront"_s},

View file

@ -78,24 +78,30 @@ static const Corrade::Containers::Array<StoryProgressPoint> story_progress
{0x0388, "Chapter 2"_s, "Chapter start"_s}, {0x0388, "Chapter 2"_s, "Chapter start"_s},
{0x0389, "Chapter 2"_s, "Got mission 9 briefing"_s}, {0x0389, "Chapter 2"_s, "Got mission 9 briefing"_s},
{0x03E8, "Chapter 2"_s, "Talking with Reina in hangar"_s, "After mission 9"_s}, {0x03E8, "Chapter 2"_s, "Talking with Reina in hangar"_s, "After mission 9"_s},
{0x03E9, "Chapter 2"_s, "Returned to hangar"_s, "After mission 9"_s}, {0x03E9, "Chapter 2"_s, "Returned to hangar"_s, "After mission 9"_s},
{0x03EA, "Chapter 2"_s, "Talked with crew in armour section"_s, "After mission 9"_s}, {0x03EA, "Chapter 2"_s, "Talked with crew in armour section"_s, "After mission 9"_s},
{0x03EB, "Chapter 2"_s, "Got mission 10 briefing"_s, "After mission 9"_s}, {0x03EB, "Chapter 2"_s, "Got mission 10 briefing"_s, "After mission 9"_s},
{0x044C, "Chapter 2"_s, "Talking with Reina in hangar"_s, "After mission 10"_s}, {0x044C, "Chapter 2"_s, "Talking with Reina in hangar"_s, "After mission 10"_s},
{0x044D, "Chapter 2"_s, "Returned to hangar"_s, "After mission 10"_s}, {0x044D, "Chapter 2"_s, "Returned to hangar"_s, "After mission 10"_s},
{0x044E, "Chapter 2"_s, "Got mission 11 briefing"_s, "After mission 10"_s}, {0x044E, "Chapter 2"_s, "Got mission 11 briefing"_s, "After mission 10"_s},
{0x04B0, "Chapter 2"_s, "Talking with Reina and Nier in hangar"_s, "After mission 11"_s}, {0x04B0, "Chapter 2"_s, "Talking with Reina and Nier in hangar"_s, "After mission 11"_s},
{0x04B1, "Chapter 2"_s, "Returned to hangar"_s, "After mission 11"_s}, {0x04B1, "Chapter 2"_s, "Returned to hangar"_s, "After mission 11"_s},
{0x04B2, "Chapter 2"_s, "Got mission 12 briefing"_s, "After mission 11"_s}, {0x04B2, "Chapter 2"_s, "Got mission 12 briefing"_s, "After mission 11"_s},
{0x0514, "Chapter 2"_s, "Talking with Reina and Waltz in hangar"_s, "After mission 12"_s}, {0x0514, "Chapter 2"_s, "Talking with Reina and Waltz in hangar"_s, "After mission 12"_s},
{0x0515, "Chapter 2"_s, "Returned to hangar"_s, "After mission 12"_s}, {0x0515, "Chapter 2"_s, "Returned to hangar"_s, "After mission 12"_s},
{0x0516, "Chapter 2"_s, "Got hunt 4 and mission 13 briefing"_s, "After mission 12"_s}, {0x0516, "Chapter 2"_s, "Got hunt 4 and mission 13 briefing"_s, "After mission 12"_s},
{0x0578, "Chapter 2"_s, "Talking with Reina in hangar"_s, "After mission 13"_s},
{0x0579, "Chapter 2"_s, "Returned to hangar"_s, "After mission 13"_s}, {0x0578, "Chapter 3"_s, "Chapter start, talking with Reina"_s, "After mission 13"_s},
{0x057A, "Chapter 2"_s, "Talked with Reina in development section"_s, "After mission 13"_s}, {0x0579, "Chapter 3"_s, "Returned to hangar"_s, "After mission 13"_s},
{0x057B, "Chapter 2"_s, "Got briefing for challenges 1, 2, and 3"_s, "After mission 13"_s}, {0x057A, "Chapter 3"_s, "Talked with Reina in development section"_s, "After mission 13"_s},
{0x057C, "Chapter 2"_s, "Talked with Reina about device"_s, "After mission 13"_s}, {0x057B, "Chapter 3"_s, "Got briefing for challenges 1, 2, and 3"_s, "After mission 13"_s},
{0x057D, "Chapter 2"_s, "Got mission 14 briefing"_s, "After mission 13"_s}, {0x057C, "Chapter 3"_s, "Talked with Reina about device"_s, "After mission 13"_s},
{0x057D, "Chapter 3"_s, "Got mission 14 briefing"_s, "After mission 13"_s},
{0x05DC, "Chapter 3"_s, "Talking with Reina and Nier"_s, "After mission 14"_s},
{0x05DD, "Chapter 3"_s, "Returned to hangar"_s, "After mission 14"_s},
{0x05DE, "Chapter 3"_s, "Got briefing for mission 15 and hunt 5"_s, "After mission 14"_s},
{0x0640, "Chapter 3"_s, "Talking with Nier and Kazu, and Reina"_s, "After mission 15"_s},
{0x0641, "Chapter 3"_s, "Returned to hangar"_s, "After mission 15"_s},
} }
}; };

View file

@ -138,10 +138,12 @@ void SaveTool::drawMassViewer() {
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
#ifdef SAVETOOL_DEBUG_BUILD
if(ImGui::BeginTabItem("Tuning (WIP)")) { if(ImGui::BeginTabItem("Tuning (WIP)")) {
drawTuning(); drawTuning();
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
#endif
ImGui::EndTabBar(); ImGui::EndTabBar();
} }

View file

@ -128,13 +128,12 @@ auto UESaveFile::saveToFile() -> bool {
return false; return false;
} }
if(!Utility::Path::remove(_filepath)) { if(!Utility::Path::copy(_filepath + ".tmp"_s, _filepath)) {
Utility::Path::copy(_filepath + ".bak"_s, _filepath);
return false; return false;
} }
else {
if(!Utility::Path::move(_filepath + ".tmp"_s, _filepath)) { Utility::Path::remove(_filepath + ".tmp"_s);
Utility::Path::move(_filepath + ".bak"_s, _filepath);
return false;
} }
_noReloadAfterSave = true; _noReloadAfterSave = true;