From a45d37355ed6c1bccb93aa453c370c5981cd60f9 Mon Sep 17 00:00:00 2001 From: Artem Kharytoniuk Date: Wed, 5 Apr 2017 15:17:16 +0300 Subject: [PATCH] Cleanup. --- src/engine/renderer/tr_local.h | 16 +++------------- src/engine/renderer/tr_shade.c | 3 ++- src/engine/renderer/tr_shader.c | 13 ++----------- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/engine/renderer/tr_local.h b/src/engine/renderer/tr_local.h index 60b9902..48f1423 100644 --- a/src/engine/renderer/tr_local.h +++ b/src/engine/renderer/tr_local.h @@ -404,20 +404,10 @@ typedef struct shader_s { int numUnfoggedPasses; shaderStage_t *stages[MAX_SHADER_STAGES]; - void (*optimalStageIteratorFunc)( void ); + float clampTime; // time this shader is clamped to + float timeOffset; // current time offset for this shader - float clampTime; // time this shader is clamped to - float timeOffset; // current time offset for this shader - - int numStates; // if non-zero this is a state shader - struct shader_s *currentShader; // current state if this is a state shader - struct shader_s *parentShader; // current state if this is a state shader - int currentState; // current state index for cycle purposes - long expireTime; // time in milliseconds this expires - - struct shader_s *remappedShader; // current shader this one is remapped too - - int shaderStates[MAX_STATES_PER_SHADER]; // index to valid shader states + struct shader_s *remappedShader; // current shader this one is remapped too struct shader_s *next; } shader_t; diff --git a/src/engine/renderer/tr_shade.c b/src/engine/renderer/tr_shade.c index 7ada9f4..03fe34e 100644 --- a/src/engine/renderer/tr_shade.c +++ b/src/engine/renderer/tr_shade.c @@ -167,7 +167,8 @@ void RB_BeginSurface( shader_t *shader, int fogNum ) { tess.dlightBits = 0; // will be OR'd in by surface functions tess.xstages = state->stages; tess.numPasses = state->numUnfoggedPasses; - tess.currentStageIteratorFunc = state->optimalStageIteratorFunc; + + tess.currentStageIteratorFunc = state->isSky ? RB_StageIteratorSky : RB_StageIteratorGeneric; tess.shaderTime = backEnd.refdef.floatTime - tess.shader->timeOffset; if (tess.shader->clampTime && tess.shaderTime >= tess.shader->clampTime) { diff --git a/src/engine/renderer/tr_shader.c b/src/engine/renderer/tr_shader.c index d6db0c4..4edeb9f 100644 --- a/src/engine/renderer/tr_shader.c +++ b/src/engine/renderer/tr_shader.c @@ -2161,13 +2161,6 @@ static shader_t *FinishShader( void ) { shader.sort = SS_FOG; } - // determine which stage iterator function is appropriate - if ( shader.isSky ) { - shader.optimalStageIteratorFunc = RB_StageIteratorSky; - } else { - shader.optimalStageIteratorFunc = RB_StageIteratorGeneric; - } - return GeneratePermanentShader(); } @@ -2700,12 +2693,10 @@ void R_ShaderList_f (void) { ri.Printf( PRINT_ALL, " " ); } - if ( shader->optimalStageIteratorFunc == RB_StageIteratorGeneric ) { + if ( !shader->isSky ) { ri.Printf( PRINT_ALL, "gen " ); - } else if ( shader->optimalStageIteratorFunc == RB_StageIteratorSky ) { - ri.Printf( PRINT_ALL, "sky " ); } else { - ri.Printf( PRINT_ALL, " " ); + ri.Printf( PRINT_ALL, "sky " ); } if ( shader->defaultShader ) {