X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2F16_head.c;h=7dd538669d6bd04c5be8dc215063a06801413684;hb=729ec301fbc67f06250456eecf5e2be7e66f3d02;hp=d56b52607748051ca1c7cee1e6e326021918bc27;hpb=5e15fd0dadb195739e333d5d49acfdef1a42074b;p=16.git
diff --git a/src/lib/16_head.c b/src/lib/16_head.c
index d56b5260..7dd53866 100644
--- a/src/lib/16_head.c
+++ b/src/lib/16_head.c
@@ -1,32 +1,26 @@
-/* Project 16 Source Code~
- * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669
- *
- * This file is part of Project 16.
- *
- * Project 16 is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Project 16 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see , or
- * write to the Free Software Foundation, Inc., 51 Franklin Street,
- * Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-
-#include "src/lib/16_head.h"
-
-/* local function */
-void wait(clock_t wait);
-void* AllocateLargestFreeBlock(size_t* Size);
-size_t GetFreeSize(void);
-long int filesize(FILE *fp);
+/* Project 16 Source Code~
+ * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669
+ *
+ * This file is part of Project 16.
+ *
+ * Project 16 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Project 16 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see , or
+ * write to the Free Software Foundation, Inc., 51 Franklin Street,
+ * Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include "src/lib/16_head.h"
/* Function: Wait **********************************************************
*
@@ -42,82 +36,9 @@ void wait(clock_t wait){
goal = wait + clock();
while((goal > clock()) && !kbhit()) ;
-} /* End of wait */
-
-void* AllocateLargestFreeBlock(size_t* Size)
-{
- size_t s0, s1;
- void* p;
-
- s0 = ~(size_t)0 ^ (~(size_t)0 >> 1);
-
- while (s0 && (p = malloc(s0)) == NULL)
- s0 >>= 1;
-
- if (p)
- free(p);
-
- s1 = s0 >> 1;
-
- while (s1)
- {
- if ((p = malloc(s0 + s1)) != NULL)
- {
- s0 += s1;
- free(p);
- }
- s1 >>= 1;
- }
-
- while (s0 && (p = malloc(s0)) == NULL)
- s0 ^= s0 & -s0;
-
- *Size = s0;
- return p;
-}
-
-size_t GetFreeSize(void)
-{
- size_t total = 0;
- void* pFirst = NULL;
- void* pLast = NULL;
-
- for (;;)
- {
- size_t largest;
- void* p = AllocateLargestFreeBlock(&largest);
-
- if (largest < sizeof(void*))
- {
- if (p != NULL)
- free(p);
- break;
- }
-
- *(void**)p = NULL;
-
- total += largest;
-
- if (pFirst == NULL)
- pFirst = p;
-
- if (pLast != NULL)
- *(void**)pLast = p;
-
- pLast = p;
- }
-
- while (pFirst != NULL)
- {
- void* p = *(void**)pFirst;
- free(pFirst);
- pFirst = p;
- }
-
- return total;
-}
-
-long int
+} /* End of wait */
+
+long int
filesize(FILE *fp)
{
long int save_pos, size_of_file;
@@ -127,8 +48,15 @@ filesize(FILE *fp)
size_of_file = ftell(fp);
fseek(fp, save_pos, SEEK_SET);
return(size_of_file);
-}
-
+}
+
+void printmeminfoline(byte *strc, const byte *pee, size_t h_total, size_t h_used, size_t h_free)
+{
+ byte str[64];
+ strcat(strc,pee); strcat(strc," "); ultoa((dword)h_total,str,10); strcat(strc,str); strcat(strc," "); ultoa((dword)h_used,str,10); strcat(strc,str); strcat(strc," "); ultoa((dword)h_free,str,10); strcat(strc,str);
+ strcat(strc,"\n");
+}
+
///////////////////////////////////////////////////////////////////////////
//
// US_CheckParm() - checks to see if a string matches one of a set of
@@ -162,4 +90,67 @@ US_CheckParm(char *parm,char **strings)
}
}
return(-1);
-}
+}
+
+/*
+==========================
+=
+= Quit
+=
+==========================
+*/
+
+/*void Quit(char *error, ...)
+{
+ short exit_code=0;
+ unsigned finscreen;
+
+ va_list ap;
+
+ va_start(ap,error);
+
+#ifndef CATALOG
+ if (!error)
+ {
+ CA_SetAllPurge ();
+ CA_CacheGrChunk (PIRACY);
+ finscreen = (unsigned)grsegs[PIRACY];
+ }
+#endif
+
+ //ShutdownId ();
+
+ if (error && *error)
+ {
+ vprintf(error,ap);
+ exit_code = 1;
+ }
+#ifndef CATALOG
+ else
+ if (!NoWait)
+ {
+ movedata (finscreen,0,0xb800,0,4000);
+ bioskey (0);
+ }
+#endif
+
+ va_end(ap);
+
+#ifndef CATALOG
+ if (!error)
+ {
+ _argc = 2;
+ _argv[1] = "LAST.SHL";
+ _argv[2] = "ENDSCN.SCN";
+ _argv[3] = NULL;
+ if (execv("LOADSCN.EXE", _argv) == -1)
+ {
+ clrscr();
+ puts("Couldn't find executable LOADSCN.EXE.\n");
+ exit(1);
+ }
+ }
+#endif
+
+ exit(exit_code);
+}*/