Compare commits
No commits in common. "07832e6a89022aed6044d4576a02bb43b655ee29" and "f2927acd506a74caccb1b9137348e9d739a6a93b" have entirely different histories.
07832e6a89
...
f2927acd50
5 changed files with 38 additions and 80 deletions
|
@ -125,6 +125,7 @@ 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);
|
||||
drawMaterialRow("Unnoctinium", 7, GameData::MaterialID::Unnoctinium);
|
||||
drawUnavailableMaterialRow("Unnoctinium", 7);
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
|
@ -325,19 +325,19 @@ Application::drawResearchInventory() {
|
|||
drawMaterialRow("Soldus", 4, GameData::MaterialID::Soldus);
|
||||
drawMaterialRow("Synthesized N", 5, GameData::MaterialID::SynthesisedN);
|
||||
drawMaterialRow("Nanoc", 6, GameData::MaterialID::Nanoc);
|
||||
drawMaterialRow("Abyssillite", 7, GameData::MaterialID::Abyssillite);
|
||||
drawUnavailableMaterialRow("Abyssillite", 7);
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableSetColumnIndex(1);
|
||||
ImGui::TextUnformatted("Architect materials");
|
||||
|
||||
drawMaterialRow("Alcarbonite", 1, GameData::MaterialID::Alcarbonite);
|
||||
drawMaterialRow("Keriphene", 2, GameData::MaterialID::Keriphene);
|
||||
drawMaterialRow("Nitinol-CM", 3, GameData::MaterialID::NitinolCM);
|
||||
drawMaterialRow("Quarkium", 4, GameData::MaterialID::Quarkium);
|
||||
drawMaterialRow("Alterene", 5, GameData::MaterialID::Alterene);
|
||||
drawMaterialRow("Cosmium", 6, GameData::MaterialID::Cosmium);
|
||||
drawMaterialRow("Purified quarkium", 7, GameData::MaterialID::PurifiedQuarkium);
|
||||
drawMaterialRow("Alcarbonite", 1, GameData::MaterialID::Alcarbonite);
|
||||
drawMaterialRow("Keriphene", 2, GameData::MaterialID::Keriphene);
|
||||
drawMaterialRow("Nitinol-CM", 3, GameData::MaterialID::NitinolCM);
|
||||
drawMaterialRow("Quarkium", 4, GameData::MaterialID::Quarkium);
|
||||
drawMaterialRow("Alterene", 5, GameData::MaterialID::Alterene);
|
||||
drawMaterialRow("Cosmium", 6, GameData::MaterialID::Cosmium);
|
||||
drawUnavailableMaterialRow("Purified quarkium", 7);
|
||||
|
||||
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);
|
||||
drawMaterialRow("Weaponised physiology", 7, GameData::MaterialID::WeaponisedPhysiology);
|
||||
drawUnavailableMaterialRow("Weaponised physiology", 7);
|
||||
|
||||
ImGui::EndTable();
|
||||
}
|
||||
|
@ -382,6 +382,17 @@ 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,7 +25,6 @@ enum MaterialID : std::int32_t {
|
|||
Lunarite = 0xC3503,
|
||||
Asterite = 0xC3504,
|
||||
HalliteFragma = 0xC3505,
|
||||
Unnoctinium = 0xC3506,
|
||||
|
||||
Ednil = 0xC350A,
|
||||
Nuflalt = 0xC350B,
|
||||
|
@ -33,15 +32,13 @@ enum MaterialID : std::int32_t {
|
|||
Soldus = 0xC350D,
|
||||
SynthesisedN = 0xC350E,
|
||||
Nanoc = 0xC350F,
|
||||
Abyssillite = 0xC3510,
|
||||
|
||||
Alcarbonite = 0xC3514,
|
||||
Keriphene = 0xC3515,
|
||||
NitinolCM = 0xC3516,
|
||||
Quarkium = 0xC3517,
|
||||
Alterene = 0xC3518,
|
||||
Cosmium = 0xC3519,
|
||||
PurifiedQuarkium = 0xC351A,
|
||||
Alcarbonite = 0xC3514,
|
||||
Keriphene = 0xC3515,
|
||||
NitinolCM = 0xC3516,
|
||||
Quarkium = 0xC3517,
|
||||
Alterene = 0xC3518,
|
||||
Cosmium = 0xC3519,
|
||||
|
||||
MixedComposition = 0xDBBA0,
|
||||
VoidResidue = 0xDBBA1,
|
||||
|
@ -49,7 +46,6 @@ enum MaterialID : std::int32_t {
|
|||
MineralExoskeletology = 0xDBBA3,
|
||||
CarbonisedSkin = 0xDBBA4,
|
||||
IsolatedVoidParticle = 0xDBBA5,
|
||||
WeaponisedPhysiology = 0xDBBA6,
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -37,7 +37,6 @@ 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},
|
||||
|
@ -45,60 +44,39 @@ 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 {
|
||||
|
@ -114,7 +92,6 @@ 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},
|
||||
|
@ -128,7 +105,6 @@ 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},
|
||||
|
||||
|
@ -144,7 +120,6 @@ 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},
|
||||
|
@ -152,18 +127,10 @@ 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},
|
||||
|
@ -175,16 +142,13 @@ 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},
|
||||
|
@ -300,11 +264,6 @@ 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
|
||||
|
||||
|
@ -359,11 +318,6 @@ 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,7 +141,6 @@ 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);
|
||||
|
@ -149,15 +148,13 @@ 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);
|
||||
_materials[GameData::MaterialID::NitinolCM] = getResource(PROFILE_MATERIAL, GameData::MaterialID::NitinolCM);
|
||||
_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::Alcarbonite] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Alcarbonite);
|
||||
_materials[GameData::MaterialID::Keriphene] = getResource(PROFILE_MATERIAL, GameData::MaterialID::Keriphene);
|
||||
_materials[GameData::MaterialID::NitinolCM] = getResource(PROFILE_MATERIAL, GameData::MaterialID::NitinolCM);
|
||||
_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::MixedComposition] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::MixedComposition);
|
||||
_materials[GameData::MaterialID::VoidResidue] = getResource(PROFILE_QUARK_DATA, GameData::MaterialID::VoidResidue);
|
||||
|
@ -165,7 +162,6 @@ 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;
|
||||
}
|
||||
|
@ -264,7 +260,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