]> git.mxchange.org Git - quix0rs-blobwars.git/blobdiff - src/title.cpp
Added .gitignore to ignore certain files + fixed access rights on Makefile* as
[quix0rs-blobwars.git] / src / title.cpp
index ea9504e65ea548c7ea16ee5fed830687e939e9f5..48c826e925094baa98096ab03f2fd8a2711e1174 100644 (file)
@@ -184,7 +184,7 @@ int title()
 
        graphics.setFontSize(3);
        SDL_Surface *presents = graphics.quickSprite("Presents", graphics.getString(_("Presents"), true));
-       SDL_Surface *sdl = graphics.quickSprite("SDL", graphics.getString(_("An SDL Game"), true));
+       SDL_Surface *sdl = graphics.quickSprite("SDL", graphics.getString(_("An SDL2 Game"), true));
 
        graphics.setFontSize(2);
        SDL_Surface *subTitle = graphics.quickSprite("SubTitle", graphics.getString(_("Blob Wars : Episode I"), true));
@@ -477,7 +477,7 @@ void doCredits()
        int i = 0;
        int numberOfCredits = 0;
        int pos1 = 0, pos2 = 0, size = 0;
-       float *y;
+       float *y, deviceY = 0;
 
        SDL_Surface *backdrop = graphics.quickSprite("CreditsBackGround", graphics.loadImage("gfx/main/creditsBack.png"));
 
@@ -504,6 +504,9 @@ void doCredits()
 
                y[i] = pos1;
 
+               if (pos2 == 220)
+                       deviceY = pos1 - 50;
+
                graphics.setFontSize(size);
                credit[i] = graphics.quickSprite("credit", graphics.getString(string, true));
 
@@ -518,7 +521,9 @@ void doCredits()
        }
        
        SDL_Surface *device = graphics.quickSprite("credit", graphics.loadImage("gfx/main/creditsDevice.png"));
-       float deviceY = y[numberOfCredits - 7] - 50;
+
+       if (!deviceY)
+               deviceY = y[numberOfCredits - 7] - 50;
 
        audio.loadMusic("music/credits");
        audio.playMusic();
@@ -528,6 +533,8 @@ void doCredits()
 
        while (y[numberOfCredits - 1] > 350)
        {
+               unsigned int frameLimit = SDL_GetTicks() + 16;
+
                graphics.updateScreen();
                engine.getInput();
                config.populate();
@@ -536,8 +543,15 @@ void doCredits()
 
                SDL_FillRect(graphics.screen, NULL, graphics.black);
                graphics.blit(backdrop, 0, 365, graphics.screen, false);
+
+               float speed = 0.25;
+
+               if (engine.keyState[SDL_SCANCODE_DOWN] || engine.joyY > 25000)
+                       speed = 1.0;
+               else if (engine.keyState[SDL_SCANCODE_UP] || engine.joyY < -25000)
+                       speed = -1.0;
                
-               deviceY -= (0.25 * engine.getTimeDifference());
+               deviceY -= (speed* engine.getTimeDifference());
                
                if ((deviceY > 10) && (deviceY < 470))
                {
@@ -546,7 +560,7 @@ void doCredits()
 
                for (i = 0 ; i < numberOfCredits ; i++)
                {
-                       y[i] -= (0.25 * engine.getTimeDifference());
+                       y[i] -= (speed * engine.getTimeDifference());
                        
                        if ((y[i] > 10) && (y[i] < 470))
                        {
@@ -559,7 +573,7 @@ void doCredits()
 
                doMusicInfo(SDL_GetTicks() - (now + 10000));
 
-               SDL_Delay(16);
+               engine.delay(frameLimit);
        }
 
        graphics.delay(12000);