]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tdef.h
__seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
[16.git] / src / lib / 16_tdef.h
index f0f39876f6d4dd84f69e46ebdab13c3aba451115..2d027f613a2f9391aacf554eae5e0c59cf808620 100755 (executable)
@@ -66,12 +66,38 @@ typedef struct {
 \r
 //from 16_sprit.h\r
 #ifdef __WATCOMC__\r
+#include <hw/vga/vrl.h>\r
+\r
+typedef struct vrs_container{\r
+       // Size of a .vrs blob in memory\r
+       // minus header\r
+       dword data_size;\r
+       union{\r
+               byte far *buffer;\r
+               struct vrs_header far *vrs_hdr;\r
+       };\r
+       // Array of corresponding vrl line offsets\r
+       vrl1_vgax_offset_t **vrl_line_offsets;\r
+} vrs_container_t;\r
+\r
+typedef struct vrl_container{\r
+       // Size of a .vrl blob in memory\r
+       // minus header\r
+       dword data_size;\r
+       union{\r
+               byte far *buffer;\r
+               struct vrl1_vgax_header far *vrl_header;\r
+       };\r
+       // Pointer to a corresponding vrl line offsets struct\r
+       vrl1_vgax_offset_t *line_offsets;\r
+} vrl_container_t;\r
+\r
 typedef struct sprite\r
 {\r
        // VRS container from which we will extract animation and image data\r
-       struct vrs_container *spritesheet;\r
+       vrs_container_t spritesheet;\r
        // Container for a vrl sprite\r
-       struct vrl_container *sprite_vrl_cont;\r
+       vrl_container_t sprite_vrl_cont;\r
        // Current sprite id\r
        int curr_spri_id;\r
        // Index of a current sprite in an animation sequence\r
@@ -189,7 +215,29 @@ typedef struct {
 \r
 //from 16_in\r
 //==========================================================================\r
-#define        MaxPlayers              2//future plans for multiple playable charaters and being able to alternate\r
+#define        KeyInt          9       // The keyboard ISR number\r
+\r
+//\r
+// mouse constants\r
+//\r
+#define        MReset          0\r
+#define        MButtons        3\r
+#define        MDelta          11\r
+\r
+#define        MouseInt        0x33\r
+//#define      Mouse(x)        _AX = x,geninterrupt(MouseInt)\r
+\r
+//\r
+// joystick constants\r
+//\r
+#define        JoyScaleMax             32768\r
+#define        JoyScaleShift   8\r
+#define        MaxJoyValue             5000\r
+\r
+#define        MaxPlayers      4\r
+#define        MaxKbds         2\r
+#define        MaxJoys         2\r
+#define        NumCodes        128\r
 \r
 typedef        byte            ScanCode;\r
 \r
@@ -206,12 +254,10 @@ typedef   enum            {
                                                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
+typedef        enum            {               // Quick lookup for total direction\r
+                                               /*dir_NorthWest,        */dir_North,/*  dir_NorthEast,*/\r
+                                               dir_West,               dir_None,       dir_East,\r
+                                               /*dir_SouthWest,        */dir_South/*,  dir_SouthEast*/\r
                                        } Direction;\r
 typedef        struct          {\r
                                                boolean near    button0,button1,button2,button3;\r
@@ -241,6 +287,28 @@ typedef    struct          {
                                                                        joyMultXH,joyMultYH;\r
                                        } JoystickDef;\r
 \r
+/*typedef struct// inconfig\r
+{\r
+       boolean         IN_Started;\r
+       boolean         CapsLock;\r
+       ScanCode        CurCode,LastCode;\r
+//\r
+// configuration variables\r
+//\r
+       boolean         Keyboard[NumCodes],\r
+                                       JoysPresent[MaxJoys],\r
+                                       MousePresent,\r
+                                       JoyPadPresent;\r
+\r
+//     Global variables\r
+       boolean         Paused;\r
+       char            LastASCII;\r
+       ScanCode        LastScan;\r
+\r
+       KeyboardDef     KbdDefs[MaxKbds];\r
+       JoystickDef     JoyDefs[MaxJoys];\r
+} in_info_t;*/\r
+\r
 //==========================================================================\r
 \r
 typedef        struct\r
@@ -556,22 +624,25 @@ typedef struct    //TODO: USE THIS!!!!
 \r
 //actual global game varables!\r
 typedef enum {\r
-       ENGI_EXIT,\r
        ENGI_QUIT,\r
        ENGI_RUN,\r
-       ENGI_INPUT,\r
+       ENGI_MENU,\r
        ENGI_PAUSE\r
 } engi_stat_t;\r
+//ENGI_INPUT,\r
 \r
 typedef struct\r
 {\r
+       engi_stat_t     engi_stat;\r
        video_t video;  // video settings variable\r
        ca_t            ca;     // ca stuff\r
        pm_t            pm;     // pm stuff\r
        loghandle_t     handle; //handles for file logging\r
        kurokku_t       kurokku;        //clock struct\r
        mminfo_t        mm; mminfotype  mmi;    // mm stuff\r
+//++++ in_info_t       in;             // 16_in info\r
        player_t        player[MaxPlayers];     // player vars\r
+       map_view_t      mv[4];\r
 } global_game_variables_t;\r
 \r
 #ifdef __WATCOMC__\r