gzdoom-gles/src/swrenderer/scene/r_things.h

77 lines
2 KiB
C
Raw Normal View History

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:
// Rendering of moving objects, sprites.
//
//-----------------------------------------------------------------------------
#ifndef __R_THINGS__
#define __R_THINGS__
2016-12-30 06:15:10 +00:00
#include "r_visible_sprite.h"
2016-03-01 15:47:10 +00:00
struct particle_t;
struct FVoxel;
2016-12-22 04:20:53 +00:00
namespace swrenderer
{
void R_DrawParticle (vissprite_t *);
2016-03-01 15:47:10 +00:00
void R_ProjectParticle (particle_t *, const sector_t *sector, int shade, int fakeside);
// Constant arrays used for psprite clipping
// and initializing clipping.
extern short zeroarray[MAXWIDTH];
extern short screenheightarray[MAXWIDTH];
// vars for R_DrawMaskedColumn
extern short* mfloorclip;
extern short* mceilingclip;
extern double spryscale;
extern double sprtopscreen;
2016-03-01 15:47:10 +00:00
extern bool sprflipvert;
extern double pspritexscale;
extern double pspritexiscale;
extern double pspriteyscale;
2016-03-01 15:47:10 +00:00
extern FTexture *WallSpriteTile;
2016-12-25 07:01:21 +00:00
void R_DrawMaskedColumn (FTexture *texture, fixed_t column, bool unmasked = false);
void R_WallSpriteColumn ();
2016-03-01 15:47:10 +00:00
void R_CacheSprite (spritedef_t *sprite);
void R_SortVisSprites (int (*compare)(const void *, const void *), size_t first);
2016-03-01 15:47:10 +00:00
void R_AddSprites (sector_t *sec, int lightlevel, int fakeside);
void R_DrawSprites ();
void R_ClearSprites ();
void R_DrawMasked ();
void R_DrawRemainingPlayerSprites ();
void R_CheckOffscreenBuffer(int width, int height, bool spansonly);
enum { DVF_OFFSCREEN = 1, DVF_SPANSONLY = 2, DVF_MIRRORED = 4 };
void R_ClipVisSprite (vissprite_t *vis, int xl, int xh);
}
2016-03-01 15:47:10 +00:00
#endif