/main.cpp

https://bitbucket.org/voltechs/hexen · C++ · 58 lines · 33 code · 13 blank · 12 comment · 8 complexity · 9ca05adaa6559f0da2a690e089328845 MD5 · raw file

  1. #include "main.h"
  2. Hexen *client;
  3. int main (int argc, char * const argv[])
  4. {
  5. #ifdef __WIN32__
  6. WSADATA wsaData;
  7. WORD version;
  8. int error;
  9. version = MAKEWORD( 2, 0 );
  10. error = WSAStartup( version, &wsaData );
  11. /* check for error */
  12. if ( error != 0 )
  13. {
  14. /* error occured */
  15. return FALSE;
  16. }
  17. /* WinSock has been initialized */
  18. #else
  19. signal(SIGWINCH, resize);
  20. //signal(SIGKILL, terminate);
  21. #endif
  22. if (argc > 1 && !strcmp(argv[1], "server")) {
  23. Server server = Server(1, argc, argv, false);
  24. server.run();
  25. printf("Server");
  26. system("PAUSE");
  27. } else {
  28. if (argc == 2)
  29. client = new Hexen(argv[1]);
  30. else client = new Hexen();
  31. client->run();
  32. }
  33. return 0;
  34. }
  35. /*
  36. void terminate(int sig) {
  37. // Yes, first ctl-c will end any client,
  38. // second ctl-c will end the server.
  39. if (client) client.disconnect;
  40. else if (server) server.disconnect;
  41. }
  42. */
  43. void resize(int sig) {
  44. client->resize();
  45. }