Improve readability of renderFeature by returning early, adding some comments, etc
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5350 4a71c877-e1ca-e34f-864e-861f7616d084master
parent
fec1f446d3
commit
45b8413abf
|
@ -1639,22 +1639,29 @@ void renderFeature(FEATURE *psFeature)
|
||||||
BOOL bForceDraw = ( !getRevealStatus() && psFeature->psStats->visibleAtStart);
|
BOOL bForceDraw = ( !getRevealStatus() && psFeature->psStats->visibleAtStart);
|
||||||
int shadowFlags = 0;
|
int shadowFlags = 0;
|
||||||
|
|
||||||
if (psFeature->visible[selectedPlayer] || godMode || demoGetStatus() || bForceDraw)
|
if (!psFeature->visible[selectedPlayer] && !godMode && !demoGetStatus() && !bForceDraw)
|
||||||
{
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mark it as having been drawn */
|
||||||
psFeature->sDisplay.frameNumber = currentGameFrame;
|
psFeature->sDisplay.frameNumber = currentGameFrame;
|
||||||
|
|
||||||
/* Get it's x and y coordinates so we don't have to deref. struct later */
|
/* Get it's x and y coordinates so we don't have to deref. struct later */
|
||||||
featX = psFeature->pos.x;
|
featX = psFeature->pos.x;
|
||||||
featY = psFeature->pos.y;
|
featY = psFeature->pos.y;
|
||||||
|
|
||||||
/* Daft hack to get around the oild derrick issue */
|
/* Daft hack to get around the oild derrick issue */
|
||||||
if (!TileHasFeature(mapTile(map_coord(featX), map_coord(featY))))
|
if (!TileHasFeature(mapTile(map_coord(featX), map_coord(featY))))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dv.x = (featX - player.p.x) - terrainMidX*TILE_UNITS;
|
|
||||||
dv.z = terrainMidY*TILE_UNITS - (featY - player.p.z);
|
|
||||||
|
|
||||||
/* features sits at the height of the tile it's centre is on */
|
dv = Vector3i_New(
|
||||||
dv.y = psFeature->pos.z;
|
(featX - player.p.x) - terrainMidX*TILE_UNITS,
|
||||||
|
dv.y = psFeature->pos.z, // features sits at the height of the tile it's centre is on
|
||||||
|
terrainMidY*TILE_UNITS - (featY - player.p.z)
|
||||||
|
);
|
||||||
|
|
||||||
/* Push the indentity matrix */
|
/* Push the indentity matrix */
|
||||||
iV_MatrixBegin();
|
iV_MatrixBegin();
|
||||||
|
@ -1662,6 +1669,7 @@ void renderFeature(FEATURE *psFeature)
|
||||||
/* Translate the feature - N.B. We can also do rotations here should we require
|
/* Translate the feature - N.B. We can also do rotations here should we require
|
||||||
buildings to face different ways - Don't know if this is necessary - should be IMO */
|
buildings to face different ways - Don't know if this is necessary - should be IMO */
|
||||||
iV_TRANSLATE(dv.x,dv.y,dv.z);
|
iV_TRANSLATE(dv.x,dv.y,dv.z);
|
||||||
|
|
||||||
/* Get the x,z translation components */
|
/* Get the x,z translation components */
|
||||||
rx = player.p.x & (TILE_UNITS-1);
|
rx = player.p.x & (TILE_UNITS-1);
|
||||||
rz = player.p.z & (TILE_UNITS-1);
|
rz = player.p.z & (TILE_UNITS-1);
|
||||||
|
@ -1674,28 +1682,29 @@ void renderFeature(FEATURE *psFeature)
|
||||||
|
|
||||||
brightness = pal_SetBrightness(200); //? HUH?
|
brightness = pal_SetBrightness(200); //? HUH?
|
||||||
|
|
||||||
if(psFeature->psStats->subType == FEAT_SKYSCRAPER)
|
if (psFeature->psStats->subType == FEAT_SKYSCRAPER)
|
||||||
{
|
{
|
||||||
objectShimmy((BASE_OBJECT*)psFeature);
|
objectShimmy((BASE_OBJECT*)psFeature);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(godMode || demoGetStatus() || bForceDraw)
|
if (godMode || demoGetStatus() || bForceDraw)
|
||||||
{
|
{
|
||||||
brightness = pal_SetBrightness(200);
|
brightness = pal_SetBrightness(200);
|
||||||
}
|
}
|
||||||
else if(getRevealStatus())
|
else if (getRevealStatus())
|
||||||
{
|
{
|
||||||
brightness = pal_SetBrightness(avGetObjLightLevel((BASE_OBJECT*)psFeature, brightness.byte.r));
|
brightness = pal_SetBrightness(avGetObjLightLevel((BASE_OBJECT*)psFeature, brightness.byte.r));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (psFeature->psStats->subType == FEAT_BUILDING || psFeature->psStats->subType == FEAT_SKYSCRAPER
|
if (psFeature->psStats->subType == FEAT_BUILDING
|
||||||
|
|| psFeature->psStats->subType == FEAT_SKYSCRAPER
|
||||||
|| psFeature->psStats->subType == FEAT_OIL_DRUM)
|
|| psFeature->psStats->subType == FEAT_OIL_DRUM)
|
||||||
{
|
{
|
||||||
// these cast a shadow
|
/* these cast a shadow */
|
||||||
shadowFlags = pie_STATIC_SHADOW;
|
shadowFlags = pie_STATIC_SHADOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(psFeature->psStats->subType == FEAT_OIL_RESOURCE)
|
if (psFeature->psStats->subType == FEAT_OIL_RESOURCE)
|
||||||
{
|
{
|
||||||
vecTemp = psFeature->sDisplay.imd->points;
|
vecTemp = psFeature->sDisplay.imd->points;
|
||||||
flattenImd(psFeature->sDisplay.imd, psFeature->pos.x, psFeature->pos.y, 0);
|
flattenImd(psFeature->sDisplay.imd, psFeature->pos.x, psFeature->pos.y, 0);
|
||||||
|
@ -1720,7 +1729,6 @@ void renderFeature(FEATURE *psFeature)
|
||||||
}
|
}
|
||||||
|
|
||||||
iV_MatrixEnd();
|
iV_MatrixEnd();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderProximityMsg(PROXIMITY_DISPLAY *psProxDisp)
|
void renderProximityMsg(PROXIMITY_DISPLAY *psProxDisp)
|
||||||
|
|
Loading…
Reference in New Issue