mirror of
https://github.com/id-Software/wolf3d.git
synced 2026-03-19 16:39:29 +01:00
The Wolfenstein 3D source as originally released.
This commit is contained in:
134
WOLFSRC/ID_VH.H
Normal file
134
WOLFSRC/ID_VH.H
Normal file
@@ -0,0 +1,134 @@
|
||||
// ID_VH.H
|
||||
|
||||
|
||||
#define WHITE 15 // graphics mode independant colors
|
||||
#define BLACK 0
|
||||
#define FIRSTCOLOR 1
|
||||
#define SECONDCOLOR 12
|
||||
#define F_WHITE 15
|
||||
#define F_BLACK 0
|
||||
#define F_FIRSTCOLOR 1
|
||||
#define F_SECONDCOLOR 12
|
||||
|
||||
//===========================================================================
|
||||
|
||||
#define MAXSHIFTS 1
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int width,
|
||||
height,
|
||||
orgx,orgy,
|
||||
xl,yl,xh,yh,
|
||||
shifts;
|
||||
} spritetabletype;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned sourceoffset[MAXSHIFTS];
|
||||
unsigned planesize[MAXSHIFTS];
|
||||
unsigned width[MAXSHIFTS];
|
||||
byte data[];
|
||||
} spritetype; // the memptr for each sprite points to this
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int width,height;
|
||||
} pictabletype;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int height;
|
||||
int location[256];
|
||||
char width[256];
|
||||
} fontstruct;
|
||||
|
||||
|
||||
//===========================================================================
|
||||
|
||||
|
||||
extern pictabletype _seg *pictable;
|
||||
extern pictabletype _seg *picmtable;
|
||||
extern spritetabletype _seg *spritetable;
|
||||
|
||||
extern byte fontcolor;
|
||||
extern int fontnumber;
|
||||
extern int px,py;
|
||||
|
||||
//
|
||||
// Double buffer management routines
|
||||
//
|
||||
|
||||
void VW_InitDoubleBuffer (void);
|
||||
int VW_MarkUpdateBlock (int x1, int y1, int x2, int y2);
|
||||
void VW_UpdateScreen (void);
|
||||
|
||||
//
|
||||
// mode independant routines
|
||||
// coordinates in pixels, rounded to best screen res
|
||||
// regions marked in double buffer
|
||||
//
|
||||
|
||||
void VWB_DrawTile8 (int x, int y, int tile);
|
||||
void VWB_DrawTile8M (int x, int y, int tile);
|
||||
void VWB_DrawTile16 (int x, int y, int tile);
|
||||
void VWB_DrawTile16M (int x, int y, int tile);
|
||||
void VWB_DrawPic (int x, int y, int chunknum);
|
||||
void VWB_DrawMPic(int x, int y, int chunknum);
|
||||
void VWB_Bar (int x, int y, int width, int height, int color);
|
||||
|
||||
void VWB_DrawPropString (char far *string);
|
||||
void VWB_DrawMPropString (char far *string);
|
||||
void VWB_DrawSprite (int x, int y, int chunknum);
|
||||
void VWB_Plot (int x, int y, int color);
|
||||
void VWB_Hlin (int x1, int x2, int y, int color);
|
||||
void VWB_Vlin (int y1, int y2, int x, int color);
|
||||
|
||||
|
||||
//
|
||||
// wolfenstein EGA compatability stuff
|
||||
//
|
||||
extern byte far gamepal;
|
||||
|
||||
void VH_SetDefaultColors (void);
|
||||
|
||||
#define VW_Startup VL_Startup
|
||||
#define VW_Shutdown VL_Shutdown
|
||||
#define VW_SetCRTC VL_SetCRTC
|
||||
#define VW_SetScreen VL_SetScreen
|
||||
#define VW_Bar VL_Bar
|
||||
#define VW_Plot VL_Plot
|
||||
#define VW_Hlin(x,z,y,c) VL_Hlin(x,y,(z)-(x)+1,c)
|
||||
#define VW_Vlin(y,z,x,c) VL_Vlin(x,y,(z)-(y)+1,c)
|
||||
#define VW_DrawPic VH_DrawPic
|
||||
#define VW_SetSplitScreen VL_SetSplitScreen
|
||||
#define VW_SetLineWidth VL_SetLineWidth
|
||||
#define VW_ColorBorder VL_ColorBorder
|
||||
#define VW_WaitVBL VL_WaitVBL
|
||||
#define VW_FadeIn() VL_FadeIn(0,255,&gamepal,30);
|
||||
#define VW_FadeOut() VL_FadeOut(0,255,0,0,0,30);
|
||||
#define VW_ScreenToScreen VL_ScreenToScreen
|
||||
#define VW_SetDefaultColors VH_SetDefaultColors
|
||||
void VW_MeasurePropString (char far *string, word *width, word *height);
|
||||
#define EGAMAPMASK(x) VGAMAPMASK(x)
|
||||
#define EGAWRITEMODE(x) VGAWRITEMODE(x)
|
||||
|
||||
//#define VW_MemToScreen VL_MemToLatch
|
||||
|
||||
#define MS_Quit Quit
|
||||
|
||||
|
||||
#define LatchDrawChar(x,y,p) VL_LatchToScreen(latchpics[0]+(p)*16,2,8,x,y)
|
||||
#define LatchDrawTile(x,y,p) VL_LatchToScreen(latchpics[1]+(p)*64,4,16,x,y)
|
||||
|
||||
void LatchDrawPic (unsigned x, unsigned y, unsigned picnum);
|
||||
void LoadLatchMem (void);
|
||||
boolean FizzleFade (unsigned source, unsigned dest,
|
||||
unsigned width,unsigned height, unsigned frames,boolean abortable);
|
||||
|
||||
|
||||
#define NUMLATCHPICS 100
|
||||
extern unsigned latchpics[NUMLATCHPICS];
|
||||
extern unsigned freelatch;
|
||||
|
||||
Reference in New Issue
Block a user