]> icculus.org git repositories - taylor/freespace2.git/blob - src/freespace2/unixmain.cpp
SDL2 port - stage 2
[taylor/freespace2.git] / src / freespace2 / unixmain.cpp
1 #include <sys/stat.h>
2
3 #include "pstypes.h"
4 #include "osregistry.h"
5 #include "osapi.h"
6
7 #undef malloc
8 #undef free
9
10 int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow);
11
12 #if defined(__APPLE__) && !defined(MACOSX)
13 char full_path[1024];
14 #endif
15
16 void vm_dump();
17
18
19 int main(int argc, char **argv)
20 {
21         char userdir[MAX_PATH] = { 0 };
22
23 #if defined(__APPLE__) && !defined(MACOSX)
24         strcpy( full_path, *argv );
25 #endif
26
27         // create user game directory
28         snprintf(userdir, MAX_PATH, "%s/%s/", detect_home(), Osreg_user_dir);
29         _mkdir(userdir);        
30
31         char *argptr = NULL;
32         int i;
33         int len = 0;
34
35         for (i = 1; i < argc; i++) {
36                 len += strlen(argv[i]) + 1;
37         }
38
39         argptr = (char *)malloc(len+5);
40
41         if (argptr == NULL) {
42                 fprintf(stderr, "ERROR: out of memory in main!\n");
43                 exit(1);
44         }
45
46         memset(argptr, 0, len+5);
47
48         for (i = 1; i < argc; i++) {
49                 strcat(argptr, argv[i]);
50                 strcat(argptr, " ");
51         }
52
53         int retr = WinMain(1, 0, argptr, 0);
54
55         free(argptr);
56                 
57         vm_dump();
58         
59         return retr;    
60 }