Compare commits

...

4 commits

Author SHA1 Message Date
608fc9c4c3
CMakeLists: bump version number. 2024-07-30 13:57:39 +02:00
1aa301c316
Application,GameData: add support for hidden armours. 2024-07-30 13:43:36 +02:00
30e6ee4018
Application: show a signed value in the armour editor. 2024-07-30 13:43:10 +02:00
72d3745c08
Submodules: update efsw.
This didn't fix the file watcher spamming issue, though.
2024-07-30 13:41:25 +02:00
4 changed files with 26 additions and 11 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.1) 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,7 +235,7 @@ 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=1 SAVETOOL_VERSION_PATCH=2
SAVETOOL_VERSION_PRERELEASE=false SAVETOOL_VERSION_PRERELEASE=false
SAVETOOL_CODENAME="Friendly Valkyrie" 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}},

2
third-party/efsw vendored

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