Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include <SDL.h>
  2. #include <iostream>
  3.  
  4. #include "TextureLoading.h"
  5.  
  6. const int TICKS_PER_SECOND = 100;
  7. const int SKIP_TICKS = 1000 / TICKS_PER_SECOND;
  8. const int MAX_FRAMESKIP = 5;
  9.  
  10. SDL_Window * window = NULL;
  11. SDL_Renderer * renderer = NULL;
  12.  
  13.  
  14. bool init()
  15. {
  16. //Initialization flag
  17. bool success = true;
  18.  
  19. //Initialize SDL
  20. if (SDL_Init(SDL_INIT_VIDEO) < 0 || IMG_Init(IMG_INIT_PNG) < 0)
  21. {
  22. printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());
  23. success = false;
  24. }
  25. else
  26. {
  27. //Create window
  28. window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED,
  29. SDL_WINDOWPOS_UNDEFINED, 600, 600, SDL_WINDOW_SHOWN);
  30. if (window == NULL)
  31. {
  32. printf("Window could not be created! SDL_Error: %s\n", SDL_GetError());
  33. std::cout << "Window could not be created! SDL_Error: " << SDL_GetError() << std::endl;
  34. success = false;
  35. }
  36. else
  37. {
  38. //Get window surface
  39. renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
  40. }
  41. }
  42.  
  43. return success;
  44. }
  45.  
  46. void GameLogic() {
  47.  
  48. }
  49.  
  50. int main(int argc, char * argv[]) {
  51. init();
  52. SDL_Texture * texture = GenerateTexture("monkaS", renderer);
  53. Uint32 gameTicks = SDL_GetTicks();
  54. int loops;
  55.  
  56. bool inGame = true;
  57. while (inGame) {
  58. loops = 0;
  59. while (SDL_GetTicks() > gameTicks && loops < MAX_FRAMESKIP) {
  60. gameTicks += SKIP_TICKS;
  61. loops++;
  62. GameLogic();
  63.  
  64. SDL_RenderClear(renderer);
  65. SDL_RenderCopy(renderer, texture, NULL, NULL);
  66. SDL_RenderPresent(renderer);
  67. }
  68. if (loops > 1) {
  69. std::cout << "Lag Frames: " << loops - 1 << std::endl;
  70. }
  71. }
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement