From d3390cbe250bdddc8d3c99eee99f69c77d43c298 Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Thu, 6 Sep 2007 23:44:39 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@1299 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/clientgame.cpp | 4 ++-- source/src/cube.h | 2 +- source/src/main.cpp | 19 +++++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index bd76645c..98bd97e9 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -20,8 +20,8 @@ bool autoteambalance = false; playerent *player1 = newplayerent(); // our client vector players; // other clients -int lastmillis = 0; -int curtime; +int lastmillis = 0, totalmillis = 0; +int curtime = 0; string clientmap; extern int framesinmap; diff --git a/source/src/cube.h b/source/src/cube.h index c0445751..7d83d3fe 100644 --- a/source/src/cube.h +++ b/source/src/cube.h @@ -76,7 +76,7 @@ extern bool editmode; extern vector ents; // map entities extern vec worldpos, camup, camright; // current target of the crosshair in the world extern vec hitpos; -extern int lastmillis; // last time +extern int lastmillis, totalmillis; // last time extern int curtime; // current frame time extern int gamemode, nextmode; extern int gamespeed; diff --git a/source/src/main.cpp b/source/src/main.cpp index 08afa535..34727326 100644 --- a/source/src/main.cpp +++ b/source/src/main.cpp @@ -206,8 +206,10 @@ void keyrepeat(bool on) VARF(gamespeed, 10, 100, 1000, if(multiplayer()) gamespeed = 100); -VARP(clockerror, 990000, 1000000, 1010000); -VARP(clockfix, 0, 0, 1); +static int clockrealbase = 0, clockvirtbase = 0; +static void clockreset() { clockrealbase = SDL_GetTicks(); clockvirtbase = totalmillis; } +VARFP(clockerror, 990000, 1000000, 1010000, clockreset()); +VARFP(clockfix, 0, 0, 1, clockreset()); int main(int argc, char **argv) { @@ -428,13 +430,14 @@ int main(int argc, char **argv) #endif for(;;) { - static int curmillis = 0, frames = 0; + static int frames = 0; static float fps = 10.0f; - int millis = SDL_GetTicks(); + int millis = SDL_GetTicks() - clockrealbase; if(clockfix) millis = int(millis*(double(clockerror)/1000000)); - if(millis200) curtime = 200; //else if(curtime<1) curtime = 1; @@ -444,7 +447,7 @@ int main(int argc, char **argv) if(lastmillis) updateworld(curtime, lastmillis); lastmillis += curtime; - curmillis = millis; + totalmillis = millis; serverslice(0);