2016-03-01 15:47:10 +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:
|
|
|
|
// Refresh, visplane stuff (floor, ceilings).
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __R_PLANE_H__
|
|
|
|
#define __R_PLANE_H__
|
|
|
|
|
2016-12-30 05:42:20 +00:00
|
|
|
#include "r_visible_plane.h"
|
2016-03-01 15:47:10 +00:00
|
|
|
|
2016-12-22 04:20:53 +00:00
|
|
|
namespace swrenderer
|
2016-12-01 01:38:32 +00:00
|
|
|
{
|
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
typedef void (*planefunction_t) (int top, int bottom);
|
|
|
|
|
|
|
|
extern planefunction_t floorfunc;
|
|
|
|
extern planefunction_t ceilingfunc_t;
|
|
|
|
|
|
|
|
extern short floorclip[MAXWIDTH];
|
|
|
|
extern short ceilingclip[MAXWIDTH];
|
|
|
|
|
2016-04-29 02:07:58 +00:00
|
|
|
extern float yslope[MAXHEIGHT];
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
void R_ClearPlanes (bool fullclear);
|
|
|
|
|
2016-12-22 06:06:18 +00:00
|
|
|
void R_AddPlaneLights(visplane_t *plane, FLightNode *light_head);
|
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
int R_DrawPlanes ();
|
2016-12-30 05:08:47 +00:00
|
|
|
void R_DrawSinglePlane(visplane_t *pl, fixed_t alpha, bool additive, bool masked);
|
2016-03-01 15:47:10 +00:00
|
|
|
void R_DrawSkyPlane (visplane_t *pl);
|
2016-04-28 03:08:19 +00:00
|
|
|
void R_DrawNormalPlane (visplane_t *pl, double xscale, double yscale, fixed_t alpha, bool additive, bool masked);
|
|
|
|
void R_DrawTiltedPlane (visplane_t *pl, double xscale, double yscale, fixed_t alpha, bool additive, bool masked);
|
2016-03-01 15:47:10 +00:00
|
|
|
void R_MapVisPlane (visplane_t *pl, void (*mapfunc)(int y, int x1));
|
|
|
|
|
2016-12-27 06:32:21 +00:00
|
|
|
void R_MapTiltedPlane(int y, int x1);
|
|
|
|
void R_MapColoredPlane(int y, int x1);
|
|
|
|
|
2016-12-27 06:40:35 +00:00
|
|
|
void R_DrawFogBoundary(int x1, int x2, short *uclip, short *dclip);
|
|
|
|
|
2016-12-30 05:42:20 +00:00
|
|
|
visplane_t *R_FindPlane(const secplane_t &height, FTextureID picnum, int lightlevel, double alpha, bool additive, const FTransform &xform, int sky, FSectorPortal *portal);
|
|
|
|
visplane_t *R_CheckPlane(visplane_t *pl, int start, int stop);
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
extern visplane_t* floorplane;
|
|
|
|
extern visplane_t* ceilingplane;
|
|
|
|
|
2016-12-01 01:38:32 +00:00
|
|
|
}
|
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
#endif // __R_PLANE_H__
|