Add missing copyright statement, comments.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 787
This commit is contained in:
Simon Howard 2006-12-18 19:21:21 +00:00
parent 0cc2ad3809
commit 29ee554a51
2 changed files with 57 additions and 2 deletions

View file

@ -1,3 +1,32 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005,2006 Simon Howard
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
// DESCRIPTION:
// Screen scale-up code:
// 1x,2x,3x,4x pixel doubling
// Aspect ratio-correcting stretch functions
//
//-----------------------------------------------------------------------------
#include "doomdef.h"
#include "doomtype.h"
@ -23,6 +52,9 @@ static int dest_pitch;
static byte *stretch_tables[2];
// Called to set the source and destination buffers before doing the
// scale.
void I_InitScale(byte *_src_buffer, byte *_dest_buffer, int _dest_pitch)
{
src_buffer = _src_buffer;
@ -30,6 +62,13 @@ void I_InitScale(byte *_src_buffer, byte *_dest_buffer, int _dest_pitch)
dest_pitch = _dest_pitch;
}
//
// Pixel doubling scale-up functions.
//
// 1x scale doesn't really do any scaling: it just copies the buffer
// a line at a time for when pitch != SCREENWIDTH (!native_surface)
void I_Scale1x(int x1, int y1, int x2, int y2)
{
byte *bufp, *screenp;
@ -217,6 +256,9 @@ static byte *GenerateStretchTable(byte *palette, int pct)
return result;
}
// Called at startup to generate the lookup tables for aspect ratio
// correcting scale up.
void I_InitStretchTables(byte *palette)
{
// We only actually need two lookup tables:
@ -236,6 +278,13 @@ void I_InitStretchTables(byte *palette)
puts("");
}
//
// Aspect ratio correcting scale up functions.
//
// These double up pixels to stretch the screen when using a 4:3
// screen mode.
//
static void WriteBlendedLine1x(byte *dest, byte *src1, byte *src2,
byte *stretch_table)
{

View file

@ -20,7 +20,7 @@
// 02111-1307, USA.
//
// DESCRIPTION:
// System specific interface stuff.
// Pixel-doubling scale up functions.
//
//-----------------------------------------------------------------------------
@ -30,16 +30,22 @@
#include "doomtype.h"
void I_InitStretchTables(byte *palette);
void I_InitScale(byte *_src_buffer, byte *_dest_buffer, int _dest_pitch);
// Normal pixel-perfect doubling functions.
void I_Scale1x(int x1, int y1, int x2, int y2);
void I_Scale2x(int x1, int y1, int x2, int y2);
void I_Scale3x(int x1, int y1, int x2, int y2);
void I_Scale4x(int x1, int y1, int x2, int y2);
// Aspect ratio correcting scale up functions
void I_Stretch1x(int x1, int y1, int x2, int y2);
void I_Stretch2x(int x1, int y1, int x2, int y2);
void I_Stretch3x(int x1, int y1, int x2, int y2);
void I_Stretch4x(int x1, int y1, int x2, int y2);
void I_InitStretchTables(byte *palette);
#endif /* #ifndef __I_SCALE__ */