]> 4ch.mooo.com Git - 16.git/blobdiff - 16/wf3d8086/id_vh.h
wolf3d 8088 port by king crimsom is added to 16/
[16.git] / 16 / wf3d8086 / id_vh.h
diff --git a/16/wf3d8086/id_vh.h b/16/wf3d8086/id_vh.h
new file mode 100755 (executable)
index 0000000..3afd1ab
--- /dev/null
@@ -0,0 +1,134 @@
+// ID_VH.H\r
+\r
+\r
+#define WHITE                  15                      // graphics mode independant colors\r
+#define BLACK                  0\r
+#define FIRSTCOLOR             1\r
+#define SECONDCOLOR            12\r
+#define F_WHITE                        15\r
+#define F_BLACK                        0\r
+#define F_FIRSTCOLOR   1\r
+#define F_SECONDCOLOR  12\r
+\r
+//===========================================================================\r
+\r
+#define MAXSHIFTS      1\r
+\r
+typedef struct\r
+{\r
+  int  width,\r
+       height,\r
+       orgx,orgy,\r
+       xl,yl,xh,yh,\r
+       shifts;\r
+} spritetabletype;\r
+\r
+typedef        struct\r
+{\r
+       unsigned        sourceoffset[MAXSHIFTS];\r
+       unsigned        planesize[MAXSHIFTS];\r
+       unsigned        width[MAXSHIFTS];\r
+       byte            data[];\r
+} spritetype;          // the memptr for each sprite points to this\r
+\r
+typedef struct\r
+{\r
+       int width,height;\r
+} pictabletype;\r
+\r
+\r
+typedef struct\r
+{\r
+       int height;\r
+       int location[256];\r
+       char width[256];\r
+} fontstruct;\r
+\r
+\r
+//===========================================================================\r
+\r
+\r
+extern pictabletype    _seg *pictable;\r
+extern pictabletype    _seg *picmtable;\r
+extern spritetabletype _seg *spritetable;\r
+\r
+extern byte    fontcolor;\r
+extern int     fontnumber;\r
+extern int     px,py;\r
+\r
+//\r
+// Double buffer management routines\r
+//\r
+\r
+void VW_InitDoubleBuffer (void);\r
+int     VW_MarkUpdateBlock (int x1, int y1, int x2, int y2);\r
+void VW_UpdateScreen (void);\r
+\r
+//\r
+// mode independant routines\r
+// coordinates in pixels, rounded to best screen res\r
+// regions marked in double buffer\r
+//\r
+\r
+void VWB_DrawTile8 (int x, int y, int tile);\r
+void VWB_DrawTile8M (int x, int y, int tile);\r
+void VWB_DrawTile16 (int x, int y, int tile);\r
+void VWB_DrawTile16M (int x, int y, int tile);\r
+void VWB_DrawPic (int x, int y, int chunknum);\r
+void VWB_DrawMPic(int x, int y, int chunknum);\r
+void VWB_Bar (int x, int y, int width, int height, int color);\r
+\r
+void VWB_DrawPropString         (char far *string);\r
+void VWB_DrawMPropString (char far *string);\r
+void VWB_DrawSprite (int x, int y, int chunknum);\r
+void VWB_Plot (int x, int y, int color);\r
+void VWB_Hlin (int x1, int x2, int y, int color);\r
+void VWB_Vlin (int y1, int y2, int x, int color);\r
+\r
+\r
+//\r
+// wolfenstein EGA compatability stuff\r
+//\r
+extern byte far gamepal;\r
+\r
+void VH_SetDefaultColors (void);\r
+\r
+#define VW_Startup             VL_Startup\r
+#define VW_Shutdown            VL_Shutdown\r
+#define VW_SetCRTC             VL_SetCRTC\r
+#define VW_SetScreen   VL_SetScreen\r
+#define VW_Bar                 VL_Bar\r
+#define VW_Plot                        VL_Plot\r
+#define VW_Hlin(x,z,y,c)       VL_Hlin(x,y,(z)-(x)+1,c)\r
+#define VW_Vlin(y,z,x,c)       VL_Vlin(x,y,(z)-(y)+1,c)\r
+#define VW_DrawPic             VH_DrawPic\r
+#define VW_SetSplitScreen      VL_SetSplitScreen\r
+#define VW_SetLineWidth                VL_SetLineWidth\r
+#define VW_ColorBorder VL_ColorBorder\r
+#define VW_WaitVBL             VL_WaitVBL\r
+#define VW_FadeIn()            VL_FadeIn(0,255,&gamepal,30);\r
+#define VW_FadeOut()   VL_FadeOut(0,255,0,0,0,30);\r
+#define VW_ScreenToScreen      VL_ScreenToScreen\r
+#define VW_SetDefaultColors    VH_SetDefaultColors\r
+void   VW_MeasurePropString (char far *string, word *width, word *height);\r
+#define EGAMAPMASK(x)  VGAMAPMASK(x)\r
+#define EGAWRITEMODE(x)        VGAWRITEMODE(x)\r
+\r
+//#define VW_MemToScreen       VL_MemToLatch\r
+\r
+#define MS_Quit                        Quit\r
+\r
+\r
+#define LatchDrawChar(x,y,p) VL_LatchToScreen(latchpics[0]+(p)*16,2,8,x,y)\r
+#define LatchDrawTile(x,y,p) VL_LatchToScreen(latchpics[1]+(p)*64,4,16,x,y)\r
+\r
+void LatchDrawPic (unsigned x, unsigned y, unsigned picnum);\r
+void   LoadLatchMem (void);\r
+boolean        FizzleFade (unsigned source, unsigned dest,\r
+       unsigned width,unsigned height, unsigned frames,boolean abortable);\r
+\r
+\r
+#define NUMLATCHPICS   100\r
+extern unsigned        latchpics[NUMLATCHPICS];\r
+extern unsigned freelatch;\r
+\r