Skip to content

Commit

Permalink
- Inside the renderer, use only the time value being passed to Render…
Browse files Browse the repository at this point in the history
…View.

The voxel rotation code of the software renderer and R_SetupFrame still called I_FPSTime directly.
  • Loading branch information
coelckers committed Nov 12, 2017
1 parent f54475b commit e94109f
Show file tree
Hide file tree
Showing 9 changed files with 12 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/gl/scene/gl_scene.cpp
Expand Up @@ -785,7 +785,7 @@ sector_t * GLSceneDrawer::RenderViewpoint (AActor * camera, GL_IRECT * bounds, f
GLRenderer->mSceneClearColor[0] = 0.0f;
GLRenderer->mSceneClearColor[1] = 0.0f;
GLRenderer->mSceneClearColor[2] = 0.0f;
R_SetupFrame (r_viewpoint, r_viewwindow, camera);
R_SetupFrame (r_viewpoint, r_viewwindow, camera, gl_frameMS);
SetViewArea();

GLRenderer->mGlobVis = R_GetGlobVis(r_viewwindow, r_visibility);
Expand Down
2 changes: 1 addition & 1 deletion src/polyrenderer/poly_renderer.cpp
Expand Up @@ -115,7 +115,7 @@ void PolyRenderer::RenderActorView(AActor *actor, bool dontmaplines)

DontMapLines = dontmaplines;

R_SetupFrame(Viewpoint, Viewwindow, actor);
R_SetupFrame(Viewpoint, Viewwindow, actor, swrenderer::renderTime);
P_FindParticleSubsectors();
PO_LinkToSubsectors();

Expand Down
6 changes: 3 additions & 3 deletions src/r_utility.cpp
Expand Up @@ -751,7 +751,7 @@ static double QuakePower(double factor, double intensity, double offset)
//
//==========================================================================

void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor *actor)
void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor *actor, unsigned int renderTime)
{
if (actor == NULL)
{
Expand Down Expand Up @@ -982,7 +982,7 @@ void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor

if (hom == 3)
{
hom = ((I_FPSTime() / 128) & 1) + 1;
hom = ((renderTime / 128) & 1) + 1;
}
if (hom == 1)
{
Expand All @@ -994,7 +994,7 @@ void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor
}
else if (hom == 4)
{
color = (I_FPSTime() / 32) & 255;
color = (renderTime / 32) & 255;
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion src/r_utility.h
Expand Up @@ -111,7 +111,7 @@ void R_ClearInterpolationPath();
void R_AddInterpolationPoint(const DVector3a &vec);
void R_SetViewSize (int blocks);
void R_SetFOV (FRenderViewpoint &viewpoint, DAngle fov);
void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor * camera);
void R_SetupFrame (FRenderViewpoint &viewpoint, FViewWindow &viewwindow, AActor * camera, unsigned int renderTime);
void R_SetViewAngle (FRenderViewpoint &viewpoint, const FViewWindow &viewwindow);

// Called by startup code.
Expand Down
1 change: 1 addition & 0 deletions src/swrenderer/drawers/r_draw.cpp
Expand Up @@ -64,6 +64,7 @@ namespace swrenderer
int fuzzoffset[FUZZTABLE + 1];
int fuzzpos;
int fuzzviewheight;
unsigned int renderTime;

int fuzz_random_x_offset[FUZZ_RANDOM_X_SIZE] =
{
Expand Down
1 change: 1 addition & 0 deletions src/swrenderer/drawers/r_draw.h
Expand Up @@ -35,6 +35,7 @@ namespace swrenderer
extern FDynamicColormap ShadeFakeColormap[16];
extern uint8_t identitymap[256];
extern FDynamicColormap identitycolormap;
extern unsigned int renderTime;

// Constant arrays used for psprite clipping and initializing clipping.
extern short zeroarray[MAXWIDTH];
Expand Down
3 changes: 2 additions & 1 deletion src/swrenderer/r_swrenderer.cpp
Expand Up @@ -170,8 +170,9 @@ void FSoftwareRenderer::Precache(uint8_t *texhitlist, TMap<PClassActor*, bool> &
}
}

void FSoftwareRenderer::RenderView(player_t *player, unsigned int /*nowtime*/)
void FSoftwareRenderer::RenderView(player_t *player, unsigned int nowtime)
{
renderTime = nowtime;
if (r_polyrenderer)
{
PolyRenderer::Instance()->Viewpoint = r_viewpoint;
Expand Down
2 changes: 1 addition & 1 deletion src/swrenderer/scene/r_scene.cpp
Expand Up @@ -136,7 +136,7 @@ namespace swrenderer
MaskedCycles.Reset();
DrawerWaitCycles.Reset();

R_SetupFrame(MainThread()->Viewport->viewpoint, MainThread()->Viewport->viewwindow, actor);
R_SetupFrame(MainThread()->Viewport->viewpoint, MainThread()->Viewport->viewwindow, actor, renderTime);

if (APART(R_OldBlend)) NormalLight.Maps = realcolormaps.Maps;
else NormalLight.Maps = realcolormaps.Maps + NUMCOLORMAPS * 256 * R_OldBlend;
Expand Down
2 changes: 1 addition & 1 deletion src/swrenderer/things/r_voxel.cpp
Expand Up @@ -135,7 +135,7 @@ namespace swrenderer
int voxelspin = (thing->flags & MF_DROPPED) ? voxel->DroppedSpin : voxel->PlacedSpin;
if (voxelspin != 0)
{
DAngle ang = double(I_FPSTime()) * voxelspin / 1000;
DAngle ang = double(renderTime) * voxelspin / 1000;
vis->Angle -= ang;
}

Expand Down

0 comments on commit e94109f

Please sign in to comment.