Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,15 @@ void DeletionUpdate::setLifetimeRange( UnsignedInt minFrames, UnsignedInt maxFra
UnsignedInt DeletionUpdate::calcSleepDelay(UnsignedInt minFrames, UnsignedInt maxFrames)
{
UnsignedInt delay = GameLogicRandomValue( minFrames, maxFrames );
#if defined(GENERALS_ONLINE_HIGH_FPS_SERVER)
// Info: At 60Hz, a 1 logic frame lifetime only gives the client 16ms real time to notice a newly created object and
// render it before DeletionUpdate destroys it, versus 33ms at the retail 30hz.
// This caused one frame objects (like Frenzy's cloud effect) to intermittently never get drawn.
// Doubling the 1 frame case just restores the original real world time.
if (delay <= 1) delay = 2;
#else
if (delay < 1) delay = 1;
#endif
m_dieFrame = TheGameLogic->getFrame() + delay;
return delay;
}
Expand Down
Loading