Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/gameinterface.cc')
-rw-r--r--src/core/gameinterface.cc48
1 files changed, 14 insertions, 34 deletions
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;