#include #include #include #include #include "server.h" #include "protocol.h" static uint16_t port = PROTOCOL_PORT; static void argverr() { SDL_Log("Invalid argument\n"); exit(1); } static void useargs(char ** argv) { int i = 1; while(argv[i]) { if(strcmp(argv[i], "-p") == 0) { if(argv[++i]) port = atoi(argv[i++]); else argverr(); } else { argverr(); } } } static void sysinit() { if(SDL_Init(SDL_INIT_EVENTS) != 0) { SDL_Log("Unable to initialize SDL: %s\n", SDL_GetError()); exit(1); } atexit(SDL_Quit); if(SDLNet_Init() != 0) { SDL_Log("Unable to initialize SDLNet: %s\n", SDLNet_GetError()); exit(1); } atexit(SDLNet_Quit); } int main(int argc, char ** argv) { sysinit(); useargs(argv); sv_start(port); sv_setclientlimit(32); bool run = true; while(run) { SDL_Event event; while(SDL_PollEvent(&event)) if(event.type == SDL_QUIT) run = false; sv_handle(); SDL_Delay(1); } sv_stop(); return 0; }