|
|
|
@ -20,6 +20,8 @@ struct SDL_Window* make_window(void) {
@@ -20,6 +20,8 @@ struct SDL_Window* make_window(void) {
|
|
|
|
|
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
|
|
|
|
|
printf("error initializing SDL: %s\n", SDL_GetError());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return SDL_CreateWindow("sdl_tester",
|
|
|
|
|
SDL_WINDOWPOS_CENTERED,
|
|
|
|
|
SDL_WINDOWPOS_CENTERED,
|
|
|
|
@ -55,13 +57,22 @@ void redraw(struct SDL_Renderer * ren) {
@@ -55,13 +57,22 @@ void redraw(struct SDL_Renderer * ren) {
|
|
|
|
|
SDL_RenderPresent(ren); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int physics_loop(void *ptr) { |
|
|
|
|
while (true) { |
|
|
|
|
SDL_Delay(10); |
|
|
|
|
step(10); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main () { |
|
|
|
|
LOGLEVEL = DEBUG; |
|
|
|
|
STDOUTLEVEL = DEBUG; |
|
|
|
|
|
|
|
|
|
SDL_SetHint( SDL_HINT_RENDER_SCALE_QUALITY, "2" ); |
|
|
|
|
|
|
|
|
|
logwrite(INFO, "Starting\n"); |
|
|
|
|
SDL_Window * win = make_window(); |
|
|
|
|
SDL_Renderer * ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED); |
|
|
|
|
SDL_Renderer * ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); |
|
|
|
|
|
|
|
|
|
queue_for_cleanup(win, WINDOW); |
|
|
|
|
queue_for_cleanup(ren, RENDERER); |
|
|
|
@ -76,11 +87,14 @@ int main () {
@@ -76,11 +87,14 @@ int main () {
|
|
|
|
|
int close = 0; |
|
|
|
|
|
|
|
|
|
//draw_pictures(ren);
|
|
|
|
|
|
|
|
|
|
SDL_Thread *physics_thread; |
|
|
|
|
int ignore; |
|
|
|
|
physics_thread = SDL_CreateThread(physics_loop, "Physics", (void *)NULL); |
|
|
|
|
|
|
|
|
|
bool once = true; |
|
|
|
|
startgame(ren); |
|
|
|
|
while (!close) { |
|
|
|
|
step(100); |
|
|
|
|
|
|
|
|
|
/* Redraw Screen */ |
|
|
|
|
redraw(ren); |
|
|
|
|