From 2929bacb080260df78de82a69929acd2e13ed706 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 20 Mar 2004 02:59:08 +0000 Subject: [PATCH] show per-diffculty award on Eval screen every time it's received (not just the first time) clean up ScreenEval PR and MR graphics clean up Actor shadow parameters --- stepmania/src/Actor.cpp | 11 +- stepmania/src/Actor.h | 4 +- stepmania/src/BitmapText.cpp | 9 +- stepmania/src/Combo.cpp | 4 +- stepmania/src/LifeMeterBattery.cpp | 2 +- stepmania/src/MenuTimer.cpp | 2 + stepmania/src/MusicWheelItem.cpp | 4 +- stepmania/src/NoteField.cpp | 2 +- stepmania/src/OptionIcon.cpp | 2 +- stepmania/src/PercentageDisplay.cpp | 4 +- stepmania/src/ScoreDisplayNormal.cpp | 2 +- stepmania/src/ScoreDisplayOni.cpp | 2 +- stepmania/src/ScreenEdit.cpp | 4 +- stepmania/src/ScreenEvaluation.cpp | 446 ++++++++++++++------------- stepmania/src/ScreenEvaluation.h | 4 +- stepmania/src/ScreenGameplay.cpp | 10 +- stepmania/src/ScreenManager.cpp | 2 +- stepmania/src/ScreenOptions.cpp | 8 +- stepmania/src/ScreenRanking.cpp | 6 +- stepmania/src/ScreenSelectCourse.cpp | 4 +- stepmania/src/ScreenSelectMusic.cpp | 4 +- stepmania/src/ScreenStage.cpp | 6 +- stepmania/src/ScreenTestFonts.cpp | 2 +- stepmania/src/ScreenTitleMenu.cpp | 3 +- stepmania/src/Sprite.cpp | 2 +- 25 files changed, 273 insertions(+), 276 deletions(-) diff --git a/stepmania/src/Actor.cpp b/stepmania/src/Actor.cpp index 9fdbf40d42..25dec48515 100644 --- a/stepmania/src/Actor.cpp +++ b/stepmania/src/Actor.cpp @@ -52,8 +52,7 @@ void Actor::Reset() m_effectColor2 = RageColor(1,1,1,1); m_bHidden = false; - m_bShadow = false; - m_fShadowLength = 4; + m_fShadowLength = 0; m_bIsAnimating = true; m_fHibernateSecondsLeft = 0; @@ -601,13 +600,7 @@ void Actor::SetEffectPulse( float fPeriod, float fMinZoom, float fMaxZoom ) void Actor::SetShadowLength( float fLength ) { - if( fLength==0 ) - m_bShadow = false; - else - { - m_fShadowLength = fLength; - m_bShadow = true; - } + m_fShadowLength = fLength; } void Actor::AddRotationH( float rot ) diff --git a/stepmania/src/Actor.h b/stepmania/src/Actor.h index 69faae7a41..e596f05bc8 100644 --- a/stepmania/src/Actor.h +++ b/stepmania/src/Actor.h @@ -273,7 +273,6 @@ public: bool GetHidden() const { return m_bHidden; } void SetHidden( bool b ) { m_bHidden = b; } void SetShadowLength( float fLength ); - void EnableShadow( bool b ) { m_bShadow = b; } // TODO: Implement hibernate as a tween type? void SetHibernate( float fSecs ) { m_fHibernateSecondsLeft = fSecs; } @@ -372,8 +371,7 @@ protected: // bool m_bHidden; float m_fHibernateSecondsLeft; - bool m_bShadow; - float m_fShadowLength; + float m_fShadowLength; // 0 == no shadow bool m_bIsAnimating; // diff --git a/stepmania/src/BitmapText.cpp b/stepmania/src/BitmapText.cpp index 21d3ba91f0..5c36fd5252 100644 --- a/stepmania/src/BitmapText.cpp +++ b/stepmania/src/BitmapText.cpp @@ -68,17 +68,14 @@ BitmapText::BitmapText() } iReloadCounter++; - m_HorizAlign = align_center; - m_VertAlign = align_middle; - m_pFont = NULL; - m_bShadow = true; - m_bRainbow = false; m_iWrapWidthPixels = -1; m_fMaxWidth = 0; + + SetShadowLength( 4 ); } BitmapText::~BitmapText() @@ -458,7 +455,7 @@ void BitmapText::DrawPrimitives() ////////////////////// // render the shadow ////////////////////// - if( m_bShadow ) + if( m_fShadowLength != 0 ) { DISPLAY->PushMatrix(); DISPLAY->TranslateWorld( m_fShadowLength, m_fShadowLength, 0 ); // shift by 5 units diff --git a/stepmania/src/Combo.cpp b/stepmania/src/Combo.cpp index d6b632a0f8..ecda190baf 100644 --- a/stepmania/src/Combo.cpp +++ b/stepmania/src/Combo.cpp @@ -59,7 +59,7 @@ Combo::Combo() FULL_COMBO_BROKEN_COMMAND.Refresh(); m_sprCombo.Load( THEME->GetPathToG( "Combo label") ); - m_sprCombo.EnableShadow( true ); + m_sprCombo.SetShadowLength( 4 ); m_sprCombo.StopAnimating(); m_sprCombo.SetXY( LABEL_X, LABEL_Y ); m_sprCombo.SetHorizAlign( (Actor::HorizAlign)(int)LABEL_HORIZ_ALIGN ); @@ -68,7 +68,7 @@ Combo::Combo() this->AddChild( &m_sprCombo ); m_textComboNumber.LoadFromNumbers( THEME->GetPathToN("Combo") ); - m_textComboNumber.EnableShadow( true ); + m_textComboNumber.SetShadowLength( 4 ); m_textComboNumber.SetXY( NUMBER_X, NUMBER_Y ); m_textComboNumber.SetHorizAlign( (Actor::HorizAlign)(int)NUMBER_HORIZ_ALIGN ); m_textComboNumber.SetVertAlign( (Actor::VertAlign)(int)NUMBER_VERT_ALIGN ); diff --git a/stepmania/src/LifeMeterBattery.cpp b/stepmania/src/LifeMeterBattery.cpp index 4fe2e310e4..eb35bdbb77 100644 --- a/stepmania/src/LifeMeterBattery.cpp +++ b/stepmania/src/LifeMeterBattery.cpp @@ -53,7 +53,7 @@ void LifeMeterBattery::Load( PlayerNumber pn ) m_textNumLives.LoadFromNumbers( THEME->GetPathToN("LifeMeterBattery lives") ); m_textNumLives.SetDiffuse( RageColor(1,1,1,1) ); - m_textNumLives.EnableShadow( false ); + m_textNumLives.SetShadowLength( 0 ); if( bPlayerEnabled ) this->AddChild( &m_textNumLives ); diff --git a/stepmania/src/MenuTimer.cpp b/stepmania/src/MenuTimer.cpp index d6d4d152ca..4537f9bd4a 100644 --- a/stepmania/src/MenuTimer.cpp +++ b/stepmania/src/MenuTimer.cpp @@ -146,6 +146,8 @@ void MenuTimer::SetSeconds( int iSeconds ) m_textDigit1.Command( ON_COMMAND ); m_textDigit2.Command( ON_COMMAND ); + m_textDigit1.SetShadowLength( 4 ); + m_textDigit2.SetShadowLength( 4 ); SetText( iSeconds ); } diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index b5b7513460..8a9fff2143 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -77,7 +77,7 @@ MusicWheelItem::MusicWheelItem() m_All.AddChild( &m_sprSectionBar ); m_textSectionName.LoadFromFont( THEME->GetPathToF("MusicWheelItem section") ); - m_textSectionName.EnableShadow( false ); + m_textSectionName.SetShadowLength( 0 ); m_textSectionName.SetVertAlign( align_middle ); m_textSectionName.SetXY( SECTION_NAME_X, 0 ); m_textSectionName.SetZoom( SECTION_ZOOM ); @@ -85,7 +85,7 @@ MusicWheelItem::MusicWheelItem() m_textRoulette.LoadFromFont( THEME->GetPathToF("MusicWheelItem roulette") ); - m_textRoulette.EnableShadow( false ); + m_textRoulette.SetShadowLength( 0 ); m_textRoulette.TurnRainbowOn(); m_textRoulette.SetZoom( ROULETTE_ZOOM ); m_textRoulette.SetXY( ROULETTE_X, 0 ); diff --git a/stepmania/src/NoteField.cpp b/stepmania/src/NoteField.cpp index 0d8dd4c36f..e0d6f8f6d0 100644 --- a/stepmania/src/NoteField.cpp +++ b/stepmania/src/NoteField.cpp @@ -32,7 +32,7 @@ NoteField::NoteField() m_textMeasureNumber.LoadFromFont( THEME->GetPathToF("Common normal") ); m_textMeasureNumber.SetZoom( 1.0f ); - m_rectMarkerBar.EnableShadow( false ); + m_rectMarkerBar.SetShadowLength( 0 ); m_rectMarkerBar.SetEffectDiffuseShift( 2, RageColor(1,1,1,0.5f), RageColor(0.5f,0.5f,0.5f,0.5f) ); m_sprBars.Load( THEME->GetPathToG("NoteField bars") ); diff --git a/stepmania/src/OptionIcon.cpp b/stepmania/src/OptionIcon.cpp index d9d9535d10..8947098e5b 100644 --- a/stepmania/src/OptionIcon.cpp +++ b/stepmania/src/OptionIcon.cpp @@ -30,7 +30,7 @@ OptionIcon::OptionIcon() this->AddChild( &m_spr ); m_text.LoadFromFont( THEME->GetPathToF("OptionIcon") ); - m_text.EnableShadow( false ); + m_text.SetShadowLength( 0 ); m_text.SetZoom( TEXT_ZOOM ); m_text.SetXY( TEXT_OFFSET_X, TEXT_OFFSET_Y ); m_text.SetHorizAlign( (Actor::HorizAlign)TEXT_H_ALIGN ); diff --git a/stepmania/src/PercentageDisplay.cpp b/stepmania/src/PercentageDisplay.cpp index 1135e73936..51ed7be8ca 100644 --- a/stepmania/src/PercentageDisplay.cpp +++ b/stepmania/src/PercentageDisplay.cpp @@ -78,13 +78,13 @@ void PercentageDisplay::Refresh() { int iPercentWhole = int(fPercentDancePoints*100); int iPercentRemainder = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 ); - sNumToDisplay = ssprintf( "%02d", iPercentWhole ); + sNumToDisplay = ssprintf( "%2d", iPercentWhole ); m_textPercentRemainder.SetText( ssprintf(".%01d%%", iPercentRemainder) ); } else { float fNumToDisplay = fPercentDancePoints*100; - sNumToDisplay = ssprintf( "%0*.*f%%", PERCENT_TOTAL_SIZE, PERCENT_DECIMAL_PLACES, fNumToDisplay ); + sNumToDisplay = ssprintf( "%*.*f%%", PERCENT_TOTAL_SIZE, PERCENT_DECIMAL_PLACES, fNumToDisplay ); // HACK: Use the last frame in the numbers texture as '-' sNumToDisplay.Replace('-','x'); diff --git a/stepmania/src/ScoreDisplayNormal.cpp b/stepmania/src/ScoreDisplayNormal.cpp index bcc23703cc..cbd860cefa 100644 --- a/stepmania/src/ScoreDisplayNormal.cpp +++ b/stepmania/src/ScoreDisplayNormal.cpp @@ -31,7 +31,7 @@ ScoreDisplayNormal::ScoreDisplayNormal() // init the text m_text.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayNormal") ); - m_text.EnableShadow( false ); + m_text.SetShadowLength( 0 ); m_iScore = 0; m_iTrailingScore = 0; diff --git a/stepmania/src/ScoreDisplayOni.cpp b/stepmania/src/ScoreDisplayOni.cpp index c06892171c..2ea8ddf78c 100644 --- a/stepmania/src/ScoreDisplayOni.cpp +++ b/stepmania/src/ScoreDisplayOni.cpp @@ -29,7 +29,7 @@ ScoreDisplayOni::ScoreDisplayOni() // init the text m_text.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayOni") ); - m_text.EnableShadow( false ); + m_text.SetShadowLength( 0 ); this->AddChild( &m_text ); } diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 912f3c5865..b638bddd57 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -354,7 +354,7 @@ ScreenEdit::ScreenEdit( CString sName ) : Screen( sName ) m_textHelp.SetVertAlign( Actor::align_top ); m_textHelp.SetZoom( 0.5f ); m_textHelp.SetText( HELP_TEXT ); - m_textHelp.EnableShadow( false ); + m_textHelp.SetShadowLength( 0 ); m_sprInfo.Load( THEME->GetPathToG("ScreenEdit Info") ); m_sprInfo.SetHorizAlign( Actor::align_right ); @@ -365,7 +365,7 @@ ScreenEdit::ScreenEdit( CString sName ) : Screen( sName ) m_textInfo.SetHorizAlign( Actor::align_left ); m_textInfo.SetVertAlign( Actor::align_top ); m_textInfo.SetZoom( 0.5f ); - m_textInfo.EnableShadow( false ); + m_textInfo.SetShadowLength( 0 ); //m_textInfo.SetText(); // set this below every frame m_soundChangeLine.Load( THEME->GetPathToS("ScreenEdit line") ); diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 4f699425e7..2f94cf78c3 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -84,6 +84,8 @@ const char* STATS_STRING[NUM_STATS_LINES] = #define SOUNDSEQ_TIME( i ) THEME->GetMetricF(m_sName,ssprintf("SoundSeqTime%d", i+1)) #define SOUNDSEQ_NAME( i ) THEME->GetMetric (m_sName,ssprintf("SoundSeqName%d", i+1)) #define PEAK_COMBO_AWARD_COMMAND THEME->GetMetric (m_sName,"PeakComboAwardCommand") +#define MAX_COMBO_NUM_DIGITS THEME->GetMetricI(m_sName,"MaxComboNumDigits") +#define PLAYER_OPTIONS_SEPARATOR THEME->GetMetric (m_sName,"PlayerOptionsSeparator") static const int NUM_SHOWN_RADAR_CATEGORIES = 5; @@ -106,22 +108,25 @@ void ScreenEvaluation::Init() if( PREFSMAN->m_bScreenTestMode ) { - PROFILEMAN->LoadProfileFromMemoryCard(PLAYER_1); + PROFILEMAN->LoadFirstAvailableProfile(PLAYER_1); + PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2); GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE; GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS; GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_bSideIsJoined[PLAYER_2] = true; GAMESTATE->m_MasterPlayerNumber = PLAYER_1; - GAMESTATE->m_pCurSong = SONGMAN->GetAllSongs()[0]; -// GAMESTATE->m_pCurCourse = SONGMAN->m_pCourses[0]; + GAMESTATE->m_pCurSong = SONGMAN->GetRandomSong(); + GAMESTATE->m_pCurCourse = SONGMAN->GetRandomCourse(); GAMESTATE->m_pCurNotes[PLAYER_1] = GAMESTATE->m_pCurSong->m_apNotes[0]; GAMESTATE->m_pCurNotes[PLAYER_2] = GAMESTATE->m_pCurSong->m_apNotes[0]; g_CurStageStats.pSteps[PLAYER_1] = GAMESTATE->m_pCurNotes[PLAYER_1]; g_CurStageStats.pSteps[PLAYER_2] = GAMESTATE->m_pCurNotes[PLAYER_2]; GAMESTATE->m_PlayerOptions[PLAYER_1].m_fScrollSpeed = 2; GAMESTATE->m_PlayerOptions[PLAYER_2].m_fScrollSpeed = 2; - GAMESTATE->m_iCurrentStageIndex = 2; + GAMESTATE->m_iCurrentStageIndex = 0; + GAMESTATE->m_PlayerOptions[PLAYER_1].ChooseRandomMofifiers(); + GAMESTATE->m_PlayerOptions[PLAYER_2].ChooseRandomMofifiers(); for( float f = 0; f < 100.0f; f += 1.0f ) { @@ -130,6 +135,10 @@ void ScreenEvaluation::Init() g_CurStageStats.SetLifeRecord( PLAYER_2, 1-fP1, f ); } + g_CurStageStats.iActualDancePoints[PLAYER_1] = rand()%3; + g_CurStageStats.iPossibleDancePoints[PLAYER_1] = 2; + g_CurStageStats.iActualDancePoints[PLAYER_2] = rand()%2; + g_CurStageStats.iPossibleDancePoints[PLAYER_2] = 1; g_CurStageStats.iCurCombo[PLAYER_1] = 0; g_CurStageStats.UpdateComboList( PLAYER_1, 0, false ); g_CurStageStats.iCurCombo[PLAYER_1] = 1; @@ -139,8 +148,12 @@ void ScreenEvaluation::Init() g_CurStageStats.iCurCombo[PLAYER_1] = 250; g_CurStageStats.UpdateComboList( PLAYER_1, 100, false ); - g_CurStageStats.iTapNoteScores[PLAYER_1][TNS_MARVELOUS] = 1; - g_CurStageStats.iTapNoteScores[PLAYER_2][TNS_PERFECT] = 1; + g_CurStageStats.iTapNoteScores[PLAYER_1][TNS_MARVELOUS] = rand()%2; + g_CurStageStats.iTapNoteScores[PLAYER_1][TNS_PERFECT] = rand()%2; + g_CurStageStats.iTapNoteScores[PLAYER_1][TNS_GREAT] = rand()%2; + g_CurStageStats.iTapNoteScores[PLAYER_2][TNS_MARVELOUS] = rand()%2; + g_CurStageStats.iTapNoteScores[PLAYER_2][TNS_PERFECT] = rand()%2; + g_CurStageStats.iTapNoteScores[PLAYER_2][TNS_GREAT] = rand()%2; g_vPlayedStageStats.clear(); } @@ -318,7 +331,7 @@ void ScreenEvaluation::Init() m_textPlayerOptions[p].LoadFromFont( THEME->GetPathToF("Common normal") ); CString sPO = GAMESTATE->m_PlayerOptions[p].GetString(); - sPO.Replace( ", ", "\n" ); + sPO.Replace( ", ", PLAYER_OPTIONS_SEPARATOR ); m_textPlayerOptions[p].SetName( ssprintf("PlayerOptionsP%d",p+1) ); SET_XY_AND_ON_COMMAND( m_textPlayerOptions[p] ); m_textPlayerOptions[p].SetText( sPO ); @@ -525,7 +538,7 @@ void ScreenEvaluation::Init() this->AddChild( &m_sprSurvivedFrame[p] ); m_textSurvivedNumber[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation stage") ); - m_textSurvivedNumber[p].EnableShadow( false ); + m_textSurvivedNumber[p].SetShadowLength( 0 ); // curewater: edited the "# stages cleared" text so it deducts one if you failed. // Should be accurate, but I'm not sure if its "standard" that (bool)true = 1. (assumption) m_textSurvivedNumber[p].SetText( ssprintf("%02d", stageStats.iSongsPlayed[p] - (int)stageStats.bFailed[p]) ); @@ -584,7 +597,7 @@ void ScreenEvaluation::Init() continue; // skip m_textJudgeNumbers[l][p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation judge") ); - m_textJudgeNumbers[l][p].EnableShadow( false ); + m_textJudgeNumbers[l][p].SetShadowLength( 0 ); m_textJudgeNumbers[l][p].SetDiffuse( PlayerToColor(p) ); m_textJudgeNumbers[l][p].SetName( ssprintf("%sNumberP%d",JUDGE_STRING[l],p+1) ); SET_XY_AND_ON_COMMAND( m_textJudgeNumbers[l][p] ); @@ -593,18 +606,21 @@ void ScreenEvaluation::Init() int iValue; switch( l ) { - case 0: iValue = stageStats.iTapNoteScores[p][TNS_MARVELOUS]; break; - case 1: iValue = stageStats.iTapNoteScores[p][TNS_PERFECT]; break; - case 2: iValue = stageStats.iTapNoteScores[p][TNS_GREAT]; break; - case 3: iValue = stageStats.iTapNoteScores[p][TNS_GOOD]; break; - case 4: iValue = stageStats.iTapNoteScores[p][TNS_BOO]; break; - case 5: iValue = stageStats.iTapNoteScores[p][TNS_MISS]; break; - case 6: iValue = stageStats.iHoldNoteScores[p][HNS_OK]; break; - case 7: iValue = stageStats.iMaxCombo[p]; break; - case 8: iValue = stageStats.iTotalError[p]; break; + case marvelous: iValue = stageStats.iTapNoteScores[p][TNS_MARVELOUS]; break; + case perfect: iValue = stageStats.iTapNoteScores[p][TNS_PERFECT]; break; + case great: iValue = stageStats.iTapNoteScores[p][TNS_GREAT]; break; + case good: iValue = stageStats.iTapNoteScores[p][TNS_GOOD]; break; + case boo: iValue = stageStats.iTapNoteScores[p][TNS_BOO]; break; + case miss: iValue = stageStats.iTapNoteScores[p][TNS_MISS]; break; + case ok: iValue = stageStats.iHoldNoteScores[p][HNS_OK]; break; + case max_combo: iValue = stageStats.iMaxCombo[p]; break; + case error: iValue = stageStats.iTotalError[p]; break; default: iValue = 0; ASSERT(0); } - m_textJudgeNumbers[l][p].SetText( ssprintf("%4d",iValue) ); + + // UGLY... generalize this + int iNumDigits = (l==max_combo) ? MAX_COMBO_NUM_DIGITS : 4; + m_textJudgeNumbers[l][p].SetText( ssprintf("%*d",iNumDigits,iValue) ); } } } @@ -645,7 +661,7 @@ void ScreenEvaluation::Init() const int iActual = (int) roundf(stageStats.fRadarActual[p][ind]); const int iPossible = (int) roundf(stageStats.fRadarPossible[p][ind]); - m_textStatsText[l][p].SetText( ssprintf("%i/%i",iActual, iPossible) ); + m_textStatsText[l][p].SetText( ssprintf("%3d/%3d",iActual,iPossible) ); } } @@ -665,7 +681,7 @@ void ScreenEvaluation::Init() continue; // skip m_textScore[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation score") ); - m_textScore[p].EnableShadow( false ); + m_textScore[p].SetShadowLength( 0 ); m_textScore[p].SetDiffuse( PlayerToColor(p) ); m_textScore[p].SetName( ssprintf("ScoreNumberP%d",p+1) ); SET_XY_AND_ON_COMMAND( m_textScore[p] ); @@ -693,7 +709,7 @@ void ScreenEvaluation::Init() //iTotalScore += stageStats.iScore[p]; m_textTotalScore[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation totalscore") ); - m_textTotalScore[p].EnableShadow( false ); + m_textTotalScore[p].SetShadowLength( 0 ); m_textTotalScore[p].SetDiffuse( PlayerToColor(p) ); m_textTotalScore[p].SetName( ssprintf("TotalScoreNumberP%d",p+1) ); m_textTotalScore[p].SetText( ssprintf("%*.0i", NUM_SCORE_DIGITS+2, iTotalScore) ); @@ -719,7 +735,7 @@ void ScreenEvaluation::Init() continue; // skip m_textTime[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation time") ); - m_textTime[p].EnableShadow( false ); + m_textTime[p].SetShadowLength( 0 ); m_textTime[p].SetDiffuse( PlayerToColor(p) ); m_textTime[p].SetName( ssprintf("TimeNumberP%d",p+1) ); SET_XY_AND_ON_COMMAND( m_textTime[p] ); @@ -736,27 +752,19 @@ void ScreenEvaluation::Init() { if( iMachineHighScoreIndex[p] != -1 ) { - m_sprMachineRecord[p].Load( THEME->GetPathToG("ScreenEvaluation machine record") ); - m_sprMachineRecord[p].SetName( ssprintf("MachineRecordP%d",p+1) ); - m_sprMachineRecord[p].StopAnimating(); + m_sprMachineRecord[p].Load( THEME->GetPathG( "ScreenEvaluation", ssprintf("MachineRecord %02d",iMachineHighScoreIndex[p]+1) ) ); + m_sprMachineRecord[p]->SetName( ssprintf("MachineRecordP%d",p+1) ); + m_sprMachineRecord[p]->StopAnimating(); SET_XY_AND_ON_COMMAND( m_sprMachineRecord[p] ); - if( iMachineHighScoreIndex[p] < m_sprMachineRecord[p].GetNumStates() ) - m_sprMachineRecord[p].SetState( iMachineHighScoreIndex[p] ); - else - m_sprMachineRecord[p].SetHidden( true ); - this->AddChild( &m_sprMachineRecord[p] ); + this->AddChild( m_sprMachineRecord[p] ); } if( iPersonalHighScoreIndex[p] != -1 ) { - m_sprPersonalRecord[p].Load( THEME->GetPathToG("ScreenEvaluation personal record") ); - m_sprPersonalRecord[p].SetName( ssprintf("PersonalRecordP%d",p+1) ); - m_sprPersonalRecord[p].StopAnimating(); + m_sprPersonalRecord[p].Load( THEME->GetPathG( "ScreenEvaluation", ssprintf("PersonalRecord %02d",iMachineHighScoreIndex[p]+1) ) ); + m_sprPersonalRecord[p]->SetName( ssprintf("PersonalRecordP%d",p+1) ); + m_sprPersonalRecord[p]->StopAnimating(); SET_XY_AND_ON_COMMAND( m_sprPersonalRecord[p] ); - if( iPersonalHighScoreIndex[p] < m_sprPersonalRecord[p].GetNumStates() ) - m_sprPersonalRecord[p].SetState( iPersonalHighScoreIndex[p] ); - else - m_sprPersonalRecord[p].SetHidden( true ); - this->AddChild( &m_sprPersonalRecord[p] ); + this->AddChild( m_sprPersonalRecord[p] ); } if( SHOW_PER_DIFFICULTY_AWARD && pdaToShow[p]!=PER_DIFFICULTY_AWARD_INVALID ) @@ -854,8 +862,13 @@ void ScreenEvaluation::CommitScores( { FOREACH_PlayerNumber( pn ) { - iPersonalHighScoreIndexOut[pn] = -1; + iPersonalHighScoreIndexOut[pn] = -1; iMachineHighScoreIndexOut[pn] = -1; + if( PREFSMAN->m_bScreenTestMode ) + { + iPersonalHighScoreIndexOut[pn] = 0; + iMachineHighScoreIndexOut[pn] = 0; + } rcOut[pn] = RANKING_INVALID; pdaToShowOut[pn] = PER_DIFFICULTY_AWARD_INVALID; pcaToShowOut[pn] = PEAK_COMBO_AWARD_INVALID; @@ -872,222 +885,217 @@ void ScreenEvaluation::CommitScores( if( !GAMESTATE->m_SongOptions.m_bSaveScore ) return; - int p; - for( p=0; pIsHumanPlayer(p) ) - continue; - - // don't save scores if the player is disqualified - if( GAMESTATE->IsDisqualified((PlayerNumber)p) ) - continue; - - // - // Add step totals - // - int iNumTapsAndHolds = (int) stageStats.fRadarPossible[p][RADAR_NUM_TAPS_AND_HOLDS]; - int iNumJumps = (int) stageStats.fRadarPossible[p][RADAR_NUM_JUMPS]; - int iNumHolds = (int) stageStats.fRadarPossible[p][RADAR_NUM_HOLDS]; - int iNumMines = (int) stageStats.fRadarPossible[p][RADAR_NUM_MINES]; - int iNumHands = (int) stageStats.fRadarPossible[p][RADAR_NUM_HANDS]; - - PROFILEMAN->AddStepTotals( (PlayerNumber)p, iNumTapsAndHolds, iNumJumps, iNumHolds, iNumMines, iNumHands ); - - - // whether or not to save scores when the stage was failed - // depends on if this is a course or not ... it's handled - // below in the switch - - HighScore &hs = m_HighScore[p]; - hs.grade = stageStats.GetGrade( (PlayerNumber)p ); - hs.iScore = stageStats.iScore[p]; - hs.fPercentDP = stageStats.GetPercentDancePoints( (PlayerNumber)p ); - hs.fSurviveSeconds = stageStats.fAliveSeconds[p]; - hs.sModifiers = GAMESTATE->m_PlayerOptions[p].GetString(); - - StepsType nt = GAMESTATE->GetCurrentStyleDef()->m_StepsType; - - switch( m_Type ) + FOREACH_HumanPlayer( p ) { - case stage: + // don't save scores if the player is disqualified + if( GAMESTATE->IsDisqualified((PlayerNumber)p) ) + continue; + + // + // Add step totals + // + int iNumTapsAndHolds = (int) stageStats.fRadarPossible[p][RADAR_NUM_TAPS_AND_HOLDS]; + int iNumJumps = (int) stageStats.fRadarPossible[p][RADAR_NUM_JUMPS]; + int iNumHolds = (int) stageStats.fRadarPossible[p][RADAR_NUM_HOLDS]; + int iNumMines = (int) stageStats.fRadarPossible[p][RADAR_NUM_MINES]; + int iNumHands = (int) stageStats.fRadarPossible[p][RADAR_NUM_HANDS]; + + PROFILEMAN->AddStepTotals( (PlayerNumber)p, iNumTapsAndHolds, iNumJumps, iNumHolds, iNumMines, iNumHands ); + + + // whether or not to save scores when the stage was failed + // depends on if this is a course or not ... it's handled + // below in the switch + + HighScore &hs = m_HighScore[p]; + hs.grade = stageStats.GetGrade( (PlayerNumber)p ); + hs.iScore = stageStats.iScore[p]; + hs.fPercentDP = stageStats.GetPercentDancePoints( (PlayerNumber)p ); + hs.fSurviveSeconds = stageStats.fAliveSeconds[p]; + hs.sModifiers = GAMESTATE->m_PlayerOptions[p].GetString(); + + StepsType nt = GAMESTATE->GetCurrentStyleDef()->m_StepsType; + + switch( m_Type ) { - // don't save scores for a failed song - if( stageStats.bFailed[p] ) - continue; + case stage: + { + // don't save scores for a failed song + if( stageStats.bFailed[p] ) + continue; - ASSERT( GAMESTATE->m_pCurNotes[p] ); + ASSERT( GAMESTATE->m_pCurNotes[p] ); - if( hs.fPercentDP >= PREFSMAN->m_fMinPercentageForHighScore ) - PROFILEMAN->AddStepsHighScore( GAMESTATE->m_pCurNotes[p], (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); + if( hs.fPercentDP >= PREFSMAN->m_fMinPercentageForHighScore ) + PROFILEMAN->AddStepsHighScore( GAMESTATE->m_pCurNotes[p], (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); + } + break; + + case summary: + { + // don't save scores if any stage was failed + if( stageStats.bFailed[p] ) + continue; + + float fAverageMeter = stageStats.iMeter[p] / (float)PREFSMAN->m_iNumArcadeStages; + rcOut[p] = AverageMeterToRankingCategory( fAverageMeter ); + + if( hs.fPercentDP > PREFSMAN->m_fMinPercentageForHighScore ) + PROFILEMAN->AddCategoryHighScore( nt, rcOut[p], (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); + + // TRICKY: Increment play count here, and not on ScreenGameplay like the others. + PROFILEMAN->IncrementCategoryPlayCount( nt, rcOut[p], (PlayerNumber)p ); + } + break; + + case course: + { + Course* pCourse = GAMESTATE->m_pCurCourse; + CourseDifficulty cd = GAMESTATE->m_PreferredCourseDifficulty[p]; + ASSERT( pCourse ); + + // don't save scores for a failed Nonstop + // DO save scores for a failed Oni/Endless + if( stageStats.bFailed[p] && pCourse->IsNonstop() ) + continue; + + if( hs.fPercentDP > PREFSMAN->m_fMinPercentageForHighScore ) + PROFILEMAN->AddCourseHighScore( pCourse, nt, cd, (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); + } + break; + default: + ASSERT(0); } - break; - - case summary: - { - // don't save scores if any stage was failed - if( stageStats.bFailed[p] ) - continue; - - float fAverageMeter = stageStats.iMeter[p] / (float)PREFSMAN->m_iNumArcadeStages; - rcOut[p] = AverageMeterToRankingCategory( fAverageMeter ); - - if( hs.fPercentDP > PREFSMAN->m_fMinPercentageForHighScore ) - PROFILEMAN->AddCategoryHighScore( nt, rcOut[p], (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); - - // TRICKY: Increment play count here, and not on ScreenGameplay like the others. - PROFILEMAN->IncrementCategoryPlayCount( nt, rcOut[p], (PlayerNumber)p ); - } - break; - - case course: - { - Course* pCourse = GAMESTATE->m_pCurCourse; - CourseDifficulty cd = GAMESTATE->m_PreferredCourseDifficulty[p]; - ASSERT( pCourse ); - - // don't save scores for a failed Nonstop - // DO save scores for a failed Oni/Endless - if( stageStats.bFailed[p] && pCourse->IsNonstop() ) - continue; - - if( hs.fPercentDP > PREFSMAN->m_fMinPercentageForHighScore ) - PROFILEMAN->AddCourseHighScore( pCourse, nt, cd, (PlayerNumber)p, hs, iPersonalHighScoreIndexOut[p], iMachineHighScoreIndexOut[p] ); - } - break; - default: - ASSERT(0); } } - // If both players get a machine high score, a player whose score is added later // may bump the players who were added earlier. Adjust for this. // FIXME: Reports are that this logic is wrong. - for( p=0; pIsHumanPlayer(p) ) - continue; // skip - if( iMachineHighScoreIndexOut[p] == -1 ) // no record - continue; // skip - /* If we aren't saving scores on fail, it'll be handled above; m_bFailed is only - * meaningful in stage and course eval. */ - // if( m_bFailed ) // both players failed - // continue; // skip - - for( int p2=0; p2IsHumanPlayer(p2) ) + if( iMachineHighScoreIndexOut[p] == -1 ) // no record continue; // skip - if( iMachineHighScoreIndexOut[p2] == -1 ) // no record - continue; // skip - bool bPlayedSameSteps; - switch( m_Type ) + /* If we aren't saving scores on fail, it'll be handled above; m_bFailed is only + * meaningful in stage and course eval. */ + // if( m_bFailed ) // both players failed + // continue; // skip + + for( int p2=0; p2m_pCurNotes[p]==GAMESTATE->m_pCurNotes[p2]; - break; - case summary: - bPlayedSameSteps = rcOut[p] == rcOut[p2]; - break; - case course: - bPlayedSameSteps = true; - break; - } - if( iMachineHighScoreIndexOut[p] >= iMachineHighScoreIndexOut[p2] ) - { - iMachineHighScoreIndexOut[p2]++; - if( iMachineHighScoreIndexOut[p2] >= NUM_RANKING_LINES ) - iMachineHighScoreIndexOut[p2] = -1; + if( !GAMESTATE->IsHumanPlayer(p2) ) + continue; // skip + if( iMachineHighScoreIndexOut[p2] == -1 ) // no record + continue; // skip + bool bPlayedSameSteps; + switch( m_Type ) + { + case stage: + bPlayedSameSteps = GAMESTATE->m_pCurNotes[p]==GAMESTATE->m_pCurNotes[p2]; + break; + case summary: + bPlayedSameSteps = rcOut[p] == rcOut[p2]; + break; + case course: + bPlayedSameSteps = true; + break; + } + if( iMachineHighScoreIndexOut[p] >= iMachineHighScoreIndexOut[p2] ) + { + iMachineHighScoreIndexOut[p2]++; + if( iMachineHighScoreIndexOut[p2] >= NUM_RANKING_LINES ) + iMachineHighScoreIndexOut[p2] = -1; + } } } } - // // hand out awards // - for( p=0; pIsHumanPlayer(p) ) - continue; - - // must be using a profile to receive awards - if( !PROFILEMAN->IsUsingProfile((PlayerNumber)p) ) - continue; - - Profile* pProfile = PROFILEMAN->GetProfile((PlayerNumber)p); - - deque &vPdas = GAMESTATE->m_vLastPerDifficultyAwards[p]; - - // per-difficulty awards - switch( m_Type ) + FOREACH_HumanPlayer( p ) { - case stage: - // don't give per-difficutly awards if using easy mods - if( !GAMESTATE->IsDisqualified((PlayerNumber)p) ) - { - if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_GREAT ) ) - vPdas.push_back( AWARD_FULL_COMBO_GREATS ); - if( stageStats.SingleDigitsOfScore( (PlayerNumber)p, TNS_GREAT ) ) - vPdas.push_back( AWARD_SINGLE_DIGIT_GREATS ); - if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_PERFECT ) ) - vPdas.push_back( AWARD_FULL_COMBO_PERFECTS ); - if( stageStats.SingleDigitsOfScore( (PlayerNumber)p, TNS_PERFECT ) ) - vPdas.push_back( AWARD_SINGLE_DIGIT_PERFECTS ); - if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_MARVELOUS ) ) - vPdas.push_back( AWARD_FULL_COMBO_MARVELOUSES ); + // must be using a profile to receive awards + if( !PROFILEMAN->IsUsingProfile((PlayerNumber)p) ) + continue; - float fPercentGreats = stageStats.GetPercentageOfTaps((PlayerNumber)p, TNS_GREAT); - if( fPercentGreats >= 0.8f ) - vPdas.push_back( AWARD_GREATS_80_PERCENT ); - if( fPercentGreats >= 0.9f ) - vPdas.push_back( AWARD_GREATS_90_PERCENT ); - if( fPercentGreats >= 1.f ) - vPdas.push_back( AWARD_GREATS_100_PERCENT ); + Profile* pProfile = PROFILEMAN->GetProfile((PlayerNumber)p); + + deque &vPdas = GAMESTATE->m_vLastPerDifficultyAwards[p]; + + // per-difficulty awards + switch( m_Type ) + { + case stage: + // don't give per-difficutly awards if using easy mods + if( !GAMESTATE->IsDisqualified((PlayerNumber)p) ) + { + if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_GREAT ) ) + vPdas.push_back( AWARD_FULL_COMBO_GREATS ); + if( stageStats.SingleDigitsOfScore( (PlayerNumber)p, TNS_GREAT ) ) + vPdas.push_back( AWARD_SINGLE_DIGIT_GREATS ); + if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_PERFECT ) ) + vPdas.push_back( AWARD_FULL_COMBO_PERFECTS ); + if( stageStats.SingleDigitsOfScore( (PlayerNumber)p, TNS_PERFECT ) ) + vPdas.push_back( AWARD_SINGLE_DIGIT_PERFECTS ); + if( stageStats.FullComboOfScore( (PlayerNumber)p, TNS_MARVELOUS ) ) + vPdas.push_back( AWARD_FULL_COMBO_MARVELOUSES ); + + float fPercentGreats = stageStats.GetPercentageOfTaps((PlayerNumber)p, TNS_GREAT); + if( fPercentGreats >= 0.8f ) + vPdas.push_back( AWARD_GREATS_80_PERCENT ); + if( fPercentGreats >= 0.9f ) + vPdas.push_back( AWARD_GREATS_90_PERCENT ); + if( fPercentGreats >= 1.f ) + vPdas.push_back( AWARD_GREATS_100_PERCENT ); + } } - } - if( !vPdas.empty() ) - pdaToShowOut[p] = vPdas.back(); + if( !vPdas.empty() ) + pdaToShowOut[p] = vPdas.back(); - // DO give peak combo awards if using easy mods - int iComboAtStartOfStage = stageStats.GetComboAtStartOfStage( (PlayerNumber)p ); - int iPeakCombo = stageStats.GetMaxCombo((PlayerNumber)p).cnt; + // DO give peak combo awards if using easy mods + int iComboAtStartOfStage = stageStats.GetComboAtStartOfStage( (PlayerNumber)p ); + int iPeakCombo = stageStats.GetMaxCombo((PlayerNumber)p).cnt; - FOREACH_PeakComboAward( pca ) - { - int iLevel = 100/*0*/ * (pca+1); - bool bCrossedLevel = iComboAtStartOfStage < iLevel && iPeakCombo >= iLevel; - if( bCrossedLevel ) + FOREACH_PeakComboAward( pca ) { - GAMESTATE->m_vLastPeakComboAwards[p].push_back( pca ); + int iLevel = 100/*0*/ * (pca+1); + bool bCrossedLevel = iComboAtStartOfStage < iLevel && iPeakCombo >= iLevel; + if( bCrossedLevel ) + { + GAMESTATE->m_vLastPeakComboAwards[p].push_back( pca ); + } } - } - if( !GAMESTATE->m_vLastPeakComboAwards[p].empty() ) - pcaToShowOut[p] = GAMESTATE->m_vLastPeakComboAwards[p].back(); + if( !GAMESTATE->m_vLastPeakComboAwards[p].empty() ) + pcaToShowOut[p] = GAMESTATE->m_vLastPeakComboAwards[p].back(); - // erase awards from the Last list that have been received so that we - // won't show them again. - { - for( int i=GAMESTATE->m_vLastPerDifficultyAwards[p].size()-1; i>=0; i-- ) + // erase awards from the Last list that have been received so that we + // won't show them again. { - PerDifficultyAward pda = GAMESTATE->m_vLastPerDifficultyAwards[p][i]; - Steps* pSteps = stageStats.pSteps[p]; - bool bAlreadyHad = pProfile->HasPerDifficultyAward( pSteps->m_StepsType, pSteps->GetDifficulty(), pda ); - pProfile->AddPerDifficultyAward( pSteps->m_StepsType, pSteps->GetDifficulty(), pda ); - if( bAlreadyHad ) - GAMESTATE->m_vLastPerDifficultyAwards[p].erase( GAMESTATE->m_vLastPerDifficultyAwards[p].begin()+i ); + for( int i=GAMESTATE->m_vLastPerDifficultyAwards[p].size()-1; i>=0; i-- ) + { + PerDifficultyAward pda = GAMESTATE->m_vLastPerDifficultyAwards[p][i]; + Steps* pSteps = stageStats.pSteps[p]; + bool bAlreadyHad = pProfile->HasPerDifficultyAward( pSteps->m_StepsType, pSteps->GetDifficulty(), pda ); + pProfile->AddPerDifficultyAward( pSteps->m_StepsType, pSteps->GetDifficulty(), pda ); + if( bAlreadyHad ) + GAMESTATE->m_vLastPerDifficultyAwards[p].erase( GAMESTATE->m_vLastPerDifficultyAwards[p].begin()+i ); + } } - } - { - for( int i=GAMESTATE->m_vLastPeakComboAwards[p].size()-1; i>=0; i-- ) { - PeakComboAward pca = GAMESTATE->m_vLastPeakComboAwards[p][i]; - bool bAlreadyHad = pProfile->HasPeakComboAward( pca ); - pProfile->AddPeakComboAward( pca ); - if( bAlreadyHad ) - GAMESTATE->m_vLastPeakComboAwards[p].erase( GAMESTATE->m_vLastPeakComboAwards[p].begin()+i ); + for( int i=GAMESTATE->m_vLastPeakComboAwards[p].size()-1; i>=0; i-- ) + { + PeakComboAward pca = GAMESTATE->m_vLastPeakComboAwards[p][i]; + bool bAlreadyHad = pProfile->HasPeakComboAward( pca ); + pProfile->AddPeakComboAward( pca ); + if( bAlreadyHad ) + GAMESTATE->m_vLastPeakComboAwards[p].erase( GAMESTATE->m_vLastPeakComboAwards[p].begin()+i ); + } } } } diff --git a/stepmania/src/ScreenEvaluation.h b/stepmania/src/ScreenEvaluation.h index b087dca2ca..8284545516 100644 --- a/stepmania/src/ScreenEvaluation.h +++ b/stepmania/src/ScreenEvaluation.h @@ -139,8 +139,8 @@ protected: BitmapText m_textTime[NUM_PLAYERS]; // extra area - Sprite m_sprMachineRecord[NUM_PLAYERS]; - Sprite m_sprPersonalRecord[NUM_PLAYERS]; + AutoActor m_sprMachineRecord[NUM_PLAYERS]; + AutoActor m_sprPersonalRecord[NUM_PLAYERS]; bool m_bTryExtraStage; Sprite m_sprTryExtraStage; AutoActor m_PerDifficultyAward[NUM_PLAYERS]; diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index dbe58682f8..5a1be55681 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -432,7 +432,7 @@ void ScreenGameplay::Init() m_textSongTitle.LoadFromFont( THEME->GetPathToF("ScreenGameplay song title") ); - m_textSongTitle.EnableShadow( false ); + m_textSongTitle.SetShadowLength( 0 ); m_textSongTitle.SetName( "SongTitle" ); SET_XY( m_textSongTitle ); this->AddChild( &m_textSongTitle ); @@ -515,7 +515,7 @@ void ScreenGameplay::Init() for( p=0; pGetPathToN("ScreenGameplay song num") ); - m_textCourseSongNumber[p].EnableShadow( false ); + m_textCourseSongNumber[p].SetShadowLength( 0 ); m_textCourseSongNumber[p].SetName( ssprintf("SongNumberP%d%s",p+1,bExtra?"Extra":"") ); SET_XY( m_textCourseSongNumber[p] ); m_textCourseSongNumber[p].SetText( "" ); @@ -580,14 +580,14 @@ void ScreenGameplay::Init() continue; m_textPlayerOptions[p].LoadFromFont( THEME->GetPathToF("ScreenGameplay player options") ); - m_textPlayerOptions[p].EnableShadow( false ); + m_textPlayerOptions[p].SetShadowLength( 0 ); m_textPlayerOptions[p].SetName( ssprintf("PlayerOptionsP%d%s",p+1,bExtra?"Extra":"") ); SET_XY( m_textPlayerOptions[p] ); this->AddChild( &m_textPlayerOptions[p] ); } m_textSongOptions.LoadFromFont( THEME->GetPathToF("ScreenGameplay song options") ); - m_textSongOptions.EnableShadow( false ); + m_textSongOptions.SetShadowLength( 0 ); m_textSongOptions.SetName( ssprintf("SongOptions%s",bExtra?"Extra":"") ); SET_XY( m_textSongOptions ); m_textSongOptions.SetText( GAMESTATE->m_SongOptions.GetString() ); @@ -710,7 +710,7 @@ void ScreenGameplay::Init() if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) // only load if we're going to use it { m_textSurviveTime.LoadFromFont( THEME->GetPathToF("ScreenGameplay survive time") ); - m_textSurviveTime.EnableShadow( false ); + m_textSurviveTime.SetShadowLength( 0 ); m_textSurviveTime.SetName( "SurviveTime" ); SET_XY( m_textSurviveTime ); m_textSurviveTime.SetDiffuse( RageColor(1,1,1,0) ); diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 1a3690d9ed..03825ba71a 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -105,7 +105,7 @@ ScreenSystemLayer::ScreenSystemLayer() : Screen("ScreenSystemLayer") m_textSkips[i].SetVertAlign( Actor::align_top ); m_textSkips[i].SetZoom( 0.5f ); m_textSkips[i].SetDiffuse( RageColor(1,1,1,0) ); - m_textSkips[i].EnableShadow(false); + m_textSkips[i].SetShadowLength( 0 ); this->AddChild(&m_textSkips[i]); } diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index d46c861d24..666af93a71 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -263,7 +263,7 @@ void ScreenOptions::Init( InputMode im, OptionRowData OptionRows[], int iNumOpti bt->LoadFromFont( THEME->GetPathToF("ScreenOptions item") ); bt->SetText( optline.choices[c] ); bt->SetZoom( ITEMS_ZOOM ); - bt->EnableShadow( false ); + bt->SetShadowLength( 0 ); // set the X position of each item in the line float fItemWidth = bt->GetZoomedWidth(); @@ -318,7 +318,7 @@ void ScreenOptions::Init( InputMode im, OptionRowData OptionRows[], int iNumOpti bt->LoadFromFont( THEME->GetPathToF("ScreenOptions item") ); bt->SetText( optline.choices[iChoiceWithFocus] ); bt->SetZoom( ITEMS_ZOOM ); - bt->EnableShadow( false ); + bt->SetShadowLength( 0 ); if( optline.bOneChoiceForAllPlayers ) { @@ -373,7 +373,7 @@ void ScreenOptions::Init( InputMode im, OptionRowData OptionRows[], int iNumOpti bt->LoadFromFont( THEME->GetPathToF("ScreenOptions item") ); bt->SetText( THEME->GetMetric("OptionNames","Exit") ); bt->SetZoom( ITEMS_ZOOM ); - bt->EnableShadow( false ); + bt->SetShadowLength( 0 ); bt->SetX( CENTER_X ); m_framePage.AddChild( bt ); @@ -646,7 +646,7 @@ void ScreenOptions::InitOptionsText() title.SetZoom( LABELS_ZOOM ); title.SetHorizAlign( (Actor::HorizAlign)LABELS_H_ALIGN ); title.SetVertAlign( Actor::align_middle ); - title.EnableShadow( false ); + title.SetShadowLength( 0 ); Sprite &bullet = row.m_sprBullet; bullet.Load( THEME->GetPathToG("ScreenOptions bullet") ); diff --git a/stepmania/src/ScreenRanking.cpp b/stepmania/src/ScreenRanking.cpp index 0f602e8fd5..cf9d4e936f 100644 --- a/stepmania/src/ScreenRanking.cpp +++ b/stepmania/src/ScreenRanking.cpp @@ -105,19 +105,19 @@ ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName ) m_textCategory.SetName( "Category" ); m_textCategory.LoadFromFont( THEME->GetPathToF("ScreenRanking category") ); - m_textCategory.EnableShadow( false ); + m_textCategory.SetShadowLength( 0 ); m_textCategory.SetHidden( true ); this->AddChild( &m_textCategory ); m_textCourseTitle.SetName( "CourseTitle" ); m_textCourseTitle.LoadFromFont( THEME->GetPathToF("ScreenRanking course title") ); - m_textCourseTitle.EnableShadow( false ); + m_textCourseTitle.SetShadowLength( 0 ); m_textCourseTitle.SetHidden( true ); this->AddChild( &m_textCourseTitle ); m_textStepsType.SetName( "StepsType" ); m_textStepsType.LoadFromFont( THEME->GetPathToF("ScreenRanking steps type") ); - m_textStepsType.EnableShadow( false ); + m_textStepsType.SetShadowLength( 0 ); m_textStepsType.SetHidden( true ); this->AddChild( &m_textStepsType ); diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index 8e3134f718..0609ca9557 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -87,12 +87,12 @@ ScreenSelectCourse::ScreenSelectCourse( CString sClassName ) : Screen( sClassNam this->AddChild( &m_sprBannerFrame ); m_textNumSongs.LoadFromNumbers( THEME->GetPathToN("ScreenSelectCourse num songs") ); - m_textNumSongs.EnableShadow( false ); + m_textNumSongs.SetShadowLength( 0 ); m_textNumSongs.SetXY( STAGES_X, STAGES_Y ); this->AddChild( &m_textNumSongs ); m_textTime.LoadFromNumbers( THEME->GetPathToN("ScreenSelectCourse total time") ); - m_textTime.EnableShadow( false ); + m_textTime.SetShadowLength( 0 ); m_textTime.SetXY( TIME_X, TIME_Y ); this->AddChild( &m_textTime ); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 66c66d41ab..17536fc4cc 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -152,7 +152,7 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : Screen( sClassName this->AddChild( &m_BPMDisplay ); m_DifficultyDisplay.SetName( "DifficultyDisplay" ); - m_DifficultyDisplay.EnableShadow( false ); + m_DifficultyDisplay.SetShadowLength( 0 ); SET_XY( m_DifficultyDisplay ); this->AddChild( &m_DifficultyDisplay ); @@ -281,7 +281,7 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : Screen( sClassName m_textHighScore[p].SetName( ssprintf("ScoreP%d",p+1) ); m_textHighScore[p].LoadFromNumbers( THEME->GetPathToN("ScreenSelectMusic score") ); - m_textHighScore[p].EnableShadow( false ); + m_textHighScore[p].SetShadowLength( 0 ); m_textHighScore[p].SetDiffuse( PlayerToColor(p) ); SET_XY( m_textHighScore[p] ); this->AddChild( &m_textHighScore[p] ); diff --git a/stepmania/src/ScreenStage.cpp b/stepmania/src/ScreenStage.cpp index 0d26ea600c..cdf17e6565 100644 --- a/stepmania/src/ScreenStage.cpp +++ b/stepmania/src/ScreenStage.cpp @@ -439,9 +439,9 @@ ScreenStage::ScreenStage( CString sClassName ) : Screen( sClassName ) // for (i=0; i<2; i++) // specify the font file. // { // m_ez2ukm[i].LoadFromFont( THEME->GetPathToF("Stage ez2") ); -// m_ez2ukm[i].EnableShadow( false ); +// m_ez2ukm[i].SetShadowLength( 0 ); // m_stagedesc[i].LoadFromFont( THEME->GetPathToF("Stage ez2") ); -// m_stagedesc[i].EnableShadow( false ); +// m_stagedesc[i].SetShadowLength( 0 ); // } // // m_ez2ukm[0].SetXY( CENTER_X-400, CENTER_Y-220 ); // set the intiial UKMOVE positions @@ -555,7 +555,7 @@ ScreenStage::ScreenStage( CString sClassName ) : Screen( sClassName ) // // // write the stage name // m_stagename.LoadFromFont( THEME->GetPathToF("Stage ez2") ); -// m_stagename.EnableShadow( false ); +// m_stagename.SetShadowLength( 0 ); // // m_stagename.SetXY( CENTER_X+400, CENTER_Y-30+element_y_offsets ); // set initial position // diff --git a/stepmania/src/ScreenTestFonts.cpp b/stepmania/src/ScreenTestFonts.cpp index 91d00ea8fc..a6fd81b7e8 100644 --- a/stepmania/src/ScreenTestFonts.cpp +++ b/stepmania/src/ScreenTestFonts.cpp @@ -49,7 +49,7 @@ ScreenTestFonts::ScreenTestFonts( CString sClassName ) : Screen( sClassName ) void ScreenTestFonts::SetText(CString text) { - txt.EnableShadow( false ); + txt.SetShadowLength( 0 ); txt.SetText(""); /* force it */ txt.SetText(text); curtext = text; diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index 2fcf156125..aaa560d841 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -123,7 +123,6 @@ ScreenTitleMenu::ScreenTitleMenu( CString sClassName ) : ScreenSelect( sClassNam m_textHelp.SetXY( HELP_X, HELP_Y ); m_textHelp.SetZoom( 0.5f ); m_textHelp.SetEffectDiffuseBlink(); - m_textHelp.EnableShadow( true ); m_textHelp.SetShadowLength( 2 ); this->AddChild( &m_textHelp ); @@ -140,7 +139,7 @@ ScreenTitleMenu::ScreenTitleMenu( CString sClassName ) : ScreenSelect( sClassNam m_textChoice[i].SetText( NAME(mc.m_sName) ); m_textChoice[i].SetXY( CHOICES_X, CHOICES_START_Y + i*CHOICES_SPACING_Y ); m_textChoice[i].SetShadowLength( CHOICES_SHADOW_LENGTH ); - m_textChoice[i].EnableShadow( true ); + m_textChoice[i].SetShadowLength( 4 ); this->AddChild( &m_textChoice[i] ); } } diff --git a/stepmania/src/Sprite.cpp b/stepmania/src/Sprite.cpp index 8bdee69a26..bcda91db0c 100644 --- a/stepmania/src/Sprite.cpp +++ b/stepmania/src/Sprite.cpp @@ -396,7 +396,7 @@ void Sprite::DrawTexture( const TweenState *state ) ////////////////////// // render the shadow ////////////////////// - if( m_bShadow ) + if( m_fShadowLength != 0 ) { DISPLAY->PushMatrix(); DISPLAY->TranslateWorld( m_fShadowLength, m_fShadowLength, 0 ); // shift by 5 units