X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_in.h;h=bf0755e7a300c20f2dbd3ca0b43248c4677ec1b2;hb=34abe02e0e49c2b73912babf54fc63b5cdc56284;hp=eecfae5905bd772859827f1c8385ad0d2779825c;hpb=f1605e99959acfb32b36ae875601fc14dd670742;p=16.git diff --git a/src/lib/16_in.h b/src/lib/16_in.h index eecfae59..bf0755e7 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -28,18 +28,28 @@ #define __16_IN__ #include -#include "src/lib/16_head.h" +#include "src/lib/16_head.h" +#include "src/lib/16_timer.h" #include "src/lib/bitmap.h" +#include "src/lib/planar.h" #ifdef __DEBUG__ //#define __DEBUG_InputMgr__ #endif #ifdef __DEBUG_InputMgr__ -#define TESTKEYIN +//#define TESTKEYIN //#define TESTCONTROLNOISY #endif +extern byte testkeyin,testcontrolnoisy; + +//if else for gfxtesting and direction +//player[pn].d == 2 || +//player[pn].d != 2 || +#define DIRECTIONIFELSE (player[pn].info.dir == 2) +//#define NDIRECTIONIFELSE (player[pn].info.dir != 2) + #define KeyInt 9 // The keyboard ISR number // Stuff for the joystick @@ -175,14 +185,14 @@ typedef enum { dir_South,//dir_Soutinest, } Direction; typedef struct { - boolean button0,button1,button2,button3; - int x,y; - Motion xaxis,yaxis; - Direction dir; + boolean near button0,button1,button2,button3; + int near x,y; + Motion near xaxis,yaxis; + Direction near dir; } CursorInfo; typedef struct { - ScanCode button0,button1, + ScanCode near button0,button1, //upleft, up, down, @@ -194,7 +204,7 @@ typedef struct { ; } KeyboardDef; typedef struct { - word joyMinX,joyMinY, + word near joyMinX,joyMinY, threshMinX,threshMinY, threshMaxX,threshMaxY, joyMaxX,joyMaxY, @@ -215,15 +225,20 @@ typedef struct int triggerx; //player's trigger box tile position on the viewable map int triggery; //player's trigger box tile position on the viewable map int sheetsetx; //NOT USED YET! player sprite sheet set on the image x - int sheetsety; //NOT USED YET! player sprite sheet set on the image y - word d; //direction!! wwww - word q; //loop variable + int sheetsety; //NOT USED YET! player sprite sheet set on the image y + byte d; //direction to render sprite!! wwww + byte q; //loop variable for anumation and locking the playing to compleate the animation cycle to prevent issues with misalignment www + byte near pdir; //previous direction~ + //byte near kd[2]; //array of arrow key pressed word speed; //player speed! - bitmap_t data; //supposively the sprite sheet data - sword hp; //hitpoints of the player +//0000 planar_buf_t huge *data; //supposively the sprite sheet data +// planar_buf_t data; //supposively the sprite sheet data +////0000---- + bitmap_t huge *data; //supposively the sprite sheet data + sword hp; //hitpoints of the player int persist_aniframe; /* gonna be increased to 1 before being used, so 0 is ok for default */ CursorInfo info; - ControlType Controls; + ControlType Controls; } player_t; /* @@ -254,8 +269,6 @@ typedef struct static word DemoOffset,DemoSize; #endif -extern dword far* clockdw; - // Internal routines extern void interrupt INL_KeyService(); extern void Mouse(int x); @@ -280,8 +293,8 @@ extern void IN_SetKeyHook(void (*hook)()); extern void IN_ClearKeysDown(); //static void INL_AdjustCursor(CursorInfo *info,word buttons,int dx,int dy); extern void IN_ReadCursor(CursorInfo *info); -extern void IN_ReadControl(int playnum,player_t *player); -extern void IN_SetControlType(word playnum,player_t *player,ControlType type); +extern void near IN_ReadControl(int pn,player_t *player); +extern void IN_SetControlType(word pn,player_t *player,ControlType type); #if DEMO0 extern boolean IN_StartDemoRecord(word bufsize); extern void IN_StartDemoPlayback(byte /*__segment*/ *buffer,word bufsize);