X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_in.h;h=3c1046331ce38665be4f350d90901970a6a17bc1;hb=bee28e8a01c70bae522ef12947c296f837110dbe;hp=9b2705859385605f403125987974f19bf8c860ae;hpb=3c728ff6f9e56111cf019b4c241fc6d37c52adc0;p=16.git diff --git a/src/lib/16_in.h b/src/lib/16_in.h index 9b270585..3c104633 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -30,25 +30,22 @@ #include #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__ +#ifdef __WATCOMC__ //borland C BCEXMM.EXE +#include "src/lib/16_dbg.h" +#include "src/lib/16_sprit.h" +#include "src/lib/16_enti.h" +//#include "src/lib/bitmap.h" //old format #endif - -#ifdef __DEBUG_InputMgr__ -//#define TESTKEYIN -//#define TESTCONTROLNOISY +#ifdef __DEBUG__ +#define __DEBUG_InputMgr__ +extern boolean dbg_testkeyin,dbg_testcontrolnoisy; #endif -extern byte testkeyin,testcontrolnoisy,testctrltype; - //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 DIRECTIONIFELSE (player->info.dir == 2)//(player[pn].info.dir == 2) +//#define NDIRECTIONIFELSE (player->info.dir != 2)//(player[pn].info.dir != 2) #define KeyInt 9 // The keyboard ISR number @@ -57,7 +54,7 @@ extern byte testkeyin,testcontrolnoisy,testctrltype; #define JoyScaleShift 8 #define MaxJoyValue 5000 -#define MaxPlayers 4 +#define MaxPlayers 1 #define MaxKbds 2 #define MaxJoys 2 #define MaxPads 2 @@ -169,8 +166,6 @@ typedef enum { ctrl_Joystick, ctrl_Joystick1 = ctrl_Joystick,ctrl_Joystick2, ctrl_Mouse, -// ctrl_Joypad, -// ctrl_Joypad1 = ctrl_Joypad,ctrl_Joypad2 } ControlType; typedef enum { motion_Left = -1,motion_Up = -1, @@ -211,10 +206,6 @@ typedef struct { joyMultXL,joyMultYL, joyMultXH,joyMultYH; } JoystickDef; -// typedef struct -// { -// boolean w; -// } JoypadDef; typedef struct { @@ -231,14 +222,21 @@ typedef struct byte near pdir; //previous direction~ //byte near kd[2]; //array of arrow key pressed word speed; //player speed! + word spt; //speed per tile //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 +#ifdef __WATCOMC__ + struct sprite *spri; //supposively the sprite sheet data + memptr gr; +#endif + bitmap_t *data; //supposively the sprite sheet data//old format 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; + entity_t *ent; + int dx, dy, delta; } player_t; /* @@ -252,7 +250,6 @@ typedef struct { boolean MousePresent; boolean JoysPresent[MaxJoys]; - boolean JoyPadPresent[MaxPads]; boolean Keyboard[NumCodes]; boolean Paused; char LastASCII; @@ -260,7 +257,6 @@ typedef struct KeyboardDef KbdDefs[MaxKbds]; JoystickDef JoyDefs[MaxJoys]; - JoypadDef JoypadDefs[MaxPads]; } inpu;*/ #ifdef DEMO0 @@ -293,8 +289,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 near IN_ReadControl(int pn,player_t *player); -extern void IN_SetControlType(word pn,player_t *player,ControlType type); +extern void near IN_ReadControl(player_t *player); +extern void IN_SetControlType(player_t *player,ControlType type); #if DEMO0 extern boolean IN_StartDemoRecord(word bufsize); extern void IN_StartDemoPlayback(byte /*__segment*/ *buffer,word bufsize); @@ -311,5 +307,6 @@ extern boolean IN_UserInput(dword delay,boolean clear); extern boolean IN_KeyDown(byte code); extern void IN_ClearKey(byte code); extern boolean IN_qb(byte kee); +void IN_initplayer(player_t *player); #endif