-void InteractiveState::MergePlayerCorrection(uint16_t seq, const EntityState &corrected_state) {
- if (player_hist.empty()) return;
-
- auto entry = player_hist.begin();
- auto end = player_hist.end();
-
- // we may have received an older packet
- int pack_diff = int16_t(seq) - int16_t(entry->packet);
- if (pack_diff < 0) {
- // indeed we have, just ignore it
- return;
- }
-
- // drop anything older than the fix
- while (entry != end) {
- pack_diff = int16_t(seq) - int16_t(entry->packet);
- if (pack_diff > 0) {
- entry = player_hist.erase(entry);
- } else {
- break;
- }
- }
-
- EntityState replay_state(corrected_state);
- EntityState &player_state = interface.GetPlayer().entity->GetState();
+void InteractiveState::MergePlayerCorrection(std::uint16_t pack, const EntityState &state) {
+ input.MergePlayerCorrection(pack, state);
+}