Re-add --backend to allow overriding auto-detected backend

This commit is contained in:
sfan5
2014-07-11 10:54:50 +02:00
parent bca8d3ce07
commit 2cc1ffc543
3 changed files with 22 additions and 7 deletions

View File

@ -96,6 +96,7 @@ TileGenerator::TileGenerator():
m_drawScale(false),
m_drawAlpha(false),
m_shading(true),
m_backend(""),
m_border(0),
m_image(0),
m_xMin(INT_MAX),
@ -181,6 +182,11 @@ void TileGenerator::setShading(bool shading)
m_shading = shading;
}
void TileGenerator::setBackend(std::string backend)
{
m_backend = backend;
}
void TileGenerator::setGeometry(int x, int y, int w, int h)
{
if (x > 0) {
@ -284,11 +290,14 @@ void TileGenerator::parseColorsStream(std::istream &in)
void TileGenerator::openDb(const std::string &input)
{
std::ifstream ifs((input + "/world.mt").c_str());
if(!ifs.good())
throw std::runtime_error("Failed to read world.mt");
std::string backend = get_setting("backend", ifs);
ifs.close();
std::string backend = m_backend;
if(backend == "") {
std::ifstream ifs((input + "/world.mt").c_str());
if(!ifs.good())
throw std::runtime_error("Failed to read world.mt");
backend = get_setting("backend", ifs);
ifs.close();
}
if(backend == "sqlite3")
m_db = new DBSQLite3(input);