From 1a28393dabf4f4696bf433ddde52e7a25253c955 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 16 Oct 2008 16:34:15 +0000 Subject: various user interface related updates --- src/core/gameinterface.cc | 48 ++++++++++++++--------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) (limited to 'src/core/gameinterface.cc') diff --git a/src/core/gameinterface.cc b/src/core/gameinterface.cc index 74acced..d99ec15 100644 --- a/src/core/gameinterface.cc +++ b/src/core/gameinterface.cc @@ -118,16 +118,13 @@ void GameInterface::clear() } game_players.clear(); - - game_previousframetime = 0; - game_serverframetime = 0; - game_clientframetime = 0; } -void GameInterface::reset_clientstate(float timestamp, float prevtimestamp) +void GameInterface::reset_clientstate() { - game_previousframetime = prevtimestamp; - game_serverframetime = timestamp; +// game_previousframetime = prevtimestamp; +// game_serverframetime = timestamp; +// game_time = timestamp; for (Entity::Registry::iterator it = Entity::registry().begin(); it != Entity::registry().end(); it++) { @@ -137,10 +134,10 @@ void GameInterface::reset_clientstate(float timestamp, float prevtimestamp) entity->state()->assign(entity); } - if ( game_clientframetime < game_previousframetime) - game_clientframetime = game_previousframetime; - else if ( game_clientframetime > game_serverframetime) - game_clientframetime = game_serverframetime; +// if ( game_clientframetime < game_previousframetime) +// game_clientframetime = game_previousframetime; +// else if ( game_clientframetime > game_serverframetime) +// game_clientframetime = game_serverframetime; } @@ -150,14 +147,11 @@ void GameInterface::update_entity_clientstate(Entity *entity) if (!entity->state()) { entity->entity_clientstate = new ClientState(entity); entity->entity_clientstate->assign(entity); - } - - if(Cvar::cl_prediction->value() == 0) { - + } else entity->state()->assign(entity); - return; } +/* if (!(entity->flags() & Entity::Static)) { // clientstate location @@ -181,7 +175,7 @@ void GameInterface::update_entity_clientstate(Entity *entity) if (angle > MIN_DELTA) entity->state()->state_axis.rotate(n, -angle); } - /* + n.assign(math::crossproduct( entity->state()->axis().left(), entity->axis().left())); if (!(n.length() < MIN_DELTA)) { n.normalize(); @@ -199,7 +193,7 @@ void GameInterface::update_entity_clientstate(Entity *entity) if (angle > MIN_DELTA) entity->state()->state_axis.rotate(n, -angle); } - */ + } else { entity->state()->state_axis.assign(entity->axis()); } @@ -211,29 +205,15 @@ void GameInterface::update_entity_clientstate(Entity *entity) entity->state()->assign(entity); } } +*/ -void GameInterface::update_clientstate(float seconds) +void GameInterface::update_clientstate() { - game_clientframetime += seconds; - for (Entity::Registry::iterator it = Entity::registry().begin(); it != Entity::registry().end(); it++) { update_entity_clientstate((*it).second); } } -float GameInterface::timeoffset() { - - if (game_clientframetime > game_serverframetime) - return 1; - - float d = game_serverframetime - game_previousframetime; - if (d <= 0) - return 0; - - float t = game_clientframetime - game_previousframetime; - return t/d; -} - void GameInterface::list_players() { using namespace std; -- cgit v1.2.3