Skip to content

Commit

Permalink
Re-add --backend to allow overriding auto-detected backend
Browse files Browse the repository at this point in the history
  • Loading branch information
sfan5 committed Jul 11, 2014
1 parent bca8d3c commit 2cc1ffc
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 7 deletions.
19 changes: 14 additions & 5 deletions TileGenerator.cpp
Expand Up @@ -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),
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions TileGenerator.h
Expand Up @@ -86,6 +86,7 @@ class TileGenerator
bool m_drawScale;
bool m_drawAlpha;
bool m_shading;
std::string m_backend;
int m_border;

DB *m_db;
Expand Down
9 changes: 7 additions & 2 deletions mapper.cpp
Expand Up @@ -34,6 +34,7 @@ void usage()
" --noshading\n"
" --min-y <y>\n"
" --max-y <y>\n"
" --backend <backend>\n"
" --geometry x:y+w+h\n"
"Color format: '#000000'\n";
std::cout << usage_text;
Expand All @@ -55,6 +56,7 @@ int main(int argc, char *argv[])
{"drawscale", no_argument, 0, 'S'},
{"drawalpha", no_argument, 0, 'e'},
{"noshading", no_argument, 0, 'H'},
{"backend", required_argument, 0, 'd'},
{"geometry", required_argument, 0, 'g'},
{"min-y", required_argument, 0, 'a'},
{"max-y", required_argument, 0, 'c'}
Expand Down Expand Up @@ -109,11 +111,14 @@ int main(int argc, char *argv[])
generator.setDrawScale(true);
break;
case 'e':
generator.setDrawAlpha(true);
break;
generator.setDrawAlpha(true);
break;
case 'H':
generator.setShading(false);
break;
case 'd':
generator.setBackend(optarg);
break;
case 'a': {
istringstream iss;
iss.str(optarg);
Expand Down

0 comments on commit 2cc1ffc

Please sign in to comment.