aboutsummaryrefslogtreecommitdiff
path: root/dat.h
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.
* improvements to show a bullet's explosion upon ttl consumption.rodri2023-05-221-1/+13
| | | | implemented a vfx subsystem to handle localized, async animations.
* cleanup and comment improvements.rodri2023-05-141-7/+7
|
* handle player quits gracefully.rodri2023-05-051-1/+3
| | | | 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.
* now using PNG files instead of image(6)s. bullet TTL taken into account ↵rodri2023-04-131-1/+1
| | | | during stepping.
* implemented states to represent game scene stages.rodri2023-03-081-7/+4
| | | | added an intro as well.
* implemented client reconnection loop.rodri2023-03-041-0/+18
| | | | currently not working. there seems to be a problem with 9front's udp stack. needs investigation.
* implemented toroidal warping. set a default font.rodri2023-03-031-0/+1
|
* made adjustments to the particles's thrust and player input processing.rodri2023-02-231-1/+1
|
* take player input into account when stepping the simulations.rodri2023-02-221-0/+10
|
* take the packet seq and ack into account during connection setup. added a ↵rodri2023-02-211-3/+15
| | | | player queue to keep clients around waiting for a party.
* implemented a keep alive mechanism.rodri2023-02-161-2/+5
| | | | | also changed the newframe fn to take a Udphdr* instead of a Frame*. the verifyframe fn now returns 1 if correct 0 otherwise.
* implemented per-packet HMAC to avoid MITM tampering.rodri2023-02-111-1/+4
|
* implemented connection establishment with per client DHX.rodri2023-02-111-15/+32
|
* implemented a packet processing pipeline. got rid of Lobby. began ↵rodri2023-02-091-33/+29
| | | | development of a network protocol.
* vmodeled: plot lines and curves and save them to a file on exit.rodri2023-02-031-4/+2
|
* use libgeometry from the system. got rid of global `theparty`. wrote a ↵rodri2023-01-311-3/+0
| | | | little man page draft.
* some corrections to frame processing and nomenclatures.rodri2022-06-151-1/+2
|
* implemented a custom PDU/frame structure on top of UDP for game networking.rodri2022-06-111-1/+17
|
* got rid of GameState.rodri2022-06-031-10/+0
|
* added an sprite for the Earth.rodri2021-08-011-1/+1
|
* began building a universe for every party.rodri2021-08-011-3/+14
| | | | | | | 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-13/+16
| | | | | | transitioned the integrator from scalar to vector-based. added a packing procedure for Point2. created the structure to model bullets.
* made the client window size immutable.rodri2021-07-291-1/+8
| | | | | added some dev notes to a file. renamed Lobby.healthcheck to Lobby.purge, which makes more sense.
* brought the Sprite struct for future animations.rodri2021-07-281-0/+94
| | | | | | | | | | | 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.
* first stages of a full-featured client.rodri2021-07-271-2/+0
|
* implemented parties to hold PvP match info.rodri2021-07-251-8/+27
| | | | | | 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.
* implemented a lobby for users waiting to join a party.rodri2021-07-231-3/+13
| | | | brought the pack/unpack procedures from ssh(1).
* implement a primitive VLA to keep connection state.rodri2021-07-211-0/+8
|
* implemented very basic server broadcasting.rodri2021-07-211-13/+2
| | | | | got rid of unnecessary (at least for now) code. brought some e-funcs.
* initial commit.rodri2021-07-211-0/+25
implemented basic server loop, with separate threads to handle connections and run the simulations.