clean up STYLE_TECHNO_VERSUS8 hack: Sprite really should not

be depending on GameState
This commit is contained in:
Glenn Maynard
2004-06-08 22:27:37 +00:00
parent f482a18a37
commit aea0a41a68
6 changed files with 27 additions and 12 deletions
+9
View File
@@ -417,6 +417,15 @@ bool ArrowsNeedZBuffer( PlayerNumber pn )
return false; return false;
} }
float ArrowGetZoom( PlayerNumber pn )
{
/* Hack: make STYLE_TECHNO_VERSUS8 fit. */
if( GAMESTATE->m_CurGame == GAME_TECHNO &&
GAMESTATE->m_CurStyle == STYLE_TECHNO_VERSUS8 )
return 0.8f;
return 1.0f;
}
/* /*
* (c) 2001-2004 Chris Danford * (c) 2001-2004 Chris Danford
* All rights reserved. * All rights reserved.
+2
View File
@@ -51,6 +51,8 @@ float ArrowGetGlow( PlayerNumber pn, int iCol, float fYPos, float fPercentFadeTo
// Depends on fYOffset. // Depends on fYOffset.
float ArrowGetBrightness( PlayerNumber pn, float fNoteBeat ); float ArrowGetBrightness( PlayerNumber pn, float fNoteBeat );
// This is the zoom of the individual tracks, not of the whole Player.
float ArrowGetZoom( PlayerNumber pn );
#endif #endif
+5
View File
@@ -69,6 +69,11 @@ void GhostArrowRow::Update( float fDeltaTime )
m_GhostDim[c].SetZ( fZ ); m_GhostDim[c].SetZ( fZ );
m_GhostBright[c].SetZ( fZ ); m_GhostBright[c].SetZ( fZ );
m_HoldGhost[c].SetZ( fZ ); m_HoldGhost[c].SetZ( fZ );
const float fZoom = ArrowGetZoom( m_PlayerNumber );
m_GhostDim[c].SetZoom( fZoom );
m_GhostBright[c].SetZoom( fZoom );
m_HoldGhost[c].SetZoom( fZoom );
} }
} }
+8
View File
@@ -461,6 +461,8 @@ void NoteDisplay::DrawHoldTopCap( const HoldNote& hn, const bool bIsBeingHeld, f
static RageSpriteVertex queue[size]; static RageSpriteVertex queue[size];
Sprite* pSprTopCap = GetHoldTopCapSprite( hn.GetStartBeat(), bIsBeingHeld ); Sprite* pSprTopCap = GetHoldTopCapSprite( hn.GetStartBeat(), bIsBeingHeld );
pSprTopCap->SetZoom( ArrowGetZoom( m_PlayerNumber ) );
// draw manually in small segments // draw manually in small segments
RageSpriteVertex *v = &queue[0]; RageSpriteVertex *v = &queue[0];
RageTexture* pTexture = pSprTopCap->GetTexture(); RageTexture* pTexture = pSprTopCap->GetTexture();
@@ -527,6 +529,8 @@ void NoteDisplay::DrawHoldBody( const HoldNote& hn, const bool bIsBeingHeld, flo
Sprite* pSprBody = GetHoldBodySprite( hn.GetStartBeat(), bIsBeingHeld ); Sprite* pSprBody = GetHoldBodySprite( hn.GetStartBeat(), bIsBeingHeld );
pSprBody->SetZoom( ArrowGetZoom( m_PlayerNumber ) );
// draw manually in small segments // draw manually in small segments
RageSpriteVertex *v = &queue[0]; RageSpriteVertex *v = &queue[0];
RageTexture* pTexture = pSprBody->GetTexture(); RageTexture* pTexture = pSprBody->GetTexture();
@@ -597,6 +601,8 @@ void NoteDisplay::DrawHoldBottomCap( const HoldNote& hn, const bool bIsBeingHeld
Sprite* pBottomCap = GetHoldBottomCapSprite( hn.GetStartBeat(), bIsBeingHeld ); Sprite* pBottomCap = GetHoldBottomCapSprite( hn.GetStartBeat(), bIsBeingHeld );
pBottomCap->SetZoom( ArrowGetZoom( m_PlayerNumber ) );
// draw manually in small segments // draw manually in small segments
RageSpriteVertex *v = &queue[0]; RageSpriteVertex *v = &queue[0];
RageTexture* pTexture = pBottomCap->GetTexture(); RageTexture* pTexture = pBottomCap->GetTexture();
@@ -823,6 +829,7 @@ void NoteDisplay::DrawActor( Actor* pActor, int iCol, float fBeat, float fPercen
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels ); const float fAlpha = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
const float fGlow = ArrowGetGlow( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels ); const float fGlow = ArrowGetGlow( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
const float fColorScale = ArrowGetBrightness( m_PlayerNumber, fBeat ) * SCALE(fLife,0,1,0.2f,1); const float fColorScale = ArrowGetBrightness( m_PlayerNumber, fBeat ) * SCALE(fLife,0,1,0.2f,1);
const float fZoom = ArrowGetZoom( m_PlayerNumber );
RageColor diffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha); RageColor diffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha);
RageColor glow = RageColor(1,1,1,fGlow); RageColor glow = RageColor(1,1,1,fGlow);
@@ -831,6 +838,7 @@ void NoteDisplay::DrawActor( Actor* pActor, int iCol, float fBeat, float fPercen
pActor->SetZ( fZPos ); pActor->SetZ( fZPos );
pActor->SetDiffuse( diffuse ); pActor->SetDiffuse( diffuse );
pActor->SetGlow( glow ); pActor->SetGlow( glow );
pActor->SetZoom( fZoom );
if( bUseLighting ) if( bUseLighting )
{ {
+3
View File
@@ -41,6 +41,9 @@ void ReceptorArrowRow::Update( float fDeltaTime )
m_ReceptorArrow[c].SetX( fX ); m_ReceptorArrow[c].SetX( fX );
m_ReceptorArrow[c].SetY( fY ); m_ReceptorArrow[c].SetY( fY );
m_ReceptorArrow[c].SetZ( fZ ); m_ReceptorArrow[c].SetZ( fZ );
const float fZoom = ArrowGetZoom( m_PlayerNumber );
m_ReceptorArrow[c].SetZoom( fZoom );
} }
} }
-12
View File
@@ -12,9 +12,6 @@
#include "SDL_utils.h" #include "SDL_utils.h"
#include "ActorUtil.h" #include "ActorUtil.h"
#include "arch/ArchHooks/ArchHooks.h" #include "arch/ArchHooks/ArchHooks.h"
#include "Game.h"
#include "GameState.h"
#include "Style.h"
Sprite::Sprite() Sprite::Sprite()
{ {
@@ -82,15 +79,6 @@ bool Sprite::Load( RageTextureID ID )
else else
result = LoadFromTexture( ID ); result = LoadFromTexture( ID );
// 2-player 8-panel gets crowded - this scaling emulates the arcade behaviour to account for this
if( GAMESTATE->m_CurGame == GAME_TECHNO &&
GAMESTATE->m_CurStyle == STYLE_TECHNO_VERSUS8 &&
ID.filename.find( "NoteSkin" ) != -1 )
{
Actor::SetBaseZoomX( Actor::m_baseScale.x * (float)0.8 );
Actor::SetBaseZoomY( Actor::m_baseScale.y * (float)0.8 );
}
return result; return result;
}; };