Advertisement
Guest User

Untitled

a guest
Apr 13th, 2024
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.81 KB | None | 0 0
  1. // Snooping through the files are we?
  2.  
  3. // Compile With: g++ main.cpp loadImage.h -lSDL2 -lSDL2_image -o "Butter Game"
  4.  
  5. #include <iostream>
  6. #include <SDL2/SDL.h>
  7. #include <SDL2/SDL_image.h>
  8.  
  9. #include "loadImage.h"
  10.  
  11. #define CENTER 0
  12.  
  13. SDL_Window* window;
  14. SDL_Renderer* renderer;
  15.  
  16. bool running;
  17.  
  18. bool fullscreen = false;
  19.  
  20. const char* mainMenuBackground = "Assets/Backgrounds/main_menu.png";
  21. const char* playButton = "Assets/Sprites/play_button.png";
  22. const char* wimpButton = "Assets/Sprites/wimp_button.png";
  23.  
  24. extern bool imageSlot1Taken = false;
  25. extern bool imageSlot2Taken = false;
  26. extern bool imageSlot3Taken = false;
  27. extern bool imageSlot4Taken = false;
  28. extern bool imageSlot5Taken = false;
  29. extern bool imageSlot6Taken = false;
  30. extern bool imageSlot7Taken = false;
  31. extern bool imageSlot8Taken = false;
  32. extern bool imageSlot9Taken = false;
  33. extern bool imageSlot10Taken = false;
  34.  
  35. void createHDWindow()
  36. {
  37. SDL_Init(SDL_INIT_EVERYTHING);
  38. IMG_Init(IMG_INIT_PNG);
  39.  
  40. window = SDL_CreateWindow("Butter Game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1920, 1080, SDL_WINDOW_SHOWN);
  41. renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC);
  42. }
  43.  
  44. void quit()
  45. {
  46. SDL_DestroyTexture(imageSlot1);
  47. SDL_DestroyTexture(imageSlot2);
  48. SDL_DestroyTexture(imageSlot3);
  49. SDL_DestroyTexture(imageSlot4);
  50. SDL_DestroyTexture(imageSlot5);
  51. SDL_DestroyTexture(imageSlot6);
  52. SDL_DestroyTexture(imageSlot7);
  53. SDL_DestroyTexture(imageSlot8);
  54. SDL_DestroyTexture(imageSlot9);
  55. SDL_DestroyTexture(imageSlot10);
  56.  
  57. SDL_DestroyWindow(window);
  58. SDL_DestroyRenderer(renderer);
  59.  
  60. SDL_Quit();
  61. }
  62.  
  63. void getInput()
  64. {
  65. SDL_Event event;
  66.  
  67. while(SDL_PollEvent(&event))
  68. {
  69. switch(event.type)
  70. {
  71. case SDL_KEYDOWN:
  72. switch(event.key.keysym.sym)
  73. {
  74. case SDLK_F4:
  75. if(fullscreen)
  76. {
  77. SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN);
  78. std::cout << "Not Fullscreen" << std::endl;
  79. fullscreen = false;
  80. }
  81. else if(!fullscreen)
  82. {
  83. SDL_SetWindowFullscreen(window, 0);
  84. std::cout << "Fullscreen" << std::endl;
  85. fullscreen = true;
  86. }
  87.  
  88. break;
  89. }
  90. break;
  91.  
  92. case SDL_QUIT:
  93. quit();
  94. break;
  95. break;
  96. }
  97. }
  98. }
  99.  
  100. void queueVisualEvents()
  101. {
  102. loadImage(mainMenuBackground, 0, 0, 1920, 1080);
  103. loadImage(playButton, 1400, 270, 340, 170);
  104. loadImage(wimpButton, 1400, 540, 340, 170);
  105. }
  106.  
  107. void renderScreen()
  108. {
  109. SDL_RenderClear(renderer);
  110.  
  111. if(imageSlot1Taken){SDL_RenderCopy(renderer, imageSlot1, NULL, &imageRect1); std::cout << "imageSlot1" << std::endl;}
  112. if(imageSlot2Taken){SDL_RenderCopy(renderer, imageSlot2, NULL, &imageRect2); std::cout << "imageSlot2" << std::endl;}
  113. if(imageSlot3Taken){SDL_RenderCopy(renderer, imageSlot3, NULL, &imageRect3); std::cout << "imageSlot3" << std::endl;}
  114. if(imageSlot4Taken){SDL_RenderCopy(renderer, imageSlot4, NULL, &imageRect4); std::cout << "imageSlot4" << std::endl;}
  115. if(imageSlot5Taken){SDL_RenderCopy(renderer, imageSlot5, NULL, &imageRect5); std::cout << "imageSlot5" << std::endl;}
  116. if(imageSlot6Taken){SDL_RenderCopy(renderer, imageSlot6, NULL, &imageRect6); std::cout << "imageSlot6" << std::endl;}
  117. if(imageSlot7Taken){SDL_RenderCopy(renderer, imageSlot7, NULL, &imageRect7); std::cout << "imageSlot7" << std::endl;}
  118. if(imageSlot8Taken){SDL_RenderCopy(renderer, imageSlot8, NULL, &imageRect8); std::cout << "imageSlot8" << std::endl;}
  119. if(imageSlot9Taken){SDL_RenderCopy(renderer, imageSlot9, NULL, &imageRect9); std::cout << "imageSlot9" << std::endl;}
  120. if(imageSlot10Taken){SDL_RenderCopy(renderer, imageSlot10, NULL, &imageRect10); std::cout << "imageSlot10" << std::endl;}
  121.  
  122. SDL_RenderPresent(renderer);
  123. }
  124.  
  125. int main()
  126. {
  127. running = true;
  128.  
  129. createHDWindow();
  130.  
  131. while(running)
  132. {
  133. getInput();
  134. queueVisualEvents();
  135. renderScreen();
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement