Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
Walkthrough
ChangesCamera movement rendering
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: 🔵 Low · up to Scripted camera motion can continue while the game is halted in fast-time mode. Excluding halted games from that update path is a small, localized fix. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 3519fa09-dc2b-4704-8431-c5ca9fba45a8
📒 Files selected for processing (1)
Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
1d546d6 to
f3f3760
Compare
…ts in multiplayer.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to GitHub limitations.
🟡 Minor · Exclude halted games from the fast-time camera update. · W3DDisplay.cpp:1798-1803
Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp:1798-1803
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winExclude halted games from the fast-time camera update.
When fast time is active and the game is halted, this branch calls
updateCameraMovements(). The method advances scripted zoom, pitch, and rotation frames and changes camera values without checking the halted state. This conflicts withFramePacer::setGameHalted(), which documents that halted games do not allow scripted camera movement. The exception is for frozen time only: waypoint movement passesIgnoreFrozenTime, notIgnoreHaltedGame, and therefore receives a zero step while halted.Suggested fix
-if ((!freezeTime || TheFramePacer->isGameHalted()) && TheScriptEngine->isTimeFast()) +if (!freezeTime && !TheFramePacer->isGameHalted() && TheScriptEngine->isTimeFast())
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: e69b2172-9ef3-4b65-9620-24f30c4ba0df
📒 Files selected for processing (1)
Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 1 remain after this review.
Bool freezeTime = isTimeFrozen();->
Bool freezeTime = TheGameEngine->isTimeFrozen() || TheGameEngine->isGameHalted();#1528 added
isGameHalted()which may return true during multiplayer, which would turn the loop that's determined by the value offreezeTimeinto an infinite loop freezing the game.I used the map that I included in the issue thread to verify that the game lockup is fixed.