More networking changes. Moved the state guessing outside of the events and made everything independent of game.current_state.
Removed all traces of game.previous_state
Byte offset debugging
I'm not sure what NC did actually for interpolation, but it was broken.
It completely ignored state.players, and it also was always biased towards next_state.
Added basic framework for interpolation.
Removed some more game.current_state's
Renamed game.old_states to game.old_client_states and created a separate list for server-corrected states.
Added (working) interpolation buffering.
Added a packet-wide check for whether a packet is new enough to consider or not.
IS MISSING IN SERVER CODE
Tried to make interpolated stuff smoother by limiting mini-time jumps.
Removed useless "game" argument of Character.get_player()
Removed some commited debugging stuff
Changed character x, y, hspeed and vspeed syncing to float.
Fixed the collision code.
Apparently whoever designed it didn't think we'd ever have negative frametimes, but we do.
Also removed the odd semicolon etc.
Why was this commented out?
ROUND()! ROUND() EVERYWHERE!
Made character physics work even with negative time.
Fixed my own derpiness in the interpolation.
Miscellanious whitespace.
Fixed the completely broken rocket physics.
The most complex math of the entire game is now in the simplest projectile: The rocket.