//video.h
// 08/18/03 Josh Holtrop
// Modified: 11/12/03

void video_init();
void video_horiz(int y, int x1, int x2, dword color);
void video_vert(int x, int y1, int y2, dword color);
void video_rect(int x1, int y1, int x2, int y2, dword color);
void video_rectf(int x1, int y1, int x2, int y2, dword color);
inline void video_pset(int x, int y, dword color);
void video_psetp16(int pixel, dword color);
void video_psetp24(int pixel, dword color);
void video_psetp32(int pixel, dword color);
void video_renderChar(int x, int y, int character, dword color);

typedef struct{
	word	ModeAttributes;
	byte	WinAAttributes;
	byte	WinBAttributes;
	word	WinGranularity;
	word	WinSize;
	word	WinASegment;
	word	WinBSegment;
	dword	WinFuncPtr;
	word	BytesPerScanLine;

	word	XResolution;
	word	YResolution;
	byte	XCharSize;
	byte	YCharSize;
	byte	NumberOfPlanes;
	byte	BitsPerPixel;
	byte	NumberOfBanks;
	byte	MemoryModel;
	byte	BankSize;
	byte	NumberOfImagePages;
	byte	Reserved1;

	byte	RedMaskSize;
	byte	RedFieldPosition;
	byte	GreenMaskSize;
	byte	GreenFieldPosition;
	byte	BlueMaskSize;
	byte	BlueFieldPosition;
	byte	RsvdMaskSize;
	byte	RsvdFieldPosition;
	byte	DirectColorModeInfo;

	dword	PhysBasePtr;
	dword	OffScreenMemOffset;
	word	OffScreenMemSize;
	byte	Reserved[206];
} ModeInfoBlock;

ModeInfoBlock	video_mode;
byte	*vid_ptr24;
word	*vid_ptr16;
dword	*vid_ptr32;
void (*video_psetp)(int, dword);	//function pointer to set a pixel






