Refactor completed using new item lists.
This commit is contained in:
parent
220920b172
commit
ee01343c4e
@ -1,4 +1,3 @@
|
|||||||
#define OLC_PGE_HEADLESS
|
|
||||||
#define OLC_PGE_APPLICATION
|
#define OLC_PGE_APPLICATION
|
||||||
#include "olcPixelGameEngine.h"
|
#include "olcPixelGameEngine.h"
|
||||||
#define OLC_PGEX_QUICKGUI
|
#define OLC_PGEX_QUICKGUI
|
||||||
@ -17,15 +16,13 @@ class FiestaCraftingCalculator : public olc::PixelGameEngine
|
|||||||
struct ItemData{
|
struct ItemData{
|
||||||
std::string name;
|
std::string name;
|
||||||
Pixel borderCol;
|
Pixel borderCol;
|
||||||
vi2d tilesheetPos={0,0};
|
|
||||||
std::pair<std::string,int> img;
|
std::pair<std::string,int> img;
|
||||||
std::pair<std::string,int> grade;
|
std::pair<std::string,int> grade;
|
||||||
void DrawIcon(PixelGameEngine*pge,vf2d pos){
|
void DrawIcon(PixelGameEngine*pge,vf2d pos){
|
||||||
Renderable*r=FilePathToImage[img.first];
|
Renderable*r=FilePathToImage[img.first];
|
||||||
tilesheetPos={img.second%7,img.second/7};
|
pge->DrawPartialDecal(pos,{32,32},r->Decal(),vi2d{img.second%8,img.second/8}*32,{32,32});
|
||||||
pge->DrawPartialDecal(pos,{32,32},r->Decal(),tilesheetPos*32,{32,32});
|
|
||||||
if(grade.first!="-"){
|
if(grade.first!="-"){
|
||||||
pge->DrawPartialDecal(pos,FiestaCraftingCalculator::GradeIcons.Decal(),vi2d{grade.second%7,grade.second/7}*32,{32,32});
|
pge->DrawPartialDecal(pos,FiestaCraftingCalculator::GradeIcons.Decal(),vi2d{grade.second%8,grade.second/8}*32,{32,32});
|
||||||
}
|
}
|
||||||
pge->DrawRectDecal(pos,{32,32},borderCol);
|
pge->DrawRectDecal(pos,{32,32},borderCol);
|
||||||
}
|
}
|
||||||
@ -47,10 +44,16 @@ class FiestaCraftingCalculator : public olc::PixelGameEngine
|
|||||||
ProduceIndex=data[1];
|
ProduceIndex=data[1];
|
||||||
DisplayName=data[2];
|
DisplayName=data[2];
|
||||||
Product=data[3];
|
Product=data[3];
|
||||||
|
if(IDToName.find(Product)==IDToName.end()){
|
||||||
|
IDToName[Product]=ItemData();
|
||||||
|
}
|
||||||
amt=stoi(data[4]);
|
amt=stoi(data[4]);
|
||||||
for(int i=5;i<=20;i+=2){
|
for(int i=5;i<=20;i+=2){
|
||||||
if(data[i].size()>1){
|
if(data[i].size()>1){
|
||||||
requiredItems.push_back({data[i],stoi(data[i+1])});
|
requiredItems.push_back({data[i],stoi(data[i+1])});
|
||||||
|
if(IDToName.find(data[i])==IDToName.end()){
|
||||||
|
IDToName[data[i]]=ItemData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
expGained=stoi(data[22]);
|
expGained=stoi(data[22]);
|
||||||
@ -86,11 +89,11 @@ class FiestaCraftingCalculator : public olc::PixelGameEngine
|
|||||||
static bool disabledAllCalculators;
|
static bool disabledAllCalculators;
|
||||||
public:
|
public:
|
||||||
Calculator(){
|
Calculator(){
|
||||||
PotionProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{10,10},{40,40},{192,128},{32,32});
|
PotionProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProductionIcons,false,displayPos+vi2d{10,10},{40,40},{192,128},{32,32});
|
||||||
StoneProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{55,10},{40,40},{0,160},{32,32});
|
StoneProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProductionIcons,false,displayPos+vi2d{55,10},{40,40},{0,160},{32,32});
|
||||||
ScrollProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{100,10},{40,40},{224,128},{32,32});
|
ScrollProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProductionIcons,false,displayPos+vi2d{100,10},{40,40},{224,128},{32,32});
|
||||||
CompProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProdIcon,false,displayPos+vi2d{145,10},{40,40},{96,160},{32,32});
|
CompProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProductionIcons,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});
|
DecompProd=new ImageCheckBox(manager,FiestaCraftingCalculator::ProductionIcons,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});
|
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},{300,140},16);
|
RecipeList=new ListBox(manager,recipeItems,displayPos+vi2d{10,90},{300,140},16);
|
||||||
Amount=new TextBox(manager,"1",displayPos+vi2d{356,10},{68,24},{2,2});
|
Amount=new TextBox(manager,"1",displayPos+vi2d{356,10},{68,24},{2,2});
|
||||||
@ -281,7 +284,7 @@ public:
|
|||||||
static std::vector<Calculator*>calculators;
|
static std::vector<Calculator*>calculators;
|
||||||
Manager manager;
|
Manager manager;
|
||||||
Button*AddButton;
|
Button*AddButton;
|
||||||
static Renderable ProdIcon,CloseIcon,CloseBackIcon,ProductionIcons,CollectibleIcons,CollectibleIcons2,GradeIcons,PlusIcon,PlusBackIcon;
|
static Renderable CloseIcon,CloseBackIcon,ProductionIcons,CollectibleIcons,CollectibleIcons2,GradeIcons,PlusIcon,PlusBackIcon;
|
||||||
public:
|
public:
|
||||||
std::string slurp(std::ifstream& in) {
|
std::string slurp(std::ifstream& in) {
|
||||||
std::ostringstream sstr;
|
std::ostringstream sstr;
|
||||||
@ -302,7 +305,7 @@ public:
|
|||||||
// Called once at the start, so create things here
|
// Called once at the start, so create things here
|
||||||
std::ifstream file=std::ifstream("assets/Produce.txt");
|
std::ifstream file=std::ifstream("assets/Produce.txt");
|
||||||
std::string fileContents=slurp(file);
|
std::string fileContents=slurp(file);
|
||||||
|
fileContents+='\n';//HACK ALERT! Our parser does not deal with data until a '\n' character occurs. If the file has no \n on the last line, we won't process it. This hack fixes that.
|
||||||
std::string column="";
|
std::string column="";
|
||||||
std::vector<std::string>data;
|
std::vector<std::string>data;
|
||||||
//HACK ALERT! If the number of recipes for any of these exceeds 300, a reallocation occurs and all pointers move...
|
//HACK ALERT! If the number of recipes for any of these exceeds 300, a reallocation occurs and all pointers move...
|
||||||
@ -359,8 +362,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
file=std::ifstream("assets/Produce.txt");
|
file=std::ifstream("assets/ItemViewinfo.txt");
|
||||||
fileContents=slurp(file);
|
fileContents=slurp(file);
|
||||||
|
fileContents+='\n';//HACK ALERT! Our parser does not deal with data until a '\n' character occurs. If the file has no \n on the last line, we won't process it. This hack fixes that.
|
||||||
column="";
|
column="";
|
||||||
data.clear();
|
data.clear();
|
||||||
for(int i=0;i<fileContents.size();i++){
|
for(int i=0;i<fileContents.size();i++){
|
||||||
@ -378,29 +382,14 @@ public:
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
Recipe r(data);
|
//Recipe r(data);
|
||||||
int index=stoi(data[0]);
|
std::string product=data[1];
|
||||||
Recipe*foundRecipe;
|
if(IDToName.find(product)!=IDToName.end()){
|
||||||
if(StoneProdRecipeLink.find(index)!=StoneProdRecipeLink.end()){
|
IDToName[product]=ItemData{product,{uint8_t(stoi(data[8])),uint8_t(stoi(data[9])),uint8_t(stoi(data[10]))},{data[3],stoi(data[2])},{data[5],stoi(data[4])}};
|
||||||
foundRecipe=StoneProdRecipeLink[index];
|
goto quitLoop;
|
||||||
} else
|
|
||||||
if(PotionProdRecipeLink.find(index)!=PotionProdRecipeLink.end()){
|
|
||||||
foundRecipe=PotionProdRecipeLink[index];
|
|
||||||
} else
|
|
||||||
if(ScrollProdRecipeLink.find(index)!=ScrollProdRecipeLink.end()){
|
|
||||||
foundRecipe=ScrollProdRecipeLink[index];
|
|
||||||
} else
|
|
||||||
if(CompRecipeLink.find(index)!=CompRecipeLink.end()){
|
|
||||||
foundRecipe=CompRecipeLink[index];
|
|
||||||
} else
|
|
||||||
if(DecompRecipeLink.find(index)!=DecompRecipeLink.end()){
|
|
||||||
foundRecipe=DecompRecipeLink[index];
|
|
||||||
}
|
}
|
||||||
ItemData&item=IDToName[foundRecipe->ProduceIndex];
|
|
||||||
item.borderCol={uint8_t(stoi(data[8])),uint8_t(stoi(data[9])),uint8_t(stoi(data[10]))};
|
|
||||||
item.img={data[3],stoi(data[2])};
|
|
||||||
item.grade={data[5],stoi(data[4])};
|
|
||||||
}
|
}
|
||||||
|
quitLoop:
|
||||||
data.clear();
|
data.clear();
|
||||||
} else {
|
} else {
|
||||||
column+=fileContents[i];
|
column+=fileContents[i];
|
||||||
@ -408,6 +397,38 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
file=std::ifstream("assets/ItemInfo.txt");
|
||||||
|
fileContents=slurp(file);
|
||||||
|
fileContents+='\n';//HACK ALERT! Our parser does not deal with data until a '\n' character occurs. If the file has no \n on the last line, we won't process it. This hack fixes that.
|
||||||
|
column="";
|
||||||
|
data.clear();
|
||||||
|
for(int i=0;i<fileContents.size();i++){
|
||||||
|
if(fileContents[i]=='\t'){
|
||||||
|
data.push_back(column);
|
||||||
|
column="";
|
||||||
|
} else
|
||||||
|
if(fileContents[i]=='\n'){
|
||||||
|
data.push_back(column);
|
||||||
|
column="";
|
||||||
|
if(data.size()!=57){
|
||||||
|
std::cout<<"Data size was "<<data.size()<<"! Expected 57 columns..."<<std::endl;
|
||||||
|
for(int i=0;i<data.size();i++){
|
||||||
|
std::cout<<"Col "<<i+1<<":"<<data[i]<<std::endl;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
//Recipe r(data);
|
||||||
|
std::string product=data[1];
|
||||||
|
if(IDToName.find(product)!=IDToName.end()){
|
||||||
|
IDToName[product].name=data[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.clear();
|
||||||
|
} else {
|
||||||
|
column+=fileContents[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::sort(StoneProdRecipes.begin(),StoneProdRecipes.end(),[](Recipe&r1,Recipe&r2){return r1.requiredExp<r2.requiredExp;});
|
std::sort(StoneProdRecipes.begin(),StoneProdRecipes.end(),[](Recipe&r1,Recipe&r2){return r1.requiredExp<r2.requiredExp;});
|
||||||
std::sort(PotionProdRecipes.begin(),PotionProdRecipes.end(),[](Recipe&r1,Recipe&r2){return r1.requiredExp<r2.requiredExp;});
|
std::sort(PotionProdRecipes.begin(),PotionProdRecipes.end(),[](Recipe&r1,Recipe&r2){return r1.requiredExp<r2.requiredExp;});
|
||||||
@ -422,14 +443,14 @@ public:
|
|||||||
std::cout<<" "<<CompRecipes.size()<<" Composition Recipes"<<std::endl;
|
std::cout<<" "<<CompRecipes.size()<<" Composition Recipes"<<std::endl;
|
||||||
std::cout<<" "<<DecompRecipes.size()<<" Decomposition Recipes"<<std::endl;
|
std::cout<<" "<<DecompRecipes.size()<<" Decomposition Recipes"<<std::endl;
|
||||||
|
|
||||||
ProdIcon.Load("assets/production_icons.png",nullptr,true);
|
ProductionIcons.Load("assets/Prdct000.png",nullptr,true);
|
||||||
Karen.Load("assets/AdlF_Karen.png",nullptr,true);
|
Karen.Load("assets/AdlF_Karen.png",nullptr,true);
|
||||||
CloseIcon.Load("assets/close_button.png",nullptr,true);
|
CloseIcon.Load("assets/close_button.png",nullptr,true);
|
||||||
CloseBackIcon.Load("assets/button_mask.png",nullptr,true);
|
CloseBackIcon.Load("assets/button_mask.png",nullptr,true);
|
||||||
ProductionIcons.Load("assets/production_icons.png",nullptr,true);
|
ProductionIcons.Load("assets/production_icons.png",nullptr,true);
|
||||||
CollectibleIcons.Load("assets/collectibles.png",nullptr,true);
|
CollectibleIcons.Load("assets/Cllct000.png",nullptr,true);
|
||||||
CollectibleIcons2.Load("assets/collectibles2.png",nullptr,true);
|
CollectibleIcons2.Load("assets/QstItem000.png",nullptr,true);
|
||||||
GradeIcons.Load("assets/grade.png",nullptr,true);
|
GradeIcons.Load("assets/ItemGrade.png",nullptr,true);
|
||||||
PlusIcon.Load("assets/plus_button.png",nullptr,true);
|
PlusIcon.Load("assets/plus_button.png",nullptr,true);
|
||||||
PlusBackIcon.Load("assets/button_plus_mask.png",nullptr,true);
|
PlusBackIcon.Load("assets/button_plus_mask.png",nullptr,true);
|
||||||
calculators.push_back(new Calculator());
|
calculators.push_back(new Calculator());
|
||||||
@ -480,7 +501,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Renderable FiestaCraftingCalculator::ProdIcon,FiestaCraftingCalculator::CloseIcon,FiestaCraftingCalculator::CloseBackIcon,FiestaCraftingCalculator::ProductionIcons,FiestaCraftingCalculator::CollectibleIcons,FiestaCraftingCalculator::CollectibleIcons2,FiestaCraftingCalculator::GradeIcons,FiestaCraftingCalculator::PlusIcon,FiestaCraftingCalculator::PlusBackIcon;
|
Renderable FiestaCraftingCalculator::CloseIcon,FiestaCraftingCalculator::CloseBackIcon,FiestaCraftingCalculator::ProductionIcons,FiestaCraftingCalculator::CollectibleIcons,FiestaCraftingCalculator::CollectibleIcons2,FiestaCraftingCalculator::GradeIcons,FiestaCraftingCalculator::PlusIcon,FiestaCraftingCalculator::PlusBackIcon;
|
||||||
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::PotionProdRecipes;
|
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::PotionProdRecipes;
|
||||||
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::StoneProdRecipes;
|
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::StoneProdRecipes;
|
||||||
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::ScrollProdRecipes;
|
std::vector<FiestaCraftingCalculator::Recipe> FiestaCraftingCalculator::ScrollProdRecipes;
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@ -90,6 +91,7 @@
|
|||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
|
15161
FiestaCraftingCalculator/assets/ItemInfo.txt
Normal file
15161
FiestaCraftingCalculator/assets/ItemInfo.txt
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
@ -15,12 +15,12 @@
|
|||||||
20014 Recipe_Xir5 Alchemy: Xir [5] Xir5 1 Lix5 3 HighGoldOre 3 Sapphire 1 - 0 - 0 - 0 - 0 - 0 0 0 0 100000
|
20014 Recipe_Xir5 Alchemy: Xir [5] Xir5 1 Lix5 3 HighGoldOre 3 Sapphire 1 - 0 - 0 - 0 - 0 - 0 0 0 0 100000
|
||||||
20100 Recipe_BestLowHpPotion Alchemy: HP Potion (Tier 1) BestLowHpPotion 1 LowMeat 2 LowCleanWater 1 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
20100 Recipe_BestLowHpPotion Alchemy: HP Potion (Tier 1) BestLowHpPotion 1 LowMeat 2 LowCleanWater 1 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
||||||
20101 Recipe_LowHpPotion Alchemy: HP Potion (Tier 2) LowHpPotion 1 LowMeat 3 NorCleanWater 2 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
20101 Recipe_LowHpPotion Alchemy: HP Potion (Tier 2) LowHpPotion 1 LowMeat 3 NorCleanWater 2 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
||||||
20102 Recipe_NorHpPotion Alchemy: HP Potion (Tier 3) NorHpPotion 1 NorMeat 3 NorCleanWater 2 NorPledge 3 Violet 1 - 0 - 0 - 0 - 0 1 5 1 11800
|
20102 Recipe_NorHpPotion Alchemy: HP Potion (Tier 3) NorHpPotion 1 NorMeat 3 NorCleanWater 2 NorPledge 3 Violet 1 - 0 - 0 - 0 - 0 1 5 1 10800
|
||||||
20103 Recipe_HighHpPotion Alchemy: HP Potion (Tier 4) HighHpPotion 1 HighMeat 2 HighCleanWater 2 HighPledge 3 Ramsear 1 - 0 - 0 - 0 - 0 1 12 1 33300
|
20103 Recipe_HighHpPotion Alchemy: HP Potion (Tier 4) HighHpPotion 1 HighMeat 2 HighCleanWater 2 HighPledge 3 Ramsear 1 - 0 - 0 - 0 - 0 1 12 1 33300
|
||||||
20104 Recipe_BestHighHpPotion Alchemy: HP Potion (Tier 5) BestHighHpPotion 1 BestMeat 3 BestCleanWater 3 BestPledge 2 Salvia 1 - 0 - 0 - 0 - 0 1 20 1 83000
|
20104 Recipe_BestHighHpPotion Alchemy: HP Potion (Tier 5) BestHighHpPotion 1 BestMeat 3 BestCleanWater 3 BestPledge 2 Salvia 1 - 0 - 0 - 0 - 0 1 20 1 83000
|
||||||
20105 Recipe_BestLowSpPotion Alchemy: Sp Potion (Tier 1) BestLowSpPotion 1 LowMeat 1 LowMagicCrystal 2 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
20105 Recipe_BestLowSpPotion Alchemy: Sp Potion (Tier 1) BestLowSpPotion 1 LowMeat 1 LowMagicCrystal 2 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
||||||
20106 Recipe_LowSpPotion Alchemy: Sp Potion (Tier 2) LowSpPotion 1 NorMeat 1 NorMagicCrystal 1 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
20106 Recipe_LowSpPotion Alchemy: Sp Potion (Tier 2) LowSpPotion 1 NorMeat 1 NorMagicCrystal 1 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
||||||
20107 Recipe_NorSpPotion Alchemy: Sp Potion (Tier 3) NorSpPotion 1 HighMeat 1 NorMagicCrystal 1 NorPledge 1 Violet 1 - 0 - 0 - 0 - 0 1 4 1 11800
|
20107 Recipe_NorSpPotion Alchemy: Sp Potion (Tier 3) NorSpPotion 1 HighMeat 1 NorMagicCrystal 1 NorPledge 1 Violet 1 - 0 - 0 - 0 - 0 1 4 1 10800
|
||||||
20108 Recipe_HighSpPotion Alchemy: Sp Potion (Tier 4) HighSpPotion 1 BestMeat 1 HighMagicCrystal 1 HighPledge 3 Ramsear 1 - 0 - 0 - 0 - 0 1 10 1 33700
|
20108 Recipe_HighSpPotion Alchemy: Sp Potion (Tier 4) HighSpPotion 1 BestMeat 1 HighMagicCrystal 1 HighPledge 3 Ramsear 1 - 0 - 0 - 0 - 0 1 10 1 33700
|
||||||
20109 Recipe_BestHighSpPotion Alchemy: Sp Potion (Tier 5) BestHighSpPotion 1 BestMeat 3 BestMagicCrystal 2 BestPledge 2 Salvia 1 - 0 - 0 - 0 - 0 1 19 1 74000
|
20109 Recipe_BestHighSpPotion Alchemy: Sp Potion (Tier 5) BestHighSpPotion 1 BestMeat 3 BestMagicCrystal 2 BestPledge 2 Salvia 1 - 0 - 0 - 0 - 0 1 19 1 74000
|
||||||
20110 Recipe_BestLowConHPPotion Alchemy: HP Regeneration Potion (Tier 1) BestLowConHPPotion 1 LowMeat 1 LowCleanWater 1 LowPledge 1 - 0 - 0 - 0 - 0 - 0 1 2 1 150
|
20110 Recipe_BestLowConHPPotion Alchemy: HP Regeneration Potion (Tier 1) BestLowConHPPotion 1 LowMeat 1 LowCleanWater 1 LowPledge 1 - 0 - 0 - 0 - 0 - 0 1 2 1 150
|
||||||
@ -69,17 +69,17 @@
|
|||||||
20553 Recipe_BestMSScroll Alchemy: Speed Increase (Tier 5) BestMSScroll 1 BestSkin 4 HighSlimeJelly 6 KylinFighterTail 3 BestMushrooms 1 - 0 - 0 - 0 - 0 2 27 2 92000
|
20553 Recipe_BestMSScroll Alchemy: Speed Increase (Tier 5) BestMSScroll 1 BestSkin 4 HighSlimeJelly 6 KylinFighterTail 3 BestMushrooms 1 - 0 - 0 - 0 - 0 2 27 2 92000
|
||||||
20554 Recipe_BestLowMSScroll Alchemy: Speed Increase (Tier 1) BestLowMSScroll 1 LowSkin 3 LowBeastLeather 1 LowBeastTooth 2 - 0 - 0 - 0 - 0 - 0 2 2 2 300
|
20554 Recipe_BestLowMSScroll Alchemy: Speed Increase (Tier 1) BestLowMSScroll 1 LowSkin 3 LowBeastLeather 1 LowBeastTooth 2 - 0 - 0 - 0 - 0 - 0 2 2 2 300
|
||||||
20800 Recipe_LowPsnResiPotion Alchemy: Antitoxin (Tier 1) LowPsnResiPotion 1 NorMeat 2 NorMagicCrystal 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 1000
|
20800 Recipe_LowPsnResiPotion Alchemy: Antitoxin (Tier 1) LowPsnResiPotion 1 NorMeat 2 NorMagicCrystal 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 1000
|
||||||
20801 Recipe_NorPsnResiPotion Alchemy: Antitoxin (Tier 2) NorPsnResiPotion 1 HighMeat 2 NorMagicCrystal 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 10 1 11800
|
20801 Recipe_NorPsnResiPotion Alchemy: Antitoxin (Tier 2) NorPsnResiPotion 1 HighMeat 2 NorMagicCrystal 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 10 1 10800
|
||||||
20802 Recipe_HighPsnResiPotion Alchemy: Antitoxin (Tier 3) HighPsnResiPotion 1 BestMeat 2 HighMagicCrystal 2 HighBrokenBone 3 Ramsear 1 - 0 - 0 - 0 - 0 1 16 1 33300
|
20802 Recipe_HighPsnResiPotion Alchemy: Antitoxin (Tier 3) HighPsnResiPotion 1 BestMeat 2 HighMagicCrystal 2 HighBrokenBone 3 Ramsear 1 - 0 - 0 - 0 - 0 1 16 1 33300
|
||||||
20803 Recipe_LowDssResiPotion Alchemy: Antibiotic (Tier 1) LowDssResiPotion 1 NorMeat 2 NorCleanWater 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 1000
|
20803 Recipe_LowDssResiPotion Alchemy: Antibiotic (Tier 1) LowDssResiPotion 1 NorMeat 2 NorCleanWater 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 1000
|
||||||
20804 Recipe_NorDssResiPotion Alchemy: Antibiotic (Tier 2) NorDssResiPotion 1 HighMeat 2 NorCleanWater 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 10 1 11800
|
20804 Recipe_NorDssResiPotion Alchemy: Antibiotic (Tier 2) NorDssResiPotion 1 HighMeat 2 NorCleanWater 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 10 1 10800
|
||||||
20805 Recipe_HighDssResiPotion Alchemy: Antibiotic (Tier 3) HighDssResiPotion 1 HighMeat 2 HighCleanWater 2 HighBrokenBone 4 Ramsear 1 - 0 - 0 - 0 - 0 1 13 1 32600
|
20805 Recipe_HighDssResiPotion Alchemy: Antibiotic (Tier 3) HighDssResiPotion 1 HighMeat 2 HighCleanWater 2 HighBrokenBone 4 Ramsear 1 - 0 - 0 - 0 - 0 1 13 1 32600
|
||||||
20806 Recipe_LowCurResiPotion Alchemy: Bless (Tier 1) LowCurResiPotion 1 NorMeat 2 NorMagicCrystal 2 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 900
|
20806 Recipe_LowCurResiPotion Alchemy: Bless (Tier 1) LowCurResiPotion 1 NorMeat 2 NorMagicCrystal 2 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 750
|
||||||
20807 Recipe_NorCurResiPotion Alchemy: Bless (Tier 2) NorCurResiPotion 1 HighMeat 2 NorMagicCrystal 2 NorPledge 5 Violet 1 - 0 - 0 - 0 - 0 1 10 1 11600
|
20807 Recipe_NorCurResiPotion Alchemy: Bless (Tier 2) NorCurResiPotion 1 HighMeat 2 NorMagicCrystal 2 NorPledge 5 Violet 1 - 0 - 0 - 0 - 0 1 10 1 10000
|
||||||
20808 Recipe_HighCurResiPotion Alchemy: Bless (Tier 3) HighCurResiPotion 1 HighMeat 2 HighMagicCrystal 2 HighPledge 4 Ramsear 1 - 0 - 0 - 0 - 0 1 13 1 38000
|
20808 Recipe_HighCurResiPotion Alchemy: Bless (Tier 3) HighCurResiPotion 1 HighMeat 2 HighMagicCrystal 2 HighPledge 4 Ramsear 1 - 0 - 0 - 0 - 0 1 13 1 38000
|
||||||
21000 Recipe_LowPsnCurPotion Alchemy: Antidote (Tier 1) LowPsnCurPotion 1 LowMeat 2 LowMagicCrystal 2 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
21000 Recipe_LowPsnCurPotion Alchemy: Antidote (Tier 1) LowPsnCurPotion 1 LowMeat 2 LowMagicCrystal 2 - 0 - 0 - 0 - 0 - 0 - 0 1 2 1 0
|
||||||
21001 Recipe_NorPsnCurPotion Alchemy: Antidote (Tier 2) NorPsnCurPotion 1 LowMeat 5 NorMagicCrystal 1 NorBrokenBone 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
21001 Recipe_NorPsnCurPotion Alchemy: Antidote (Tier 2) NorPsnCurPotion 1 LowMeat 5 NorMagicCrystal 1 NorBrokenBone 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1000
|
||||||
21002 Recipe_HighPsnCurPotion Alchemy: Antidote (Tier 3) HighPsnCurPotion 1 NorMeat 4 NorMagicCrystal 3 HighBrokenBone 2 Violet 1 - 0 - 0 - 0 - 0 1 10 1 11600
|
21002 Recipe_HighPsnCurPotion Alchemy: Antidote (Tier 3) HighPsnCurPotion 1 NorMeat 4 NorMagicCrystal 3 HighBrokenBone 2 Violet 1 - 0 - 0 - 0 - 0 1 10 1 10000
|
||||||
21003 Recipe_LowDssCurPotion Alchemy: Cure (Tier 1) LowDssCurPotion 1 LowMeat 2 LowMagicCrystal 1 LowBrokenBone 2 - 0 - 0 - 0 - 0 - 0 1 2 1 600
|
21003 Recipe_LowDssCurPotion Alchemy: Cure (Tier 1) LowDssCurPotion 1 LowMeat 2 LowMagicCrystal 1 LowBrokenBone 2 - 0 - 0 - 0 - 0 - 0 1 2 1 600
|
||||||
21004 Recipe_NorDssCurPotion Alchemy: Cure (Tier 2) NorDssCurPotion 1 LowMeat 5 NorMagicCrystal 1 NorBrokenBone 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1600
|
21004 Recipe_NorDssCurPotion Alchemy: Cure (Tier 2) NorDssCurPotion 1 LowMeat 5 NorMagicCrystal 1 NorBrokenBone 2 Geranium 1 - 0 - 0 - 0 - 0 1 3 1 1600
|
||||||
21005 Recipe_HighDssCurPotion Alchemy: Cure (Tier 3) HighDssCurPotion 1 NorMeat 4 NorMagicCrystal 3 HighBrokenBone 2 Violet 1 - 0 - 0 - 0 - 0 1 10 1 16800
|
21005 Recipe_HighDssCurPotion Alchemy: Cure (Tier 3) HighDssCurPotion 1 NorMeat 4 NorMagicCrystal 3 HighBrokenBone 2 Violet 1 - 0 - 0 - 0 - 0 1 10 1 16800
|
||||||
@ -214,3 +214,23 @@
|
|||||||
24080 Recipe_R_LowWoodSab Material Decomposition : Sap (Low Quality) LowWoodSab 9 NorWoodSab 1 Converter1 1 - 0 - 0 - 0 - 0 - 0 - 0 5 2 5 100
|
24080 Recipe_R_LowWoodSab Material Decomposition : Sap (Low Quality) LowWoodSab 9 NorWoodSab 1 Converter1 1 - 0 - 0 - 0 - 0 - 0 - 0 5 2 5 100
|
||||||
24081 Recipe_R_NorWoodSab Material Decomposition : Sap NorWoodSab 6 HighWoodSab 1 Converter2 1 - 0 - 0 - 0 - 0 - 0 - 0 5 6 5 11000
|
24081 Recipe_R_NorWoodSab Material Decomposition : Sap NorWoodSab 6 HighWoodSab 1 Converter2 1 - 0 - 0 - 0 - 0 - 0 - 0 5 6 5 11000
|
||||||
24082 Recipe_R_HighWoodSab Material Decomposition : Sap (High Quality) HighWoodSab 1 BestWoodSab 1 Converter4 1 - 0 - 0 - 0 - 0 - 0 - 0 5 40 5 85000
|
24082 Recipe_R_HighWoodSab Material Decomposition : Sap (High Quality) HighWoodSab 1 BestWoodSab 1 Converter4 1 - 0 - 0 - 0 - 0 - 0 - 0 5 40 5 85000
|
||||||
|
24083 Recipe_BestLowMaxINTScroll Scroll: Concentration Increase (Tier 1) BestLowCriScroll 1 LowSkin 2 LowKylinLeather 2 - 0 - 0 - 0 - 0 - 0 - 0 2 2 2 0
|
||||||
|
24084 Recipe_LowINTScroll Scroll: Concentration Increase (Tier 2) LowCriScroll 1 LowSkin 4 NorBeastLeather 2 NorBeastTooth 3 LowMushrooms 1 - 0 - 0 - 0 - 0 2 3 2 1700
|
||||||
|
24085 Recipe_NorINTScroll Scroll: Concentration Increase (Tier 3) NorCriScroll 1 NorSkin 3 NorBeastLeather 3 HighBeastTooth 2 NorMushrooms 1 - 0 - 0 - 0 - 0 2 4 2 14600
|
||||||
|
24086 Recipe_HighINTScroll Scroll: Concentration Increase (Tier 4) HighCriScroll 1 HighSkin 3 HighBeastLeather 3 HighBeastTooth 2 HighMushrooms 1 - 0 - 0 - 0 - 0 2 15 2 31200
|
||||||
|
24087 Recipe_BestHighMaxINTScroll Scroll: Concentration Increase (Tier 5) BestHighCriScroll 1 BestSkin 3 HighBeastLeather 2 BeastHead 2 BestMushrooms 1 - 0 - 0 - 0 - 0 2 23 2 93000
|
||||||
|
24088 Recipe_BestLowStrPotion Potion: Strength Increase (Tier 1) BestLowStrCriPotion 1 LowMeat 2 LowMagicCrystal 2 LowBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 5 1 900
|
||||||
|
24089 Recipe_LowStrPotion Potion: Strength Increase (Tier 2) LowStrCriPotion 1 NorMeat 2 NorMagicCrystal 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 15 1 11500
|
||||||
|
24090 Recipe_NorStrPotion Potion: Strength Increase (Tier 3) NorStrCriPotion 1 HighMeat 2 NorMagicCrystal 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 25 1 35000
|
||||||
|
24091 Recipe_HighStrPotion Potion: Strength Increase (Tier 4) HighStrCriPotion 1 BestMeat 2 HighMagicCrystal 2 HighBrokenBone 3 Ramsear 1 - 0 - 0 - 0 - 0 1 35 1 55000
|
||||||
|
24092 Recipe_BestHighStrPotion Potion: Strength Increase (Tier 5) BestHighStrCriPotion 1 BestMeat 2 BestMagicCrystal 2 BestBrokenBone 3 Salvia 1 - 0 - 0 - 0 - 0 1 40 1 95000
|
||||||
|
24093 Recipe_BestLowDexPotion Potion: Quickness (Tier 1) BestLowDEXPotion 1 LowMeat 2 LowCleanWater 2 LowBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 700
|
||||||
|
24094 Recipe_LowDexPotion Potion: Quickness (Tier 2) LowDEXPotion 1 NorMeat 2 NorCleanWater 2 NorBrokenBone 3 Geranium 1 - 0 - 0 - 0 - 0 1 13 1 11000
|
||||||
|
24095 Recipe_NorDexPotion Potion: Quickness (Tier 3) NorDEXPotion 1 HighMeat 2 NorCleanWater 2 HighBrokenBone 1 Violet 1 - 0 - 0 - 0 - 0 1 22 1 32000
|
||||||
|
24096 Recipe_HighDexPotion Potion: Quickness (Tier 4) HighDEXPotion 1 HighMeat 2 HighCleanWater 2 HighBrokenBone 4 Ramsear 1 - 0 - 0 - 0 - 0 1 30 1 40000
|
||||||
|
24097 Recipe_BestHighDexPotion Potion: Quickness (Tier 5) BestHighDEXPotion 1 BestMeat 2 BestCleanWater 2 BestBrokenBone 3 Ramsear 3 - 0 - 0 - 0 - 0 1 35 1 80000
|
||||||
|
24098 Recipe_BestLowDefPotion Potion: Protection (Tier 1) BestLowACMRPotion 1 LowMeat 2 LowMagicCrystal 2 LowPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 4 1 800
|
||||||
|
24099 Recipe_LowDefPotion Potion: Protection (Tier 2) LowACMRPotion 1 NorMeat 2 NorMagicCrystal 2 NorPledge 2 Geranium 1 - 0 - 0 - 0 - 0 1 14 1 11500
|
||||||
|
24100 Recipe_NorDefPotion Potion: Protection (Tier 3) NorACMRPotion 1 HighMeat 2 NorMagicCrystal 2 NorPledge 5 Violet 1 - 0 - 0 - 0 - 0 1 24 1 34000
|
||||||
|
24101 Recipe_HighDefPotion Potion: Protection (Tier 4) HighACMRPotion 1 HighMeat 2 HighMagicCrystal 2 HighPledge 4 Ramsear 1 - 0 - 0 - 0 - 0 1 28 1 45000
|
||||||
|
24102 Recipe_BestHighDefPotion Potion: Protection (Tier 5) BestHighACMRPotion 1 BestMeat 2 BestMagicCrystal 2 BestPledge 3 Ramsear 3 - 0 - 0 - 0 - 0 1 38 1 90000
|
@ -1204,8 +1204,6 @@ namespace olc
|
|||||||
#endif
|
#endif
|
||||||
public: // Branding
|
public: // Branding
|
||||||
std::string sAppName;
|
std::string sAppName;
|
||||||
std::string sTextEntryString = "";
|
|
||||||
int32_t nTextEntryCursor = 0;
|
|
||||||
|
|
||||||
private: // Inner mysterious workings
|
private: // Inner mysterious workings
|
||||||
olc::Sprite* pDrawTarget = nullptr;
|
olc::Sprite* pDrawTarget = nullptr;
|
||||||
@ -1262,6 +1260,10 @@ namespace olc
|
|||||||
|
|
||||||
// Text Entry Specific
|
// Text Entry Specific
|
||||||
bool bTextEntryEnable = false;
|
bool bTextEntryEnable = false;
|
||||||
|
public:
|
||||||
|
std::string sTextEntryString = "";
|
||||||
|
int32_t nTextEntryCursor = 0;
|
||||||
|
private:
|
||||||
std::vector<std::tuple<olc::Key, std::string, std::string>> vKeyboardMap;
|
std::vector<std::tuple<olc::Key, std::string, std::string>> vKeyboardMap;
|
||||||
|
|
||||||
|
|
||||||
@ -5028,8 +5030,16 @@ namespace olc
|
|||||||
glGenTextures(1, &id);
|
glGenTextures(1, &id);
|
||||||
glBindTexture(GL_TEXTURE_2D, id);
|
glBindTexture(GL_TEXTURE_2D, id);
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
if (filtered)
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
{
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
}
|
||||||
|
|
||||||
if (clamp)
|
if (clamp)
|
||||||
{
|
{
|
||||||
@ -5406,11 +5416,7 @@ namespace olc
|
|||||||
virtual olc::rcode CreateWindowPane(const olc::vi2d& vWindowPos, olc::vi2d& vWindowSize, bool bFullScreen) override
|
virtual olc::rcode CreateWindowPane(const olc::vi2d& vWindowPos, olc::vi2d& vWindowSize, bool bFullScreen) override
|
||||||
{
|
{
|
||||||
WNDCLASS wc;
|
WNDCLASS wc;
|
||||||
wc.hIcon = static_cast<HICON>(::LoadImage(GetModuleHandle(nullptr),
|
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
|
||||||
MAKEINTRESOURCE(101),
|
|
||||||
IMAGE_ICON,
|
|
||||||
48, 48,
|
|
||||||
LR_DEFAULTCOLOR));;
|
|
||||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||||
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
||||||
wc.hInstance = GetModuleHandle(nullptr);
|
wc.hInstance = GetModuleHandle(nullptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user