]> git.localhorst.tv Git - blank.git/blobdiff - src/client/net.cpp
(shabby) client side handling of messages
[blank.git] / src / client / net.cpp
index 8a4930410605b7a8eacf0ae0dd8886ef2630ad51..36d598bd9b2ba76681c509483a052f22717d6a6b 100644 (file)
@@ -306,6 +306,18 @@ uint16_t Client::SendPart() {
        return conn.Send(client_pack, client_sock);
 }
 
+uint16_t Client::SendMessage(
+       uint8_t type,
+       uint32_t ref,
+       const string &msg
+) {
+       auto pack = Packet::Make<Packet::Message>(client_pack);
+       pack.WriteType(type);
+       pack.WriteReferral(ref);
+       pack.WriteMessage(msg);
+       client_pack.len = sizeof(Packet::Header) + Packet::Message::GetSize(msg);
+       return conn.Send(client_pack, client_sock);
+}
 
 NetworkedInput::NetworkedInput(World &world, Player &player, Client &client)
 : PlayerController(world, player)
@@ -332,12 +344,12 @@ void NetworkedInput::PushPlayerUpdate(int dt) {
                InventorySlot()
        );
        if (player_hist.size() < 16) {
-               player_hist.emplace_back(state, GetPlayer().GetEntity().TargetVelocity(), dt, packet);
+               player_hist.emplace_back(state, GetPlayer().GetEntity().TargetVelocity(), dt * 0.001f, packet);
        } else {
                auto entry = player_hist.begin();
                entry->state = state;
                entry->tgt_vel = GetPlayer().GetEntity().TargetVelocity();
-               entry->delta_t = dt;
+               entry->delta_t = dt * 0.001f;
                entry->packet = packet;
                player_hist.splice(player_hist.end(), player_hist, entry);
        }