aboutsummaryrefslogtreecommitdiff
path: root/party.c
Commit message (Collapse)AuthorAgeFilesLines
* use a queue for player input to dampen race conditions between the netcode ↵rodri2023-06-051-0/+1
| | | | and the sims.
* put the player routines in their own unit.rodri2023-06-051-86/+0
| | | | fixed an issue with the threadsim routine that would cause re-stepping of all the previous parties after dissolving one of them due to one of the players quitting.
* handle player quits gracefully.rodri2023-05-051-1/+1
| | | | also fixed a bug whereby a player would never be freed if no party was happening, and another one where deleting a player from the player queue would cause a nil pointer deref.
* take player input into account when stepping the simulations.rodri2023-02-221-1/+1
|
* take the packet seq and ack into account during connection setup. added a ↵rodri2023-02-211-8/+95
| | | | player queue to keep clients around waiting for a party.
* implemented per-packet HMAC to avoid MITM tampering.rodri2023-02-111-0/+2
|
* use libgeometry from the system. got rid of global `theparty`. wrote a ↵rodri2023-01-311-23/+20
| | | | little man page draft.
* implemented a custom PDU/frame structure on top of UDP for game networking.rodri2022-06-111-0/+1
|
* began building a universe for every party.rodri2021-08-011-0/+3
| | | | | | | get rid of the notes file. i already keep them on paper. adapted the client to use an rframe for drawing. implemented some VModel methods for testing. FPS2MS → HZ2MS. it makes more sense and is shorter.
* incorporated libgeometry into the project.rodri2021-07-291-1/+2
| | | | | | transitioned the integrator from scalar to vector-based. added a packing procedure for Point2. created the structure to model bullets.
* brought the Sprite struct for future animations.rodri2021-07-281-0/+1
| | | | | | | | | | | implemented per-party game state and dynamics. now the state is broadcast after integration, not before. fixed a bug in the broadcast procedure where it would keep referencing an already freed Party and its players. implemented a proper Keymap the user will be able to configure. added mkfile rules to manage installation and dependencies. defined a ton of structs in dat.h for new game objects. started work on a general vector model abstraction to define ship `skins'. removed some debug clauses we no longer need. fixed some other ones.
* implemented parties to hold PvP match info.rodri2021-07-251-0/+44
started serializing game state through the wire. made some major changes to the Lobby struct, plus the ability to check the health of every connection. added some more debug statements, did some cleanup and put more checks.