1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-08-09 15:49:52 +00:00

move StringBank to BBGE

This commit is contained in:
fgenesis 2018-01-02 15:31:47 +01:00
parent 3a96c775db
commit ce4f6a7d3e
26 changed files with 196 additions and 168 deletions

View file

@ -61,7 +61,7 @@ AquariaSaveSlot::AquariaSaveSlot(int slot) : AquariaGuiQuad()
if (description.length() > 0)
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(2002) << " " << (slot+1) << " - " << description;
os << stringbank.get(2002) << " " << (slot+1) << " - " << description;
text1->setText(os.str());
glowText->setText(os.str());
@ -70,7 +70,7 @@ AquariaSaveSlot::AquariaSaveSlot(int slot) : AquariaGuiQuad()
else
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(2002) << " " << (slot+1) << " - " << dsq->continuity.stringBank.get(2003);
os << stringbank.get(2002) << " " << (slot+1) << " - " << stringbank.get(2003);
text1->setText(os.str());
glowText->setText(os.str());
empty = true;
@ -278,104 +278,104 @@ static std::string getPrettySceneName_internal(const XMLElement *startData)
stringToLower(location);
if (location.find("boilerroom")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1000);
location = stringbank.get(1000);
}
else if (location.find("seahorse")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1028);
location = stringbank.get(1028);
}
else if (location.find("whale")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1001);
location = stringbank.get(1001);
}
else if (location.find("frozenveil")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1002);
location = stringbank.get(1002);
}
else if (location.find("bubblecave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1003);
location = stringbank.get(1003);
}
else if (location.find("energytemple")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1004);
location = stringbank.get(1004);
}
else if (location.find("trainingcave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1023);
location = stringbank.get(1023);
}
else if (location.find("vedhacave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1005);
location = stringbank.get(1005);
}
else if (location.find("naijacave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1006);
location = stringbank.get(1006);
}
else if (location.find("songcave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1007);
location = stringbank.get(1007);
}
else if (location.find("mainarea")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1008);
location = stringbank.get(1008);
}
else if (location.find("openwater")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1009);
location = stringbank.get(1009);
}
else if (location.find("forest")!=std::string::npos
|| location.find("tree")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1010);
location = stringbank.get(1010);
}
else if (location.find("mithalas")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1011);
location = stringbank.get(1011);
}
else if (location.find("cathedral")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1012);
location = stringbank.get(1012);
}
else if (location.find("suntemple")!=std::string::npos || location.find("sunworm")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1013);
location = stringbank.get(1013);
}
else if (location.find("veil")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1014);
location = stringbank.get(1014);
}
else if (location.find("abyss")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1015);
location = stringbank.get(1015);
}
else if (location.find("sunkencity")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1016);
location = stringbank.get(1016);
}
else if (location.find("fishcave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1017);
location = stringbank.get(1017);
}
else if (location.find("octocave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1018);
location = stringbank.get(1018);
}
else if (location.find("icecave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1019);
location = stringbank.get(1019);
}
else if (location.find("secret")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1020);
location = stringbank.get(1020);
}
else if (location.find("final")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1021);
location = stringbank.get(1021);
}
else if (location.find("licave")!=std::string::npos)
{
location = dsq->continuity.stringBank.get(1029);
location = stringbank.get(1029);
}
return location;
}

View file

@ -3379,7 +3379,7 @@ void Avatar::lockToWall()
if (!dsq->game->isControlHint()){
dsq->continuity.setFlag("lockedToWall", 1);
dsq->game->setControlHint(dsq->continuity.stringBank.get(13), 1, 0, 0, 6, "", true);
dsq->game->setControlHint(stringbank.get(13), 1, 0, 0, 6, "", true);
}
}

View file

@ -460,95 +460,95 @@ std::string Continuity::getIEString(IngredientData *data, size_t i)
if (fx.magnitude > 0)
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(200) << " ";
os << dsq->continuity.stringBank.get(100) << " ";
os << stringbank.get(200) << " ";
os << stringbank.get(100) << " ";
os << fx.magnitude;
return os.str();
}
else
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(200) << " ";
os << dsq->continuity.stringBank.get(101) << " ";
os << stringbank.get(200) << " ";
os << stringbank.get(101) << " ";
os << fabsf(fx.magnitude);
return os.str();
}
// break;
case IET_MAXHP:
return dsq->continuity.stringBank.get(201);
return stringbank.get(201);
// break;
case IET_DEFENSE:
os << dsq->continuity.stringBank.get(202);
os << " " << fx.magnitude << " " << dsq->continuity.stringBank.get(205) << " " << defenseTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(202);
os << " " << fx.magnitude << " " << stringbank.get(205) << " " << defenseTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_SPEED:
os << dsq->continuity.stringBank.get(204) << " " << fx.magnitude;
os << " " << dsq->continuity.stringBank.get(205) << " " << speedTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(204) << " " << fx.magnitude;
os << " " << stringbank.get(205) << " " << speedTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_REGEN:
os << dsq->continuity.stringBank.get(206) << " " << fx.magnitude;
os << stringbank.get(206) << " " << fx.magnitude;
return os.str();
// break;
case IET_TRIP:
return dsq->continuity.stringBank.get(207);
return stringbank.get(207);
// break;
case IET_EAT:
return dsq->continuity.stringBank.get(208);
return stringbank.get(208);
// break;
case IET_BITE:
os << dsq->continuity.stringBank.get(209);
os << " " << dsq->continuity.stringBank.get(205) << " " << biteTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(209);
os << " " << stringbank.get(205) << " " << biteTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_FISHPOISON:
os << dsq->continuity.stringBank.get(217);
os << " " << dsq->continuity.stringBank.get(205) << " " << fishPoisonTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(217);
os << " " << stringbank.get(205) << " " << fishPoisonTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_INVINCIBLE:
os << dsq->continuity.stringBank.get(210);
os << " " << dsq->continuity.stringBank.get(205) << " " << (fx.magnitude*5) << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(210);
os << " " << stringbank.get(205) << " " << (fx.magnitude*5) << " " << stringbank.get(203);
return os.str();
// break;
case IET_ENERGY:
os << dsq->continuity.stringBank.get(211) << " " << fx.magnitude;
os << " " << dsq->continuity.stringBank.get(205) << " " << energyTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(211) << " " << fx.magnitude;
os << " " << stringbank.get(205) << " " << energyTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_BLIND:
return dsq->continuity.stringBank.get(212);
return stringbank.get(212);
// break;
case IET_POISON:
if (fx.magnitude < 0)
return dsq->continuity.stringBank.get(213);
return stringbank.get(213);
else
return dsq->continuity.stringBank.get(214);
return stringbank.get(214);
// break;
case IET_YUM:
return dsq->continuity.stringBank.get(215);
return stringbank.get(215);
// break;
case IET_WEB:
os << dsq->continuity.stringBank.get(219);
os << " " << dsq->continuity.stringBank.get(205) << " " << webTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(219);
os << " " << stringbank.get(205) << " " << webTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_ALLSTATUS:
return dsq->continuity.stringBank.get(218);
return stringbank.get(218);
// break;
case IET_PETPOWER:
os << dsq->continuity.stringBank.get(216);
os << " " << dsq->continuity.stringBank.get(205) << " " << petPowerTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(216);
os << " " << stringbank.get(205) << " " << petPowerTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_LIGHT:
os << dsq->continuity.stringBank.get(220);
os << " " << dsq->continuity.stringBank.get(205) << " " << lightTime << " " << dsq->continuity.stringBank.get(203);
os << stringbank.get(220);
os << " " << stringbank.get(205) << " " << lightTime << " " << stringbank.get(203);
return os.str();
// break;
case IET_LI:
return dsq->continuity.stringBank.get(227);
return stringbank.get(227);
// break;
case IET_SCRIPT:
if(dsq->game->cookingScript)
@ -3389,7 +3389,7 @@ GemData *Continuity::pickupGem(std::string name, bool effects)
if (!getFlag("tokenHint"))
{
setFlag("tokenHint", 1);
dsq->game->setControlHint(dsq->continuity.stringBank.get(4), false, false, false, 8);
dsq->game->setControlHint(stringbank.get(4), false, false, false, 8);
}
@ -3466,7 +3466,7 @@ void Continuity::reset()
loadTreasureData();
stringBank.load();
dsq->loadStringBank();
gems.clear();
beacons.clear();

View file

@ -7,7 +7,6 @@
#include "StatsAndAchievements.h"
#include "GameEnums.h"
#include "WorldMap.h"
#include "StringBank.h"
namespace tinyxml2 { class XMLDocument; }
@ -258,8 +257,6 @@ public:
WorldMap worldMap;
StringBank stringBank;
TreasureData treasureData;
void loadTreasureData();

View file

@ -502,7 +502,7 @@ void DSQ::debugMenu()
{
core->frameOutputMode = false;
dsq->game->togglePause(true);
std::string s = dsq->getUserInputString(dsq->continuity.stringBank.get(2012), "");
std::string s = dsq->getUserInputString(stringbank.get(2012), "");
stringToUpper(s);
@ -658,7 +658,7 @@ void DSQ::debugMenu()
{
std::ostringstream os;
os << dsq->game->avatar->health;
std::istringstream is(dsq->getUserInputString(dsq->continuity.stringBank.get(2013), os.str()));
std::istringstream is(dsq->getUserInputString(stringbank.get(2013), os.str()));
float h = 0;
is >> h;
dsq->game->avatar->health = h;
@ -743,7 +743,7 @@ void DSQ::setVersionLabelText()
#ifdef AQUARIA_OVERRIDE_VERSION_STRING
std::string overrideText = AQUARIA_OVERRIDE_VERSION_STRING;
if(user.system.allowDangerousScriptFunctions)
overrideText += continuity.stringBank.get(2050);
overrideText += stringbank.get(2050);
versionLabel->setText(overrideText);
return;
#endif
@ -780,7 +780,7 @@ void DSQ::setVersionLabelText()
#endif
if(user.system.allowDangerousScriptFunctions)
os << continuity.stringBank.get(2050);
os << stringbank.get(2050);
versionLabel->setText(os.str());
}
@ -838,7 +838,7 @@ This build is not yet final, and as such there are a couple things lacking. They
// steam gets inited in here
Core::init();
continuity.stringBank.load();
loadStringBank();
vars = &v;
v.load();
@ -1036,8 +1036,6 @@ This build is not yet final, and as such there are a couple things lacking. They
loadBit(LOAD_FONTS);
dsq->continuity.stringBank.load();
setTexturePointers();
cursor = new Quad;
@ -1158,14 +1156,14 @@ This build is not yet final, and as such there are a couple things lacking. They
addRenderObject(cutscene_bg, LR_SUBTITLES);
cutscene_text = new BitmapText(&dsq->font);
cutscene_text->setText(dsq->continuity.stringBank.get(2004));
cutscene_text->setText(stringbank.get(2004));
cutscene_text->position = Vector(400,300-16);
cutscene_text->alpha.x = 0;
cutscene_text->followCamera = 1;
addRenderObject(cutscene_text, LR_SUBTITLES);
cutscene_text2 = new BitmapText(&dsq->smallFont);
cutscene_text2->setText(dsq->continuity.stringBank.get(2005));
cutscene_text2->setText(stringbank.get(2005));
cutscene_text2->position = Vector(400,300+10);
cutscene_text2->alpha.x = 0;
cutscene_text2->followCamera = 1;
@ -1567,7 +1565,7 @@ int DSQ::getEntityLayerToLayer(int lcode)
void DSQ::setStory()
{
std::string flagString = getUserInputString(dsq->continuity.stringBank.get(2014), "0");
std::string flagString = getUserInputString(stringbank.get(2014), "0");
int flag = 0;
std::istringstream is(flagString);
is >> flag;
@ -1575,7 +1573,7 @@ void DSQ::setStory()
core->run(0.2f);
std::ostringstream os;
os << dsq->continuity.getFlag(flag);
flagString = getUserInputString(dsq->continuity.stringBank.get(2015), os.str());
flagString = getUserInputString(stringbank.get(2015), os.str());
int value = 0;
std::istringstream is2(flagString);
is2 >> value;
@ -2574,7 +2572,7 @@ void DSQ::clearModSelector()
void DSQ::updateSaveSlotPageCount()
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(2006) << " " << user.data.savePage+1 << "/" << maxPages+1;
os << stringbank.get(2006) << " " << user.data.savePage+1 << "/" << maxPages+1;
saveSlotPageCount->setText(os.str());
}
@ -2667,9 +2665,9 @@ void DSQ::createSaveSlots(SaveSlotMode ssm)
BitmapText *txt = new BitmapText(&dsq->font);
if (ssm == SSM_LOAD)
txt->setText(continuity.stringBank.get(2001));
txt->setText(stringbank.get(2001));
else
txt->setText(continuity.stringBank.get(2000));
txt->setText(stringbank.get(2000));
txt->position = Vector(230, 68);
txt->followCamera = 1;
addRenderObject(txt, LR_MENU);
@ -4539,3 +4537,30 @@ void DSQ::importActionButtons()
abs->import(as);
}
}
void DSQ::loadStringBank()
{
stringbank.clear();
// First, load the default string banks
stringbank.load("data/stringbank.txt");
if (mod.isActive())
stringbank.load(mod.getPath() + "stringbank.txt");
// Then, load localized ones. If some entries in these are missing, the default for each is taken.
std::string fname = localisePath("data/stringbank.txt");
stringbank.load(fname);
if (mod.isActive()) {
fname = localisePath(mod.getPath() + "stringbank.txt", mod.getPath());
stringbank.load(fname);
}
if(stringbank.empty())
exit_error("Failed to load data/stringbank.txt");
// ADD DEFAULTS
stringbank.addDefault(2153, "--");
}

View file

@ -402,6 +402,7 @@ public:
Mod mod;
void loadStringBank();
void loadMods();
void applyPatches();
void refreshResourcesForPatch(const std::string& name);

View file

@ -126,7 +126,7 @@ void Demo::update(float dt)
if (getQuitKey())
{
toggleRecord(false);
dsq->centerMessage(dsq->continuity.stringBank.get(2010));
dsq->centerMessage(stringbank.get(2010));
}
}
else if (mode == DEMOMODE_PLAYBACK)
@ -159,7 +159,7 @@ void Demo::update(float dt)
if (getQuitKey() || (!frames.empty() && frame >= frames.size())) {
togglePlayback(false);
dsq->centerMessage(dsq->continuity.stringBank.get(2011));
dsq->centerMessage(stringbank.get(2011));
}

View file

@ -82,7 +82,7 @@ Ingredient *Game::getNearestIngredient(const Vector &pos, float radius)
return returnIngredient;
}
Entity *Game::getNearestEntity(const Vector &pos, float radius, Entity *ignore, EntityType et, DamageType dt, unsigned lrStart, unsigned lrEnd)
Entity *Game::getNearestEntity(const Vector &pos, float radius, Entity *ignore, EntityType et, DamageType dt, int lrStart, int lrEnd)
{
int sqrRadius = radius*radius;
Entity *closest = 0;
@ -833,7 +833,7 @@ void Game::loadEntityTypeList()
std::string line;
if(!in)
{
exit_error(dsq->continuity.stringBank.get(2008).c_str());
exit_error(stringbank.get(2008).c_str());
}
while (std::getline(in, line))
{
@ -3609,7 +3609,7 @@ void Game::toggleHelpScreen(bool on, const std::string &label)
#endif
// !!! FIXME: this is such a hack.
data += "\n\n" + dsq->continuity.stringBank.get(2032) + "\n\n";
data += "\n\n" + stringbank.get(2032) + "\n\n";
dsq->continuity.statsAndAchievements->appendStringData(data);
helpBG = new Quad;
@ -5253,7 +5253,7 @@ void Game::learnedRecipe(Recipe *r, bool effects)
if (nocasecmp(dsq->getTopStateData()->name,"Game")==0 && !applyingState)
{
std::ostringstream os;
os << dsq->continuity.stringBank.get(23) << " " << r->resultDisplayName << " " << dsq->continuity.stringBank.get(24);
os << stringbank.get(23) << " " << r->resultDisplayName << " " << stringbank.get(24);
IngredientData *data = dsq->continuity.getIngredientDataByName(r->result);
if (data)
{

View file

@ -229,7 +229,7 @@ public:
void spawnIngredientFromEntity(Entity *ent, IngredientData *data);
Ingredient *getNearestIngredient(const Vector &pos, float radius);
Entity *getNearestEntity(const Vector &pos, float radius, Entity *ignore = 0, EntityType et=ET_NOTYPE, DamageType dt=DT_NONE, unsigned lrStart=-1, unsigned lrEnd=-1);
Entity *getNearestEntity(const Vector &pos, float radius, Entity *ignore = 0, EntityType et=ET_NOTYPE, DamageType dt=DT_NONE, int lrStart=-1, int lrEnd=-1);
Script *cookingScript;

View file

@ -28,7 +28,7 @@ void GameplayVariables::load()
InStream inFile("data/variables.txt");
if(!inFile)
{
exit_error(dsq->continuity.stringBank.get(2017));
exit_error(stringbank.get(2017));
}
std::string s;
inFile >> s >> maxSlowSwimSpeed;

View file

@ -867,7 +867,7 @@ void TreasureSlot::refresh()
setWidthHeight(w*scl, h*scl);
std::string parse = dsq->continuity.stringBank.get(flag);
std::string parse = stringbank.get(flag);
int p1 = parse.find_first_of('[');
if (p1 != std::string::npos)
@ -1691,7 +1691,7 @@ static std::string screenModeStr(const ScreenMode& m)
std::ostringstream os;
if(!m.x && !m.y)
{
os << dsq->continuity.stringBank.get(2142);
os << stringbank.get(2142);
}
else
{
@ -1931,7 +1931,7 @@ void InGameMenu::create()
tip = new ToolTip;
tip->alpha = 0;
tip->setCircularAreaFromCenter(worldLeftCenter, 240);
tip->setText(dsq->continuity.stringBank.get(0), Vector(200,450), 350);
tip->setText(stringbank.get(0), Vector(200,450), 350);
game->addRenderObject(tip, LR_HUD);
foodTips.push_back(tip);
@ -1939,7 +1939,7 @@ void InGameMenu::create()
tip = new ToolTip;
tip->alpha = 0;
tip->setCircularAreaFromCenter(worldRightCenter, 240);
tip->setText(dsq->continuity.stringBank.get(1), Vector(600,450), 350);
tip->setText(stringbank.get(1), Vector(600,450), 350);
game->addRenderObject(tip, LR_HUD);
foodTips.push_back(tip);
@ -1948,7 +1948,7 @@ void InGameMenu::create()
tip = new ToolTip;
tip->alpha = 0;
tip->setCircularAreaFromCenter(worldLeftCenter, 240);
tip->setText(dsq->continuity.stringBank.get(14), Vector(200,450), 350);
tip->setText(stringbank.get(14), Vector(200,450), 350);
game->addRenderObject(tip, LR_HUD);
songTips.push_back(tip);
@ -1957,7 +1957,7 @@ void InGameMenu::create()
tip = new ToolTip;
tip->alpha = 0;
tip->setAreaFromCenter(Vector(400,300), 800, 600);
tip->setText(dsq->continuity.stringBank.get(16), Vector(400,300), 400);
tip->setText(stringbank.get(16), Vector(400,300), 400);
game->addRenderObject(tip, LR_HUD);
petTips.push_back(tip);
*/
@ -1965,14 +1965,14 @@ void InGameMenu::create()
tip = new ToolTip;
tip->alpha = 0;
tip->setCircularAreaFromCenter(worldLeftCenter, 240);
tip->setText(dsq->continuity.stringBank.get(17), Vector(200,450), 350);
tip->setText(stringbank.get(17), Vector(200,450), 350);
game->addRenderObject(tip, LR_HUD);
petTips.push_back(tip);
tip = new ToolTip;
tip->alpha = 0;
tip->setAreaFromCenter(Vector(400,350), 150, 50);
tip->setText(dsq->continuity.stringBank.get(15), Vector(400,450), 450);
tip->setText(stringbank.get(15), Vector(400,450), 450);
game->addRenderObject(tip, LR_HUD);
songTips.push_back(tip);
foodTips.push_back(tip);
@ -1993,7 +1993,7 @@ void InGameMenu::create()
game->addRenderObject(keyConfigButton, LR_MENU);
#define SB(x) dsq->continuity.stringBank.get(x)
#define SB(x) stringbank.get(x)
keyConfigBg = new RoundedRect();
keyConfigBg->position = Vector(400,276 - 10 - 40);
@ -2327,7 +2327,7 @@ void InGameMenu::create()
recipeMenu.header = new BitmapText(&dsq->font);
recipeMenu.header->color = 0;
recipeMenu.header->followCamera = 1;
recipeMenu.header->setText(dsq->continuity.stringBank.get(2007));
recipeMenu.header->setText(stringbank.get(2007));
recipeMenu.header->alpha = 0;
recipeMenu.header->position = Vector(scrollx, 5); //10
game->addRenderObject(recipeMenu.header, LR_RECIPES);
@ -2336,7 +2336,7 @@ void InGameMenu::create()
recipeMenu.page->color = 0;
recipeMenu.page->followCamera = 1;
recipeMenu.page->position = Vector(scrollx, 400);
recipeMenu.page->setText(dsq->continuity.stringBank.get(2006));
recipeMenu.page->setText(stringbank.get(2006));
recipeMenu.page->alpha = 0;
game->addRenderObject(recipeMenu.page, LR_RECIPES);
@ -3158,7 +3158,7 @@ void InGameMenu::onCook()
else
{
dsq->sound->playSfx("Denied");
dsq->centerMessage(dsq->continuity.stringBank.get(27));
dsq->centerMessage(stringbank.get(27));
}
refreshFoodSlots(true);
@ -4237,14 +4237,14 @@ void InGameMenu::updateJoystickText()
else if(as.joystickID == ACTIONSET_REASSIGN_JOYSTICK)
{
std::string s = "(";
s += dsq->continuity.stringBank.get(2141);
s += stringbank.get(2141);
s += " ";
s += as.joystickName;
s += ")";
joystickNameText->setText(s);
}
else
joystickNameText->setText(dsq->continuity.stringBank.get(2139));
joystickNameText->setText(stringbank.get(2139));
if(j && as.joystickID >= 0)
joystickGUIDText->setText(as.joystickGUID);

View file

@ -189,7 +189,7 @@ void ModDL::GetModlist(const std::string& url, bool allowChaining, bool first)
{
scr->globeIcon->quad->color.interpolateTo(Vector(1,1,1), 0.3f);
scr->globeIcon->alpha.interpolateTo(0.5f, 0.2f, -1, true, true);
scr->dlText.setText(dsq->continuity.stringBank.get(2033));
scr->dlText.setText(stringbank.get(2033));
scr->dlText.alpha.stopPath();
scr->dlText.alpha.interpolateTo(1, 0.1f);
}
@ -210,7 +210,7 @@ void ModDL::NotifyModlist(ModlistRequest *rq, NetEvent ev, size_t recvd, size_t
scr->globeIcon->alpha.stop();
scr->globeIcon->alpha.interpolateTo(1, 0.5f, 0, false, true);
scr->globeIcon->quad->color.interpolateTo(Vector(0.5f, 0.5f, 0.5f), 0.3f);
scr->dlText.setText(dsq->continuity.stringBank.get(2021));
scr->dlText.setText(stringbank.get(2021));
scr->dlText.alpha = 0;
scr->dlText.alpha.ensureData();
scr->dlText.alpha.data->path.addPathNode(0, 0);
@ -243,7 +243,7 @@ void ModDL::NotifyModlist(ModlistRequest *rq, NetEvent ev, size_t recvd, size_t
{
scr->dlText.alpha.stopPath();
scr->dlText.alpha.interpolateTo(1, 0.5f);
scr->dlText.setText(dsq->continuity.stringBank.get(2022) + " " + rq->url);
scr->dlText.setText(stringbank.get(2022) + " " + rq->url);
}
}
}
@ -477,7 +477,7 @@ void ModDL::NotifyMod(ModRequest *rq, NetEvent ev, size_t recvd, size_t total)
if(!ico)
{
if(ev == NE_FINISH)
dsq->centerMessage(dsq->continuity.stringBank.get(2023) + " " + rq->modname, 420);
dsq->centerMessage(stringbank.get(2023) + " " + rq->modname, 420);
return;
}

View file

@ -575,7 +575,7 @@ void ModIcon::loadEntry(const ModEntry& entry)
dsq->mod.loadModXML(&d, entry.path);
std::string ds = dsq->continuity.stringBank.get(2009);
std::string ds = stringbank.get(2009);
XMLElement *top = d.FirstChildElement("AquariaMod");
if (top)
@ -748,13 +748,13 @@ void ModIconOnline::onClick()
if(hasPkgOnDisk())
{
if(hasUpdate)
proceed = dsq->confirm(dsq->continuity.stringBank.get(2024));
proceed = dsq->confirm(stringbank.get(2024));
else
proceed = dsq->confirm(dsq->continuity.stringBank.get(2025));
proceed = dsq->confirm(stringbank.get(2025));
}
else
{
dsq->confirm(dsq->continuity.stringBank.get(2026), "", true);
dsq->confirm(stringbank.get(2026), "", true);
proceed = false;
}
@ -780,7 +780,7 @@ void ModIconOnline::onClick()
else if(pkgtype == MPT_WEBLINK)
{
mouseDown = false;
proceed = dsq->confirm(dsq->continuity.stringBank.get(2034));
proceed = dsq->confirm(stringbank.get(2034));
if(proceed)
{
openURL(packageUrl);
@ -847,7 +847,7 @@ void MenuIconBar::init()
ico = new MenuIcon(0);
ico->label = dsq->continuity.stringBank.get(2027);
ico->label = stringbank.get(2027);
ico->useQuad("modselect/installed");
y += ico->quad->height;
ico->position = Vector(0, y);
@ -856,7 +856,7 @@ void MenuIconBar::init()
MenuIcon *prev = ico;
ico = new MenuIcon(1);
ico->label = dsq->continuity.stringBank.get(2028);
ico->label = stringbank.get(2028);
ico->useQuad("modselect/patches");
y += ico->quad->height;
ico->position = Vector(0, y);
@ -866,7 +866,7 @@ void MenuIconBar::init()
prev = ico;
ico = new MenuIcon(2);
ico->label = dsq->continuity.stringBank.get(2029);
ico->label = stringbank.get(2029);
ico->useQuad("modselect/download");
y += ico->quad->height;
ico->position = Vector(0, y);
@ -877,7 +877,7 @@ void MenuIconBar::init()
prev = ico;
ico = new MenuIcon(3);
ico->label = dsq->continuity.stringBank.get(2030);
ico->label = stringbank.get(2030);
ico->useQuad("modselect/exit");
ico->repeatTextureToFill(false);
y += ico->quad->height;

View file

@ -132,7 +132,7 @@ void ParticleEditor::load()
{
particleManager->loadParticleBank(dsq->particleBank1, dsq->particleBank2);
emitter->stop();
std::string pname = dsq->getUserInputString(dsq->continuity.stringBank.get(2018));
std::string pname = dsq->getUserInputString(stringbank.get(2018));
lastLoadedParticle = pname;
emitter->load(pname);
emitter->start();

View file

@ -138,7 +138,7 @@ RecipeMenuEntry::RecipeMenuEntry(Recipe *recipe) : RenderObject(), recipe(recipe
std::string typeName = dsq->continuity.getIngredientDisplayName(recipe->types[i].typeName);
if (recipe->types[i].type != IT_ANYTHING)
typeName = dsq->continuity.stringBank.get(2031) + "\n" + typeName;
typeName = stringbank.get(2031) + "\n" + typeName;
else
typeName = std::string("\n") + typeName;
@ -430,7 +430,7 @@ void RecipeMenu::createPage(int p)
dsq->game->addRenderObject(description, scroll->layer);
std::ostringstream os2;
os2 << dsq->continuity.stringBank.get(2006) << " " << currentPage+1 << "/" << getNumPages()+1;
os2 << stringbank.get(2006) << " " << currentPage+1 << "/" << getNumPages()+1;
page->setText(os2.str());
debugLog("done: " + os2.str());

View file

@ -2051,7 +2051,7 @@ void SceneEditor::loadScene()
dsq->game->loadEntityTypeList();
dsq->loadElementEffects();
dsq->continuity.loadSongBank();
dsq->continuity.stringBank.load();
dsq->loadStringBank();
}
void SceneEditor::saveScene()

View file

@ -2243,7 +2243,7 @@ luaFunc(foundLostMemory)
if (dsq->continuity.getFlag(FLAG_SECRET03)) num++;
int sbank = 800+(num-1);
dsq->game->setControlHint(dsq->continuity.stringBank.get(sbank), 0, 0, 0, 4, "13/face");
dsq->game->setControlHint(stringbank.get(sbank), 0, 0, 0, 4, "13/face");
dsq->sound->playSfx("memory-found");
@ -4733,7 +4733,7 @@ luaFunc(beam_getEndPos)
luaFunc(getStringBank)
{
luaReturnStr(dsq->continuity.stringBank.get(lua_tointeger(L, 1)).c_str());
luaReturnStr(stringbank.get(lua_tointeger(L, 1)).c_str());
}
luaFunc(isPlat)

View file

@ -746,7 +746,7 @@ WorldMapRender::WorldMapRender() : RenderObject(), ActionMapper()
if (activeTile)
{
areaLabel2->setText(dsq->continuity.stringBank.get(activeTile->stringIndex));
areaLabel2->setText(stringbank.get(activeTile->stringIndex));
}
originalActiveTile = activeTile;
@ -918,12 +918,12 @@ void WorldMapRender::onUpdate(float dt)
{
if (activeTile)
{
areaLabel3->setText(dsq->continuity.stringBank.get(activeTile->stringIndex));
areaLabel3->setText(stringbank.get(activeTile->stringIndex));
}
if (selectedTile)
{
areaLabel->setText(dsq->continuity.stringBank.get(selectedTile->stringIndex));
areaLabel->setText(stringbank.get(selectedTile->stringIndex));
if (activeTile && !mover && !dsq->isNested() && isCursorOffHud())
{
@ -1476,7 +1476,7 @@ void WorldMapRender::toggle(bool turnON)
void WorldMapRender::createGemHint(const std::string &gfx)
{
std::string useString = dsq->getUserInputString(dsq->continuity.stringBank.get(860), "", true);
std::string useString = dsq->getUserInputString(stringbank.get(860), "", true);
if (!useString.empty())
{
doubleClickTimer = 0;

View file

@ -287,11 +287,11 @@ void WorldMap::save()
WorldMapTile *t = &worldMapTiles[i];
out << t->index << " " << t->stringIndex << " " << t->name << " " << t->layer << " " << t->scale << " " << t->gridPos.x << " " << t->gridPos.y << " " << t->prerevealed << " " << t->scale2 << std::endl;
}
dsq->screenMessage(dsq->continuity.stringBank.get(2019) + " " + fn);
dsq->screenMessage(stringbank.get(2019) + " " + fn);
}
else
{
dsq->screenMessage(dsq->continuity.stringBank.get(2020) + " " + fn);
dsq->screenMessage(stringbank.get(2020) + " " + fn);
}
}

View file

@ -24,6 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "Core.h"
#include "SDL.h"
#include "GameKeyNames.h"
#include "StringBank.h"
static std::string inputcode2string(int k)
@ -142,10 +143,7 @@ std::string getInputCodeToUserString(unsigned int k, size_t joystickID)
}
std::string s = inputcode2string(k);
return s.empty() ? "" : s; // Ø •
// Actually, • looks interesting.
// It shows up as a box, presumably because the font doesn't have that character.
// I'll leave this as it is, because those boxes are kinda cool. -- fg
return s.empty() ? stringbank.get(2153) : s;
}
static int checkInp(const char *s, int category, int limit, const char *err)

View file

@ -19,40 +19,30 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "StringBank.h"
#include "DSQ.h"
#include "ttvfs_stdio.h"
StringBank stringbank;
static const std::string emptyStr;
StringBank::StringBank()
{
}
void StringBank::load()
void StringBank::clear()
{
stringMap.clear();
// First, load the default string banks
_load("data/stringbank.txt");
if (dsq->mod.isActive())
_load(dsq->mod.getPath() + "stringbank.txt");
// Then, load localized ones. If some entries in these are missing, the default for each is taken.
std::string fname = localisePath("data/stringbank.txt");
_load(fname);
if (dsq->mod.isActive()) {
fname = localisePath(dsq->mod.getPath() + "stringbank.txt", dsq->mod.getPath());
_load(fname);
}
if(stringMap.empty())
exit_error("Failed to load data/stringbank.txt");
}
void StringBank::_load(const std::string &file)
bool StringBank::empty() const
{
return stringMap.empty();
}
bool StringBank::load(const std::string &file)
{
InStream in(file.c_str());
if(!in)
return false;
std::string line;
int idx;
@ -61,8 +51,6 @@ void StringBank::_load(const std::string &file)
{
std::getline(in, line);
if (!line.empty() && line[0] == ' ')
line = line.substr(1, line.size());
for (size_t i = 0; i < line.size(); i++)
@ -72,10 +60,18 @@ void StringBank::_load(const std::string &file)
}
stringMap[idx] = line;
}
return true;
}
const std::string& StringBank::get(int idx)
const std::string& StringBank::get(int idx) const
{
return stringMap[idx];
StringMap::const_iterator it = stringMap.find(idx);
return it != stringMap.end() ? it->second : emptyStr;
}
void StringBank::addDefault(int idx, const char *str)
{
StringMap::iterator it = stringMap.find(idx);
if(it == stringMap.end())
stringMap[idx] = str;
}

View file

@ -8,14 +8,18 @@ class StringBank
{
public:
StringBank();
void load();
bool load(const std::string &file);
void clear();
bool empty() const;
void addDefault(int idx, const char *str);
const std::string& get(int idx);
const std::string& get(int idx) const;
protected:
void _load(const std::string &file);
typedef std::map<int, std::string> StringMap;
StringMap stringMap;
};
extern StringBank stringbank;
#endif

View file

@ -463,7 +463,6 @@ SET(AQUARIA_SRCS
${SRCDIR}/StatsAndAchievements.cpp
${SRCDIR}/SteamRender.cpp
${SRCDIR}/Strand.cpp
${SRCDIR}/StringBank.cpp
${SRCDIR}/SubtitlePlayer.cpp
${SRCDIR}/ToolTip.cpp
${SRCDIR}/UserSettings.cpp
@ -533,6 +532,7 @@ SET(BBGE_SRCS
${BBGEDIR}/SpawnParticleData.cpp
${BBGEDIR}/StateMachine.cpp
${BBGEDIR}/StateManager.cpp
${BBGEDIR}/StringBank.cpp
${BBGEDIR}/Texture.cpp
${BBGEDIR}/TTFFont.cpp
${BBGEDIR}/Vector.cpp
@ -804,5 +804,11 @@ ADD_EXECUTABLE(aquaria ${EXETYPE}
)
TARGET_LINK_LIBRARIES(aquaria ${OPTIONAL_LIBS})
IF(WIN32)
SET(RC_DEFINES "" FORCE)
SET(RC_INCLUDES "" FORCE)
SET(RC_FLAGS "" FORCE)
endif(WIN32)
# end of CMakeLists.txt ...

View file

@ -255,3 +255,4 @@
2150 Movement
2151 Menu
2152 Quick Keys
2153 --

View file

@ -707,14 +707,6 @@
RelativePath="..\..\Aquaria\Strand.cpp"
>
</File>
<File
RelativePath="..\..\Aquaria\StringBank.cpp"
>
</File>
<File
RelativePath="..\..\Aquaria\StringBank.h"
>
</File>
<File
RelativePath="..\..\Aquaria\SubtitlePlayer.cpp"
>

View file

@ -677,6 +677,14 @@
RelativePath="..\..\BBGE\StateManager.h"
>
</File>
<File
RelativePath="..\..\BBGE\StringBank.cpp"
>
</File>
<File
RelativePath="..\..\BBGE\StringBank.h"
>
</File>
<File
RelativePath="..\..\BBGE\Texture.cpp"
>