- removed the remaining calls from the FRenderer interface from the main game code.
This does not work with a setup where the same backend is driving both renderers. Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions. The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
This commit is contained in:
parent
927b351174
commit
d474b849a5
18 changed files with 243 additions and 238 deletions
|
|
@ -3427,6 +3427,8 @@ void P_GetPolySpots (MapData * map, TArray<FNodeBuilder::FPolyStart> &spots, TAr
|
|||
// Preloads all relevant graphics for the level.
|
||||
//
|
||||
//===========================================================================
|
||||
extern int currentrenderer;
|
||||
void gl_PrecacheTexture(uint8_t *texhitlist, TMap<PClassActor*, bool> &actorhitlist);
|
||||
|
||||
static void P_PrecacheLevel()
|
||||
{
|
||||
|
|
@ -3501,7 +3503,11 @@ static void P_PrecacheLevel()
|
|||
if (tex.Exists()) hitlist[tex.GetIndex()] |= FTextureManager::HIT_Wall;
|
||||
}
|
||||
|
||||
Renderer->Precache(hitlist, actorhitlist);
|
||||
// This is just a temporary solution, until the hardware renderer's texture manager is in a better state.
|
||||
if (currentrenderer == 0)
|
||||
SWRenderer->Precache(hitlist, actorhitlist);
|
||||
else
|
||||
gl_PrecacheTexture(hitlist, actorhitlist);
|
||||
|
||||
delete[] hitlist;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue