Compare commits
3 commits
f2927acd50
...
07832e6a89
Author | SHA1 | Date | |
---|---|---|---|
07832e6a89 | |||
380f77cc80 | |||
ce2a8df6a1 |
5 changed files with 80 additions and 38 deletions
|
@ -125,7 +125,6 @@ class Application: public Platform::Sdl2Application, public efsw::FileWatchListe
|
|||
void drawGeneralInfo();
|
||||
void drawResearchInventory();
|
||||
void drawMaterialRow(Containers::StringView name, std::int32_t tier, GameData::MaterialID id);
|
||||
void drawUnavailableMaterialRow(Containers::StringView name, std::int32_t tier);
|
||||
void drawMassManager();
|
||||
void drawDeleteMassPopup(int mass_index);
|
||||
void drawDeleteStagedMassPopup(Containers::StringView filename);
|
||||
|
|
|
@ -313,7 +313,7 @@ Application::drawResearchInventory() {
|
|||
drawMaterialRow("Lunarite", 4, GameData::MaterialID::Lunarite);
|
||||
drawMaterialRow("Asterite", 5, GameData::MaterialID::Asterite);
|
||||
drawMaterialRow("Hallite fragma", 6, GameData::MaterialID::HalliteFragma);
|
||||
drawUnavailableMaterialRow("Unnoctinium", 7);
|
||||
drawMaterialRow("Unnoctinium", 7, GameData::MaterialID::Unnoctinium);
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
|
@ -325,7 +325,7 @@ Application::drawResearchInventory() {
|
|||
drawMaterialRow("Soldus", 4, GameData::MaterialID::Soldus);
|
||||
drawMaterialRow("Synthesized N", 5, GameData::MaterialID::SynthesisedN);
|
||||
drawMaterialRow("Nanoc", 6, GameData::MaterialID::Nanoc);
|
||||
drawUnavailableMaterialRow("Abyssillite", 7);
|
||||
drawMaterialRow("Abyssillite", 7, GameData::MaterialID::Abyssillite);
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
|
@ -337,7 +337,7 @@ Application::drawResearchInventory() {
|
|||
drawMaterialRow("Quarkium", 4, GameData::MaterialID::Quarkium);
|
||||
drawMaterialRow("Alterene", 5, GameData::MaterialID::Alterene);
|
||||
drawMaterialRow("Cosmium", 6, GameData::MaterialID::Cosmium);
|
||||
drawUnavailableMaterialRow("Purified quarkium", 7);
|
||||
drawMaterialRow("Purified quarkium", 7, GameData::MaterialID::PurifiedQuarkium);
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
|
@ -349,7 +349,7 @@ Application::drawResearchInventory() {
|
|||
drawMaterialRow("Mineral exoskeletology", 4, GameData::MaterialID::MineralExoskeletology);
|
||||
drawMaterialRow("Carbonized skin", 5, GameData::MaterialID::CarbonisedSkin);
|
||||
drawMaterialRow("Isolated void particle", 6, GameData::MaterialID::IsolatedVoidParticle);
|
||||
drawUnavailableMaterialRow("Weaponised physiology", 7);
|
||||
drawMaterialRow("Weaponised physiology", 7, GameData::MaterialID::WeaponisedPhysiology);
|
||||
|
||||
ImGui::EndTable();
|
||||
}
|
||||
|
@ -382,17 +382,6 @@ Application::drawMaterialRow(Containers::StringView name, std::int32_t tier, Gam
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
Application::drawUnavailableMaterialRow(Containers::StringView name, std::int32_t tier) {
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableSetColumnIndex(0);
|
||||
ImGui::Text("T%i", tier);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
ImGui::TextUnformatted(name.cbegin(), name.cend());
|
||||
ImGui::TableSetColumnIndex(2);
|
||||
ImGui::TextDisabled("Unavailable as of game version " SAVETOOL_SUPPORTED_GAME_VERSION);
|
||||
}
|
||||
|
||||
void
|
||||
Application::drawMassManager() {
|
||||
if(!_massManager) {
|
||||
|
|
|
@ -25,6 +25,7 @@ enum MaterialID : std::int32_t {
|
|||
Lunarite = 0xC3503,
|
||||
Asterite = 0xC3504,
|
||||
HalliteFragma = 0xC3505,
|
||||
Unnoctinium = 0xC3506,
|
||||
|
||||
Ednil = 0xC350A,
|
||||
Nuflalt = 0xC350B,
|
||||
|
@ -32,6 +33,7 @@ enum MaterialID : std::int32_t {
|
|||
Soldus = 0xC350D,
|
||||
SynthesisedN = 0xC350E,
|
||||
Nanoc = 0xC350F,
|
||||
Abyssillite = 0xC3510,
|
||||
|
||||
Alcarbonite = 0xC3514,
|
||||
Keriphene = 0xC3515,
|
||||
|
@ -39,6 +41,7 @@ enum MaterialID : std::int32_t {
|
|||
Quarkium = 0xC3517,
|
||||
Alterene = 0xC3518,
|
||||
Cosmium = 0xC3519,
|
||||
PurifiedQuarkium = 0xC351A,
|
||||
|
||||
MixedComposition = 0xDBBA0,
|
||||
VoidResidue = 0xDBBA1,
|
||||
|
@ -46,6 +49,7 @@ enum MaterialID : std::int32_t {
|
|||
MineralExoskeletology = 0xDBBA3,
|
||||
CarbonisedSkin = 0xDBBA4,
|
||||
IsolatedVoidParticle = 0xDBBA5,
|
||||
WeaponisedPhysiology = 0xDBBA6,
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
|
|||
{5, "Guardian Grip (1H)"_s},
|
||||
{6, "Knight Guard Grip (1H)"_s},
|
||||
{7, "Saber Guard Grip (1H)"_s},
|
||||
{8, "Base Grip (1H)"_s},
|
||||
|
||||
{100, "Combat Side Grip (1H)"_s},
|
||||
{101, "Hollowed Side Grip (1H)"_s},
|
||||
|
@ -44,39 +45,60 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
|
|||
{103, "Plated Side Grip (1H)"_s},
|
||||
{104, "Locked Side Grip (1H)"_s},
|
||||
{105, "Longpoint Side Grip (1H)"_s},
|
||||
{106, "Concave Side Grip (1H)"_s},
|
||||
{107, "Polehead Side Grip (1H)"_s},
|
||||
{108, "Base Side Grip (1H)"_s},
|
||||
|
||||
{200, "Combat Dual Grip (1H)"_s},
|
||||
{201, "Hollowed Dual Grip (1H)"_s},
|
||||
{202, "Plated Dual Grip (1H)"_s},
|
||||
{203, "Concave Dual Grip (1H)"_s},
|
||||
{204, "Polehead Dual Grip (1H)"_s},
|
||||
|
||||
{400, "Combat Twin Grip (1H)"_s},
|
||||
{401, "Sepal Twin Grip (1H)"_s},
|
||||
{402, "Hollowed Twin Grip (1H)"_s},
|
||||
{403, "Knuckle Guard Twin Grip (1H)"_s},
|
||||
{404, "Arched Twin Grip (1H)"_s},
|
||||
{405, "Handguard Twin Grip (1H)"_s},
|
||||
{406, "Fullguard Twin Grip (1H)"_s},
|
||||
{407, "Base Twin Grip (1H)"_s},
|
||||
|
||||
{1000, "Combat Knuckle (R/L)"_s},
|
||||
{1001, "Battle Fist (R/L)"_s},
|
||||
{1002, "Guard Knuckle (R/L)"_s},
|
||||
{1003, "Heavy Fist (R/L)"_s},
|
||||
{1004, "Thick Fist (R/L)"_s},
|
||||
{1005, "Base Fist (R/L)"_s},
|
||||
|
||||
{2000, "Combat Polearm (2H)"_s},
|
||||
{2001, "Dual Guard Polearm (2H)"_s},
|
||||
{2002, "Sepal Polearm (2H)"_s},
|
||||
{2003, "Fin Polearm (2H)"_s},
|
||||
{2004, "Arched Polearm (2H)"_s},
|
||||
{2005, "Sharp Polearm (2H)"_s},
|
||||
{2006, "Ring Polearm (2H)"_s},
|
||||
{2007, "Base Polearm (2H)"_s},
|
||||
|
||||
{2100, "Combat Side Polearm (2H)"_s},
|
||||
{2101, "Plated Side Polearm (2H)"_s},
|
||||
{2102, "Locked Side Polearm (2H)"_s},
|
||||
{2103, "Fin Side Polearm (2H)"_s},
|
||||
{2104, "Heavy Side Polearm (2H)"_s},
|
||||
{2105, "Base Side Polearm (2H)"_s},
|
||||
|
||||
{2200, "Combat Dual Polearm (2H)"_s},
|
||||
{2201, "Studded Dual Polearm (2H)"_s},
|
||||
{2202, "Circular Dual Polearm (2H)"_s},
|
||||
|
||||
{2400, "Combat Twin Blade (2H)"_s},
|
||||
{2401, "Guard Twin Blade (2H)"_s},
|
||||
{2402, "Sepal Twin Blade (2H)"_s},
|
||||
{2403, "Fin Twin Blade (2H)"_s},
|
||||
{2404, "Arched Twin Blade (2H)"_s},
|
||||
{2405, "Holder Twin Blade (2H)"_s},
|
||||
{2406, "Ring Twin Blade (2H)"_s},
|
||||
{2407, "Base Twin Blade (2H)"_s},
|
||||
};
|
||||
|
||||
static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
||||
|
@ -92,6 +114,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
|||
{9, "Long Flat Gouger"_s},
|
||||
{10, "Long Curved Blade"_s},
|
||||
{11, "Long Broad Blade"_s},
|
||||
{12, "Base L Sword"_s},
|
||||
|
||||
{20, "Long Combat Edge"_s},
|
||||
{21, "Long Attached Edge"_s},
|
||||
|
@ -105,6 +128,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
|||
{100, "Short Metal Blade"_s},
|
||||
{101, "Short Assault Blade"_s},
|
||||
{102, "Short Fin Blade"_s},
|
||||
{103, "Base S Sword"_s},
|
||||
|
||||
{120, "Short Combat Edge"_s},
|
||||
|
||||
|
@ -120,6 +144,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
|||
|
||||
{200, "Bracer"_s},
|
||||
{201, "Custom Bracer"_s},
|
||||
{202, "Base Hammer"_s},
|
||||
|
||||
{210, "Expanded Bracer"_s},
|
||||
{211, "Expanded Custom Bracer"_s},
|
||||
|
@ -127,10 +152,18 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
|||
{300, "Heavy Smasher"_s},
|
||||
{301, "Heavy Basher"_s},
|
||||
{302, "Heavy Torch Mace"_s},
|
||||
{303, "Heavy Spike Club"_s},
|
||||
{304, "Heavy Diamond Smasher"_s},
|
||||
{305, "Heavy Spinning Smasher (Motion)"_s},
|
||||
{306, "Base L Mace"_s},
|
||||
|
||||
{400, "Light Smasher"_s},
|
||||
{401, "Light Basher"_s},
|
||||
{402, "Light Torch Mace"_s},
|
||||
{403, "Light Spike Club"_s},
|
||||
{404, "Light Diamond Smasher"_s},
|
||||
{405, "Light Spinning Smasher"_s},
|
||||
{406, "Base S Mace"_s},
|
||||
|
||||
{420, "War Hammer"_s},
|
||||
{421, "Great Hammer"_s},
|
||||
|
@ -142,13 +175,16 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
|
|||
|
||||
{500, "Combat Lance"_s},
|
||||
{501, "Gouger Lance"_s},
|
||||
|
||||
{502, "Pointy Lance"_s},
|
||||
{503, "Spinning Pointy Lance (Motion)"_s},
|
||||
{504, "Crystal Lance"_s},
|
||||
{510, "Piercer"_s},
|
||||
|
||||
{600, "Short Combat Lance"_s},
|
||||
|
||||
{601, "Short Pointy Lance"_s},
|
||||
{602, "Short Spinning Pointy Lance (Motion)"_s},
|
||||
{603, "Short Crystal Lance"_s},
|
||||
{605, "Short Combat Drill (Motion)"_s},
|
||||
|
||||
{610, "Short Piercer"_s},
|
||||
|
||||
{700, "Combat Axe"_s},
|
||||
|
@ -264,6 +300,11 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
|
|||
{397, "Short D Base Barrel (Detonate)"_s},
|
||||
{398, "Medium D Base Barrel (Detonate)"_s},
|
||||
{399, "Long D Base Barrel (Detonate)"_s},
|
||||
|
||||
{400, "Heavy Burst Barrel (Pile Bunker) (Motion)"_s},
|
||||
{401, "Under Guard Barrel (Pile Bunker) (Motion)"_s},
|
||||
{402, "Facthold Barrel (Pile Bunker) (Motion)"_s},
|
||||
{499, "Long P Base Barrel (Pile Bunker) (Motion)"_s},
|
||||
};
|
||||
// endregion
|
||||
|
||||
|
@ -318,6 +359,11 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
|
|||
{397, "Short W Base Buster (Wave)"_s},
|
||||
{398, "Medium W Base Buster (Wave)"_s},
|
||||
{399, "Long W Base Buster (Wave)"_s},
|
||||
|
||||
{400, "Wiredcharge Buster (Prism) (Motion)"_s},
|
||||
{402, "Heavyclamp Buster (Prism) (Motion)"_s},
|
||||
{402, "Curlescent Buster (Prism) (Motion)"_s},
|
||||
{499, "Long P Base Buster (Prism) (Motion)"_s},
|
||||
};
|
||||
// endregion
|
||||
|
||||
|
|
|
@ -141,6 +141,7 @@ Profile::refreshValues() {
|
|||
_materials[GameData::MaterialID::Lunarite] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Lunarite);
|
||||
_materials[GameData::MaterialID::Asterite] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Asterite);
|
||||
_materials[GameData::MaterialID::HalliteFragma] = getResource(PROFILE_MATERIAL, GameData::MaterialID::HalliteFragma);
|
||||
_materials[GameData::MaterialID::Unnoctinium] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Unnoctinium);
|
||||
|
||||
_materials[GameData::MaterialID::Ednil] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Ednil);
|
||||
_materials[GameData::MaterialID::Nuflalt] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Nuflalt);
|
||||
|
@ -148,6 +149,7 @@ Profile::refreshValues() {
|
|||
_materials[GameData::MaterialID::Soldus] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Soldus);
|
||||
_materials[GameData::MaterialID::SynthesisedN] = getResource(PROFILE_MATERIAL, GameData::MaterialID::SynthesisedN);
|
||||
_materials[GameData::MaterialID::Nanoc] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Nanoc);
|
||||
_materials[GameData::MaterialID::Abyssillite] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Abyssillite);
|
||||
|
||||
_materials[GameData::MaterialID::Alcarbonite] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Alcarbonite);
|
||||
_materials[GameData::MaterialID::Keriphene] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Keriphene);
|
||||
|
@ -155,6 +157,7 @@ Profile::refreshValues() {
|
|||
_materials[GameData::MaterialID::Quarkium] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Quarkium);
|
||||
_materials[GameData::MaterialID::Alterene] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Alterene);
|
||||
_materials[GameData::MaterialID::Cosmium] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Cosmium);
|
||||
_materials[GameData::MaterialID::PurifiedQuarkium] = getResource(PROFILE_MATERIAL, GameData::MaterialID::PurifiedQuarkium);
|
||||
|
||||
_materials[GameData::MaterialID::MixedComposition] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::MixedComposition);
|
||||
_materials[GameData::MaterialID::VoidResidue] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::VoidResidue);
|
||||
|
@ -162,6 +165,7 @@ Profile::refreshValues() {
|
|||
_materials[GameData::MaterialID::MineralExoskeletology] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::MineralExoskeletology);
|
||||
_materials[GameData::MaterialID::CarbonisedSkin] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::CarbonisedSkin);
|
||||
_materials[GameData::MaterialID::IsolatedVoidParticle] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::IsolatedVoidParticle);
|
||||
_materials[GameData::MaterialID::WeaponisedPhysiology] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::WeaponisedPhysiology);
|
||||
|
||||
_valid = true;
|
||||
}
|
||||
|
@ -260,7 +264,7 @@ Profile::material(GameData::MaterialID id) const {
|
|||
|
||||
bool
|
||||
Profile::setMaterial(GameData::MaterialID id, std::int32_t amount) {
|
||||
Containers::StringView container = id > GameData::MaterialID::MixedComposition ? PROFILE_QUARK_DATA : PROFILE_MATERIAL;
|
||||
Containers::StringView container = id >= GameData::MaterialID::MixedComposition ? PROFILE_QUARK_DATA : PROFILE_MATERIAL;
|
||||
auto mats_prop = _profile.at<Gvas::Types::ArrayProperty>(container);
|
||||
|
||||
if(!mats_prop) {
|
||||
|
|
Loading…
Reference in a new issue