diff --git a/Source/Core/Core/FifoPlayer/FifoPlayer.cpp b/Source/Core/Core/FifoPlayer/FifoPlayer.cpp index 8ed4481032..da35c44646 100644 --- a/Source/Core/Core/FifoPlayer/FifoPlayer.cpp +++ b/Source/Core/Core/FifoPlayer/FifoPlayer.cpp @@ -198,16 +198,21 @@ u32 FifoPlayer::GetMaxObjectCount() const return result; } -u32 FifoPlayer::GetFrameObjectCount() const +u32 FifoPlayer::GetFrameObjectCount(u32 frame) const { - if (m_CurrentFrame < m_FrameInfo.size()) + if (frame < m_FrameInfo.size()) { - return (u32)(m_FrameInfo[m_CurrentFrame].objectStarts.size()); + return static_cast(m_FrameInfo[frame].objectStarts.size()); } return 0; } +u32 FifoPlayer::GetCurrentFrameObjectCount() const +{ + return GetFrameObjectCount(m_CurrentFrame); +} + void FifoPlayer::SetFrameRangeStart(u32 start) { if (m_File) diff --git a/Source/Core/Core/FifoPlayer/FifoPlayer.h b/Source/Core/Core/FifoPlayer/FifoPlayer.h index 0f326c3cdb..2b9b8947d9 100644 --- a/Source/Core/Core/FifoPlayer/FifoPlayer.h +++ b/Source/Core/Core/FifoPlayer/FifoPlayer.h @@ -75,7 +75,8 @@ public: FifoDataFile* GetFile() const { return m_File.get(); } u32 GetMaxObjectCount() const; - u32 GetFrameObjectCount() const; + u32 GetFrameObjectCount(u32 frame) const; + u32 GetCurrentFrameObjectCount() const; u32 GetCurrentFrameNum() const { return m_CurrentFrame; } const AnalyzedFrameInfo& GetAnalyzedFrameInfo(u32 frame) const { return m_FrameInfo[frame]; } // Frame range diff --git a/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp b/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp index db0ff42488..7cf804f899 100644 --- a/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp +++ b/Source/Core/DolphinQt/FIFO/FIFOAnalyzer.cpp @@ -139,23 +139,22 @@ void FIFOAnalyzer::UpdateTree() auto* file = FifoPlayer::GetInstance().GetFile(); - int object_count = FifoPlayer::GetInstance().GetFrameObjectCount(); - int frame_count = file->GetFrameCount(); - - for (int i = 0; i < frame_count; i++) + const u32 frame_count = file->GetFrameCount(); + for (u32 frame = 0; frame < frame_count; frame++) { - auto* frame_item = new QTreeWidgetItem({tr("Frame %1").arg(i)}); + auto* frame_item = new QTreeWidgetItem({tr("Frame %1").arg(frame)}); recording_item->addChild(frame_item); - for (int j = 0; j < object_count; j++) + const u32 object_count = FifoPlayer::GetInstance().GetFrameObjectCount(frame); + for (u32 object = 0; object < object_count; object++) { - auto* object_item = new QTreeWidgetItem({tr("Object %1").arg(j)}); + auto* object_item = new QTreeWidgetItem({tr("Object %1").arg(object)}); frame_item->addChild(object_item); - object_item->setData(0, FRAME_ROLE, i); - object_item->setData(0, OBJECT_ROLE, j); + object_item->setData(0, FRAME_ROLE, frame); + object_item->setData(0, OBJECT_ROLE, object); } } } diff --git a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp index c4d29b1165..e4154b6b6c 100644 --- a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp +++ b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp @@ -262,7 +262,7 @@ void FIFOPlayerWindow::UpdateInfo() m_info_label->setText( tr("%1 frame(s)\n%2 object(s)\nCurrent Frame: %3") .arg(QString::number(file->GetFrameCount()), - QString::number(FifoPlayer::GetInstance().GetFrameObjectCount()), + QString::number(FifoPlayer::GetInstance().GetCurrentFrameObjectCount()), QString::number(FifoPlayer::GetInstance().GetCurrentFrameNum()))); return; }