-
Notifications
You must be signed in to change notification settings - Fork 614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix hanging cutscenes on fast machines #1153
Conversation
On machines that can load levels faster than the hardcoded entity spawning delay, the Icarus sequencer could reference non-existing entities and therefore fail to chain events to progress cutscenes. This change increases the number of warmup frames by 1 to push the possible client-server connection time to after all relevant entities have been spawned.
After all that checking and investigating only adding 1 additional frame was sufficient? Crazy. I do know that Enemy Territory uses 6 frames but I never really knew why. Maybe their mod code scripting depends on that too. But it's MP only. Perhaps Rtcw SP also does. |
Very. There's a few constants defined in the source, such as Obviously computers were nowhere near fast enough back then to ever hit this issue. I think what finally did it was SSD speeds. I'm loading a level in 0.4 seconds now. |
further testing needed https://discord.com/channels/200934142278369281/401384051115687937/1123021297396482069
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I recall correctly the discussion mentioned by @Razish concluded that this pull request should work for vanilla maps, but there were concerns about possible custom missions or other custom mods.
As any other approach to this issue is likely to take some time and changes to a lot more places of code I would suggest to merge this for now, because several users have reported that they couldn't finish the game, because they would get stuck due to this issue over the past few months.
If someone is concerned about possible side effects one could add a cvar to specify the amount of warmup frames and default it to 4
so the change can easily be reverted by users for testing purposes or extended if a custom mission requires even more warmup frames.
On machines that can load levels faster than the hardcoded entity spawning delay, the Icarus sequencer could reference non-existing entities and therefore fail to chain events to progress cutscenes. This change increases the number of warmup frames by 1 to push the possible client-server connection time to after all relevant entities have been spawned.
On machines that can load levels faster than the hardcoded entity spawning delay, the Icarus sequencer could reference non-existing entities and therefore fail to chain events to progress cutscenes.
This change increases the number of warmup frames by 1 to push the possible client-server connection time to after all relevant entities have been spawned.
Fixes #1150