diff options
Diffstat (limited to 'engines/glk/alan2/args.cpp')
-rw-r--r-- | engines/glk/alan2/args.cpp | 234 |
1 files changed, 2 insertions, 232 deletions
diff --git a/engines/glk/alan2/args.cpp b/engines/glk/alan2/args.cpp index caf32c1bec..2f760aedbb 100644 --- a/engines/glk/alan2/args.cpp +++ b/engines/glk/alan2/args.cpp @@ -21,208 +21,21 @@ */ #include <string> -#ifndef __PACIFIC__ -#include "glk/alan2/args.h" -#else -/* I have no idea at all why the include does not work in Pacific C ... */ -extern void args(int argc, char* argv[]); -#endif - -#include "glk/alan2/main.h" - -#ifdef __mac__ -#include "glk/alan2/macArgs.h" -#endif - -#ifdef __amiga__ -#include <libraries/dosextens.h> -#ifdef AZTEC_C -struct FileHandle *con = NULL; -#else -/* Geek Gadgets GCC */ -BPTR window; -BPTR cd; -#endif -#endif - -#ifdef GLK #include "glk/alan2/alan2.h" +#include "glk/alan2/args.h" #include "glk/alan2/glkio.h" +#include "glk/alan2/main.h" #include "glk/alan2/sysdep.h" -#endif namespace Glk { namespace Alan2 { static void switches(unsigned argc, char *argv[]) { -#ifndef GLK - uint i; - - advnam = ""; - for (i = 1; i < argc; i++) { - if (argv[i][0] == '-') { -#ifdef GLK - switch (g_vm->glk_char_to_lower(argv[i][1])) { -#else - switch (tolower(argv[i][1])) { -#endif - case 'i': - errflg = FALSE; - break; - case 't': - trcflg = TRUE; - break; - case 'd': - dbgflg = TRUE; - break; - case 's': - trcflg = TRUE; - stpflg = TRUE; - break; - case 'l': - logflg = TRUE; - break; - case 'v': - verbose = TRUE; - break; - case 'n': - statusflg = FALSE; - break; - default: - printf("Unrecognized switch, -%c\n", argv[i][1]); - usage(); - terminate(0); - } - } else { - advnam = argv[i]; - if (strcmp(&advnam[strlen(advnam)-4], ".acd") == 0 - || strcmp(&advnam[strlen(advnam)-4], ".ACD") == 0 - || strcmp(&advnam[strlen(advnam)-4], ".dat") == 0 - || strcmp(&advnam[strlen(advnam)-4], ".DAT") == 0) - advnam[strlen(advnam)-4] = '\0'; - } - } -#endif -} - - - -#ifdef __amiga__ - -#include <intuition/intuition.h> -#include <workbench/workbench.h> - -#include <clib/exec_protos.h> -#include <clib/dos_protos.h> -#include <clib/icon_protos.h> - -#include <fcntl.h> - -extern struct Library *IconBase; - -#ifndef AZTEC_C -/* Actually Geek Gadgets GCC with libnix */ - -/* Aztec C has its own pre-main wbparse which was used in Arun 2.7, with GCC we - need to do it ourselves. */ - -#include <clib/intuition_protos.h> - -extern unsigned long *__stdfiledes; /* The libnix standard I/O file descriptors */ - -void -wb_parse(void) -{ - char *cp; - struct DiskObject *dop; - struct FileHandle *fhp; - - if (_WBenchMsg->sm_NumArgs == 1) /* If no argument use program icon/info */ - dop = GetDiskObject((UBYTE *)_WBenchMsg->sm_ArgList[0].wa_Name); - else { - BPTR olddir = CurrentDir(_WBenchMsg->sm_ArgList[1].wa_Lock); - dop = GetDiskObject((UBYTE *)_WBenchMsg->sm_ArgList[1].wa_Name); - CurrentDir(olddir); - } - if (dop != 0 && (cp = (char *)FindToolType((UBYTE **)dop->do_ToolTypes, - (UBYTE *)"WINDOW")) != NULL) - ; - else /* Could not find a WINDOW tool type */ - cp = "CON:10/10/480/160/Arun:Default Window/CLOSE"; - if ((window = Open((UBYTE *)cp, (long)MODE_OLDFILE))) { - fhp = (struct FileHandle *) ((long)window << 2); - SetConsoleTask(fhp->fh_Type); - SelectInput(window); - SelectOutput(window); - __stdfiledes[0] = Input(); - __stdfiledes[1] = Output(); - } else - exit(-1L); - FreeDiskObject(dop); } -#endif -#endif void args(int argc, char * argv[]) { char *prgnam; -#ifdef __mac__ -#include <console.h> -#ifdef __MWERKS__ -#include <SIOUX.h> -#endif - short msg, files; - static char advbuf[256], prgbuf[256]; - /*AppFile af;*/ - OSErr oe; - -#ifdef __MWERKS__ - /*SIOUXSettings.setupmenus = FALSE;*/ - SIOUXSettings.autocloseonquit = FALSE; - SIOUXSettings.asktosaveonclose = FALSE; - SIOUXSettings.showstatusline = FALSE; -#endif - - GetMacArgs(advbuf); - advnam = advbuf; - -#else -#ifdef __amiga__ - - if (argc == 0) { /* If started from Workbench get WbArgs : Aztec C & GG GCC */ - struct WBStartup *WBstart; - - if ((IconBase = OpenLibrary("icon.library", 0)) == NULL) - syserr("Could not open 'icon.library'"); - /* If started from WB normal main is called with argc == 0 and argv = WBstartup message */ - WBstart = (struct WBStartup *)argv; -#ifndef AZTEC_C - /* Geek Gadgets GCC */ - wb_parse(); -#endif - advnam = prgnam = WBstart->sm_ArgList[0].wa_Name; - if (WBstart->sm_NumArgs > 0) { - cd = CurrentDir(DupLock(WBstart->sm_ArgList[1].wa_Lock)); - advnam = WBstart->sm_ArgList[1].wa_Name; - } - /* Possibly other tooltypes ... */ - } else { - /* Started from a CLI */ - if ((prgnam = strrchr(argv[0], '/')) == NULL - && (prgnam = strrchr(argv[0], ':')) == NULL) - prgnam = argv[0]; - else - prgnam++; - /* Now look at the switches and arguments */ - switches(argc, argv); - if (advnam[0] == '\0') - /* No game given, try program name */ - if (stricmp(prgnam, PROGNAME) != 0 - && strstr(prgnam, PROGNAME) == 0) - advnam = strdup(argv[0]); - } -#else -#if defined(__dos__) || defined(__win__) if ((prgnam = strrchr(argv[0], '\\')) == NULL && (prgnam = strrchr(argv[0], '/')) == NULL && (prgnam = strrchr(argv[0], ':')) == NULL) @@ -240,49 +53,6 @@ void args(int argc, char * argv[]) { if (stricmp(prgnam, PROGNAME) != 0 && strstr(prgnam, PROGNAME) == 0) advnam = strdup(argv[0]); -#else -#if defined __vms__ - if ((prgnam = strrchr(argv[0], ']')) == NULL - && (prgnam = strrchr(argv[0], '>')) == NULL - && (prgnam = strrchr(argv[0], ':')) == NULL) - prgnam = argv[0]; - else - prgnam++; - if (strrchr(prgnam, ';') != NULL) - *strrchr(prgnam, ';') = '\0'; - if (strlen(prgnam) > 4 - && (strcmp(&prgnam[strlen(prgnam)-4], ".EXE") == 0 - || strcmp(&prgnam[strlen(prgnam)-4], ".exe") == 0)) - prgnam[strlen(prgnam)-4] = '\0'; - /* Now look at the switches and arguments */ - switches(argc, argv); - if (advnam[0] == '\0') - /* No game given, try program name */ - if (strcmp(prgnam, PROGNAME) != 0 - && strstr(prgnam, PROGNAME) == 0) - advnam = strdup(argv[0]); -#else -#if defined(__unix__) || defined(__APPLE__) - if ((prgnam = strrchr(argv[0], '/')) == NULL) - prgnam = strdup(argv[0]); - else - prgnam = strdup(&prgnam[1]); - if (strrchr(prgnam, ';') != NULL) - *strrchr(prgnam, ';') = '\0'; - /* Now look at the switches and arguments */ - switches(argc, argv); - if (advnam[0] == '\0') - /* No game given, try program name */ - if (strcmp(prgnam, PROGNAME) != 0 - && strstr(prgnam, PROGNAME) == 0) - advnam = strdup(argv[0]); -#else - Unimplemented OS! -#endif -#endif -#endif -#endif -#endif } } // End of namespace Alan2 |