Mapped all icon locations

master
sigonasr2 1 year ago
parent e490ca4e8a
commit 96228d946e
  1. 398
      FiestaCraftingCalculator/FiestaCraftingCalculator.cpp
  2. 2
      FiestaCraftingCalculator/assets/Produce.txt
  3. BIN
      FiestaCraftingCalculator/assets/collectibles.png
  4. BIN
      FiestaCraftingCalculator/assets/collectibles2.png
  5. BIN
      FiestaCraftingCalculator/assets/grade.png
  6. 43
      FiestaCraftingCalculator/olcPGEX_QuickGUI.h

@ -11,189 +11,215 @@ using namespace olc::QuickGUI;
int PANEL_WIDTH=620;
int PANEL_HEIGHT=240;
std::map<std::string,std::string>IDToName={
{"El1","Elrue [1]"},
{"El2","Elrue [2]"},
{"El3","Elrue [3]"},
{"El4","Elrue [4]"},
{"El5","Elrue [5]"},
{"Lix1","Lix [1]"},
{"Lix2","Lix [2]"},
{"Lix3","Lix [3]"},
{"Lix4","Lix [4]"},
{"Lix5","Lix [5]"},
{"Xir1","Xir [1]"},
{"Xir2","Xir [2]"},
{"Xir3","Xir [3]"},
{"Xir4","Xir [4]"},
{"Xir5","Xir [5]"},
{"BestLowHpPotion","HP Potion (Tier 1)"},
{"LowHpPotion","HP Potion (Tier 2)"},
{"NorHpPotion","HP Potion (Tier 3)"},
{"HighHpPotion","HP Potion (Tier 4)"},
{"BestHighHpPotion","HP Potion (Tier 5)"},
{"BestLowSpPotion","SP Potion (Tier 1)"},
{"LowSpPotion","SP Potion (Tier 2)"},
{"NorSpPotion","SP Potion (Tier 3)"},
{"HighSpPotion","SP Potion (Tier 4)"},
{"BestHighSpPotion","SP Potion (Tier 5)"},
{"BestLowConHPPotion","HP Regeneration Potion (Tier 1)"},
{"LowConHPPotion","HP Regeneration Potion (Tier 2)"},
{"NorConHPPotion","HP Regeneration Potion (Tier 3)"},
{"HighConHPPotion","HP Regeneration Potion (Tier 4)"},
{"BestHighConHPPotion","HP Regeneration Potion (Tier 5)"},
{"BestLowConSPPotion","SP Regeneration Potion (Tier 1)"},
{"LowConSPPotion","SP Regeneration Potion (Tier 2)"},
{"NorConSPPotion","SP Regeneration Potion (Tier 3)"},
{"HighConSPPotion","SP Regeneration Potion (Tier 4)"},
{"BestHighConSPPotion","SP Regeneration Potion (Tier 5)"},
{"BestLowTHScroll","Aim(Tier 1)"},
{"LowTHScroll","Aim(Tier 2)"},
{"NorTHScroll","Aim(Tier 3)"},
{"HighTHScroll","Aim(Tier 4)"},
{"BestHighTHScroll","Aim(Tier 5)"},
{"BestLowTBScroll","Nature's Agility (Tier 1)"},
{"LowTBScroll","Nature's Agility (Tier 2)"},
{"NorTBScroll","Nature's Agility (Tier 3)"},
{"HighTBScroll","Nature's Agility (Tier 4)"},
{"BestHighTBScroll","Nature's Agility (Tier 5)"},
{"BestLowMRScroll","Magical Defense (Tier 1)"},
{"LowMRScroll","Magical Defense (Tier 2)"},
{"NorMRScroll","Magical Defense (Tier 3)"},
{"HighMRScroll","Magical Defense (Tier 4)"},
{"BestHighMRScroll","Magical Defense (Tier 5)"},
{"BestLowACScroll","Shield Increase (Tier 1)"},
{"LowACScroll","Shield Increase (Tier 2)"},
{"NorACScroll","Shield Increase (Tier 3)"},
{"HighACScroll","Shield Increase (Tier 4)"},
{"BestHighACScroll","Shield Increase (Tier 5)"},
{"BestLowMaxHPScroll","Vitality (Tier 1)"},
{"LowMaxHPScroll","Vitality (Tier 2)"},
{"NorMaxHPScroll","Vitality (Tier 3)"},
{"HighMaxHPScroll","Vitality (Tier 4)"},
{"BestHighMaxHPScroll","Vitality (Tier 5)"},
{"BestLowMaxSPScroll","Mentality (Tier 1)"},
{"LowMaxSPScroll","Mentality (Tier 2)"},
{"NorMaxSPScroll","Mentality (Tier 3)"},
{"HighMaxSPScroll","Mentality (Tier 4)"},
{"BestHighMaxSPScroll","Mentality (Tier 5)"},
{"NorMSScroll","Speed Increase (Tier 3)"},
{"LowMSScroll","Speed Increase (Tier 2)"},
{"HighMSScroll","Speed Increase (Tier 4)"},
{"BestMSScroll","Speed Increase (Tier 5)"},
{"BestLowMSScroll","Speed Increase (Tier 1)"},
{"LowPsnResiPotion","Antitoxin (Tier 1)"},
{"NorPsnResiPotion","Antitoxin (Tier 2)"},
{"HighPsnResiPotion","Antitoxin (Tier 3)"},
{"LowDssResiPotion","Antibiotic (Tier 1)"},
{"NorDssResiPotion","Antibiotic (Tier 2)"},
{"HighDssResiPotion","Antibiotic (Tier 3)"},
{"LowCurResiPotion","Bless (Tier 1)"},
{"NorCurResiPotion","Bless (Tier 2)"},
{"HighCurResiPotion","Bless (Tier 3)"},
{"LowPsnCurPotion","Antidote (Tier 1)"},
{"NorPsnCurPotion","Antidote (Tier 2)"},
{"HighPsnCurPotion","Antidote (Tier 3)"},
{"LowDssCurPotion","Cure (Tier 1)"},
{"NorDssCurPotion","Cure (Tier 2)"},
{"HighDssCurPotion","Cure (Tier 3)"},
{"BestLowCurScroll","Divine Magic (Tier 1)"},
{"LowCurScroll","Divine Magic (Tier 2)"},
{"NorCurScroll","Divine Magic (Tier 3)"},
{"HighCurScroll","Divine Magic (Tier 4)"},
{"BestHighCurScroll","Divine Magic (Tier 5)"},
{"NorBeastLeather","Beast Leather (Normal Quality)"},
{"HighBeastLeather","Beast Leather (High Quality)"},
{"BeastHead","Beast Head"},
{"NorBeastTooth","Beast Dogtooth (Normal Quality)"},
{"HighBeastTooth","Beast Dogtooth (High Quality)"},
{"NorBrokenBone","Bone (Normal Quality)"},
{"HighBrokenBone","Bone (High Quality)"},
{"BestBrokenBone","Bone (Highest Quality)"},
{"NorCleanWater","Spirit's Nectar (Normal Quality)"},
{"HighCleanWater","Spirit's Nectar (High Quality)"},
{"BestCleanWater","Spirit's Nectar (Highest Quality)"},
{"IronBadge","Iron Badge"},
{"NorCopperOre","Copper Ore (Normal Quality)"},
{"HighCopperOre","Copper Ore (High Quality)"},
{"NorGemDust","Gem Dust (Normal Quality)"},
{"HighGemDust","Gem Dust (High Quality)"},
{"BestGemDust","Gem Dust (Highest Quality)"},
{"Violet","Vilolet"},
{"Ramsear","Ramsear"},
{"Salvia","Eucalyptus"},
{"LowGoldOre","Gold Ore (Low Quality)"},
{"NorGoldOre","Gold Ore (Normal Quality)"},
{"HighGoldOre","Gold Ore (High Quality)"},
{"NorKylinLeather","Summoned Beast Leather (Normal Quality)"},
{"HighKylinLeather","Summoned Beast Leather (High Quality)"},
{"KylinTooth","Summoned Beast's Tooth"},
{"MermaidScale","Mermaid's Scale"},
{"KylinFighterTail","Summoned Beast Fighter's Tail"},
{"NorMagicCrystal","Magic Crystal (Normal Quality)"},
{"HighMagicCrystal","Magic Crystal (High Quality)"},
{"BestMagicCrystal","Magic Crystal (Highest Quality)"},
{"NorMeat","Meat (Normal Quality)"},
{"HighMeat","Meat (High Quality)"},
{"BestMeat","Meat (Highest Quality)"},
{"NorMushrooms","Mushroom (Normal Quality)"},
{"HighMushrooms","Mushroom (High Quality)"},
{"BestMushrooms","Mushroom (Highest Quality)"},
{"NorPledge","Sign (Normal Quality)"},
{"HighPledge","Sign (High Quality)"},
{"BestPledge","Sign (Highest Quality)"},
{"Rosemary","Rosemary"},
{"Basil","Basil"},
{"Marigold","Marigold"},
{"LowSilverOre","Silver Ore (Low Quality)"},
{"NorSilverOre","Silver Ore (Normal Quality)"},
{"HighSilverOre","Silver Ore (High Quality)"},
{"NorSkin","Leather (Normal Quality)"},
{"HighSkin","Leather (High Quality)"},
{"BestSkin","Leather (Highest Quality)"},
{"NorSoulDust","Soul Dust (Normal Quality)"},
{"HighSoulDust","Soul Dust (High Quality)"},
{"BestSoulDust","Soul Dust (Highest Quality)"},
{"NorSpiritDust","Spirit Dust (Normal Quality)"},
{"HighSpiritDust","Spirit Dust (High Quality)"},
{"BestSpiritDust","Spirit Dust (Highest Quality)"},
{"NorToadStool","Toadstool (Normal Quality)"},
{"HighToadStool","Toadstool (High Quality)"},
{"BestToadStool","Toadstool (Highest Quality)"},
{"Ruby","Ruby"},
{"Sapphire","Sapphire"},
{"NorWoodSab","Sap (Normal Quality)"},
{"HighWoodSab","Sap (High Quality)"},
{"BestWoodSab","Sap (Highest Quality)"},
{"LowBeastLeather","Beast Leather (Low Quality)"},
{"NorBeastLeather","Beast Leather (Normal Quality)"},
{"HighBeastLeather","Beast Leather (High Quality)"},
{"LowBeastTooth","Beast Dogtooth (Low Quality)"},
{"NorBeastTooth","Beast Dogtooth (Normal Quality)"},
{"HighBeastTooth","Beast Dogtooth (High Quality)"},
{"LowBrokenBone","Bone (Low Quality)"},
{"NorBrokenBone","Bone (Normal Quality)"},
{"HighBrokenBone","Bone (High Quality)"},
{"LowCleanWater","Spirit's Nectar (Low Quality)"},
{"NorCleanWater","Spirit's Nectar (Normal Quality)"},
{"HighCleanWater","Spirit's Nectar (High Quality)"},
{"CommanderBadge","Master Commander's Badge"},
{"LowCopperOre","Copper Ore (Low Quality)"},
{"NorCopperOre","Copper Ore (Normal Quality)"},
{"HighCopperOre","Copper Ore (High Quality)"},
{"LowGemDust","Gem Dust (Low Quality)"},
{"NorGemDust","Gem Dust (Normal Quality)"},
{"HighGemDust","Gem Dust (High Quality)"},
{"Geranium","Geranium"},
{"Violet","Vilolet"},
{"Ramsear","Ramsear"},
{"LowGoldOre","Gold Ore (Low Quality)"},
{"NorGoldOre","Gold Ore (Normal Quality)"},
{"LowKylinLeather","Summoned Beast Leather (Low Quality)"},
{"NorKylinLeather","Summoned Beast Leather (Normal Quality)"},
{"HighKylinLeather","Summoned Beast Leather (High Quality)"},
{"KylinTail","Summoned Beast's Tail"},
{"LowMagicCrystal","Magic Crystal (Low Quality)"},
enum Image{
PRODUCTION,
COLLECTIBLE,
COLLECTIBLE2
};
enum Grade{
GRADE_NONE,
GRADEL,
GRADEM,
GRADEH,
GRADE1,
GRADE2,
GRADE3,
GRADE4,
GRADE5,
};
struct ItemData{
std::string name;
Pixel borderCol;
vi2d tilesheetPos={0,0};
Image img=COLLECTIBLE;
Grade grade=GRADE_NONE;
};
std::map<std::string,ItemData>IDToName={
{"El1",{"Elrue [1]",{0,0,0},{6,2},PRODUCTION,GRADE1}},
{"El2",{"Elrue [2]",{0,0,0},{6,2},PRODUCTION,GRADE2}},
{"El3",{"Elrue [3]",{0,0,0},{6,2},PRODUCTION,GRADE3}},
{"El4",{"Elrue [4]",{0,0,0},{6,2},PRODUCTION,GRADE4}},
{"El5",{"Elrue [5]",{0,0,0},{6,2},PRODUCTION,GRADE5}},
{"Lix1",{"Lix [1]",{0,0,0},{1,3},PRODUCTION,GRADE1}},
{"Lix2",{"Lix [2]",{0,0,0},{1,3},PRODUCTION,GRADE2}},
{"Lix3",{"Lix [3]",{0,0,0},{1,3},PRODUCTION,GRADE3}},
{"Lix4",{"Lix [4]",{0,0,0},{1,3},PRODUCTION,GRADE4}},
{"Lix5",{"Lix [5]",{0,0,0},{1,3},PRODUCTION,GRADE5}},
{"Xir1",{"Xir [1]",{0,0,0},{4,3},PRODUCTION,GRADE1}},
{"Xir2",{"Xir [2]",{0,0,0},{4,3},PRODUCTION,GRADE2}},
{"Xir3",{"Xir [3]",{0,0,0},{4,3},PRODUCTION,GRADE3}},
{"Xir4",{"Xir [4]",{0,0,0},{4,3},PRODUCTION,GRADE4}},
{"Xir5",{"Xir [5]",{0,0,0},{4,3},PRODUCTION,GRADE5}},
{"BestLowHpPotion",{"HP Potion (Tier 1)",{0,0,0},{0,0},PRODUCTION}},
{"LowHpPotion",{"HP Potion (Tier 2)",{0,0,0},{0,0},PRODUCTION,GRADEL}},
{"NorHpPotion",{"HP Potion (Tier 3)",{0,0,0},{1,0},PRODUCTION,GRADEM}},
{"HighHpPotion",{"HP Potion (Tier 4)",{0,0,0},{1,0},PRODUCTION,GRADEH}},
{"BestHighHpPotion",{"HP Potion (Tier 5)",{0,0,0},{2,0},PRODUCTION}},
{"BestLowSpPotion",{"SP Potion (Tier 1)",{0,0,0},{3,0},PRODUCTION}},
{"LowSpPotion",{"SP Potion (Tier 2)",{0,0,0},{3,0},PRODUCTION,GRADEL}},
{"NorSpPotion",{"SP Potion (Tier 3)",{0,0,0},{4,0},PRODUCTION,GRADEM}},
{"HighSpPotion",{"SP Potion (Tier 4)",{0,0,0},{4,0},PRODUCTION,GRADEH}},
{"BestHighSpPotion",{"SP Potion (Tier 5)",{0,0,0},{5,0},PRODUCTION}},
{"BestLowConHPPotion",{"HP Regeneration Potion (Tier 1)",{0,0,0},{0,0},PRODUCTION}},
{"LowConHPPotion",{"HP Regeneration Potion (Tier 2)",{0,0,0},{0,0},PRODUCTION,GRADEL}},
{"NorConHPPotion",{"HP Regeneration Potion (Tier 3)",{0,0,0},{1,0},PRODUCTION,GRADEM}},
{"HighConHPPotion",{"HP Regeneration Potion (Tier 4)",{0,0,0},{1,0},PRODUCTION,GRADEH}},
{"BestHighConHPPotion",{"HP Regeneration Potion (Tier 5)",{0,0,0},{2,0},PRODUCTION}},
{"BestLowConSPPotion",{"SP Regeneration Potion (Tier 1)",{0,0,0},{3,0},PRODUCTION}},
{"LowConSPPotion",{"SP Regeneration Potion (Tier 2)",{0,0,0},{3,0},PRODUCTION,GRADEL}},
{"NorConSPPotion",{"SP Regeneration Potion (Tier 3)",{0,0,0},{4,0},PRODUCTION,GRADEM}},
{"HighConSPPotion",{"SP Regeneration Potion (Tier 4)",{0,0,0},{4,0},PRODUCTION,GRADEH}},
{"BestHighConSPPotion",{"SP Regeneration Potion (Tier 5)",{0,0,0},{5,0},PRODUCTION}},
{"BestLowTHScroll",{"Aim(Tier 1)",{0,0,0},{4,1},PRODUCTION}},
{"LowTHScroll",{"Aim(Tier 2)",{0,0,0},{4,1},PRODUCTION,GRADEL}},
{"NorTHScroll",{"Aim(Tier 3)",{0,0,0},{4,1},PRODUCTION,GRADEM}},
{"HighTHScroll",{"Aim(Tier 4)",{0,0,0},{4,1},PRODUCTION,GRADEH}},
{"BestHighTHScroll",{"Aim(Tier 5)",{0,0,0},{4,1},PRODUCTION}},
{"BestLowTBScroll",{"Nature's Agility (Tier 1)",{0,0,0},{5,1},PRODUCTION}},
{"LowTBScroll",{"Nature's Agility (Tier 2)",{0,0,0},{5,1},PRODUCTION,GRADEL}},
{"NorTBScroll",{"Nature's Agility (Tier 3)",{0,0,0},{5,1},PRODUCTION,GRADEM}},
{"HighTBScroll",{"Nature's Agility (Tier 4)",{0,0,0},{5,1},PRODUCTION,GRADEH}},
{"BestHighTBScroll",{"Nature's Agility (Tier 5)",{0,0,0},{5,1},PRODUCTION}},
{"BestLowMRScroll",{"Magical Defense (Tier 1)",{0,0,0},{6,1},PRODUCTION}},
{"LowMRScroll",{"Magical Defense (Tier 2)",{0,0,0},{6,1},PRODUCTION,GRADEL}},
{"NorMRScroll",{"Magical Defense (Tier 3)",{0,0,0},{6,1},PRODUCTION,GRADEM}},
{"HighMRScroll",{"Magical Defense (Tier 4)",{0,0,0},{6,1},PRODUCTION,GRADEH}},
{"BestHighMRScroll",{"Magical Defense (Tier 5)",{0,0,0},{6,1},PRODUCTION}},
{"BestLowACScroll",{"Shield Increase (Tier 1)",{0,0,0},{6,1},PRODUCTION}},
{"LowACScroll",{"Shield Increase (Tier 2)",{0,0,0},{6,1},PRODUCTION,GRADEL}},
{"NorACScroll",{"Shield Increase (Tier 3)",{0,0,0},{6,1},PRODUCTION,GRADEM}},
{"HighACScroll",{"Shield Increase (Tier 4)",{0,0,0},{6,1},PRODUCTION,GRADEH}},
{"BestHighACScroll",{"Shield Increase (Tier 5)",{0,0,0},{6,1},PRODUCTION}},
{"BestLowMaxHPScroll",{"Vitality (Tier 1)",{0,0,0},{0,2},PRODUCTION}},
{"LowMaxHPScroll",{"Vitality (Tier 2)",{0,0,0},{0,2},PRODUCTION,GRADEL}},
{"NorMaxHPScroll",{"Vitality (Tier 3)",{0,0,0},{0,2},PRODUCTION,GRADEM}},
{"HighMaxHPScroll",{"Vitality (Tier 4)",{0,0,0},{0,2},PRODUCTION,GRADEH}},
{"BestHighMaxHPScroll",{"Vitality (Tier 5)",{0,0,0},{0,2},PRODUCTION}},
{"BestLowMaxSPScroll",{"Mentality (Tier 1)",{0,0,0},{1,2},PRODUCTION}},
{"LowMaxSPScroll",{"Mentality (Tier 2)",{0,0,0},{1,2},PRODUCTION,GRADEL}},
{"NorMaxSPScroll",{"Mentality (Tier 3)",{0,0,0},{1,2},PRODUCTION,GRADEM}},
{"HighMaxSPScroll",{"Mentality (Tier 4)",{0,0,0},{1,2},PRODUCTION,GRADEH}},
{"BestHighMaxSPScroll",{"Mentality (Tier 5)",{0,0,0},{1,2},PRODUCTION}},
{"NorMSScroll",{"Speed Increase (Tier 3)",{0,0,0},{1,2},PRODUCTION,GRADEM}},
{"LowMSScroll",{"Speed Increase (Tier 2)",{0,0,0},{1,2},PRODUCTION,GRADEL}},
{"HighMSScroll",{"Speed Increase (Tier 4)",{0,0,0},{1,2},PRODUCTION,GRADEH}},
{"BestMSScroll",{"Speed Increase (Tier 5)",{0,0,0},{1,2},PRODUCTION}},
{"BestLowMSScroll",{"Speed Increase (Tier 1)",{0,0,0},{1,2},PRODUCTION}},
{"LowPsnResiPotion",{"Antitoxin (Tier 1)",{0,0,0},{6,0},PRODUCTION,GRADEL}},
{"NorPsnResiPotion",{"Antitoxin (Tier 2)",{0,0,0},{7,0},PRODUCTION,GRADEM}},
{"HighPsnResiPotion",{"Antitoxin (Tier 3)",{0,0,0},{0,1},PRODUCTION,GRADEH}},
{"LowDssResiPotion",{"Antibiotic (Tier 1)",{0,0,0},{6,0},PRODUCTION,GRADEL}},
{"NorDssResiPotion",{"Antibiotic (Tier 2)",{0,0,0},{7,0},PRODUCTION,GRADEM}},
{"HighDssResiPotion",{"Antibiotic (Tier 3)",{0,0,0},{0,1},PRODUCTION,GRADEH}},
{"LowCurResiPotion",{"Bless (Tier 1)",{0,0,0},{6,0},PRODUCTION,GRADEL}},
{"NorCurResiPotion",{"Bless (Tier 2)",{0,0,0},{7,0},PRODUCTION,GRADEM}},
{"HighCurResiPotion",{"Bless (Tier 3)",{0,0,0},{0,1},PRODUCTION,GRADEH}},
{"LowPsnCurPotion",{"Antidote (Tier 1)",{0,0,0},{6,0},PRODUCTION,GRADEL}},
{"NorPsnCurPotion",{"Antidote (Tier 2)",{0,0,0},{7,0},PRODUCTION,GRADEM}},
{"HighPsnCurPotion",{"Antidote (Tier 3)",{0,0,0},{0,1},PRODUCTION,GRADEH}},
{"LowDssCurPotion",{"Cure (Tier 1)",{0,0,0},{6,0},PRODUCTION,GRADEL}},
{"NorDssCurPotion",{"Cure (Tier 2)",{0,0,0},{7,0},PRODUCTION,GRADEM}},
{"HighDssCurPotion",{"Cure (Tier 3)",{0,0,0},{0,1},PRODUCTION,GRADEH}},
{"BestLowCurScroll",{"Divine Magic (Tier 1)",{0,0,0},{2,2},PRODUCTION}},
{"LowCurScroll",{"Divine Magic (Tier 2)",{0,0,0},{2,2},PRODUCTION,GRADEL}},
{"NorCurScroll",{"Divine Magic (Tier 3)",{0,0,0},{2,2},PRODUCTION,GRADEM}},
{"HighCurScroll",{"Divine Magic (Tier 4)",{0,0,0},{2,2},PRODUCTION,GRADEH}},
{"BestHighCurScroll",{"Divine Magic (Tier 5)",{0,0,0},{2,2},PRODUCTION}},
{"NorBeastLeather",{"Beast Leather (Normal Quality)",{255,255,0},{7,1}}},
{"HighBeastLeather",{"Beast Leather (High Quality)",{0,255,0},{0,2}}},
{"BeastHead",{"Beast Head",{0,255,255},{1,2}}},
{"NorBeastTooth",{"Beast Dogtooth (Normal Quality)",{255,255,0},{5,1}}},
{"HighBeastTooth",{"Beast Dogtooth (High Quality)",{0,255,0},{6,1}}},
{"NorBrokenBone",{"Bone (Normal Quality)",{255,255,0},{4,0}}},
{"HighBrokenBone",{"Bone (High Quality)",{0,255,0},{4,0}}},
{"BestBrokenBone",{"Bone (Highest Quality)",{0,255,255},{4,0}}},
{"NorCleanWater",{"Spirit's Nectar (Normal Quality)",{255,255,0},{7,5}}},
{"HighCleanWater",{"Spirit's Nectar (High Quality)",{0,255,0},{0,6}}},
{"BestCleanWater",{"Spirit's Nectar (Highest Quality)",{0,255,255},{0,6}}},
{"IronBadge",{"Iron Badge",{255,255,0},{2,4}}},
{"NorCopperOre",{"Copper Ore (Normal Quality)",{255,255,0},{4,4}}},
{"HighCopperOre",{"Copper Ore (High Quality)",{0,255,0},{5,4}}},
{"NorGemDust",{"Gem Dust (Normal Quality)",{255,255,0},{6,0}}},
{"HighGemDust",{"Gem Dust (High Quality)",{0,255,0},{6,0}}},
{"BestGemDust",{"Gem Dust (Highest Quality)",{0,255,255},{6,0}}},
{"Violet",{"Vilolet",{0,0,0},{1,1},COLLECTIBLE2}},
{"Ramsear",{"Ramsear",{0,0,0},{1,1},COLLECTIBLE2}},
{"Salvia",{"Eucalyptus",{255,255,255},{5,7}}},
{"LowGoldOre",{"Gold Ore (Low Quality)",{255,255,255},{1,6}}},
{"NorGoldOre",{"Gold Ore (Normal Quality)",{255,255,0},{2,6}}},
{"HighGoldOre",{"Gold Ore (High Quality)",{0,255,0},{3,6}}},
{"NorKylinLeather",{"Summoned Beast Leather (Normal Quality)",{255,255,0},{3,2}}},
{"HighKylinLeather",{"Summoned Beast Leather (High Quality)",{0,255,0},{4,2}}},
{"KylinTooth",{"Summoned Beast's Tooth",{0,255,0},{7,2}}},
{"MermaidScale",{"Mermaid's Scale",{0,0,0},{2,3}}},
{"KylinFighterTail",{"Summoned Beast Fighter's Tail",{255,255,0},{6,2}}},
{"NorMagicCrystal",{"Magic Crystal (Normal Quality)",{255,255,0},{4,5}}},
{"HighMagicCrystal",{"Magic Crystal (High Quality)",{0,255,0},{5,5}}},
{"BestMagicCrystal",{"Magic Crystal (Highest Quality)",{0,255,255},{5,5}}},
{"NorMeat",{"Meat (Normal Quality)",{255,255,0},{1,0}}},
{"HighMeat",{"Meat (High Quality)",{0,255,0},{1,0}}},
{"BestMeat",{"Meat (Highest Quality)",{0,255,255},{1,0}}},
{"NorMushrooms",{"Mushroom (Normal Quality)",{255,255,0},{4,3}}},
{"HighMushrooms",{"Mushroom (High Quality)",{0,255,0},{4,3}}},
{"BestMushrooms",{"Mushroom (Highest Quality)",{0,255,255},{4,3}}},
{"NorPledge",{"Sign (Normal Quality)",{255,255,0},{3,0}}},
{"HighPledge",{"Sign (High Quality)",{0,255,0},{3,0}}},
{"BestPledge",{"Sign (Highest Quality)",{0,255,255},{3,0}}},
{"Rosemary",{"Rosemary",{0,255,0},{4,7}}},
{"Basil",{"Basil",{0,255,255},{5,7}}},
{"Marigold",{"Marigold",{0,0,255},{6,7}}},
{"LowSilverOre",{"Silver Ore (Low Quality)",{255,255,255},{6,4}}},
{"NorSilverOre",{"Silver Ore (Normal Quality)",{255,255,0},{7,4}}},
{"HighSilverOre",{"Silver Ore (High Quality)",{0,255,0},{0,5}}},
{"NorSkin",{"Leather (Normal Quality)",{255,255,0},{5,0}}},
{"HighSkin",{"Leather (High Quality)",{0,255,0},{5,0}}},
{"BestSkin",{"Leather (Highest Quality)",{0,255,255},{5,0}}},
{"NorSoulDust",{"Soul Dust (Normal Quality)",{255,255,0},{2,1}}},
{"HighSoulDust",{"Soul Dust (High Quality)",{0,255,0},{2,1}}},
{"BestSoulDust",{"Soul Dust (Highest Quality)",{0,255,255},{2,1}}},
{"NorSpiritDust",{"Spirit Dust (Normal Quality)",{255,255,0},{0,0}}},
{"HighSpiritDust",{"Spirit Dust (High Quality)",{0,255,0},{0,0}}},
{"BestSpiritDust",{"Spirit Dust (Highest Quality)",{0,255,255},{0,0}}},
{"NorToadStool",{"Toadstool (Normal Quality)",{255,255,0},{3,3}}},
{"HighToadStool",{"Toadstool (High Quality)",{0,255,0},{3,3}}},
{"BestToadStool",{"Toadstool (Highest Quality)",{0,255,255},{3,3}}},
{"Ruby",{"Ruby",{255,255,0},{2,5}}},
{"Sapphire",{"Sapphire",{0,255,0},{4,6}}},
{"NorWoodSab",{"Sap (Normal Quality)",{255,255,0},{6,6}}},
{"HighWoodSab",{"Sap (High Quality)",{0,255,0},{7,6}}},
{"BestWoodSab",{"Sap (Highest Quality)",{0,255,255},{0,7}}},
{"LowBeastLeather",{"Beast Leather (Low Quality)",{255,255,255},{7,1}}},
{"LowBeastTooth",{"Beast Dogtooth (Low Quality)",{255,255,255},{4,1}}},
{"LowBrokenBone",{"Bone (Low Quality)",{255,255,255},{4,0}}},
{"LowCleanWater",{"Spirit's Nectar (Low Quality)",{255,255,255},{6,5}}},
{"CommanderBadge",{"Master Commander's Badge",{255,255,255},{1,4}}},
{"LowCopperOre",{"Copper Ore (Low Quality)",{255,255,255},{3,4}}},
{"LowGemDust",{"Gem Dust (Low Quality)",{255,255,255},{6,0}}},
{"Geranium",{"Geranium",{0,0,0},{1,1},COLLECTIBLE2}},
{"LowKylinLeather",{"Summoned Beast Leather (Low Quality)",{255,255,255},{2,2}}},
{"KylinTail",{"Summoned Beast's Tail",{255,255,255},{5,2}}},
{"LowMagicCrystal",{"Magic Crystal (Low Quality)",{255,255,255},{3,5}}},
{"LowMeat",{"Meat (Low Quality)",{255,255,255},{1,0}}},
{"LowMushrooms",{"Mushroom (Low Quality)",{255,255,255},{4,3}}},
{"LowPledge",{"Sign (Low Quality)",{255,255,255},{3,0}}},
{"Sage",{"Sage",{255,255,0},{3,7}}},
{"LowSkin",{"Leather (Low Quality)",{255,255,255},{5,0}}},
{"LowSoulDust",{"Soul Dust (Low Quality)",{255,255,255},{2,1}}},
{"LowSpiritDust",{"Spirit Dust (Low Quality)",{255,255,255},{0,0}}},
{"LowToadStool",{"Toadstool (Low Quality)",{255,255,255},{3,3}}},
{"Topaz",{"Topaz",{255,255,255},{1,5}}},
{"LowWoodSab",{"Sap (Low Quality)",{255,255,255},{5,6}}},
{"LowSlimeJelly",{"Slime Jelly (Low Quality)",{255,255,255},{0,3}}},
{"HighSlimeJelly",{"Slime Jelly (High Quality)",{255,255,0},{1,3}}},
{"Converter1",{"Alchemy Stone[1]",{255,255,255},{4,2},PRODUCTION}},
{"Converter3",{"Alchemy Stone[3]",{0,255,0},{4,2},PRODUCTION}},
{"Converter5",{"Alchemy Stone[5]",{0,255,255},{4,2},PRODUCTION}},
{"Converter2",{"Alchemy Stone[2]",{255,255,0},{4,2},PRODUCTION}},
{"Converter4",{"Alchemy Stone[4]",{0,255,255},{4,2},PRODUCTION}},
};
class Recipe{
@ -250,7 +276,7 @@ class FiestaCraftingCalculator : public olc::PixelGameEngine
CompProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{145,10},{40,40},{96,160},{32,32});
DecompProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{190,10},{40,40},{64,160},{32,32});
CloseButton=new CustomButton(manager,FiestaCraftingCalculator::CloseIcon,FiestaCraftingCalculator::CloseBackIcon,displayPos+vf2d{PANEL_WIDTH-30.f,0},{26,26},{0,0},{26,26});
RecipeList=new ListBox(manager,recipeItems,displayPos+vi2d{10,90},{240,140});
RecipeList=new ListBox(manager,recipeItems,displayPos+vi2d{10,90},{300,140},16);
RecipeList->bVisible=false;
}
bool Update(FiestaCraftingCalculator*pge,int panelNumber){
@ -262,8 +288,8 @@ class FiestaCraftingCalculator : public olc::PixelGameEngine
DecompProd->vPos=displayPos+vi2d{190,10};
CloseButton->vPos=displayPos+vf2d{PANEL_WIDTH-30.f,0};
RecipeList->vPos=displayPos+vi2d{10,90};
RecipeList->m_pSlider->vPosMin=displayPos+vi2d{10,90}+vf2d{240 - manager.fGrabRad - 1,manager.fGrabRad + 1 };
RecipeList->m_pSlider->vPosMax=displayPos+vi2d{10,90}+vf2d{240 - manager.fGrabRad - 1,140-manager.fGrabRad - 1 };
RecipeList->m_pSlider->vPosMin=displayPos+vi2d{10,90}+vf2d{300 - manager.fGrabRad - 1,manager.fGrabRad + 1 };
RecipeList->m_pSlider->vPosMax=displayPos+vi2d{10,90}+vf2d{300 - manager.fGrabRad - 1,140-manager.fGrabRad - 1 };
manager.Update(pge);
DisplayProdText=SelectedProdText;
if(CloseButton->bPressed){

@ -177,7 +177,7 @@
24036 Recipe_R_NorGoldOre Gold Ore NorGoldOre 1 HighGoldOre 1 Converter5 1 - 0 - 0 - 0 - 0 - 0 - 0 5 60 5 100000
24038 Recipe_R_LowKylinLeather Summoned Beast Leather (Low Quality) LowKylinLeather 14 NorKylinLeather 1 Converter2 1 - 0 - 0 - 0 - 0 - 0 - 0 5 2 5 1000
24039 Recipe_R_NorKylinLeather Summoned Beast Leather NorKylinLeather 3 HighKylinLeather 1 Converter3 1 - 0 - 0 - 0 - 0 - 0 - 0 5 12 5 24000
24040 Recipe_R_HighKylinLeather Material Decomposition :Summoned Beast Leather (High Quality) HighKylinLeather 2 KylinTooth 1 Converter5 1 - 0 - 0 - 0 - 0 - 0 - 0 5 40 5 100000
24040 Recipe_R_HighKylinLeather Summoned Beast Leather (High Quality) HighKylinLeather 2 KylinTooth 1 Converter5 1 - 0 - 0 - 0 - 0 - 0 - 0 5 40 5 100000
24041 Recipe_R_KylinTail Summoned Beast's Tail KylinTail 3 KylinFighterTail 1 Converter3 1 - 0 - 0 - 0 - 0 - 0 - 0 5 10 5 18000
24042 Recipe_R_LowMagicCrystal Magic Crystal (Low Quality) LowMagicCrystal 19 NorMagicCrystal 1 Converter1 1 - 0 - 0 - 0 - 0 - 0 - 0 5 2 5 400
24043 Recipe_R_NorMagicCrystal Magic Crystal NorMagicCrystal 4 HighMagicCrystal 1 Converter3 1 - 0 - 0 - 0 - 0 - 0 - 0 5 12 5 30000

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

@ -363,7 +363,8 @@ namespace olc::QuickGUI
ListBox(olc::QuickGUI::Manager& manager, // Associate with a Manager
std::vector<std::string>& vList,
const olc::vf2d& pos, // Location of list top-left
const olc::vf2d& size); // Size of list
const olc::vf2d& size, // Location of list top-left
const float fontSize=10); // Size of list
// Position of list
olc::vf2d vPos;
@ -379,6 +380,7 @@ namespace olc::QuickGUI
Manager m_group;
size_t m_nVisibleItems = 0;
std::vector<std::string>& m_vList;
float fontSize=10;
public:
// Item currently selected
@ -1078,8 +1080,8 @@ namespace olc::QuickGUI
#pragma endregion
#pragma region ListBox
ListBox::ListBox(olc::QuickGUI::Manager& manager, std::vector<std::string>& vList, const olc::vf2d& pos, const olc::vf2d& size)
: BaseControl(manager), m_vList(vList)
ListBox::ListBox(olc::QuickGUI::Manager& manager, std::vector<std::string>& vList, const olc::vf2d& pos, const olc::vf2d& size, const float fontSize)
: BaseControl(manager), m_vList(vList), fontSize(fontSize)
{
m_group.CopyThemeFrom(m_manager);
vPos = pos;
@ -1099,16 +1101,11 @@ namespace olc::QuickGUI
bHovered=pge->GetMouseX() >= vPos.x && pge->GetMouseX() < vPos.x + vSize.x &&
pge->GetMouseY() >= vPos.y && pge->GetMouseY() < vPos.y + vSize.y;
if(bHovered){
std::cout<<"Hovering"<<std::endl;
}
if (pge->GetMouse(olc::Mouse::LEFT).bPressed)
if (pge->GetMouse(olc::Mouse::LEFT).bHeld)
{
if (vMouse.x >= 0 && vMouse.x < vSize.x - (m_group.fGrabRad * 2) && vMouse.y >= 0 && vMouse.y < vSize.y)
{
nSelectedItem = size_t(m_pSlider->fValue + vMouse.y / 10);
nSelectedItem = size_t(m_pSlider->fValue + vMouse.y / fontSize);
}
}
@ -1117,7 +1114,7 @@ namespace olc::QuickGUI
bSelectionChanged = nSelectedItem != nPreviouslySelectedItem;
m_pSlider->fMax = float(m_vList.size()-vSize.y/10+1);
m_pSlider->fMax = float(m_vList.size()-vSize.y/fontSize+1);
if(bHovered&&pge->GetMouseWheel()!=0){
if(pge->GetMouseWheel()>0){
@ -1127,6 +1124,8 @@ namespace olc::QuickGUI
}
}
m_pSlider->fValue=int(m_pSlider->fValue);
m_group.Update(pge);
}
@ -1145,15 +1144,15 @@ namespace olc::QuickGUI
size_t idx0 = size_t(m_pSlider->fValue);
size_t idx1 = std::min(idx0 + size_t((vSize.y - 4) / 10), m_vList.size());
size_t idx1 = std::min(idx0 + size_t((vSize.y - 4) / fontSize), m_vList.size());
olc::vf2d vTextPos = vPos + olc::vf2d(2,2);
for (size_t idx = idx0; idx < idx1; idx++)
{
if (idx == nSelectedItem)
pge->FillRect(vTextPos - olc::vi2d(1,-1), {int32_t(vSize.x - m_group.fGrabRad * 2), 10}, m_group.colHover);
pge->DrawStringProp(vTextPos + olc::vi2d(0,2), m_vList[idx]);
vTextPos.y += 10;
pge->FillRect(vTextPos - olc::vi2d(1,-1), {int32_t(vSize.x - m_group.fGrabRad * 2), int(fontSize)}, m_group.colHover);
pge->DrawStringProp(vTextPos + olc::vi2d(0,2), m_vList[idx],olc::WHITE,fontSize/10);
vTextPos.y += fontSize;
}
m_group.Draw(pge);
@ -1168,15 +1167,21 @@ namespace olc::QuickGUI
pge->FillRectDecal(vPos + olc::vf2d(1, 1), vSize - olc::vf2d(2, 2), m_manager.colNormal);
size_t idx0 = size_t(m_pSlider->fValue);
size_t idx1 = std::min(idx0 + size_t((vSize.y - 4) / 10), m_vList.size());
size_t idx1 = std::min(idx0 + size_t((vSize.y - 4) / fontSize), m_vList.size());
olc::vf2d vTextPos = vPos + olc::vf2d(2, 2);
for (size_t idx = idx0; idx < idx1; idx++)
{
if (idx == nSelectedItem)
pge->FillRectDecal(vTextPos - olc::vi2d(1, -1), { vSize.x - m_group.fGrabRad * 2.0f, 10.0f }, m_group.colHover);
pge->DrawStringPropDecal(vTextPos + olc::vi2d(0,2), m_vList[idx]);
vTextPos.y += 10;
pge->FillRectDecal(vTextPos - olc::vi2d(1, -1), { vSize.x - m_group.fGrabRad * 2.0f, fontSize }, m_group.colHover);
float width = pge->GetTextSizeProp(m_vList[idx]).x*fontSize/10;
if (width>vSize.x-m_manager.fGrabRad*2){
float scaleX = (vSize.x-m_manager.fGrabRad*2)/width;
pge->DrawStringPropDecal(vTextPos + olc::vi2d(0,2), m_vList[idx], olc::WHITE, olc::vf2d{scaleX,1}*fontSize/10);
} else {
pge->DrawStringPropDecal(vTextPos + olc::vi2d(0,2), m_vList[idx], olc::WHITE, olc::vf2d{1,1}*fontSize/10);
}
vTextPos.y += fontSize;
}
if (bHasBorder)

Loading…
Cancel
Save