Really including the patch this time. -- brian m. carlson / brian with sandals: Houston, Texas, US +1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only Screw you, AACS LA: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
--- starfighter-1.1.orig/code/classes.h +++ starfighter-1.1/code/classes.h @@ -427,7 +427,7 @@ { SDL_Flip(screen); // Give the audio (and possibly the X server) time to work... - SDL_Delay(1); + // SDL_Delay(1); } /* --- starfighter-1.1.orig/code/game.cpp +++ starfighter-1.1/code/game.cpp @@ -240,6 +240,7 @@ then = SDL_GetTicks(); frames = 0; graphics.updateScreen(); + SDL_Delay(16); } if ((currentGame.area == 24) && (engine.addAliens > -1)) @@ -277,11 +278,7 @@ } // (Attempt to) Limit us to 60 frame a second - while (SDL_GetTicks() < (frameLimit + 16)) - { - // Do nothing. If we were to insert an SDL_Delay(1) in here - // then we would actually lose around 10 frames per second!! - } + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); } --- starfighter-1.1.orig/code/intermission.cpp +++ starfighter-1.1/code/intermission.cpp @@ -848,7 +848,7 @@ doCursor(); // Limit us to 60 frame a second - while (SDL_GetTicks() < (frameLimit + 16)){} + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); } --- starfighter-1.1.orig/code/missions.cpp +++ starfighter-1.1/code/missions.cpp @@ -795,6 +795,7 @@ getPlayerInput(); if ((engine.keyState[SDLK_LCTRL]) || (engine.keyState[SDLK_RCTRL])) break; + SDL_Delay(16); } graphics.clearScreen(graphics.black); @@ -913,6 +914,7 @@ getPlayerInput(); if ((engine.keyState[SDLK_LCTRL]) || (engine.keyState[SDLK_RCTRL])) break; + SDL_Delay(16); } } --- starfighter-1.1.orig/code/script.cpp +++ starfighter-1.1/code/script.cpp @@ -298,7 +298,7 @@ if ((showMessage) && (graphics.messageBox != NULL)) graphics.blit(graphics.messageBox, (800 - graphics.messageBox->w) / 2, 500); - while (SDL_GetTicks() < (frameLimit + 16)){} + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); if (engine.keyState[SDLK_ESCAPE]) --- starfighter-1.1.orig/code/title.cpp +++ starfighter-1.1/code/title.cpp @@ -453,7 +453,8 @@ engine.keyState[SDLK_LCTRL] = engine.keyState[SDLK_RCTRL] = engine.keyState[SDLK_SPACE] = 0; } - while (SDL_GetTicks() < (frameLimit + 16)){} + // (Attempt to) Limit us to 60 frame a second + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); } @@ -558,7 +559,7 @@ break; } - while (SDL_GetTicks() < (frameLimit + 16)){} + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); } } @@ -614,7 +615,7 @@ graphics.blit(gameover, x, y); // Limit us to 60 frame a second - while (SDL_GetTicks() < (frameLimit + 16)){} + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); } @@ -724,7 +725,7 @@ SDL_FillRect(graphics.screen, &r1, graphics.black); SDL_FillRect(graphics.screen, &r2, graphics.black); - while (SDL_GetTicks() < (frameLimit + 16)){} + SDL_Delay(frameLimit + 16 - std::max(std::min(SDL_GetTicks(), 0), 16)); frameLimit = SDL_GetTicks(); }
signature.asc
Description: Digital signature