use a queue for player input to dampen race conditions between the netcode and the sims.
put the player routines in their own unit.
integrated cmixer for sound and sfx.
improvements to show a bullet's explosion upon ttl consumption.
vmodeled: implemented the ability to move points around as a new mode/state.
show a guide when rotating the vmodel object.
draw the points as the user plots a stroke.
bullets aren't fired unless the server says otherwise. also don't draw bullets that weren't fired.
only send/recv the fired bullets on simstate packets.
now using PNG files instead of image(6)s. bullet TTL taken into account during stepping.
added a new pulsar animation for the star sprite.
implemented states to represent game scene stages.
implemented client reconnection loop.
implemented toroidal warping. set a default font.
forgot to track the wedge.vmdl. all this time.
implemented optional ghosting for the clients.
made adjustments to the particles's thrust and player input processing.
(inefficiently) send bullets state and paint them.
take player input into account when stepping the simulations.
take the packet seq and ack into account during connection setup. added a player queue to keep clients around waiting for a party.
implemented a keep alive mechanism.
implemented per-packet HMAC to avoid MITM tampering.
implemented connection establishment with per client DHX.
implemented a packet processing pipeline. got rid of Lobby. began development of a network protocol.
vmodeled: draw the points of every stroke. implement undo() functionality.
vmodeled: plot lines and curves and save them to a file on exit.
vmodeled: made scale and rotation xforms methods of an Object. began work on the plot/drawing function. writevmodel writes to stdout upon exit.
vmodeled: got rid of unnecessary variables and xforms.
vmodeled: fixed object scaling and rotation without affecting coords. created initial object structure.
vmodeled: added the ability to rotate a model.
use libgeometry from the system. got rid of global `theparty`. wrote a little man page draft.
implemented new zooming functionality (adapted from games/galaxy.)
brought the VModel struct and its routines to loading from a file and drawing.
some corrections to frame processing and nomenclatures.
implemented a custom PDU/frame structure on top of UDP for game networking.
show the ports on the debugging output when receiving.
changed the transport from tcp to udp. got rid of some unnecessary connection management and party setup code—needs further refactoring. fixed some nomenclatures.
added the skymap background image fetch script.
use semi-implicit euler for bullet dynamics.
add a default sky map from fourmilab.ch.
implemented keyboard key send/recv procedures.
implemented complete universe particles integration.
randomly position the ships, facing each other.
began building a universe for every party.
incorporated libgeometry into the project.
made the client window size immutable.
brought the Sprite struct for future animations.
first stages of a full-featured client.
added a #s command interface for monitoring and control.
implemented parties to hold PvP match info.
implemented a lobby for users waiting to join a party.
implement a primitive VLA to keep connection state.
implemented very basic server broadcasting.