2016 project-added to repo
[EroBeats.git] / Release / SDLGraphics.cpp
blob4e7269a56140d69e4a1fb729e4d15cbbc3f7846f
1 #include "SDLGraphics.h"
2 #include "SettingsInit.h"
3 #include "RescourceKeys.h"
5 //some of this should be moved to fileio
7 SDLGraphics::SDLGraphics(FileIO* filePntr, ResourceMaster* rscPntr)
10 rsc = rscPntr;
11 fio = filePntr;
13 loaded = false;
15 SDL_Init(SDL_INIT_EVERYTHING);
17 window = SDL_CreateWindow("Djinn and Tonic", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 800, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL);
18 //window = SDL_CreateWindow("Djinn and Tonic", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, screenWidth, screenHeight, SDL_WINDOW_FULLSCREEN);
20 renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
21 SDL_SetRenderDrawColor(renderer, 0x22, 0x22, 0x22, 0x22);
26 SDLGraphics::~SDLGraphics()
30 void SDLGraphics::createLoadScreen() {
32 createPointers();
34 fio->loadBGZip();
35 fio->loadTexturesZip();
37 SplashScreen loading(&loaded, rsc);
39 fio->loadAnimationsZip();
41 setupGame();
44 void SDLGraphics::startThread() {
45 std::thread loadThread(&SDLGraphics::setupGraphics, this, fio);
46 loadThread.detach();
49 void SDLGraphics::createPointers() {
50 rsc->rendPtr = renderer;
51 rsc->window = window;
54 void SDLGraphics::loadResources(FileIO* fio) {
55 fio->loadBGMZip();
56 fio->loadSFXZip();
58 void SDLGraphics::setupGame() {
59 SettingsInit pi(fio, rsc);
61 switch (pi.getResolution()) {
62 case 1:
63 screenWidth = 600;
64 screenHeight = 480;
65 break;
66 case 2:
67 screenWidth = 1000;
68 screenHeight = 800;
69 SDL_SetWindowPosition(window, 200, 200);
70 break;
71 case 3:
72 screenWidth = 1250;
73 screenHeight = 1000;
74 SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, 25);
75 break;
76 default:
77 screenWidth = 1000;
78 screenHeight = 800;
79 SDL_SetWindowPosition(window, 200, 200);
80 break;
82 SDL_SetWindowSize(window, screenWidth, screenHeight);