aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.cpp
blob: 54073892187b9b53381434a99c43e787b0b5d21a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <cstdlib>
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>

#define SCREEN_WIDTH 1280
#define SCREEN_HEIGHT 720
//#define FULLSCREEN

SDL_Window    *window = NULL;
SDL_Surface   *renderSurface = NULL;
SDL_GLContext  mainGLContext = NULL;
SDL_Renderer  *gRenderer = NULL;

const float sh = SCREEN_HEIGHT;
const float sw = SCREEN_WIDTH;
bool gameRunning = true;

int main(int argc,char **argv){
    //runs startup procedures
    if(SDL_Init(SDL_INIT_VIDEO) < 0){
		std::cout << "SDL was not able to initialize! Error: " << SDL_GetError() << std::endl;
	}else{
		atexit(SDL_Quit);
		//Turn on double Buffering
        SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
        //create the window
        window = SDL_CreateWindow("Sword Swinger", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL
                                  #ifdef FULLSCREEN
                                  | SDL_WINDOW_FULLSCREEN
                                  #endif // FULLSCREEN
                                  );
        if(window == NULL){
        	std::cout << "The window failed to generate! Error: " << SDL_GetError() << std::endl;
        }else{
            //set opengl context
            mainGLContext = SDL_GL_CreateContext(window);
            if(mainGLContext == NULL){
            	std::cout << "The OpenGL context failed to initialize! Error: " << SDL_GetError() << std::endl;
            }else{
                //get window surface
                renderSurface = SDL_GetWindowSurface(window);
                //set renderer
                gRenderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
                if(gRenderer == NULL){
                    std::cout << "The variable 'gRenderer' was not able to initialize! Error: " << SDL_GetError() << std::endl;
                }
                //background white
                SDL_FillRect(renderSurface, NULL, SDL_MapRGB(renderSurface->format, 0xFF, 0xFF, 0xFF));
                //update window
                SDL_UpdateWindowSurface(window);
			}
		}
    }
    //closes the window and frees resources
    SDL_GL_DeleteContext(mainGLContext);
    SDL_DestroyWindow(window);
    return 0;
}