OSDN Git Service

attempted font system added
[proj16/16.git] / 16 / v2 / source / ENGINE / VDRIVER.H
1 /*\r
2 Copyright (C) 1998 BJ Eirich (aka vecna)\r
3 This program is free software; you can redistribute it and/or\r
4 modify it under the terms of the GNU General Public License\r
5 as published by the Free Software Foundation; either version 2\r
6 of the License, or (at your option) any later version.\r
7 This program is distributed in the hope that it will be useful,\r
8 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r
10 See the GNU General Public Lic\r
11 See the GNU General Public License for more details.\r
12 You should have received a copy of the GNU General Public License\r
13 along with this program; if not, write to the Free Software\r
14 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
15 */\r
16 \r
17 #ifndef VDRIVER_H\r
18 #define VDRIVER_H\r
19 \r
20 extern byte *screen,*video,*vscreen;\r
21 extern byte pal[768], pal2[768];\r
22 extern byte *translucency_table;\r
23 \r
24 extern int sx, sy;\r
25 extern int tx, ty;\r
26 extern int tsx, tsy;\r
27 extern int cx1,cy1,cx2,cy2;\r
28 \r
29 extern char *DriverDesc;\r
30 \r
31 extern int InitVideo(int xres, int yres);\r
32 extern void VidInfo(void);\r
33 extern void SetPalette(byte *pall);\r
34 extern void GetPalette(void);\r
35 extern void set_intensity(unsigned int n);\r
36 \r
37 // driver interface\r
38 \r
39 extern int (*ShutdownVideo)(int i);\r
40 extern int (*ShowPage)(void);\r
41 \r
42 // LFB routines for all driver functions\r
43 \r
44 extern int  LFB_ShowPage(void);\r
45 extern void ColorField(int x, int y, byte c);\r
46 extern void ClearScreen(void);\r
47 extern void MapLine(int x, int y, int yofs, word *map);\r
48 extern void TMapLine(int x, int y, int yofs, word *map);\r
49 \r
50 extern void CopySprite(int x, int y, int width, int height, byte *src);\r
51 extern void TCopySprite(int x, int y, int width, int height, byte *src);\r
52 extern void CopySpriteZoom(int x, int y, int width, int height, int dw, int dh, byte *src);\r
53 extern void TCopySpriteZoom(int x, int y, int width, int height, int dw, int dh, byte *src);\r
54 extern void CopySpriteLucent(int x, int y, int width, int height, byte *src);\r
55 extern void TCopySpriteLucent(int x, int y, int width, int height, byte *src);\r
56 extern void CopySpriteZoomLucent(int x, int y, int width, int height, int dw, int dh, byte *src);\r
57 extern void TCopySpriteZoomLucent(int x, int y, int width, int height, int dw, int dh, byte *src);\r
58 extern void Silhouette(int x, int y, int width, int height, int color, byte *src);\r
59 extern void SilhouetteZoom(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
60 extern void SilhouetteLucent(int x, int y, int width, int height, int color, byte *src);\r
61 extern void SilhouetteZoomLucent(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
62 extern void Tint(int x, int y, int width, int height, int color, byte *src);\r
63 extern void TintZoom(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
64 \r
65 extern void CopySpriteClip(int x, int y, int width, int height, byte *src);\r
66 extern void TCopySpriteClip(int x, int y, int width, int height, byte *src);\r
67 extern void CopySpriteZoomClip(int x, int y, int width, int height, int dw, int dh, byte *src);\r
68 extern void TCopySpriteZoomClip(int x, int y, int width, int height, int dw, int dh, byte *src);\r
69 extern void CopySpriteLucentClip(int x, int y, int width, int height, byte *src);\r
70 extern void TCopySpriteLucentClip(int x, int y, int width, int height, byte *src);\r
71 extern void CopySpriteZoomLucentClip(int x, int y, int width, int height, int dw, int dh, byte *src);\r
72 extern void TCopySpriteZoomLucentClip(int x, int y, int width, int height, int dw, int dh, byte *src);\r
73 extern void SilhouetteClip(int x, int y, int width, int height, int color, byte *src);\r
74 extern void SilhouetteZoomClip(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
75 extern void SilhouetteLucentClip(int x, int y, int width, int height, int color, byte *src);\r
76 extern void SilhouetteZoomLucentClip(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
77 extern void TintClip(int x, int y, int width, int height, int color, byte *src);\r
78 extern void TintZoomClip(int x, int y, int sw, int sh, int dw, int dh, int color, byte *src);\r
79 \r
80 extern void CopyTile(int x, int y, byte *src);\r
81 extern void TCopyTile(int x, int y, byte *spr, byte *matte);\r
82 extern void CopyTileLucent(int x, int y, byte *src);\r
83 extern void TCopyTileLucent(int x, int y, byte *spr);\r
84 \r
85 extern void CopyTileClip(int x, int y, byte *src);\r
86 extern void TCopyTileClip(int x, int y, byte *spr, byte *matte);\r
87 extern void CopyTileLucentClip(int x, int y, byte *src);\r
88 extern void TCopyTileLucentClip(int x, int y, byte *spr);\r
89 \r
90 extern int  GetPixel(int x, int y);\r
91 extern void SetPixel(int x, int y, int color);\r
92 extern void SetPixelLucent(int x, int y, int color);\r
93 extern void HLine(int x, int y, int x2, int color);\r
94 extern void HLineLucent(int x, int y, int x2, int color);\r
95 extern void RectFill(int x, int y, int x2, int y2, int color);\r
96 extern void RectFillLucent(int x, int y, int x2, int y2, int color);\r
97 extern void VLine(int x, int y, int y2, int color);\r
98 extern void VLineLucent(int x, int y, int y2, int color);\r
99 extern void Rect(int x, int y, int x2, int y2, int color);\r
100 extern void RectLucent(int x, int y, int x2, int y2, int color);\r
101 extern void Line(int x, int y, int x2, int y2, int color);\r
102 extern void LineLucent(int x, int y, int x2, int y2, int color);\r
103 extern void CircleFill(int x, int y, int radius, int color);\r
104 extern void CircleFillLucent(int x, int y, int radius, int color);\r
105 extern void Circle(int x, int y, int radius, int color);\r
106 extern void CircleLucent(int x, int y, int radius, int color);\r
107 \r
108 extern int  GetPixelClip(int x, int y);\r
109 extern void SetPixelClip(int x, int y, int color);\r
110 extern void SetPixelLucentClip(int x, int y, int color);\r
111 extern void HLineClip(int x, int y, int x2, int color);\r
112 extern void HLineLucentClip(int x, int y, int x2, int color);\r
113 extern void RectFillClip(int x, int y, int x2, int y2, int color);\r
114 extern void RectFillLucentClip(int x, int y, int x2, int y2, int color);\r
115 extern void VLineClip(int x, int y, int y2, int color);\r
116 extern void VLineLucentClip(int x, int y, int y2, int color);\r
117 extern void RectClip(int x, int y, int x2, int y2, int color);\r
118 extern void RectLucentClip(int x, int y, int x2, int y2, int color);\r
119 extern void LineClip(int x, int y, int x2, int y2, int color);\r
120 extern void LineLucentClip(int x, int y, int x2, int y2, int color);\r
121 extern void CircleFillClip(int x, int y, int radius, int color);\r
122 extern void CircleFillLucentClip(int x, int y, int radius, int color);\r
123 extern void CircleClip(int x, int y, int radius, int color);\r
124 extern void CircleLucentClip(int x, int y, int radius, int color);\r
125 \r
126 extern void WrapBlit(quad x, quad y, int wide, int high, byte *src);\r
127 extern void WrapBlitMasked(quad x, quad y, int wide, int high, byte *src);\r
128 extern void WrapBlitLucent(quad x, quad y, int wide, int high, byte *src);\r
129 extern void WrapBlitLucentMasked(quad x, quad y, int wide, int high, byte *src);\r
130 \r
131 void RotScale(int posx, int posy, quad width, quad height, float angle, float scale, byte *src);\r
132 byte *InitMosaicTable(void);\r
133 void Mosaic(quad xlevel, quad ylevel, byte *tbl, quad xmin, quad ymin, quad xmax, quad ymax);\r
134 \r
135 void TMapPoly(int x1, int y1, int x2, int y2, int x3, int y3,\r
136               int tx1, int ty1, int tx2, int ty2, int tx3, int ty3,\r
137               int tw, int th, char *img);\r
138 void FlatPoly(int x1, int y1, int x2, int y2, int x3, int y3, char color);\r
139 \r
140 #endif // VDRIVER_H\r