X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_head.h;h=6c5f9b0bcd2ac6880f37e76d2976b548b21e867f;hb=1287746074527ec8af4c6ca515802e5a72d0ef05;hp=da071b731700186cac66eea3b2216dc9ea5ba042;hpb=364d4b084428eeee1b6c510ff65241d3b92ccc5a;p=16.git diff --git a/src/lib/16_head.h b/src/lib/16_head.h index da071b73..6c5f9b0b 100644 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -41,6 +41,7 @@ #include #include #include +#include #include "src/lib/types.h" /* Control codes for all keys on the keyboard */ @@ -137,19 +138,34 @@ static dword far* clockdw= (dword far*) 0x046C; /* 18.2hz clock */ //static dword clockdw=0; -extern int profilehandle,debughandle; - -#define nil ((void *)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))) #define peekw(segm,ofs) (*(word far*)MK_FP((segm),(ofs))) #define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value)) #define pokew(segm,ofs,value) (peekw((segm),(ofs)) = (word)(value)) 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 +{ + int old_mode; //old video mode before game! + word frames_per_second; + clock_t t; +} global_game_variables_t; /* local function */ void wait(clock_t wait); @@ -157,6 +173,8 @@ void* AllocateLargestFreeBlock(size_t* Size); size_t GetFreeSize(void); void far *AllocateLargestFarFreeBlock(size_t far* Size); size_t GetFarFreeSize(void); +void __near *AllocateLargestNearFreeBlock(size_t* Size); +size_t GetNearFreeSize(void); long int filesize(FILE *fp); int US_CheckParm(char *parm,char **strings);