added more info besides FPS to the stats display

This commit is contained in:
Chris Danford
2002-08-18 17:48:50 +00:00
parent 4ec25ba29c
commit 8b55061827
14 changed files with 86 additions and 67 deletions
+2 -2
View File
@@ -209,8 +209,8 @@ TryExtraStageY=420
TimerSeconds=40
[Other]
FPSX=616
FPSY=10
StatsX=632
StatsY=10
CreditsP1X=100
CreditsP1Y=470
CreditsP2X=540
+2 -2
View File
@@ -158,9 +158,9 @@ void BitmapText::DrawPrimitives()
int iY; // the center position of the first row of characters
switch( m_VertAlign )
{
case align_top: iY = -(m_iNumLines-1) * iHeight; break;
case align_bottom: iY = -(m_iNumLines-1) * iHeight; break;
case align_middle: iY = -(m_iNumLines-1) * iHeight/2; break;
case align_bottom: iY = 0; break;
case align_top: iY = 0; break;
default: ASSERT( false );
}
+19 -19
View File
@@ -491,8 +491,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
}, */
{ // PUMP_STYLE_SINGLE
GAME_PUMP, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"pump-single", // m_szName
NOTES_TYPE_PUMP_SINGLE, // m_NotesType
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
@@ -520,7 +520,7 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // PUMP_STYLE_VERSUS
GAME_PUMP, // m_Game
false, // m_bUsedForGameplay
true, // m_bUsedForGameplay
false, // m_bUsedForEdit
"pump-versus", // m_szName
NOTES_TYPE_PUMP_SINGLE, // m_NotesType
@@ -549,8 +549,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // PUMP_STYLE_DOUBLE
GAME_PUMP, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"pump-double", // m_szName
NOTES_TYPE_PUMP_DOUBLE, // m_NotesType
StyleDef::ONE_PLAYER_TWO_CREDITS, // m_StyleType
@@ -590,8 +590,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
{ // EZ2_STYLE_SINGLE
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-single", // m_szName
NOTES_TYPE_EZ2_SINGLE, // m_NotesType
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
@@ -619,8 +619,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_SINGLE_HARD
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-single-hard", // m_szName
NOTES_TYPE_EZ2_SINGLE_HARD, // m_NotesType
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
@@ -648,8 +648,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_DOUBLE
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-double", // m_szName
NOTES_TYPE_EZ2_DOUBLE, // m_NotesType
StyleDef::ONE_PLAYER_TWO_CREDITS, // m_StyleType
@@ -687,8 +687,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_REAL
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-real", // m_szName
NOTES_TYPE_EZ2_REAL, // m_NotesType
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
@@ -720,8 +720,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_SINGLE_VERSUS
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-single-versus", // m_szName
NOTES_TYPE_EZ2_SINGLE, // m_NotesType
StyleDef::TWO_PLAYERS_TWO_CREDITS, // m_StyleType
@@ -749,8 +749,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_SINGLE_VERSUS
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-single-hard-versus", // m_szName
NOTES_TYPE_EZ2_SINGLE_HARD, // m_NotesType
StyleDef::TWO_PLAYERS_TWO_CREDITS, // m_StyleType
@@ -778,8 +778,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
},
{ // EZ2_STYLE_REAL_VERSUS
GAME_EZ2, // m_Game
false, // m_bUsedForGameplay
false, // m_bUsedForEdit
true, // m_bUsedForGameplay
true, // m_bUsedForEdit
"ez2-real-versus", // m_szName
NOTES_TYPE_EZ2_REAL, // m_NotesType
StyleDef::TWO_PLAYERS_TWO_CREDITS, // m_StyleType
+3 -3
View File
@@ -32,7 +32,7 @@ PrefsManager::PrefsManager()
m_iRefreshRate = 0;
m_bIgnoreJoyAxes = false;
m_bOnlyDedicatedMenuButtons = false;
m_bShowFPS = false;
m_bShowStats = false;
m_BackgroundMode = BGMODE_ANIMATIONS;
m_bShowDanger = true;
m_fBGBrightness = 0.8f;
@@ -66,7 +66,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
ini.GetValueI( "Options", "RefreshRate", m_iRefreshRate );
ini.GetValueB( "Options", "IgnoreJoyAxes", m_bIgnoreJoyAxes );
ini.GetValueB( "Options", "UseDedicatedMenuButtons",m_bOnlyDedicatedMenuButtons );
ini.GetValueB( "Options", "ShowFPS", m_bShowFPS );
ini.GetValueB( "Options", "ShowStats", m_bShowStats );
ini.GetValueI( "Options", "BackgroundMode", (int&)m_BackgroundMode );
ini.GetValueB( "Options", "ShowDanger", m_bShowDanger );
ini.GetValueF( "Options", "BGBrightness", m_fBGBrightness );
@@ -103,7 +103,7 @@ void PrefsManager::SaveGlobalPrefsToDisk()
ini.SetValueI( "Options", "RefreshRate", m_iRefreshRate );
ini.SetValueB( "Options", "IgnoreJoyAxes", m_bIgnoreJoyAxes );
ini.GetValueB( "Options", "UseDedicatedMenuButtons",m_bOnlyDedicatedMenuButtons );
ini.SetValueB( "Options", "ShowFPS", m_bShowFPS );
ini.SetValueB( "Options", "ShowStats", m_bShowStats );
ini.SetValueI( "Options", "BackgroundMode", m_BackgroundMode);
ini.SetValueB( "Options", "ShowDanger", m_bShowDanger );
ini.SetValueF( "Options", "BGBrightness", m_fBGBrightness );
+1 -1
View File
@@ -33,7 +33,7 @@ public:
int m_iRefreshRate; // 0 means 'default'
bool m_bIgnoreJoyAxes;
bool m_bOnlyDedicatedMenuButtons;
bool m_bShowFPS;
bool m_bShowStats;
BackgroundMode m_BackgroundMode;
bool m_bShowDanger;
float m_fBGBrightness;
+18 -7
View File
@@ -32,9 +32,13 @@ RageDisplay::RageDisplay( HWND hWnd )
m_pd3dDevice = NULL;
m_pVB = NULL;
m_fLastUpdateTime = TIMER->GetTimeSinceStart();
m_fLastCheckTime = TIMER->GetTimeSinceStart();
m_iFramesRenderedSinceLastCheck = 0;
m_fFPS = 0;
m_iTrianglesRenderedSinceLastCheck = 0;
m_iDrawsSinceLastCheck = 0;
m_iFPS = 0;
m_iTPF = 0;
m_iDPF = 0;
m_iNumVerts = 0;
@@ -381,13 +385,17 @@ HRESULT RageDisplay::EndFrame()
m_iFramesRenderedSinceLastCheck++;
float fTimeNow = TIMER->GetTimeSinceStart();
if( fTimeNow - m_fLastUpdateTime > 1.0f ) // update stats every 1 sec.
if( fTimeNow - m_fLastCheckTime > 1.0f ) // update stats every 1 sec.
{
m_fFPS = (float)m_iFramesRenderedSinceLastCheck;
m_iFPS = m_iFramesRenderedSinceLastCheck;
m_iFramesRenderedSinceLastCheck = 0;
m_fLastUpdateTime = fTimeNow;
m_iTPF = m_iTrianglesRenderedSinceLastCheck / m_iFPS;
m_iTrianglesRenderedSinceLastCheck = 0;
m_iDPF = m_iDrawsSinceLastCheck / m_iFPS;
m_iDrawsSinceLastCheck = 0;
m_fLastCheckTime = fTimeNow;
LOG->Trace( "FPS: %.0f", m_fFPS );
LOG->Trace( "FPS: %d, TPF: %d, DPF: %d", m_iFPS, m_iTPF, m_iDPF );
}
@@ -497,6 +505,8 @@ void RageDisplay::AddTriangle(
if( m_iNumVerts > MAX_NUM_VERTICIES-4 )
FlushQueue();
m_iTrianglesRenderedSinceLastCheck++;
}
void RageDisplay::AddQuad(
@@ -527,8 +537,9 @@ void RageDisplay::FlushQueue()
memcpy( v, m_vertQueue, sizeof(RAGEVERTEX)*m_iNumVerts );
m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, m_iNumVerts/3 );
m_pVB->Unlock();
m_iNumVerts = 0;
m_iDrawsSinceLastCheck++;
}
void RageDisplay::SetViewTransform( D3DXMATRIX* pMatrix )
+10 -4
View File
@@ -97,7 +97,9 @@ public:
void RotateZ( const float r );
// void RotateYawPitchRoll( const float x, const float y, const float z );
float GetFPS() { return m_fFPS; };
int GetFPS() { return m_iFPS; };
int GetTPF() { return m_iTPF; };
int GetDPF() { return m_iDPF; };
private:
D3DXMATRIX& GetTopMatrix() { return m_MatrixStack.ElementAt( m_MatrixStack.GetSize()-1 ); };
@@ -122,9 +124,13 @@ private:
CArray<D3DXMATRIX, D3DXMATRIX&> m_MatrixStack;
// for performance stats
float m_fLastUpdateTime;
int m_iFramesRenderedSinceLastCheck;
float m_fFPS;
float m_fLastCheckTime;
int m_iFramesRenderedSinceLastCheck;
int m_iTrianglesRenderedSinceLastCheck;
int m_iDrawsSinceLastCheck;
int m_iFPS;
int m_iTPF;
int m_iDPF;
//
+2 -2
View File
@@ -236,7 +236,7 @@ ScreenEdit::ScreenEdit()
m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textHelp.SetXY( HELP_X, HELP_Y );
m_textHelp.SetHorizAlign( Actor::align_left );
m_textHelp.SetVertAlign( Actor::align_top );
m_textHelp.SetVertAlign( Actor::align_bottom );
m_textHelp.SetZoom( 0.5f );
m_textHelp.SetShadowLength( 2 );
m_textHelp.SetText( HELP_TEXT );
@@ -244,7 +244,7 @@ ScreenEdit::ScreenEdit()
m_textShortcuts.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textShortcuts.SetXY( SHORTCUTS_X, SHORTCUTS_Y );
m_textShortcuts.SetHorizAlign( Actor::align_left );
m_textShortcuts.SetVertAlign( Actor::align_bottom );
m_textShortcuts.SetVertAlign( Actor::align_top );
m_textShortcuts.SetZoom( 0.5f );
m_textShortcuts.SetShadowLength( 2 );
m_textShortcuts.SetText( SHORTCUT_TEXT );
+11 -11
View File
@@ -31,21 +31,21 @@ enum {
GO_DISPLAY_RESOLUTION,
GO_TEXTURE_RESOLUTION,
GO_REFRESH_RATE,
GO_SHOWFPS,
GO_SHOWSTATS,
GO_BGMODE,
GO_BGBRIGHTNESS,
GO_MOVIEDECODEMS,
NUM_GRAPHIC_OPTIONS_LINES
};
OptionLineData g_GraphicOptionsLines[NUM_GRAPHIC_OPTIONS_LINES] = {
{ "Display", 2, {"FULLSCREEN", "WINDOWED"} },
{ "Display Res", 7, {"320","400","512","640","800","1024","1280"} },
{ "Texture Res", 3, {"256","512","1024"} },
{ "Refresh Rate", 10, {"DEFAULT","60","70","72","75","80","85","90","100","120"} },
{ "Show FPS", 2, {"OFF","ON"} },
{ "BG Mode", 4, {"OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES"} },
{ "BG Brightness", 5, {"20%","40%","60%","80%","100%"} },
{ "Movie Decode MS", 5, {"1ms","2ms","3ms","4ms","5ms"} },
{ "Display", 2, {"FULLSCREEN", "WINDOWED"} },
{ "Display Res", 7, {"320","400","512","640","800","1024","1280"} },
{ "Texture Res", 3, {"256","512","1024"} },
{ "Refresh Rate", 10, {"DEFAULT","60","70","72","75","80","85","90","100","120"} },
{ "Show Stats", 2, {"OFF","ON"} },
{ "BG Mode", 4, {"OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES"} },
{ "BG Brightness", 5, {"20%","40%","60%","80%","100%"} },
{ "Movie Decode", 5, {"1ms","2ms","3ms","4ms","5ms"} },
};
ScreenGraphicOptions::ScreenGraphicOptions() :
@@ -104,7 +104,7 @@ void ScreenGraphicOptions::ImportOptions()
default: m_iSelectedOption[0][GO_REFRESH_RATE] = 0; break;
}
m_iSelectedOption[0][GO_SHOWFPS] = PREFSMAN->m_bShowFPS ? 1:0;
m_iSelectedOption[0][GO_SHOWSTATS] = PREFSMAN->m_bShowStats ? 1:0;
m_iSelectedOption[0][GO_BGMODE] = PREFSMAN->m_BackgroundMode;
if( PREFSMAN->m_fBGBrightness == 0.2f ) m_iSelectedOption[0][GO_BGBRIGHTNESS] = 0;
@@ -156,7 +156,7 @@ void ScreenGraphicOptions::ExportOptions()
default: ASSERT(0); PREFSMAN->m_iRefreshRate = 0; break;
}
PREFSMAN->m_bShowFPS = m_iSelectedOption[0][GO_SHOWFPS] == 1;
PREFSMAN->m_bShowStats = m_iSelectedOption[0][GO_SHOWSTATS] == 1;
PREFSMAN->m_BackgroundMode = PrefsManager::BackgroundMode( m_iSelectedOption[0][GO_BGMODE] );
switch( m_iSelectedOption[0][GO_BGBRIGHTNESS] )
+12 -12
View File
@@ -21,8 +21,8 @@
ScreenManager* SCREENMAN = NULL; // global and accessable from anywhere in our program
#define FPS_X THEME->GetMetricF("Other","FPSX")
#define FPS_Y THEME->GetMetricF("Other","FPSY")
#define STATS_X THEME->GetMetricF("Other","StatsX")
#define STATS_Y THEME->GetMetricF("Other","StatsY")
#define CREDITS_P1_X THEME->GetMetricF("Other","CreditsP1X")
#define CREDITS_P1_Y THEME->GetMetricF("Other","CreditsP1Y")
#define CREDITS_P2_X THEME->GetMetricF("Other","CreditsP2X")
@@ -47,11 +47,12 @@ float CREDITS_Y( int p ) {
ScreenManager::ScreenManager()
{
m_textFPS.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textFPS.SetXY( FPS_X, FPS_Y );
m_textFPS.SetZ( -2 );
m_textFPS.SetZoom( 0.5f );
m_textFPS.SetShadowLength( 2 );
m_textStats.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textStats.SetXY( STATS_X, STATS_Y );
m_textStats.SetHorizAlign( Actor::align_right );
m_textStats.SetVertAlign( Actor::align_top );
m_textStats.SetZoom( 0.5f );
m_textStats.SetShadowLength( 2 );
for( int p=0; p<NUM_PLAYERS; p++ )
{
@@ -66,7 +67,6 @@ ScreenManager::ScreenManager()
m_textSystemMessage.SetHorizAlign( Actor::align_left );
m_textSystemMessage.SetVertAlign( Actor::align_bottom );
m_textSystemMessage.SetXY( 5.0f, 10.0f );
m_textSystemMessage.SetZ( -2 );
m_textSystemMessage.SetZoom( 0.5f );
m_textSystemMessage.SetShadowLength( 2 );
m_textSystemMessage.SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
@@ -88,7 +88,7 @@ ScreenManager::~ScreenManager()
void ScreenManager::Update( float fDeltaTime )
{
m_textSystemMessage.Update( fDeltaTime );
m_textFPS.Update( fDeltaTime );
m_textStats.Update( fDeltaTime );
for( int p=0; p<NUM_PLAYERS; p++ )
m_textCreditInfo[p].Update( fDeltaTime );
@@ -130,10 +130,10 @@ void ScreenManager::Draw()
if( m_textSystemMessage.GetDiffuseColor().a != 0 )
m_textSystemMessage.Draw();
if( PREFSMAN && PREFSMAN->m_bShowFPS )
if( PREFSMAN && PREFSMAN->m_bShowStats )
{
m_textFPS.SetText( ssprintf("%3.0f FPS", DISPLAY->GetFPS()) );
m_textFPS.Draw();
m_textStats.SetText( ssprintf("%d FPS\n%d TPF\n%d DPF", DISPLAY->GetFPS(),DISPLAY->GetTPF(),DISPLAY->GetDPF()) );
m_textStats.Draw();
}
for( int p=0; p<NUM_PLAYERS; p++ )
m_textCreditInfo[p].Draw();
+1 -1
View File
@@ -47,7 +47,7 @@ private:
CArray<Screen*, Screen*&> m_ScreenStack;
CArray<Screen*, Screen*&> m_ScreensToDelete;
BitmapText m_textFPS;
BitmapText m_textStats;
BitmapText m_textSystemMessage;
BitmapText m_textCreditInfo[NUM_PLAYERS];
};
+1 -1
View File
@@ -229,7 +229,7 @@ ScreenSelectGroup::ScreenSelectGroup()
m_textTitles[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textTitles[i].SetXY( TITLES_START_X + i*TITLES_SPACING_X, TITLES_START_Y );
m_textTitles[i].SetHorizAlign( Actor::align_left );
m_textTitles[i].SetVertAlign( Actor::align_bottom );
m_textTitles[i].SetVertAlign( Actor::align_top );
m_textTitles[i].SetZoom( 0.5f );
m_textTitles[i].SetShadowLength( 2 );
this->AddSubActor( &m_textTitles[i] );
+2 -1
View File
@@ -54,6 +54,7 @@ ScreenSelectStyle::ScreenSelectStyle()
GAMESTATE->m_bPlayersCanJoin = true;
GAMEMAN->GetGameplayStylesForGame( GAMESTATE->m_CurGame, m_aPossibleStyles );
ASSERT( m_aPossibleStyles.GetSize() > 0 ); // every game should have at least one Style, or else why have the Game? :-)
m_iSelection = 0;
for( int i=0; i<m_aPossibleStyles.GetSize(); i++ )
@@ -379,7 +380,7 @@ void ScreenSelectStyle::UpdateEnabledDisabled()
break;
}
}
ASSERT( iSwitchToStyleIndex != -1 );
ASSERT( iSwitchToStyleIndex != -1 ); // no styles are enabled. We're stuck! This should never happen
m_iSelection = iSwitchToStyleIndex;
AfterChange();
+2 -1
View File
@@ -484,9 +484,10 @@ void ScreenStage::DrawPrimitives()
if ( STAGE_SCREEN_TYPE == SCREENTYPE_DANCE) // only DANCE uses the quadmask
m_quadMask.Draw();
m_frameStage.Draw();
DISPLAY->DisableZBuffer();
m_Fade.Draw();
if ( STAGE_SCREEN_TYPE == SCREENTYPE_PUMP) // only PUMP uses the song background on the stage screen