+ int x; //entity exact position on the viewable map\r
+ int y; //entity exact position on the viewable map\r
+ int tx; //entity tile position on the viewable map\r
+ int ty; //entity tile position on the viewable map\r
+ int triggerx; //entity's trigger box tile position on the viewable map\r
+ int triggery; //entity's trigger box tile position on the viewable map\r
+// int sheetsetx; //NOT USED YET! entity sprite sheet set on the image x\r
+// int sheetsety; //NOT USED YET! entity sprite sheet set on the image y\r
+ nibble d; //direction to render sprite!! wwww\r
+ nibble pred; //prev. direction for animation changing\r
+ word dire; //sprite in use\r
+ nibble q; //loop variable for anumation and locking the playing to compleate the animation cycle to prevent issues with misalignment www\r
+ word speed; //entity speed!\r
+ word spt; //speed per tile\r
+#ifdef __WATCOMC__\r
+ sprite_t *spri; // sprite used by entity\r
+#endif\r
+ sword hp; //hitpoints of the entity\r
+ nibble overdraww, overdrawh; // how many pixels to "overdraw" so that moving sprites with edge pixels don't leave streaks.\r
+ // if the sprite's edge pixels are clear anyway, you can set this to 0.\r
+ nibble /*int*/ persist_aniframe; // gonna be increased to 1 before being used, so 0 is ok for default\r
+} entity_t;\r
+\r
+//from 16_in\r
+//==========================================================================\r
+typedef byte ScanCode;\r
+\r
+typedef enum {\r
+ //ctrl_None, // MDM (GAMERS EDGE) - added\r
+ ctrl_Keyboard,\r
+ ctrl_Keyboard1 = ctrl_Keyboard,ctrl_Keyboard2,\r
+ ctrl_Joystick,\r
+ ctrl_Joystick1 = ctrl_Joystick,ctrl_Joystick2,\r
+ ctrl_Mouse,\r
+ } ControlType;\r
+typedef enum {\r
+ motion_Left = -1,motion_Up = -1,\r
+ motion_None = 0,\r
+ motion_Right = 1,motion_Down = 1\r
+ } Motion;\r
+typedef enum {\r
+ dir_North,//dir_NorthEast,\r
+ dir_West,//dir_Nortinest,\r
+ dir_None,\r
+ dir_East,//,dir_SouthEast,\r
+ dir_South,//dir_Soutinest,\r
+ } Direction;\r
+typedef struct {\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 near button0,button1,\r
+ //upleft,\r
+ up,\r
+ down,\r
+ left,\r
+ right\r
+ //upright,\r
+ //downleft,\r
+ //,downright\r
+ ;\r
+ } KeyboardDef;\r
+typedef struct {\r
+ word near joyMinX,joyMinY,\r
+ threshMinX,threshMinY,\r
+ threshMaxX,threshMaxY,\r
+ joyMaxX,joyMaxY,\r
+ joyMultXL,joyMultYL,\r
+ joyMultXH,joyMultYH;\r
+ } JoystickDef;\r
+\r
+//==========================================================================\r
+\r
+typedef struct\r
+{\r
+ entity_t near enti;\r
+#ifdef __WATCOMC__\r
+ //struct sprite *spri; //supposively the sprite sheet data\r
+ memptr gr;\r
+#endif\r
+ bitmap_t *data; //supposively the sprite sheet data//old format\r
+ bitmap_t bmp;\r
+\r
+ //input\r
+ byte near pdir; //previous direction~ used in IN_16 in IN_ReadControl()\r
+ CursorInfo info;\r
+ ControlType Controls;\r
+ word walktype;\r
+//newer vars\r
+ int dx, dy, delta; //TODO: what is this? ^^\r
+} player_t;\r
+\r
+//===========================================//\r