X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fnet.cpp;h=8a4930410605b7a8eacf0ae0dd8886ef2630ad51;hb=8639a90bcbcd045c57cd489f02a25e0df4236deb;hp=5c06bbe6a0c115f8952fd19c3315a3b7da8cfb59;hpb=d5ef462f3bd70a9717c1309466ce8d90b038c5cd;p=blank.git diff --git a/src/client/net.cpp b/src/client/net.cpp index 5c06bbe..8a49304 100644 --- a/src/client/net.cpp +++ b/src/client/net.cpp @@ -332,10 +332,11 @@ void NetworkedInput::PushPlayerUpdate(int dt) { InventorySlot() ); if (player_hist.size() < 16) { - player_hist.emplace_back(state, dt, packet); + player_hist.emplace_back(state, GetPlayer().GetEntity().TargetVelocity(), dt, packet); } else { auto entry = player_hist.begin(); entry->state = state; + entry->tgt_vel = GetPlayer().GetEntity().TargetVelocity(); entry->delta_t = dt; entry->packet = packet; player_hist.splice(player_hist.end(), player_hist, entry); @@ -378,11 +379,8 @@ void NetworkedInput::MergePlayerCorrection(uint16_t seq, const EntityState &corr vector col; while (entry != end) { replay.Velocity(entry->state.velocity); - replay.Update(entry->delta_t); - if (GetWorld().Intersection(replay, col)) { - GetWorld().Resolve(replay, col); - col.clear(); - } + replay.TargetVelocity(entry->tgt_vel); + GetWorld().Update(replay, entry->delta_t); entry->state.chunk_pos = replay.GetState().chunk_pos; entry->state.block_pos = replay.GetState().block_pos; ++entry;