Hiho,
I've found out about a weird glitch in the DP engine, it is server-specific. Since I'm actually only a bit proficient at QuakeC (but not at C, and not at DarkPlaces code either) I'd just like to ask for your opinions what the cause for this glitch could be and whether/how it could be fixed
The time variable (of SSQC) does behave weird. Have a look at . The first few lines show the normal output of time which I added into the SSQC code, so that time is printed each frame. In the first few lines it behaves as expected (slowmo is set to 1 at this point). But then, when I enter slowmo 0.001, things get weird. time does not continously increase anymore, but increases in steps. Also, the period at which the time value changes appears to be random. Furthermore, if you do something like self.nexthink = time + 0.0001 inside a Think-function of an entity, the value of self.nextthink is still time, and not time + 0.0001 !
Please note that what I just explained only happens if the server was running a map for a long time already. It can be simulated by disabling the timelimit and use slowmo 1000 for a few seconds. Set slowmo to 1 again, let the time be printed each frame and then set slowmo to 0.0001 (I tested this in Nexuiz SVN).
Thus, you won't experience this glitch if the server just loaded a new map, because in this case time will continously increase just fine.
The effect of this glitch appears in the Nexuiz sv_timeout feature which "pauses" the game by setting slowmo to 0.0001 - it goes to a point that the timeout feature is just broken (and the timeout is too short) once the map is running for a longer time due to the Think function which is called too often because the time value does not increase continously.
Kind regards,
NZ