diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ddee28b..3cd84a0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -126,6 +126,8 @@ add_executable(MassBuilderSaveTool WIN32 MassManager/MassManager.cpp Mass/Mass.h Mass/Mass.cpp + Maps/ArmourSets.h + Maps/ArmourSlots.h Maps/LastMissionId.h Maps/StoryProgress.h Maps/StyleNames.h diff --git a/src/Maps/ArmourSets.h b/src/Maps/ArmourSets.h new file mode 100644 index 0000000..e1fbda0 --- /dev/null +++ b/src/Maps/ArmourSets.h @@ -0,0 +1,51 @@ +#pragma once + +// MassBuilderSaveTool +// Copyright (C) 2021 Guillaume Jacquemin +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include + +#include + +using namespace Magnum; + +struct ArmourSet { + const char* name; + bool neck_compatible; +}; + +static const std::map armour_sets { + {-1, {"", true}}, + {0, {"Vanguard", true}}, + {1, {"Assault Mk.I", true}}, + {2, {"Assault Mk.II", false}}, + {3, {"Assault Mk.III", false}}, + {7, {"Titan 001", true}}, + {8, {"Titan 002", false}}, + {9, {"Titan 003", false}}, + {13, {"Blitz X", true}}, + {14, {"Blitz EX", false}}, + {15, {"Blitz EXS", false}}, + {16, {"Kaiser S-R0", true}}, + {17, {"Kaiser S-R1", false}}, + {18, {"Kaiser S-R2", false}}, + {19, {"Hammerfall MG-A", true}}, + {20, {"Hammerfall MG-S", false}}, + {21, {"Hammerfall MG-X", false}}, + {22, {"Panzer S-UC", true}}, + {23, {"Panzer L-UC", false}}, + {24, {"Panzer H-UC", false}}, +}; diff --git a/src/Maps/ArmourSlots.h b/src/Maps/ArmourSlots.h new file mode 100644 index 0000000..cfee3a7 --- /dev/null +++ b/src/Maps/ArmourSlots.h @@ -0,0 +1,61 @@ +#pragma once + +// MassBuilderSaveTool +// Copyright (C) 2021 Guillaume Jacquemin +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +static const std::unordered_map armour_slots { + {"enuArmorSlots::NewEnumerator0", "Face"}, + {"enuArmorSlots::NewEnumerator1", "Upper head"}, + {"enuArmorSlots::NewEnumerator2", "Lower head"}, + {"enuArmorSlots::NewEnumerator3", "Neck"}, + {"enuArmorSlots::NewEnumerator4", "Upper body"}, + {"enuArmorSlots::NewEnumerator5", "Middle body"}, + {"enuArmorSlots::NewEnumerator23", "Backpack"}, + {"enuArmorSlots::NewEnumerator6", "Lower body"}, + {"enuArmorSlots::NewEnumerator7", "Front waist"}, + {"enuArmorSlots::NewEnumerator8", "Left front skirt"}, + {"enuArmorSlots::NewEnumerator9", "Right front skirt"}, + {"enuArmorSlots::NewEnumerator10", "Left side skirt"}, + {"enuArmorSlots::NewEnumerator11", "Right side skirt"}, + {"enuArmorSlots::NewEnumerator12", "Left back skirt"}, + {"enuArmorSlots::NewEnumerator13", "Right side skirt"}, + {"enuArmorSlots::NewEnumerator14", "Back waist"}, + {"enuArmorSlots::NewEnumerator15", "Left shoulder"}, + {"enuArmorSlots::NewEnumerator16", "Right shoulder"}, + {"enuArmorSlots::NewEnumerator17", "Left upper arm"}, + {"enuArmorSlots::NewEnumerator18", "Right upper arm"}, + {"enuArmorSlots::NewEnumerator19", "Left elbow"}, + {"enuArmorSlots::NewEnumerator20", "Right elbow"}, + {"enuArmorSlots::NewEnumerator21", "Left lower arm"}, + {"enuArmorSlots::NewEnumerator22", "Right lower arm"}, + {"enuArmorSlots::NewEnumerator24", "Left hand"}, + {"enuArmorSlots::NewEnumerator25", "Right hand"}, + {"enuArmorSlots::NewEnumerator26", "Left upper leg"}, + {"enuArmorSlots::NewEnumerator27", "Right upper leg"}, + {"enuArmorSlots::NewEnumerator28", "Left knee"}, + {"enuArmorSlots::NewEnumerator29", "Right knee"}, + {"enuArmorSlots::NewEnumerator30", "Left lower leg"}, + {"enuArmorSlots::NewEnumerator31", "Right lower leg"}, + {"enuArmorSlots::NewEnumerator32", "Left ankle"}, + {"enuArmorSlots::NewEnumerator33", "Right ankle"}, + {"enuArmorSlots::NewEnumerator34", "Left heel"}, + {"enuArmorSlots::NewEnumerator35", "Right heel"}, + {"enuArmorSlots::NewEnumerator36", "Left foot"}, + {"enuArmorSlots::NewEnumerator37", "Right foot"}, +};