#define __16_IN__\r
\r
#include <string.h>\r
-#include "src/lib/16_head.h"
-#include "src/lib/bitmap.h"\r
-\r
+#include "src/lib/16_head.h"\r
+#include "src/lib/16_timer.h"\r
+#ifdef __WATCOMC__ //borland C BCEXMM.EXE\r
+#include "src/lib/16_dbg.h"\r
+#include "src/lib/16_sprit.h"\r
+#include "src/lib/bitmap.h" //old format\r
+#endif\r
#ifdef __DEBUG__\r
-//#define __DEBUG_InputMgr__\r
+#define __DEBUG_InputMgr__\r
+extern boolean dbg_testkeyin,dbg_testcontrolnoisy;\r
#endif\r
\r
-#ifdef __DEBUG_InputMgr__\r
-#define TESTKEYIN\r
-//#define TESTCONTROLNOISY\r
-#endif\r
+//if else for gfxtesting and direction\r
+//player[pn].d == 2 ||\r
+//player[pn].d != 2 ||\r
+#define DIRECTIONIFELSE (player[pn].info.dir == 2)\r
+//#define NDIRECTIONIFELSE (player[pn].info.dir != 2)\r
\r
#define KeyInt 9 // The keyboard ISR number\r
\r
ctrl_Joystick,\r
ctrl_Joystick1 = ctrl_Joystick,ctrl_Joystick2,\r
ctrl_Mouse,\r
- ctrl_Joypad,\r
- ctrl_Joypad1 = ctrl_Joypad,ctrl_Joypad2\r
} ControlType;\r
typedef enum {\r
motion_Left = -1,motion_Up = -1,\r
dir_South,//dir_Soutinest,\r
} Direction;\r
typedef struct {\r
- boolean button0,button1,button2,button3;\r
- int x,y;\r
- Motion xaxis,yaxis;\r
- Direction dir;\r
+ boolean near button0,button1,button2,button3;\r
+ int near x,y;\r
+ Motion near xaxis,yaxis;\r
+ Direction near dir;\r
} CursorInfo;\r
\r
typedef struct {\r
- ScanCode button0,button1,\r
+ ScanCode near button0,button1,\r
//upleft,\r
up,\r
down,\r
;\r
} KeyboardDef;\r
typedef struct {\r
- word joyMinX,joyMinY,\r
+ word near joyMinX,joyMinY,\r
threshMinX,threshMinY,\r
threshMaxX,threshMaxY,\r
joyMaxX,joyMaxY,\r
joyMultXL,joyMultYL,\r
joyMultXH,joyMultYH;\r
} JoystickDef;\r
-typedef struct\r
-{\r
- boolean w;\r
-} JoypadDef;\r
\r
typedef struct\r
{\r
int ty; //player tile position on the viewable map\r
int triggerx; //player's trigger box tile position on the viewable map\r
int triggery; //player's trigger box tile position on the viewable map\r
- int setx; //NOT USED YET! player sprite sheet set on the image x\r
- int sety; //NOT USED YET! player sprite sheet set on the image y\r
- word q; //loop variable
+ int sheetsetx; //NOT USED YET! player sprite sheet set on the image x\r
+ int sheetsety; //NOT USED YET! player sprite sheet set on the image y\r
+ byte d; //direction to render sprite!! wwww\r
+ byte q; //loop variable for anumation and locking the playing to compleate the animation cycle to prevent issues with misalignment www\r
+ byte near pdir; //previous direction~\r
+ //byte near kd[2]; //array of arrow key pressed\r
word speed; //player speed!\r
- bitmap_t data; //supposively the sprite sheet data\r
- int hp; //hitpoints of the player
- word persist_aniframe; /* gonna be increased to 1 before being used, so 0 is ok for default */\r
+ word spt; //speed per tile\r
+//0000 planar_buf_t huge *data; //supposively the sprite sheet data\r
+// planar_buf_t data; //supposively the sprite sheet data\r
+////0000----\r
+ struct sprite *spri; //supposively the sprite sheet data\r
+ bitmap_t *data; //supposively the sprite sheet data//old format\r
+ sword hp; //hitpoints of the player\r
+ int persist_aniframe; /* gonna be increased to 1 before being used, so 0 is ok for default */\r
CursorInfo info;\r
- ControlType Controls;
+ ControlType Controls;\r
} player_t;\r
\r
/*\r
{\r
boolean MousePresent;\r
boolean JoysPresent[MaxJoys];\r
- boolean JoyPadPresent[MaxPads];\r
boolean Keyboard[NumCodes];\r
boolean Paused;\r
char LastASCII;\r
\r
KeyboardDef KbdDefs[MaxKbds];\r
JoystickDef JoyDefs[MaxJoys];\r
- JoypadDef JoypadDefs[MaxPads];\r
} inpu;*/\r
\r
#ifdef DEMO0\r
static word DemoOffset,DemoSize;\r
#endif\r
\r
-extern dword far* clockdw;\r
-\r
// Internal routines\r
extern void interrupt INL_KeyService();\r
extern void Mouse(int x);\r
extern void IN_ClearKeysDown();\r
//static void INL_AdjustCursor(CursorInfo *info,word buttons,int dx,int dy);\r
extern void IN_ReadCursor(CursorInfo *info);\r
-extern void IN_ReadControl(int playnum,player_t *player);\r
-extern void IN_SetControlType(word playnum,player_t *player,ControlType type);\r
+extern void near IN_ReadControl(int pn,player_t *player);\r
+extern void IN_SetControlType(word pn,player_t *player,ControlType type);\r
#if DEMO0\r
extern boolean IN_StartDemoRecord(word bufsize);\r
extern void IN_StartDemoPlayback(byte /*__segment*/ *buffer,word bufsize);\r
extern boolean IN_KeyDown(byte code);\r
extern void IN_ClearKey(byte code);\r
extern boolean IN_qb(byte kee);\r
+void IN_initplayer(player_t *player, word pn);\r
\r
#endif\r