aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/alan2/args.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2019-06-21 19:20:58 -0700
committerPaul Gilbert2019-06-22 14:40:50 -0700
commitdd4108e7c79770ec8235bd4440e0cdc06becd9d9 (patch)
treec41d06548ac4c4fbb037b733c1cdab519822204c /engines/glk/alan2/args.cpp
parent8f75589971d70b2ca749d5389a332e6761213a5b (diff)
downloadscummvm-rg350-dd4108e7c79770ec8235bd4440e0cdc06becd9d9.tar.gz
scummvm-rg350-dd4108e7c79770ec8235bd4440e0cdc06becd9d9.tar.bz2
scummvm-rg350-dd4108e7c79770ec8235bd4440e0cdc06becd9d9.zip
GLK: ALAN2: Removing all the existing system specific ifdef blocks
I'm going to be shortly formatting the code and doing refactoring to work around the setjmp calls in the original, so there's little point in keeping the system specific ifdef blocks from the original
Diffstat (limited to 'engines/glk/alan2/args.cpp')
-rw-r--r--engines/glk/alan2/args.cpp234
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