]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_head.h
== major changes and experimentation and improvements here and there! ww ==
[16.git] / src / lib / 16_head.h
index 225af5d354ee86aac265b88670d2c9b53590c24a..db6c4262589cc5e232df99d444f08dda4a32df21 100644 (file)
  *
  */
 
+#if !defined(__LARGE__) && !defined(__COMPACT__) && !defined(__HUGE__)
+#error Invalid memory model for compiling project 16
+#endif
+
+#if !defined(__i86__) && defined(__i386__)
+#error i8088 only
+#endif
+
 #ifndef _LIBHEAD_H_
 #define _LIBHEAD_H_
 #include <i86.h>
 #include <conio.h> // just for wait
 #include <time.h> // just for wait
 #include <stdlib.h>
+#include <malloc.h>
 #include <ctype.h>
+#include <unistd.h>\r
+#include <fcntl.h>\r
+#include <sys/stat.h>
+#include <mem.h>
+#include <alloca.h>
+#include "src/lib/nyan/kitten.h"
 #include "src/lib/types.h"
 
+struct list {
+       struct list __based(__self) *next;
+       int         value;
+};
+
 /* Control codes for all keys on the keyboard */
 //here temperarly
 /*
 */
 
 static dword far* clockdw= (dword far*) 0x046C; /* 18.2hz clock */
-
-#define        nil     ((void *)0)
+//static dword clockdw=0;
+extern int                     profilehandle,debughandle;      //make it into game global
 
 #define __DEBUG__
 
+//#define _SEGU(__p) ((unsigned)((unsigned long)(void __huge*)(__p) >> 16))
+
+#define        nil     ((void *)0)
+
 #define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs)))\r
 #define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs)))\r
 #define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value))\r
 #define pokew(segm,ofs,value) (peekw((segm),(ofs)) = (word)(value))\r
 
 typedef union REGPACK  regs_t;
+//typedef struct SREGS sregs_t;
+//sregs_t sregs;
 typedef        enum    {false,true}    boolean;
+//I hope this is correct!
+typedef void __based(__self) * memptr;
+//typedef sregs.w.es * memptr
+//typedef __segment * memptr;
+//typedef fenp.op_ptr_seg * memptr;
+typedef struct
+{\r
+       int old_mode;   //old video mode before game!
+       word frames_per_second;
+       clock_t t;
+} global_game_variables_t;\r
 
+/* local function */\r
 void wait(clock_t wait);
-void* AllocateLargestFreeBlock(size_t* Size);
+void __near* LargestFreeBlock(size_t* Size);
+size_t _coreleft(void);
+void far* LargestFarFreeBlock(size_t* Size);
+size_t _farcoreleft(void);
+void huge* LargestHugeFreeBlock(size_t* Size);
+size_t _hugecoreleft(void);
+//void __based(__self)* LargestBasedFreeBlock(size_t* Size);
+//size_t _basedcoreleft(void);
 size_t GetFreeSize(void);
+size_t GetFarFreeSize(void);
+size_t GetNearFreeSize(void);
 long int filesize(FILE *fp);
+void print_normal_entry(char *text, dword total, dword used, dword free);
+void convert(const char *format, dword num);
+void heapdump(void);
+void heapstat(int heap_status);
 int US_CheckParm(char *parm,char **strings);
 
+extern void CA_OpenDebug (void);\r
+extern void CA_CloseDebug (void);
+
 #endif/*_LIBHEAD_H_*/