X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_head.h;h=aab4c0334e7a74c9e958b816d1bc5cfb4c12501d;hb=42ffe9b467059d82fecbd350cbf000e6b1ddf1a9;hp=73fa33d0bbcffcd6b30d759e37f3ee170e63070f;hpb=c39d09723a7375861ff2d46efc946cfee56b1c7a;p=16.git diff --git a/src/lib/16_head.h b/src/lib/16_head.h index 73fa33d0..aab4c033 100755 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -42,13 +42,17 @@ #include #include #include +#include #ifdef __WATCOMC__ #include #include #include +#include //16_vrs.h #endif #include "src/lib/nyan/kitten.h" #include "src/lib/types.h" +#include "src/lib/typdefst.h" +#include "src/lib/16_in.h" #define VERSION __DATE__ " " __TIME__ @@ -148,14 +152,35 @@ static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */ extern int profilehandle,debughandle; //make it into game global #define __DEBUG__ +//#define __DEBUG_PM__ +//#define __DEBUG_MM__ #define nil ((void *)0) #ifdef __BORLANDC__ #define _FCORELEFT 0x90000UL-16UL +#define sprite #endif #ifdef __WATCOMC__ #define _FCORELEFT 0x90000UL+16UL +static union REGS CPURegs; +#define _AX CPURegs.x.ax +#define _BX CPURegs.x.bx +#define _CX CPURegs.x.cx +#define _DX CPURegs.x.dx + +#define _SI CPURegs.x.si + +#define _AH CPURegs.h.ah +#define _AL CPURegs.h.al +#define _BH CPURegs.h.bh +#define _BL CPURegs.h.bl +#define _CH CPURegs.h.ch +#define _CL CPURegs.h.cl +#define _DH CPURegs.h.dh +#define _DL CPURegs.h.dl + +#define geninterrupt(n) int86(n,&CPURegs,&CPURegs); #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)) @@ -164,65 +189,7 @@ extern int profilehandle,debughandle; //make it into game global typedef union REGPACK regs_t; #endif -#ifdef __WATCOMC__ -typedef void __based(__self) * memptr; -#endif -#ifdef __BORLANDC__ -typedef void _seg * memptr; -#endif - -/* - * typedefs of the game variables! - */ -typedef struct { - word id; /* the Identification number of the page~ For layering~ */ - byte far* data; /* the data for the page */ - word dx; /* col we are viewing on the virtual screen */ - word dy; /* row we are viewing on the virtual screen */ - word sw; /* screen width */ - word sh; /* screen heigth */ - word tilesw; /* screen width in tiles */ - word tilesh; /* screen height in tiles */ - word width; /* virtual width of the page */ - word height; /* virtual height of the page */ - word tw; - word th; - sword tilemidposscreenx; /* middle tile position */ - sword tilemidposscreeny; /* middle tile position */ - sword tileplayerposscreenx; /* player position on screen */ - sword tileplayerposscreeny; /* player position on screen */ -} page_t; - -typedef struct -{ -// int showmemhandle; - int profilehandle,debughandle; - int heaphandle; -} handle_t; - -typedef struct -{ - word frames_per_second; - clock_t t; - dword tiku; //frames passed - word clock_start; //timer start - word *clock; //current time on clock - boolean fpscap; //cap the fps var -} kurokku_t; - -typedef struct -{ - long old_mode; //old video mode before game! - page_t page[4]; //pointer to root page[0] -} video_t; - -typedef struct -{ - video_t video; // video settings variable - byte *pee; // message for fps - handle_t handle; //handles for file logging - kurokku_t kurokku; //clock struct -} global_game_variables_t; +#define INPUT_STATUS_1 0x03da /* local function */ void wait(clock_t wait); @@ -230,5 +197,9 @@ void wait(clock_t wait); long int filesize(FILE *fp); void printmeminfoline(byte *strc, const byte *pee, size_t h_total, size_t h_used, size_t h_free); int US_CheckParm(char *parm,char **strings); +#ifdef __BORLANDC__ +void Quit (char *error); +#endif +byte dirchar(byte in); #endif/*_LIBHEAD_H_*/