2017-01-12 15:21:46 +00:00
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "r_defs.h"
|
|
|
|
#include "d_player.h"
|
|
|
|
|
|
|
|
extern cycle_t FrameCycles;
|
|
|
|
|
|
|
|
namespace swrenderer
|
|
|
|
{
|
|
|
|
extern cycle_t WallCycles, PlaneCycles, MaskedCycles, WallScanCycles;
|
2017-01-14 01:25:02 +00:00
|
|
|
|
|
|
|
class RenderScene
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static RenderScene *Instance();
|
2017-01-12 15:21:46 +00:00
|
|
|
|
2017-01-14 01:25:02 +00:00
|
|
|
void Init();
|
|
|
|
void ScreenResized();
|
|
|
|
void Deinit();
|
2017-01-15 02:19:03 +00:00
|
|
|
|
|
|
|
void SetClearColor(int color);
|
2017-01-14 01:25:02 +00:00
|
|
|
|
2017-01-15 01:46:43 +00:00
|
|
|
void RenderView(player_t *player);
|
2017-01-14 01:25:02 +00:00
|
|
|
void RenderViewToCanvas(AActor *actor, DCanvas *canvas, int x, int y, int width, int height, bool dontmaplines = false);
|
|
|
|
|
|
|
|
bool DontMapLines() const { return dontmaplines; }
|
2017-01-12 15:21:46 +00:00
|
|
|
|
2017-01-14 01:25:02 +00:00
|
|
|
private:
|
2017-01-15 22:03:58 +00:00
|
|
|
void RenderActorView(AActor *actor, bool dontmaplines = false);
|
|
|
|
|
2017-01-14 01:25:02 +00:00
|
|
|
bool dontmaplines = false;
|
2017-01-15 02:19:03 +00:00
|
|
|
int clearcolor = 0;
|
2017-01-14 01:25:02 +00:00
|
|
|
};
|
2017-01-12 15:21:46 +00:00
|
|
|
}
|