/* Project 16 Source Code~\r
- * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
}\r
return(-1);\r
}\r
+#ifdef __BORLANDC__\r
+//===========================================================================\r
\r
/*\r
==========================\r
==========================\r
*/\r
\r
-/*void Quit(char *error, ...)\r
+void Quit (char *error)\r
{\r
- short exit_code=0;\r
- unsigned finscreen;\r
+ unsigned finscreen;\r
+ memptr screen;\r
+ union REGS in, out;\r
\r
- va_list ap;\r
-\r
- va_start(ap,error);\r
-\r
-#ifndef CATALOG\r
- if (!error)\r
+ //ClearMemory ();\r
+ if (!*error)\r
{\r
- CA_SetAllPurge ();\r
- CA_CacheGrChunk (PIRACY);\r
- finscreen = (unsigned)grsegs[PIRACY];\r
+ //WriteConfig ();\r
+ }\r
+ else\r
+ {\r
+ //CA_CacheGrChunk (ERRORSCREEN);\r
+ //screen = grsegs[ERRORSCREEN];\r
}\r
-#endif\r
\r
//ShutdownId ();\r
+ //IN_Shutdown();\r
+ //modexLeave();\r
+ in.h.ah = 0x00;\r
+ in.h.al = 0x3;\r
+ int86(0x10, &in, &out);\r
\r
if (error && *error)\r
{\r
- vprintf(error,ap);\r
- exit_code = 1;\r
+ //movedata ((unsigned)screen,7,0xb800,0,7*160);\r
+ //gotoxy (10,4);\r
+ puts(error);\r
+ //gotoxy (1,8);\r
+ exit(1);\r
}\r
-#ifndef CATALOG\r
else\r
- if (!NoWait)\r
+ if (!error || !(*error))\r
{\r
- movedata (finscreen,0,0xb800,0,4000);\r
- bioskey (0);\r
+ //clrscr();\r
+ //#ifndef JAPAN\r
+ movedata ((unsigned)screen,7,0xb800,0,4000);\r
+ //gotoxy(1,24);\r
+ //#endif\r
+//asm mov bh,0\r
+//asm mov dh,23 // row\r
+//asm mov dl,0 // collumn\r
+//asm mov ah,2\r
+//asm int 0x10\r
}\r
-#endif\r
\r
- va_end(ap);\r
+ exit(0);\r
+}\r
+\r
+//===========================================================================\r
+#endif\r
\r
-#ifndef CATALOG\r
- if (!error)\r
+byte dirchar(byte in)\r
+{\r
+ byte out;\r
+ switch(in)\r
{\r
- _argc = 2;\r
- _argv[1] = "LAST.SHL";\r
- _argv[2] = "ENDSCN.SCN";\r
- _argv[3] = NULL;\r
- if (execv("LOADSCN.EXE", _argv) == -1)\r
- {\r
- clrscr();\r
- puts("Couldn't find executable LOADSCN.EXE.\n");\r
- exit(1);\r
- }\r
+ case 0: //up\r
+ out = 0x1E;\r
+ break;\r
+ case 4: //down\r
+ out = 0x1F;\r
+ break;\r
+ case 1: //left\r
+ out = 0x11;\r
+ break;\r
+ case 3: //right\r
+ out = 0x10;\r
+ break;\r
+ default: //null\r
+ out = 0xB3;\r
+ break;\r
}\r
-#endif\r
-\r
- exit(exit_code);\r
-}*/\r
+ return out;\r
+}\r