NEWS: Welcome to my new homepage! <3

main.c - freezo - A retro platform game

freezo

A retro platform game
git clone git://192.168.2.2/freezo
Log | Files | Refs | README

main.c (941B)


      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 #include <signal.h>
      4 #include <execinfo.h>
      5 #include <unistd.h>
      6 #include <time.h>
      7 
      8 #include "game.h"
      9 #include "const.h"
     10 #include "libs/raylib.h"
     11 
     12 void handle_segfault(int signal) {
     13   void *list[10];
     14   size_t size = backtrace(list, 10);
     15   fprintf(stderr, "ERROR: signal %d:\n", signal);
     16   backtrace_symbols_fd(list, size, STDERR_FILENO);
     17   exit(1);
     18 }
     19 
     20 int main(void) {
     21   printf("PID: %d\n", getpid());
     22   time_t t;
     23   srand((unsigned) time(&t));
     24   struct sigaction sigint_action;
     25   sigint_action.sa_handler = handle_segfault;
     26   sigint_action.sa_flags = 0;
     27   sigemptyset(&sigint_action.sa_mask);
     28   sigaction(SIGSEGV, &sigint_action, NULL);
     29   InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Freezo");
     30   game_t *game = game_create();
     31   SetTargetFPS(60);
     32   SetExitKey(0);
     33   while (!game->quit && !WindowShouldClose()) {
     34     game_update(game);
     35     game_draw(game);
     36   }
     37   CloseWindow();
     38   game_free(game);
     39   return 0;
     40 }