]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
__seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
[16.git] / src / lib / 16_tail.c
index 9277d4e956869dcac40d04094a30114be8e86803..7b5fdcb4de0c44ea65d8a5809290383c367d39d7 100755 (executable)
@@ -81,8 +81,11 @@ void Startup16(global_game_variables_t *gvar)
 #endif\r
        IN_Startup(gvar);\r
 #endif\r
+#ifdef __16_PM__\r
        PM_Startup(gvar);\r
+       PM_CheckMainMem(gvar);\r
        PM_UnlockMainMem(gvar);\r
+#endif\r
        CA_Startup(gvar);\r
 }\r
 \r
@@ -100,7 +103,9 @@ void Startup16(global_game_variables_t *gvar)
 \r
 void Shutdown16(global_game_variables_t *gvar)\r
 {\r
+#ifdef __16_PM__\r
        PM_Shutdown(gvar);\r
+#endif\r
 #ifdef __WATCOMC__\r
 #ifdef __DEBUG_InputMgr__\r
        if(!dbg_nointest)\r
@@ -109,7 +114,9 @@ void Shutdown16(global_game_variables_t *gvar)
 #endif\r
        CA_Shutdown(gvar);\r
        MM_Shutdown(gvar);\r
+#ifdef __WATCOMC__\r
        VGAmodeX(0, 1, gvar);\r
+#endif\r
 }\r
 \r
 \r
@@ -311,7 +318,9 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 \r
 void ClearMemory (global_game_variables_t *gvar)\r
 {\r
+#ifdef __16_PM__\r
        PM_UnlockMainMem(gvar);\r
+#endif\r
        //snd\r
        MM_SortMem (gvar);\r
 }\r
@@ -372,73 +381,6 @@ 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
-//from http://quiz.geeksforgeeks.org/c-program-cyclically-rotate-array-one/\r
-void rotateR(byte arr[], byte n)\r
-{\r
-       byte x = arr[n-1], i;\r
-       for (i = n-1; i > 0; i--)\r
-               arr[i] = arr[i-1];\r
-       arr[0] = x;\r
-}\r
-\r
-void rotateL(byte arr[], byte n)\r
-{\r
-       byte x = arr[n+1], i;\r
-       for (i = n+1; i > 0; i++)\r
-               arr[i] = arr[i+1];\r
-       arr[0] = x;\r
-}\r
 \r
 #ifndef __WATCOMC__\r
 char global_temp_status_text[512];\r
@@ -487,6 +429,19 @@ void turboXT(byte bakapee)
 }\r
 #endif\r
 \r
+const char *word_to_binary(word x)\r
+{\r
+       static char b[17];\r
+       int z;\r
+\r
+       b[0] = '\0';\r
+       for (z = 16; z > 0; z >>= 1)\r
+       {\r
+               strcat(b, ((x & z) == z) ? "1" : "0");\r
+       }\r
+       return b;\r
+}\r
+\r
 const char *nibble_to_binary(nibble x)\r
 {\r
        static char b[9];\r