[default -> splittiming] Caught up.
This commit is contained in:
@@ -8,6 +8,16 @@ ________________________________________________________________________________
|
|||||||
StepMania 5.0 $NEXT | 20110xyy
|
StepMania 5.0 $NEXT | 20110xyy
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2011/05/14
|
||||||
|
----------
|
||||||
|
* [ModIcon] Added StopWords metric. [AJ]
|
||||||
|
* [ScreenSelectMaster] Add "ScreenEmpty" param to MenuStartP# when the GameCommand
|
||||||
|
doesn't set a screen. [AJ]
|
||||||
|
* [StepsDisplay] Added MeterFormatString metric. [AJ]
|
||||||
|
* [MusicWheel] Added ShowSectionsInBPMSort and ShowSectionsInLengthSort metrics. [AJ]
|
||||||
|
* [ScreenEvaluation] Stop the Bonus bars from overflowing in course modes. [AJ]
|
||||||
|
* [Banner] Added ScrollMode and ScrollSortOrder metrics. [AJ]
|
||||||
|
|
||||||
2011/05/11
|
2011/05/11
|
||||||
----------
|
----------
|
||||||
* [GameSoundManager] Added PlayAnnouncer Lua binding. [AJ]
|
* [GameSoundManager] Added PlayAnnouncer Lua binding. [AJ]
|
||||||
|
|||||||
@@ -220,6 +220,8 @@ BottomEdge=SCREEN_BOTTOM
|
|||||||
# Scroll stuff when you roll over it, DDR Extreme style.
|
# Scroll stuff when you roll over it, DDR Extreme style.
|
||||||
ScrollRandom=false
|
ScrollRandom=false
|
||||||
ScrollRoulette=false
|
ScrollRoulette=false
|
||||||
|
ScrollMode=false
|
||||||
|
ScrollSortOrder=false
|
||||||
# Control how fast the banner scrolls. Higher numbers mean slower.
|
# Control how fast the banner scrolls. Higher numbers mean slower.
|
||||||
ScrollSpeedDivisor=2
|
ScrollSpeedDivisor=2
|
||||||
|
|
||||||
@@ -857,7 +859,9 @@ ShowRoulette=true
|
|||||||
ShowRandom=false
|
ShowRandom=false
|
||||||
ShowPortal=false
|
ShowPortal=false
|
||||||
|
|
||||||
|
ShowSectionsInBPMSort=true
|
||||||
SortBPMDivision=20
|
SortBPMDivision=20
|
||||||
|
ShowSectionsInLengthSort=true
|
||||||
SortLengthDivision=5
|
SortLengthDivision=5
|
||||||
|
|
||||||
MostPlayedSongsToShow=30
|
MostPlayedSongsToShow=30
|
||||||
@@ -1282,6 +1286,7 @@ TicksSetCommand=
|
|||||||
#
|
#
|
||||||
ShowMeter=false
|
ShowMeter=false
|
||||||
ZeroMeterString="0"
|
ZeroMeterString="0"
|
||||||
|
MeterFormatString="%i"
|
||||||
MeterX=0
|
MeterX=0
|
||||||
MeterY=0
|
MeterY=0
|
||||||
MeterOnCommand=
|
MeterOnCommand=
|
||||||
@@ -2005,6 +2010,7 @@ TicksOnCommand=shadowlength,0;
|
|||||||
TicksSetCommand=%function(self,param) self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > 9 then self:glowshift() else self:stopeffect() end end
|
TicksSetCommand=%function(self,param) self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > 9 then self:glowshift() else self:stopeffect() end end
|
||||||
ShowTicks=false
|
ShowTicks=false
|
||||||
ShowMeter=true
|
ShowMeter=true
|
||||||
|
MeterFormatString="%i"
|
||||||
ZeroMeterString="?"
|
ZeroMeterString="?"
|
||||||
MeterX=30
|
MeterX=30
|
||||||
MeterY=0
|
MeterY=0
|
||||||
@@ -4031,6 +4037,7 @@ TextX=0
|
|||||||
TextY=0
|
TextY=0
|
||||||
TextOnCommand=maxwidth,40;uppercase,true;shadowlength,0;diffuse,color("#f6ff00")
|
TextOnCommand=maxwidth,40;uppercase,true;shadowlength,0;diffuse,color("#f6ff00")
|
||||||
CropTextToWidth=50
|
CropTextToWidth=50
|
||||||
|
StopWords="1X,default,Overhead,Off"
|
||||||
|
|
||||||
[ModIconSelectMusic]
|
[ModIconSelectMusic]
|
||||||
Fallback="ModIcon"
|
Fallback="ModIcon"
|
||||||
|
|||||||
+4
-4
@@ -17,8 +17,8 @@ REGISTER_ACTOR_CLASS( Banner );
|
|||||||
|
|
||||||
ThemeMetric<bool> SCROLL_RANDOM ("Banner","ScrollRandom");
|
ThemeMetric<bool> SCROLL_RANDOM ("Banner","ScrollRandom");
|
||||||
ThemeMetric<bool> SCROLL_ROULETTE ("Banner","ScrollRoulette");
|
ThemeMetric<bool> SCROLL_ROULETTE ("Banner","ScrollRoulette");
|
||||||
//ThemeMetric<bool> SCROLL_MODE ("Banner","ScrollMode");
|
ThemeMetric<bool> SCROLL_MODE ("Banner","ScrollMode");
|
||||||
//ThemeMetric<bool> SCROLL_SORT_ORDER ("Banner","ScrollSortOrder");
|
ThemeMetric<bool> SCROLL_SORT_ORDER ("Banner","ScrollSortOrder");
|
||||||
ThemeMetric<float> SCROLL_SPEED_DIVISOR ("Banner","ScrollSpeedDivisor");
|
ThemeMetric<float> SCROLL_SPEED_DIVISOR ("Banner","ScrollSpeedDivisor");
|
||||||
|
|
||||||
Banner::Banner()
|
Banner::Banner()
|
||||||
@@ -119,7 +119,7 @@ void Banner::LoadFromSong( Song* pSong ) // NULL means no song
|
|||||||
void Banner::LoadMode()
|
void Banner::LoadMode()
|
||||||
{
|
{
|
||||||
Load( THEME->GetPathG("Banner","Mode") );
|
Load( THEME->GetPathG("Banner","Mode") );
|
||||||
m_bScrolling = false;
|
m_bScrolling = (bool)SCROLL_MODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Banner::LoadFromSongGroup( RString sSongGroup )
|
void Banner::LoadFromSongGroup( RString sSongGroup )
|
||||||
@@ -229,7 +229,7 @@ void Banner::LoadFromSortOrder( SortOrder so )
|
|||||||
if( so != SORT_GROUP && so != SORT_RECENT )
|
if( so != SORT_GROUP && so != SORT_RECENT )
|
||||||
Load( THEME->GetPathG("Banner",ssprintf("%s",SortOrderToString(so).c_str())) );
|
Load( THEME->GetPathG("Banner",ssprintf("%s",SortOrderToString(so).c_str())) );
|
||||||
}
|
}
|
||||||
m_bScrolling = false;
|
m_bScrolling = (bool)SCROLL_SORT_ORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
// lua start
|
// lua start
|
||||||
|
|||||||
+3
-13
@@ -39,12 +39,11 @@ void ModIcon::Load( RString sMetricsGroup )
|
|||||||
this->AddChild( &m_text );
|
this->AddChild( &m_text );
|
||||||
|
|
||||||
CROP_TEXT_TO_WIDTH.Load( sMetricsGroup, "CropTextToWidth" );
|
CROP_TEXT_TO_WIDTH.Load( sMetricsGroup, "CropTextToWidth" );
|
||||||
|
|
||||||
// stop words
|
// stop words
|
||||||
/*
|
|
||||||
STOP_WORDS.Load( sMetricsGroup, "StopWords" );
|
STOP_WORDS.Load( sMetricsGroup, "StopWords" );
|
||||||
m_vStopWords.empty();
|
m_vStopWords.empty();
|
||||||
split(STOP_WORDS, ",", m_vStopWords);
|
split(STOP_WORDS, ",", m_vStopWords);
|
||||||
*/
|
|
||||||
|
|
||||||
Set("");
|
Set("");
|
||||||
}
|
}
|
||||||
@@ -53,17 +52,8 @@ void ModIcon::Set( const RString &_sText )
|
|||||||
{
|
{
|
||||||
RString sText = _sText;
|
RString sText = _sText;
|
||||||
|
|
||||||
// todo: make these metricable -aj
|
for( unsigned i = 0; i < m_vStopWords.size(); i++ )
|
||||||
static const RString sStopWords[] =
|
if( sText.EqualsNoCase(m_vStopWords[i]) )
|
||||||
{
|
|
||||||
"1X",
|
|
||||||
"DEFAULT",
|
|
||||||
"OVERHEAD",
|
|
||||||
"OFF",
|
|
||||||
};
|
|
||||||
|
|
||||||
for( unsigned i=0; i<ARRAYLEN(sStopWords); i++ )
|
|
||||||
if( sText.EqualsNoCase(sStopWords[i]) )
|
|
||||||
sText = "";
|
sText = "";
|
||||||
|
|
||||||
sText.Replace( " ", "\n" );
|
sText.Replace( " ", "\n" );
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ protected:
|
|||||||
AutoActor m_sprEmpty;
|
AutoActor m_sprEmpty;
|
||||||
|
|
||||||
ThemeMetric<int> CROP_TEXT_TO_WIDTH;
|
ThemeMetric<int> CROP_TEXT_TO_WIDTH;
|
||||||
|
ThemeMetric<RString> STOP_WORDS;
|
||||||
|
vector<RString> m_vStopWords;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -360,14 +360,14 @@ void ScoreKeeperNormal::AddScoreInternal( TapNoteScore score )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ASSERT( iScore >= 0 );
|
ASSERT_M( iScore >= 0, "iScore < 0 before re-rounding" );
|
||||||
|
|
||||||
// Undo rounding from the last tap, and re-round.
|
// Undo rounding from the last tap, and re-round.
|
||||||
iScore += m_iScoreRemainder;
|
iScore += m_iScoreRemainder;
|
||||||
m_iScoreRemainder = (iScore % m_iRoundTo);
|
m_iScoreRemainder = (iScore % m_iRoundTo);
|
||||||
iScore = iScore - m_iScoreRemainder;
|
iScore = iScore - m_iScoreRemainder;
|
||||||
|
|
||||||
ASSERT( iScore >= 0 );
|
ASSERT_M( iScore >= 0, "iScore < 0 after re-rounding" );
|
||||||
|
|
||||||
// LOG->Trace( "score: %i", iScore );
|
// LOG->Trace( "score: %i", iScore );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -370,6 +370,11 @@ void ScreenEvaluation::Init()
|
|||||||
// init bonus area
|
// init bonus area
|
||||||
if( SHOW_BONUS_AREA )
|
if( SHOW_BONUS_AREA )
|
||||||
{
|
{
|
||||||
|
// In course mode, we need to make sure the bar doesn't overflow. -aj
|
||||||
|
float fDivider = 1.0f;
|
||||||
|
if( GAMESTATE->IsCourseMode() )
|
||||||
|
fDivider = fDivider / GAMESTATE->m_pCurCourse->m_vEntries.size();
|
||||||
|
|
||||||
FOREACH_EnabledPlayer( p )
|
FOREACH_EnabledPlayer( p )
|
||||||
{
|
{
|
||||||
m_sprBonusFrame[p].Load( THEME->GetPathG(m_sName,ssprintf("BonusFrame p%d",p+1)) );
|
m_sprBonusFrame[p].Load( THEME->GetPathG(m_sName,ssprintf("BonusFrame p%d",p+1)) );
|
||||||
@@ -382,7 +387,7 @@ void ScreenEvaluation::Init()
|
|||||||
for( int r=0; r<NUM_SHOWN_RADAR_CATEGORIES; r++ ) // foreach line
|
for( int r=0; r<NUM_SHOWN_RADAR_CATEGORIES; r++ ) // foreach line
|
||||||
{
|
{
|
||||||
m_sprPossibleBar[p][r].Load( THEME->GetPathG(m_sName,ssprintf("BarPossible p%d",p+1)) );
|
m_sprPossibleBar[p][r].Load( THEME->GetPathG(m_sName,ssprintf("BarPossible p%d",p+1)) );
|
||||||
m_sprPossibleBar[p][r].SetWidth( m_sprPossibleBar[p][r].GetUnzoomedWidth() * m_pStageStats->m_player[p].m_radarPossible[r] );
|
m_sprPossibleBar[p][r].SetWidth( m_sprPossibleBar[p][r].GetUnzoomedWidth() * m_pStageStats->m_player[p].m_radarPossible[r] * fDivider );
|
||||||
m_sprPossibleBar[p][r].SetName( ssprintf("BarPossible%dP%d",r+1,p+1) );
|
m_sprPossibleBar[p][r].SetName( ssprintf("BarPossible%dP%d",r+1,p+1) );
|
||||||
ActorUtil::LoadAllCommands( m_sprPossibleBar[p][r], m_sName );
|
ActorUtil::LoadAllCommands( m_sprPossibleBar[p][r], m_sName );
|
||||||
SET_XY( m_sprPossibleBar[p][r] );
|
SET_XY( m_sprPossibleBar[p][r] );
|
||||||
@@ -390,7 +395,7 @@ void ScreenEvaluation::Init()
|
|||||||
|
|
||||||
m_sprActualBar[p][r].Load( THEME->GetPathG(m_sName,ssprintf("BarActual p%d",p+1)) );
|
m_sprActualBar[p][r].Load( THEME->GetPathG(m_sName,ssprintf("BarActual p%d",p+1)) );
|
||||||
// should be out of the possible bar, not actual (whatever value that is at)
|
// should be out of the possible bar, not actual (whatever value that is at)
|
||||||
m_sprActualBar[p][r].SetWidth( m_sprPossibleBar[p][r].GetUnzoomedWidth() * m_pStageStats->m_player[p].m_radarActual[r] );
|
m_sprActualBar[p][r].SetWidth( m_sprPossibleBar[p][r].GetUnzoomedWidth() * m_pStageStats->m_player[p].m_radarActual[r] * fDivider );
|
||||||
|
|
||||||
float value = (float)100 * m_sprActualBar[p][r].GetUnzoomedWidth() / m_sprPossibleBar[p][r].GetUnzoomedWidth();
|
float value = (float)100 * m_sprActualBar[p][r].GetUnzoomedWidth() / m_sprPossibleBar[p][r].GetUnzoomedWidth();
|
||||||
LOG->Trace("Radar bar %d of 5 - %f percent", r, value);
|
LOG->Trace("Radar bar %d of 5 - %f percent", r, value);
|
||||||
|
|||||||
@@ -812,8 +812,9 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input )
|
|||||||
mc.ApplyToAllPlayers();
|
mc.ApplyToAllPlayers();
|
||||||
// We want to be able to broadcast a Start message to the theme, in
|
// We want to be able to broadcast a Start message to the theme, in
|
||||||
// case a themer wants to handle something. -aj
|
// case a themer wants to handle something. -aj
|
||||||
// TODO: Add a param to differentiate this from the message below.
|
Message msg( MessageIDToString((MessageID)(Message_MenuStartP1+pn)) );
|
||||||
MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) );
|
msg.SetParam( "ScreenEmpty", true );
|
||||||
|
MESSAGEMAN->Broadcast( msg );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1455,7 +1455,9 @@ void ScreenSelectMusic::MenuBack( const InputEventPlus &input )
|
|||||||
// Handle unselect song (ffff)
|
// Handle unselect song (ffff)
|
||||||
// todo: this isn't right at all. -aj
|
// todo: this isn't right at all. -aj
|
||||||
/*
|
/*
|
||||||
if( m_SelectionState == SelectionState_SelectingSteps && !m_bStepsChosen[input.pn] && input.MenuI == GAME_BUTTON_BACK && input.type == IET_FIRST_PRESS )
|
if( m_SelectionState == SelectionState_SelectingSteps &&
|
||||||
|
!m_bStepsChosen[input.pn] && input.MenuI == GAME_BUTTON_BACK &&
|
||||||
|
input.type == IET_FIRST_PRESS )
|
||||||
{
|
{
|
||||||
// if a player has chosen their steps already, don't unchoose song.
|
// if a player has chosen their steps already, don't unchoose song.
|
||||||
FOREACH_HumanPlayer( p )
|
FOREACH_HumanPlayer( p )
|
||||||
@@ -1530,7 +1532,6 @@ void ScreenSelectMusic::AfterStepsOrTrailChange( const vector<PlayerNumber> &vpn
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// The numbers shouldn't stay if the current selection is NULL.
|
// The numbers shouldn't stay if the current selection is NULL.
|
||||||
// todo: Let themers set the text value instead of just using 0. -aj
|
|
||||||
m_textHighScore[pn].SetText( NULL_SCORE_STRING );
|
m_textHighScore[pn].SetText( NULL_SCORE_STRING );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,10 +64,6 @@ void ScreenWithMenuElements::Init()
|
|||||||
this->AddChild( m_MenuTimer );
|
this->AddChild( m_MenuTimer );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Remove overlay and underlay in favor of more flexible decorations */
|
|
||||||
// Decorations don't let you use UpdateCommand, so don't ever
|
|
||||||
// remove underlay and overlay, otherwise good themes break. -aj
|
|
||||||
|
|
||||||
m_sprUnderlay.Load( THEME->GetPathB(m_sName,"underlay") );
|
m_sprUnderlay.Load( THEME->GetPathB(m_sName,"underlay") );
|
||||||
m_sprUnderlay->SetName("Underlay");
|
m_sprUnderlay->SetName("Underlay");
|
||||||
m_sprUnderlay->SetDrawOrder( DRAW_ORDER_UNDERLAY );
|
m_sprUnderlay->SetDrawOrder( DRAW_ORDER_UNDERLAY );
|
||||||
|
|||||||
+23
-11
@@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
ThemeMetric<int> SORT_BPM_DIVISION ( "MusicWheel", "SortBPMDivision" );
|
ThemeMetric<int> SORT_BPM_DIVISION ( "MusicWheel", "SortBPMDivision" );
|
||||||
ThemeMetric<int> SORT_LENGTH_DIVISION ( "MusicWheel", "SortLengthDivision" );
|
ThemeMetric<int> SORT_LENGTH_DIVISION ( "MusicWheel", "SortLengthDivision" );
|
||||||
|
ThemeMetric<bool> SHOW_SECTIONS_IN_BPM_SORT ( "MusicWheel", "ShowSectionsInBPMSort" );
|
||||||
|
ThemeMetric<bool> SHOW_SECTIONS_IN_LENGTH_SORT ( "MusicWheel", "ShowSectionsInLengthSort" );
|
||||||
|
|
||||||
bool SongCriteria::Matches( const Song *pSong ) const
|
bool SongCriteria::Matches( const Song *pSong ) const
|
||||||
{
|
{
|
||||||
@@ -598,20 +600,30 @@ RString SongUtil::GetSectionNameFromSongAndSort( const Song* pSong, SortOrder so
|
|||||||
return SORT_NOT_AVAILABLE.GetValue();
|
return SORT_NOT_AVAILABLE.GetValue();
|
||||||
case SORT_BPM:
|
case SORT_BPM:
|
||||||
{
|
{
|
||||||
const int iBPMGroupSize = SORT_BPM_DIVISION;
|
if( SHOW_SECTIONS_IN_BPM_SORT )
|
||||||
DisplayBpms bpms;
|
{
|
||||||
pSong->GetDisplayBpms( bpms );
|
const int iBPMGroupSize = SORT_BPM_DIVISION;
|
||||||
int iMaxBPM = (int)bpms.GetMax();
|
DisplayBpms bpms;
|
||||||
iMaxBPM += iBPMGroupSize - (iMaxBPM%iBPMGroupSize) - 1;
|
pSong->GetDisplayBpms( bpms );
|
||||||
return ssprintf("%03d-%03d",iMaxBPM-(iBPMGroupSize-1), iMaxBPM);
|
int iMaxBPM = (int)bpms.GetMax();
|
||||||
|
iMaxBPM += iBPMGroupSize - (iMaxBPM%iBPMGroupSize) - 1;
|
||||||
|
return ssprintf("%03d-%03d",iMaxBPM-(iBPMGroupSize-1), iMaxBPM);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return RString();
|
||||||
}
|
}
|
||||||
case SORT_LENGTH:
|
case SORT_LENGTH:
|
||||||
{
|
{
|
||||||
const int iSortLengthSize = SORT_LENGTH_DIVISION;
|
if( SHOW_SECTIONS_IN_LENGTH_SORT )
|
||||||
int iMaxLength = (int)pSong->m_fMusicLengthSeconds;
|
{
|
||||||
iMaxLength += (iSortLengthSize - (iMaxLength%iSortLengthSize) - 1);
|
const int iSortLengthSize = SORT_LENGTH_DIVISION;
|
||||||
int iMinLength = iMaxLength - (iSortLengthSize-1);
|
int iMaxLength = (int)pSong->m_fMusicLengthSeconds;
|
||||||
return ssprintf( "%s-%s", SecondsToMMSS(iMinLength).c_str(), SecondsToMMSS(iMaxLength).c_str() );
|
iMaxLength += (iSortLengthSize - (iMaxLength%iSortLengthSize) - 1);
|
||||||
|
int iMinLength = iMaxLength - (iSortLengthSize-1);
|
||||||
|
return ssprintf( "%s-%s", SecondsToMMSS(iMinLength).c_str(), SecondsToMMSS(iMaxLength).c_str() );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return RString();
|
||||||
}
|
}
|
||||||
case SORT_POPULARITY:
|
case SORT_POPULARITY:
|
||||||
case SORT_RECENT:
|
case SORT_RECENT:
|
||||||
|
|||||||
+4
-1
@@ -202,7 +202,6 @@ void StageStats::FinalizeScores( bool bSummary )
|
|||||||
m_multiPlayer[mp].m_HighScore = FillInHighScore( m_multiPlayer[mp], *GAMESTATE->m_pMultiPlayerState[mp], "", sPlayerGuid );
|
m_multiPlayer[mp].m_HighScore = FillInHighScore( m_multiPlayer[mp], *GAMESTATE->m_pMultiPlayerState[mp], "", sPlayerGuid );
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: don't save scores in autoplay -aj
|
|
||||||
FOREACH_HumanPlayer( p )
|
FOREACH_HumanPlayer( p )
|
||||||
{
|
{
|
||||||
const HighScore &hs = m_player[p].m_HighScore;
|
const HighScore &hs = m_player[p].m_HighScore;
|
||||||
@@ -215,6 +214,10 @@ void StageStats::FinalizeScores( bool bSummary )
|
|||||||
if( hs.GetDisqualified() )
|
if( hs.GetDisqualified() )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// Don't save autoplay scores
|
||||||
|
if( m_bUsedAutoplay )
|
||||||
|
continue;
|
||||||
|
|
||||||
if( bSummary )
|
if( bSummary )
|
||||||
{
|
{
|
||||||
// don't save scores if any stage was failed
|
// don't save scores if any stage was failed
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ void StepsDisplay::Load( const RString &sMetricsGroup, const PlayerState *pPlaye
|
|||||||
m_bShowAutogen.Load(m_sMetricsGroup,"ShowAutogen");
|
m_bShowAutogen.Load(m_sMetricsGroup,"ShowAutogen");
|
||||||
m_bShowStepsType.Load(m_sMetricsGroup,"ShowStepsType");
|
m_bShowStepsType.Load(m_sMetricsGroup,"ShowStepsType");
|
||||||
m_sZeroMeterString.Load(m_sMetricsGroup,"ZeroMeterString");
|
m_sZeroMeterString.Load(m_sMetricsGroup,"ZeroMeterString");
|
||||||
|
m_sMeterFormatString.Load(m_sMetricsGroup,"MeterFormatString");
|
||||||
|
|
||||||
m_sprFrame.Load( THEME->GetPathG(m_sMetricsGroup,"frame") );
|
m_sprFrame.Load( THEME->GetPathG(m_sMetricsGroup,"frame") );
|
||||||
m_sprFrame->SetName( "Frame" );
|
m_sprFrame->SetName( "Frame" );
|
||||||
@@ -241,8 +242,7 @@ void StepsDisplay::SetInternal( const SetParams ¶ms )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// todo: allow themer to specify a format string? -aj
|
const RString sMeter = ssprintf( m_sMeterFormatString.GetValue().c_str(), params.iMeter );
|
||||||
const RString sMeter = ssprintf( "%i", params.iMeter );
|
|
||||||
m_textMeter.SetText( sMeter );
|
m_textMeter.SetText( sMeter );
|
||||||
m_textMeter.HandleMessage( msg );
|
m_textMeter.HandleMessage( msg );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ private:
|
|||||||
ThemeMetric<bool> m_bShowAutogen;
|
ThemeMetric<bool> m_bShowAutogen;
|
||||||
ThemeMetric<bool> m_bShowStepsType;
|
ThemeMetric<bool> m_bShowStepsType;
|
||||||
ThemeMetric<RString> m_sZeroMeterString;
|
ThemeMetric<RString> m_sZeroMeterString;
|
||||||
|
ThemeMetric<RString> m_sMeterFormatString;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ static LRESULT CALLBACK GraphicsWindow_WndProc( HWND hWnd, UINT msg, WPARAM wPar
|
|||||||
case WM_KEYUP:
|
case WM_KEYUP:
|
||||||
case WM_SYSKEYDOWN:
|
case WM_SYSKEYDOWN:
|
||||||
case WM_SYSKEYUP:
|
case WM_SYSKEYUP:
|
||||||
|
case WM_MOUSEWHEEL:
|
||||||
// We handle all input ourself, via DirectInput.
|
// We handle all input ourself, via DirectInput.
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user