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;
}
|