Skip to content

Commit

Permalink
Merge pull request #547 from 123jimin/202201-practice-playback-fix
Browse files Browse the repository at this point in the history
Fixed a regression in #515 (objects not visible for certain cases during practice mode)
  • Loading branch information
Drewol committed Jan 9, 2022
2 parents 42ca161 + a7d1306 commit 7eb260f
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions Beatmap/src/BeatmapPlayback.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@ bool BeatmapPlayback::Reset(MapTime initTime, MapTime start)
m_playRange = { start, start };

m_currObject = m_beatmap->GetFirstObjectState();
m_currLaserObject = m_beatmap->GetFirstObjectState();
m_currAlertObject = m_beatmap->GetFirstObjectState();
m_currObject = m_SelectHitObject(std::max(initTime, start), true);

m_currentTiming = m_beatmap->GetFirstTimingPoint();
m_currLaserObject = m_currObject;
m_currAlertObject = m_currObject;

m_currentTiming = m_beatmap->GetTimingPoint(initTime);
m_currentLaneTogglePoint = m_beatmap->GetFirstLaneTogglePoint();

m_currentTrackRollBehaviour = TrackRollBehaviour::Normal;
Expand Down Expand Up @@ -349,10 +351,20 @@ void BeatmapPlayback::GetObjectsInViewRange(float numBeats, Vector<ObjectState*>
MapTime currRefTime = m_playbackTime;
float currBeats = 0.0f;

for (Beatmap::ObjectsIterator obj = m_currObject; !IsEndObject(obj) && m_playRange.Includes((*obj)->time); ++obj)
for (Beatmap::ObjectsIterator obj = m_currObject; !IsEndObject(obj); ++obj)
{
const MapTime objTime = (*obj)->time;

if (!m_playRange.Includes(objTime))
{
if (m_playRange.HasEnd() && objTime >= m_playRange.end)
{
break;
}

continue;
}

if (!IsEndTiming(tp_next) && tp_next->time <= objTime)
{
currBeats += m_beatmap->GetBeatCountWithScrollSpeedApplied(currRefTime, tp_next->time, tp);
Expand Down

0 comments on commit 7eb260f

Please sign in to comment.