]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
did a bunch of work on map stuff going to add fg layer sometime woon
[16.git] / src / lib / 16_tail.c
index 1a8a2972024115c7b7b6f95d1cde8391784f0c53..a602a62b9d380e1b3fc89faa8647f10ac7e325e4 100755 (executable)
@@ -46,9 +46,9 @@ void Startup16(global_game_variables_t *gvar)
 \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
@@ -125,10 +125,10 @@ void Shutdown16(global_game_variables_t *gvar)
 \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
@@ -227,7 +227,7 @@ void Shutdown16(global_game_variables_t *gvar)
 \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
@@ -275,9 +275,9 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 \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
@@ -326,7 +326,7 @@ void ClearMemory (global_game_variables_t *gvar)
 \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
@@ -372,6 +372,57 @@ void Quit (global_game_variables_t *gvar, char *error)
 }\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
@@ -409,7 +460,7 @@ void turboXT(byte bakapee)
        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