Compare commits

...

7 commits

6 changed files with 29 additions and 15 deletions

View file

@ -86,7 +86,7 @@ Application::drawArmour() {
ImGui::Text("Set name: %s", GameData::armour_sets.at(part.id).name.data()); ImGui::Text("Set name: %s", GameData::armour_sets.at(part.id).name.data());
} }
else { else {
ImGui::Text("Set ID: %u", part.id); ImGui::Text("Set ID: %d", part.id);
} }
ImGui::SameLine(); ImGui::SameLine();
@ -96,13 +96,27 @@ Application::drawArmour() {
} }
if(ImGui::BeginPopup("##ArmourPartPopup")) { if(ImGui::BeginPopup("##ArmourPartPopup")) {
if(ImGui::BeginListBox("##ChangePart")) { if(ImGui::BeginListBox("##ChangePart")) {
for(auto& set : GameData::armour_sets) { for(const auto& [id, set] : GameData::armour_sets) {
if(part.slot != GameObjects::ArmourPart::Slot::Neck || set.second.neck_compatible) { if((part.slot == GameObjects::ArmourPart::Slot::Neck && !set.neck_compatible) ||
if(ImGui::Selectable(set.second.name.data(), set.first == part.id, (id == -2 &&
ImGuiSelectableFlags_SpanAvailWidth)) !(part.slot == GameObjects::ArmourPart::Slot::LeftFrontSkirt ||
{ part.slot == GameObjects::ArmourPart::Slot::RightFrontSkirt ||
part.id = set.first; part.slot == GameObjects::ArmourPart::Slot::LeftSideSkirt ||
} part.slot == GameObjects::ArmourPart::Slot::RightSideSkirt ||
part.slot == GameObjects::ArmourPart::Slot::LeftBackSkirt ||
part.slot == GameObjects::ArmourPart::Slot::RightBackSkirt ||
part.slot == GameObjects::ArmourPart::Slot::LeftAnkle ||
part.slot == GameObjects::ArmourPart::Slot::RightAnkle)
)
)
{
continue;
}
if(ImGui::Selectable(set.name.data(), id == part.id,
ImGuiSelectableFlags_SpanAvailWidth))
{
part.id = id;
} }
} }
ImGui::EndListBox(); ImGui::EndListBox();

View file

@ -18,7 +18,7 @@ set(CMAKE_CXX_STANDARD 17)
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.5.0) set(SAVETOOL_PROJECT_VERSION 1.5.2)
find_package(Corrade REQUIRED Containers Utility) find_package(Corrade REQUIRED Containers Utility)
if(CORRADE_TARGET_WINDOWS) if(CORRADE_TARGET_WINDOWS)
@ -235,9 +235,9 @@ target_compile_definitions(MassBuilderSaveTool PRIVATE
SAVETOOL_VERSION_STRING="${SAVETOOL_PROJECT_VERSION}" SAVETOOL_VERSION_STRING="${SAVETOOL_PROJECT_VERSION}"
SAVETOOL_VERSION_MAJOR=1 SAVETOOL_VERSION_MAJOR=1
SAVETOOL_VERSION_MINOR=5 SAVETOOL_VERSION_MINOR=5
SAVETOOL_VERSION_PATCH=0 SAVETOOL_VERSION_PATCH=2
SAVETOOL_VERSION_PRERELEASE=false SAVETOOL_VERSION_PRERELEASE=false
SAVETOOL_CODENAME="Fuckin' UE5..." SAVETOOL_CODENAME="Friendly Valkyrie"
SAVETOOL_SUPPORTED_GAME_VERSION="0.11.x" SAVETOOL_SUPPORTED_GAME_VERSION="0.11.x"
) )

View file

@ -33,6 +33,7 @@ struct ArmourSet {
}; };
static const std::map<std::int32_t, ArmourSet> armour_sets { static const std::map<std::int32_t, ArmourSet> armour_sets {
{-2, {"<hidden>"_s, false}},
{-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}},

View file

@ -52,8 +52,7 @@ MassManager::hangar(std::int32_t hangar) {
void void
MassManager::refreshHangar(std::int32_t hangar) { MassManager::refreshHangar(std::int32_t hangar) {
if(hangar < 0 || hangar >= 32) { if(hangar < 0 || hangar >= 32) {
_lastError = "Hangar index out of range."; LOG_ERROR(_lastError = Utility::format("Hangar index {} out of range.", hangar));
LOG_ERROR(_lastError);
return; return;
} }

View file

@ -131,7 +131,7 @@ StagedMassManager::import(Containers::StringView filename, int index, Containers
} }
auto dest = Utility::Path::join(conf().directories().gameSaves, auto dest = Utility::Path::join(conf().directories().gameSaves,
Utility::format("{}Unit{}{}.sav", demo ? "Demo" : "", index, new_account)); Utility::format("{}Unit{:.2d}{}.sav", demo ? "Demo" : "", index, new_account));
if(Utility::Path::exists(dest)) { if(Utility::Path::exists(dest)) {
Utility::Path::remove(dest); Utility::Path::remove(dest);

2
third-party/efsw vendored

@ -1 +1 @@
Subproject commit 341934765471e4074e90bb5205ff4a65c16499c6 Subproject commit 0c70ed2cd069a18d534989e8ae1c25ee39cba1f1