summaryrefslogtreecommitdiffstats
path: root/src/core/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/main.cpp')
-rw-r--r--src/core/main.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/core/main.cpp b/src/core/main.cpp
index 74172bf3..0b1dc6a1 100644
--- a/src/core/main.cpp
+++ b/src/core/main.cpp
@@ -890,18 +890,18 @@ void
MattRenderScene(void)
{
// this calls CMattRenderer::Render
- CWorld::AdvanceCurrentScanCode();
+ /// CWorld::AdvanceCurrentScanCode();
// CMattRenderer::ResetRenderStates
- CRenderer::ClearForFrame();
+ /// CRenderer::ClearForFrame(); // before ConstructRenderList
// CClock::CalcEnvMapTimeMultiplicator
CWaterLevel::RenderWater(); // actually CMattRenderer::RenderWater
// CClock::ms_EnvMapTimeMultiplicator = 1.0f;
// cWorldStream::ClearDynamics
- CRenderer::ConstructRenderList();
+ /// CRenderer::ConstructRenderList(); // before PreRender
if(gbRenderWorld0)
CRenderer::RenderWorld(0); // roads
// CMattRenderer::ResetRenderStates
- CRenderer::PreRender();
+ /// CRenderer::PreRender(); // has to be called before BeginUpdate because of cutscene shadows
CCoronas::RenderReflections();
if(gbRenderWorld1)
CRenderer::RenderWorld(1); // opaque
@@ -1213,21 +1213,23 @@ Idle(void *arg)
pos.y = SCREEN_HEIGHT / 2.0f;
RsMouseSetPos(&pos);
#endif
-#ifdef NEW_RENDERER
- if(!gbNewRenderer)
-#endif
-{
+
tbStartTimer(0, "CnstrRenderList");
#ifdef PC_WATER
CWaterLevel::PreCalcWaterGeometry();
#endif
+#ifdef NEW_RENDERER
+ if(gbNewRenderer){
+ CWorld::AdvanceCurrentScanCode(); // don't think this is even necessary
+ CRenderer::ClearForFrame();
+ }
+#endif
CRenderer::ConstructRenderList();
tbEndTimer("CnstrRenderList");
tbStartTimer(0, "PreRender");
CRenderer::PreRender();
tbEndTimer("PreRender");
-}
#ifdef FIX_BUGS
RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void *)FALSE); // TODO: temp? this fixes OpenGL render but there should be a better place for this