Add on screen frame counter.
This commit is contained in:
parent
13fc8e7df1
commit
f6c6f03cce
|
@ -172,6 +172,7 @@ void SConfig::SaveGeneralSettings(IniFile& ini)
|
||||||
// General
|
// General
|
||||||
general->Set("LastFilename", m_LastFilename);
|
general->Set("LastFilename", m_LastFilename);
|
||||||
general->Set("ShowLag", m_ShowLag);
|
general->Set("ShowLag", m_ShowLag);
|
||||||
|
general->Set("ShowFrameCount", m_ShowFrameCount);
|
||||||
|
|
||||||
// ISO folders
|
// ISO folders
|
||||||
// Clear removed folders
|
// Clear removed folders
|
||||||
|
@ -379,6 +380,7 @@ void SConfig::LoadGeneralSettings(IniFile& ini)
|
||||||
|
|
||||||
general->Get("LastFilename", &m_LastFilename);
|
general->Get("LastFilename", &m_LastFilename);
|
||||||
general->Get("ShowLag", &m_ShowLag, false);
|
general->Get("ShowLag", &m_ShowLag, false);
|
||||||
|
general->Get("ShowFrameCount", &m_ShowFrameCount, false);
|
||||||
#ifdef USE_GDBSTUB
|
#ifdef USE_GDBSTUB
|
||||||
general->Get("GDBPort", &(m_LocalCoreStartupParameter.iGDBPort), -1);
|
general->Get("GDBPort", &(m_LocalCoreStartupParameter.iGDBPort), -1);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -86,6 +86,7 @@ struct SConfig : NonCopyable
|
||||||
std::string m_WirelessMac;
|
std::string m_WirelessMac;
|
||||||
bool m_PauseMovie;
|
bool m_PauseMovie;
|
||||||
bool m_ShowLag;
|
bool m_ShowLag;
|
||||||
|
bool m_ShowFrameCount;
|
||||||
std::string m_strMovieAuthor;
|
std::string m_strMovieAuthor;
|
||||||
unsigned int m_FrameSkip;
|
unsigned int m_FrameSkip;
|
||||||
|
|
||||||
|
|
|
@ -230,6 +230,7 @@ EVT_MENU(IDM_RECORDREADONLY, CFrame::OnRecordReadOnly)
|
||||||
EVT_MENU(IDM_TASINPUT, CFrame::OnTASInput)
|
EVT_MENU(IDM_TASINPUT, CFrame::OnTASInput)
|
||||||
EVT_MENU(IDM_TOGGLE_PAUSEMOVIE, CFrame::OnTogglePauseMovie)
|
EVT_MENU(IDM_TOGGLE_PAUSEMOVIE, CFrame::OnTogglePauseMovie)
|
||||||
EVT_MENU(IDM_SHOWLAG, CFrame::OnShowLag)
|
EVT_MENU(IDM_SHOWLAG, CFrame::OnShowLag)
|
||||||
|
EVT_MENU(IDM_SHOWFRAMECOUNT, CFrame::OnShowFrameCount)
|
||||||
EVT_MENU(IDM_FRAMESTEP, CFrame::OnFrameStep)
|
EVT_MENU(IDM_FRAMESTEP, CFrame::OnFrameStep)
|
||||||
EVT_MENU(IDM_SCREENSHOT, CFrame::OnScreenshot)
|
EVT_MENU(IDM_SCREENSHOT, CFrame::OnScreenshot)
|
||||||
EVT_MENU(wxID_PREFERENCES, CFrame::OnConfigMain)
|
EVT_MENU(wxID_PREFERENCES, CFrame::OnConfigMain)
|
||||||
|
|
|
@ -270,6 +270,7 @@ private:
|
||||||
void OnTASInput(wxCommandEvent& event);
|
void OnTASInput(wxCommandEvent& event);
|
||||||
void OnTogglePauseMovie(wxCommandEvent& event);
|
void OnTogglePauseMovie(wxCommandEvent& event);
|
||||||
void OnShowLag(wxCommandEvent& event);
|
void OnShowLag(wxCommandEvent& event);
|
||||||
|
void OnShowFrameCount(wxCommandEvent& event);
|
||||||
void OnChangeDisc(wxCommandEvent& event);
|
void OnChangeDisc(wxCommandEvent& event);
|
||||||
void OnScreenshot(wxCommandEvent& event);
|
void OnScreenshot(wxCommandEvent& event);
|
||||||
void OnActive(wxActivateEvent& event);
|
void OnActive(wxActivateEvent& event);
|
||||||
|
|
|
@ -213,6 +213,8 @@ wxMenuBar* CFrame::CreateMenu()
|
||||||
movieMenu->Check(IDM_TOGGLE_PAUSEMOVIE, SConfig::GetInstance().m_PauseMovie);
|
movieMenu->Check(IDM_TOGGLE_PAUSEMOVIE, SConfig::GetInstance().m_PauseMovie);
|
||||||
movieMenu->AppendCheckItem(IDM_SHOWLAG, _("Show lag counter"));
|
movieMenu->AppendCheckItem(IDM_SHOWLAG, _("Show lag counter"));
|
||||||
movieMenu->Check(IDM_SHOWLAG, SConfig::GetInstance().m_ShowLag);
|
movieMenu->Check(IDM_SHOWLAG, SConfig::GetInstance().m_ShowLag);
|
||||||
|
movieMenu->AppendCheckItem(IDM_SHOWFRAMECOUNT, _("Show frame counter"));
|
||||||
|
movieMenu->Check(IDM_SHOWFRAMECOUNT, SConfig::GetInstance().m_ShowFrameCount);
|
||||||
movieMenu->Check(IDM_RECORDREADONLY, true);
|
movieMenu->Check(IDM_RECORDREADONLY, true);
|
||||||
menubar->Append(movieMenu, _("&Movie"));
|
menubar->Append(movieMenu, _("&Movie"));
|
||||||
|
|
||||||
|
@ -717,6 +719,12 @@ void CFrame::OnShowLag(wxCommandEvent& WXUNUSED (event))
|
||||||
SConfig::GetInstance().SaveSettings();
|
SConfig::GetInstance().SaveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CFrame::OnShowFrameCount(wxCommandEvent& WXUNUSED (event))
|
||||||
|
{
|
||||||
|
SConfig::GetInstance().m_ShowFrameCount = !SConfig::GetInstance().m_ShowFrameCount;
|
||||||
|
SConfig::GetInstance().SaveSettings();
|
||||||
|
}
|
||||||
|
|
||||||
void CFrame::OnFrameStep(wxCommandEvent& event)
|
void CFrame::OnFrameStep(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
bool wasPaused = (Core::GetState() == Core::CORE_PAUSE);
|
bool wasPaused = (Core::GetState() == Core::CORE_PAUSE);
|
||||||
|
|
|
@ -91,6 +91,7 @@ enum
|
||||||
IDM_TASINPUT,
|
IDM_TASINPUT,
|
||||||
IDM_TOGGLE_PAUSEMOVIE,
|
IDM_TOGGLE_PAUSEMOVIE,
|
||||||
IDM_SHOWLAG,
|
IDM_SHOWLAG,
|
||||||
|
IDM_SHOWFRAMECOUNT,
|
||||||
IDM_FRAMESTEP,
|
IDM_FRAMESTEP,
|
||||||
IDM_SCREENSHOT,
|
IDM_SCREENSHOT,
|
||||||
IDM_BROWSE,
|
IDM_BROWSE,
|
||||||
|
|
|
@ -896,9 +896,23 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, co
|
||||||
D3D::context->RSSetViewports(1, &vp);
|
D3D::context->RSSetViewports(1, &vp);
|
||||||
|
|
||||||
// Finish up the current frame, print some stats
|
// Finish up the current frame, print some stats
|
||||||
if (g_ActiveConfig.bShowFPS)
|
if (g_ActiveConfig.bShowFPS || SConfig::GetInstance().m_ShowFrameCount)
|
||||||
{
|
{
|
||||||
std::string fps = StringFromFormat("FPS: %d\n", m_fps_counter.m_fps);
|
std::string fps = "";
|
||||||
|
if (g_ActiveConfig.bShowFPS)
|
||||||
|
fps = StringFromFormat("FPS: %d", m_fps_counter.m_fps);
|
||||||
|
|
||||||
|
if (g_ActiveConfig.bShowFPS && SConfig::GetInstance().m_ShowFrameCount)
|
||||||
|
fps += " - ";
|
||||||
|
if (SConfig::GetInstance().m_ShowFrameCount)
|
||||||
|
{
|
||||||
|
fps += StringFromFormat("Frame: %d", Movie::g_currentFrame);
|
||||||
|
if (Movie::IsPlayingInput())
|
||||||
|
fps += StringFromFormat(" / %d", Movie::g_totalFrames);
|
||||||
|
}
|
||||||
|
|
||||||
|
fps += "\n";
|
||||||
|
|
||||||
D3D::font.DrawTextScaled(0, 0, 20, 0.0f, 0xFF00FFFF, fps);
|
D3D::font.DrawTextScaled(0, 0, 20, 0.0f, 0xFF00FFFF, fps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -709,8 +709,23 @@ void Renderer::DrawDebugInfo()
|
||||||
// Draw various messages on the screen, like FPS, statistics, etc.
|
// Draw various messages on the screen, like FPS, statistics, etc.
|
||||||
std::string debug_info;
|
std::string debug_info;
|
||||||
|
|
||||||
if (g_ActiveConfig.bShowFPS)
|
if (g_ActiveConfig.bShowFPS || SConfig::GetInstance().m_ShowFrameCount)
|
||||||
debug_info += StringFromFormat("FPS: %d\n", m_fps_counter.m_fps);
|
{
|
||||||
|
std::string fps = "";
|
||||||
|
if (g_ActiveConfig.bShowFPS)
|
||||||
|
debug_info += StringFromFormat("FPS: %d", m_fps_counter.m_fps);
|
||||||
|
|
||||||
|
if (g_ActiveConfig.bShowFPS && SConfig::GetInstance().m_ShowFrameCount)
|
||||||
|
debug_info += " - ";
|
||||||
|
if (SConfig::GetInstance().m_ShowFrameCount)
|
||||||
|
{
|
||||||
|
debug_info += StringFromFormat("Frame: %d", Movie::g_currentFrame);
|
||||||
|
if (Movie::IsPlayingInput())
|
||||||
|
debug_info += StringFromFormat(" / %d", Movie::g_totalFrames);
|
||||||
|
}
|
||||||
|
|
||||||
|
debug_info += "\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (SConfig::GetInstance().m_ShowLag)
|
if (SConfig::GetInstance().m_ShowLag)
|
||||||
debug_info += StringFromFormat("Lag: %" PRIu64 "\n", Movie::g_currentLagCount);
|
debug_info += StringFromFormat("Lag: %" PRIu64 "\n", Movie::g_currentLagCount);
|
||||||
|
|
Loading…
Reference in New Issue