v4k-git-backup/demos/ports/doom/src/v_video.h

98 lines
2.5 KiB
C
Raw Normal View History

2023-08-10 14:30:56 +00:00
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// $Id:$
//
// Copyright (C) 1993-1996 by id Software, Inc.
//
// This source is available for distribution and/or modification
// only under the terms of the DOOM Source Code License as
// published by id Software. All rights reserved.
//
// The source is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
// for more details.
//
// DESCRIPTION:
// Gamma correction LUT.
// Functions to draw patches (by post) directly to screen.
// Functions to blit a block to the screen.
//
//-----------------------------------------------------------------------------
#ifndef __V_VIDEO__
#define __V_VIDEO__
#include "doomtype.h"
#include "doomdef.h"
#include "r_data.h" // Needed because we are refering to patches.
//
// VIDEO
//
#define CENTERY (SCREENHEIGHT / 2)
// Screen 0 is the screen updated by I_Update screen.
// Screen 1 is an extra buffer.
extern byte* screens[5];
extern int dirtybox[4];
extern byte gammatable[5][256];
extern int usegamma;
// Allocates buffer screens, call before R_Init.
void V_Init(void);
void V_CopyRect(int srcx,
int srcy,
int srcscrn,
int width,
int height,
int destx,
int desty,
int destscrn);
void V_DrawPatch(int x,
int y,
int scrn,
patch_t* patch);
void V_DrawPatchDirect(int x,
int y,
int scrn,
patch_t* patch);
void V_DrawPatchRectDirect(int x, int y, int scrn, patch_t* patch, int src_x, int src_w);
// Draw a linear block of pixels into the view buffer.
void V_DrawBlock(int x,
int y,
int scrn,
int width,
int height,
byte* src);
// Reads a linear block of pixels into the view buffer.
void V_GetBlock(int x,
int y,
int scrn,
int width,
int height,
byte* dest);
void V_MarkRect(int x,
int y,
int width,
int height);
#endif
//-----------------------------------------------------------------------------
//
// $Log:$
//
//-----------------------------------------------------------------------------