add Tiny (the same effect as the old Mini)

make calories less generous
This commit is contained in:
Chris Danford
2006-04-05 02:59:16 +00:00
parent 5ae5fdaefc
commit 74ecf45379
6 changed files with 34 additions and 6 deletions
+14 -2
View File
@@ -280,8 +280,16 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float
static void ArrowGetReverseShiftAndScale( const PlayerState* pPlayerState, int iCol, float fYReverseOffsetPixels, float &fShiftOut, float &fScaleOut )
{
/* XXX: Hack: we need to scale the reverse shift by the zoom. */
float fTinyPercent = pPlayerState->m_CurrentPlayerOptions.m_fEffects[PlayerOptions::EFFECT_TINY];
float fZoom = 1 - fTinyPercent*0.5f;
// don't divide by 0
if( fabsf(fZoom) < 0.01 )
fZoom = 0.01f;
float fPercentReverse = pPlayerState->m_CurrentPlayerOptions.GetReversePercentForColumn(iCol);
fShiftOut = SCALE( fPercentReverse, 0.f, 1.f, -fYReverseOffsetPixels/2, fYReverseOffsetPixels/2 );
fShiftOut = SCALE( fPercentReverse, 0.f, 1.f, -fYReverseOffsetPixels/fZoom/2, fYReverseOffsetPixels/fZoom/2 );
float fPercentCentered = pPlayerState->m_CurrentPlayerOptions.m_fScrolls[PlayerOptions::SCROLL_CENTERED];
fShiftOut = SCALE( fPercentCentered, 0.f, 1.f, fShiftOut, 0.0f );
@@ -394,7 +402,11 @@ float ArrowEffects::GetRotation( const PlayerState* pPlayerState, float fNoteBea
static float GetCenterLine( const PlayerState* pPlayerState )
{
return CENTER_LINE_Y;
/* Another mini hack: if EFFECT_MINI is on, then our center line is at eg. 320,
* not 160. */
const float fMiniPercent = pPlayerState->m_CurrentPlayerOptions.m_fEffects[PlayerOptions::EFFECT_TINY];
const float fZoom = 1 - fMiniPercent*0.5f;
return CENTER_LINE_Y / fZoom;
}
static float GetHiddenSudden( const PlayerState* pPlayerState )
+1
View File
@@ -453,6 +453,7 @@ void NoteField::DrawPrimitives()
float fDrawScale = 1;
fDrawScale *= 1 + 0.5f * fabsf( current_po.m_fPerspectiveTilt );
fDrawScale *= 1 + fabsf( current_po.m_fEffects[PlayerOptions::EFFECT_TINY] );
iFirstPixelToDraw = (int)(iFirstPixelToDraw * fDrawScale);
iLastPixelToDraw = (int)(iLastPixelToDraw * fDrawScale);
+2 -1
View File
@@ -19,8 +19,9 @@ void NoteFieldMode::BeginDrawTrack( const PlayerState* pPlayerState, int iTrack
// TODO: Remove indexing by PlayerNumber.
float fPixelXOffsetFromCenter = s->m_ColumnInfo[pPlayerState->m_PlayerNumber][iTrack].fXOffset;
/* Allow Mini to pull tracks together, but not to push them apart. */
const float* fEffects = pPlayerState->m_CurrentPlayerOptions.m_fEffects;
/* Allow Mini to pull tracks together, but not to push them apart. */
float fMiniPercent = fEffects[PlayerOptions::EFFECT_MINI];
fMiniPercent = min( powf(0.5f, fMiniPercent), 1.0f );
fPixelXOffsetFromCenter *= fMiniPercent;
+14 -3
View File
@@ -517,7 +517,11 @@ void Player::Update( float fDeltaTime )
float fMiniPercent = m_pPlayerState->m_CurrentPlayerOptions.m_fEffects[PlayerOptions::EFFECT_MINI];
float fJudgmentZoom = min( powf(0.5f, fMiniPercent), 1.0f );
float fTinyPercent = m_pPlayerState->m_CurrentPlayerOptions.m_fEffects[PlayerOptions::EFFECT_TINY];
float fNoteFieldZoom = 1 - fTinyPercent*0.5f;
float fJudgmentZoom = min( powf(0.5f, fMiniPercent+fTinyPercent), 1.0f );
if( m_pNoteField )
m_pNoteField->SetZoom( fNoteFieldZoom );
if( m_pJudgment )
m_pJudgment->SetZoom( m_pJudgment->GetZoom() * fJudgmentZoom );
if( m_sprJudgmentFrame.IsLoaded() )
@@ -816,6 +820,12 @@ void Player::DrawPrimitives()
float fTiltDegrees = SCALE(fTilt,-1.f,+1.f,+30,-30) * (bReverse?-1:1);
float fZoom = SCALE( m_pPlayerState->m_CurrentPlayerOptions.m_fEffects[PlayerOptions::EFFECT_TINY], 0.f, 1.f, 1.f, 0.5f );
if( fTilt > 0 )
fZoom *= SCALE( fTilt, 0.f, 1.f, 1.f, 0.9f );
else
fZoom *= SCALE( fTilt, 0.f, -1.f, 1.f, 0.9f );
float fYOffset;
if( fTilt > 0 )
fYOffset = SCALE( fTilt, 0.f, 1.f, 0.f, -45.f ) * (bReverse?-1:1);
@@ -823,6 +833,7 @@ void Player::DrawPrimitives()
fYOffset = SCALE( fTilt, 0.f, -1.f, 0.f, -20.f ) * (bReverse?-1:1);
m_pNoteField->SetY( fOriginalY + fYOffset );
m_pNoteField->SetZoom( fZoom );
m_pNoteField->SetRotationX( fTiltDegrees );
m_pNoteField->Draw();
@@ -1040,8 +1051,8 @@ void Player::HandleStep( int col, const RageTimer &tm, bool bHeld )
// fall through
default:
{
float fCalsFor100Lbs = SCALE( iNumTracksHeld, 1, 2, 0.029f, 0.097f );
float fCalsFor200Lbs = SCALE( iNumTracksHeld, 1, 2, 0.052f, 0.167f );
float fCalsFor100Lbs = SCALE( iNumTracksHeld, 1, 2, 0.023f, 0.077f );
float fCalsFor200Lbs = SCALE( iNumTracksHeld, 1, 2, 0.041f, 0.133f );
fCals = SCALE( pProfile->GetCalculatedWeightPounds(), 100.f, 200.f, fCalsFor100Lbs, fCalsFor200Lbs );
}
break;
+2
View File
@@ -119,6 +119,7 @@ void PlayerOptions::GetMods( vector<RString> &AddTo ) const
AddPart( AddTo, m_fEffects[EFFECT_DRUNK], "Drunk" );
AddPart( AddTo, m_fEffects[EFFECT_DIZZY], "Dizzy" );
AddPart( AddTo, m_fEffects[EFFECT_MINI], "Mini" );
AddPart( AddTo, m_fEffects[EFFECT_TINY], "Tiny" );
AddPart( AddTo, m_fEffects[EFFECT_FLIP], "Flip" );
AddPart( AddTo, m_fEffects[EFFECT_INVERT], "Invert" );
AddPart( AddTo, m_fEffects[EFFECT_TORNADO], "Tornado" );
@@ -282,6 +283,7 @@ void PlayerOptions::FromString( const RString &sOptions, bool bWarnOnInvalid )
else if( sBit == "drunk" ) SET_FLOAT( fEffects[EFFECT_DRUNK] )
else if( sBit == "dizzy" ) SET_FLOAT( fEffects[EFFECT_DIZZY] )
else if( sBit == "mini" ) SET_FLOAT( fEffects[EFFECT_MINI] )
else if( sBit == "tiny" ) SET_FLOAT( fEffects[EFFECT_TINY] )
else if( sBit == "flip" ) SET_FLOAT( fEffects[EFFECT_FLIP] )
else if( sBit == "invert" ) SET_FLOAT( fEffects[EFFECT_INVERT] )
else if( sBit == "tornado" ) SET_FLOAT( fEffects[EFFECT_TORNADO] )
+1
View File
@@ -41,6 +41,7 @@ public:
EFFECT_DRUNK,
EFFECT_DIZZY,
EFFECT_MINI,
EFFECT_TINY,
EFFECT_FLIP,
EFFECT_INVERT,
EFFECT_TORNADO,