When updating the game state, we now determine what happened in the interval
[gameTime - deltaGameTime + 1; gameTime]. The time gameTime - deltaGameTime is now
considered to be in the past, so the game state may be modified at time
gameTime - deltaGameTime + 1, at the earliest.
During GAME_* message processing, deltaGameTime is 0, however it is still considered
valid to change the game state at gameTime - deltaGameTime + 1, since that will lie
within the following update interval.
Refs ticket:3175.
close ticket:3100
close ticket:3121
Fix kick routines that got clobbered by the merge a long time ago, and also implement a in-game kick.
Currently, you hold down the right mouse button over the channel icon of the person you want to kick, and it will kick them.
There is no more room for a new icon. :(
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11490 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit da30725d967cf7076456f56122b28ddbc3202488)
Conflicts:
src/multiint.cpp
src/multimenu.cpp
src/multiplay.cpp
Allow the host to kick the AI only in 'cheat mode' in skirmish games.
Closes ticket:2139
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11596 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 7a083b154dab6b6fa8f421042db0670a671127f5)
Conflicts:
src/multimenu.cpp
When kicking, make sure they are an actual human player before adding them to the list.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11506 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 43b180768c71853b3de97d71fa091e6a0fdfc10e)
Conflicts:
lib/netplay/netplay.c
general networking improvements by popular request.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11568 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 052d03d19ec967d4b8cee5d79446fe5ec1f2b040)
Conflicts:
lib/netplay/netplay.c
src/multiint.cpp
src/multijoin.cpp
src/multiplay.cpp
src/multiplay.h
src/multisync.c
Fix client side messages.
refs ticket:2144
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11601 4a71c877-e1ca-e34f-864e-861f7616d084
(cherry picked from commit 98723c00a9b7d6a46eab204ccd474df4a62fbd93)
Conflicts:
lib/netplay/netplay.c
src/multiint.cpp
src/multiplay.cpp
Hopefully reduces Zzz microfreezes a bit, in the case of laggy connections.
There's probably a better way of guessing latency than this, but it works for now.
Note:
Highly recommend to use STLport, (www.stlport.org). MS's version is too slow.
Qt finally released libs for 2010, but I have no idea if they compile with openSSL support,
which is REQUIRED at the time I write this, so you need to build Qt with SSL support yourself
if the pre-built don't support it.
Don't forget to setup the environment variable QTDIR correctly when using Qt builds!
Hack note: configuration type of 'utility' was needed to pick which lib to link to--yes, that is lame,
but I see no other fix for now.
Default builds are set for SDL.
Fire delay is no longer restricted to multiples of the game update interval (but
minimum delay is currently one update interval, since combFire is called only
once per update).
Projectiles no longer freeze during the first update interval.
AG should now perform at the advertised rate.
Fixes ticket:2083.
Homing projectiles previously behaved like expanding circles, where the projectile was drawn
at the closest point on the circle to the target. Which meant that if the target was fast,
moving at right angles to the direction of the projectile, the projectile would move fast,
too (and would not be travelling in the direction it was facing).
Homing projectiles now go at a constant speed towards the target, using target prediction.
To test the target prediction, set the projectile speed to something close to 700 (same as a
VTOL), and try to get the VTOL to escape.
1) If the game doesn't need to update yet (10 updates per second needed), render it. Else goto 2.
2) If the game has been rendered since it was last updated, update it. Else goto 3.
3) Either render or update the game, such that rendering takes 2/5 of the total time.
Hopefully, this means more stable framerates, while still running the game at full speed, assuming
the CPU is fast enough. And on a super-fast GPU where rendering takes only 2/3 of the time taken
to update, there should be at least one rendered frame per game-state update (same as previous
behaviour from before the render and state updates were untangled).
NOTE: All Qt headers *MUST* be before of the other headers, or else we get tons of conflicts
***
DO NOT CHANGE HEADER ORDER, unless you know what you are doing, it will fubar
other build systems!
****
close ticket:2570
Set never-interactive option in lexers so that Flex doesn't use isatty() function from unistd.
Define YY_NO_UNISTD_H when no unistd.h is detected.
Remove attempt to fix isatty error on Windows introduced in 2f780609.
cherry picked from commit c046bb88e5
VS2k5 (no longer supported with platform SDK)& VS2k8 are NOT supported anymore.
Redo other aspects as well in preparation of moving libs out of the main codebase.
NOTE: You *must* have msysgit installed, and it should be in your system path,
or you can modify the local property sheet to point to it.
This is needed to generate the autorevision.h file, (that fix is next)
This reverts commit f1ebbe6eba.
Revert "Set never-interactive option in lexers so that Flex doesn't use isatty() function from unistd."
This reverts commit c046bb88e5.
see ticket:2444 for more info.
close ticket:2444