# HG changeset patch # User Matti Hamalainen # Date 1367725114 -10800 # Node ID 4dda14ff8e1a2ca97dddf09b6fb5a908692e2adc # Parent 614df17de97588a433afe57fc41d5e5f3327aee2 Add some configurable texts to setup screen. diff -r 614df17de975 -r 4dda14ff8e1a dmengine.h --- a/dmengine.h Sun May 05 03:38:49 2013 +0300 +++ b/dmengine.h Sun May 05 06:38:34 2013 +0300 @@ -278,6 +278,7 @@ // Setup specifics DMVector setupMenuPos, setupMenuDim, setupText1Pos; BOOL setupMenuCenter, setupTextCondensed; + char setupTextFullscreen[64], setupTextWindowed[64], setupTextPrefix[64]; } DMEngineData; diff -r 614df17de975 -r 4dda14ff8e1a dmsimple.c --- a/dmsimple.c Sun May 05 03:38:49 2013 +0300 +++ b/dmsimple.c Sun May 05 06:38:34 2013 +0300 @@ -275,14 +275,19 @@ if (buf[pos] == 0 || buf[pos] == '#') continue; - if (sscanf(buf+pos, "menuPos %f %f", + char *str = buf+pos; + if (sscanf(str, "menuPos %f %f", &engine.setupMenuPos.x, &engine.setupMenuPos.y) != 2 && - sscanf(buf+pos, "menuDim %f %f", + sscanf(str, "menuDim %f %f", &engine.setupMenuDim.x, &engine.setupMenuDim.y) != 2 && - sscanf(buf+pos, "text1Pos %f %f", + sscanf(str, "text1Pos %f %f", &engine.setupText1Pos.x, &engine.setupText1Pos.y) != 2 && - sscanf(buf+pos, "menuCenter %d", &engine.setupMenuCenter) != 1 && - sscanf(buf+pos, "textCondensed %d", &engine.setupTextCondensed) != 1) + sscanf(str, "menuCenter %d", &engine.setupMenuCenter) != 1 && + sscanf(str, "textCondensed %d", &engine.setupTextCondensed) != 1 && + sscanf(str, "textFullscreen %s", engine.setupTextFullscreen) != 1 && + sscanf(str, "textWindowed %s", engine.setupTextWindowed) != 1 && + sscanf(str, "textPrefix %s", engine.setupTextPrefix) != 1 + ) { dmError("Syntax error in configuration:\n%s\n", buf); res = DMERR_INVALID_DATA; @@ -347,16 +352,20 @@ goto out; // Get setup data + engine.setupMenuPos.x = 0.18750f; + engine.setupMenuPos.y = 0.41666f; + engine.setupMenuDim.x = 0.625f; + engine.setupMenuDim.y = 0.41666f; + + engine.setupText1Pos.x = 0.3f; + engine.setupText1Pos.y = 0.7f; + + strcpy(engine.setupTextFullscreen , "FULLSCREEN"); + strcpy(engine.setupTextWindowed , " WINDOWED "); + strcpy(engine.setupTextPrefix , "USE LEFT/RIGHT ARROW TO TOGGLE : "); + if (engineParseSetupConfig(engineSetupDataName) != DMERR_OK) - { - engine.setupMenuPos.x = 0.18750f; - engine.setupMenuPos.y = 0.41666f; - engine.setupMenuDim.x = 0.625f; - engine.setupMenuDim.y = 0.41666f; - - engine.setupText1Pos.x = 0.3f; - engine.setupText1Pos.y = 0.7f; - } + goto out; // Fetch and decompress setup image, try regular resources first if ((result = dmf_open(engine.resources, engineSetupImageName, &file)) == DMERR_OK || @@ -421,7 +430,7 @@ // Enter the main loop of the menu - char menuStr[64]; + char menuStr[256]; int menuOffset = 0, menuIndex = 0, menuEntryHeight = menuFont->height + 2, @@ -517,7 +526,7 @@ } snprintf(menuStr, sizeof(menuStr), - "%4d X %4d [%d:%d]", + "%4d X %-4d - %d:%d", mode->w, mode->h, mode->aspect / 1000, mode->aspect % 1000); @@ -534,14 +543,17 @@ menuStr); } + snprintf(menuStr, sizeof(menuStr), + "%s%s", + engine.setupTextPrefix, + menuFullScreen ? engine.setupTextFullscreen : engine.setupTextWindowed); + dmDrawBMTextConst( engine.screen, menuFont, engine.setupTextCondensed, DMD_TRANSPARENT, vsX(engine.setupText1Pos), vsY(engine.setupText1Pos), - menuFullScreen ? - "FULLSCREEN" : - " WINDOWED "); + menuStr); // Flip screen if (SDL_MUSTLOCK(engine.screen) != 0)