\r
// DOSLIB: what CPU are we using?\r
// NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
- // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
- // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
- // the CPU to carry out tasks. --J.C.\r
+ // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
+ // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
+ // the CPU to carry out tasks. --J.C.\r
cpu_probe();\r
\r
// DOSLIB: check for VGA\r
\r
/*void ReadConfig(void)\r
{\r
- int file;\r
- SDMode sd;\r
- SMMode sm;\r
- SDSMode sds;\r
+ int file;\r
+ SDMode sd;\r
+ SMMode sm;\r
+ SDSMode sds;\r
\r
\r
if ( (file = open(configname,O_BINARY | O_RDONLY)) != -1)\r
\r
/*void WriteConfig(void)\r
{\r
- int file;\r
+ int file;\r
\r
file = open(configname,O_CREAT | O_BINARY | O_WRONLY,\r
S_IREAD | S_IWRITE | S_IFREG);\r
\r
US_CPrint ("Memory Usage");\r
US_CPrint ("------------");\r
- US_Print ("Total :");\r
+ US_Print ("Total :");\r
US_PrintUnsigned (mminfo.mainmem/1024);\r
- US_Print ("k\nFree :");\r
+ US_Print ("k\nFree :");\r
US_PrintUnsigned (MM_UnusedMemory()/1024);\r
US_Print ("k\nWith purge:");\r
US_PrintUnsigned (MM_TotalFree()/1024);\r
\r
void Quit (global_game_variables_t *gvar, char *error)\r
{\r
- //unsigned finscreen;\r
+ //unsigned finscreen;\r
memptr screen=0;\r
\r
ClearMemory (gvar);\r
}\r
\r
//===========================================================================\r
+//from http://stackoverflow.com/questions/2736753/how-to-remove-extension-from-file-name\r
+\r
+// remove_ext: removes the "extension" from a file spec.\r
+// mystr is the string to process.\r
+// dot is the extension separator.\r
+// sep is the path separator (0 means to ignore).\r
+// Returns an allocated string identical to the original but\r
+// with the extension removed. It must be freed when you're\r
+// finished with it.\r
+// If you pass in NULL or the new string can't be allocated,\r
+// it returns NULL.\r
+\r
+char *remove_ext (char* mystr, char dot, char sep) {\r
+ char *retstr, *lastdot, *lastsep;\r
+\r
+ // Error checks and allocate string.\r
+\r
+ if (mystr == NULL)\r
+ return NULL;\r
+ if ((retstr = malloc (strlen (mystr) + 1)) == NULL)\r
+ return NULL;\r
+\r
+ // Make a copy and find the relevant characters.\r
+\r
+ strcpy (retstr, mystr);\r
+ lastdot = strrchr (retstr, dot);\r
+ lastsep = (sep == 0) ? NULL : strrchr (retstr, sep);\r
+\r
+ // If it has an extension separator.\r
+\r
+ if (lastdot != NULL) {\r
+ // and it's before the extenstion separator.\r
+\r
+ if (lastsep != NULL) {\r
+ if (lastsep < lastdot) {\r
+ // then remove it.\r
+\r
+ *lastdot = '\0';\r
+ }\r
+ } else {\r
+ // Has extension separator with no path separator.\r
+\r
+ *lastdot = '\0';\r
+ }\r
+ }\r
+\r
+ // Return the modified string.\r
+\r
+ return retstr;\r
+}\r
+\r
#ifndef __WATCOMC__\r
char global_temp_status_text[512];\r
char global_temp_status_text2[512];\r
out 61h, al //; Turn speaker on\r
mov cx, 2000h\r
@@delay:\r
- loop @@delay\r
+ loop @@delay\r
pop ax\r
out 61h, al //; Turn speaker off\r
pop cx\r