aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* initial implementation of an AI.rodri2023-10-066-42/+336
| | | | | | added different modes for those who want to play with others and those who prefer to play against a bot (-a flag).
* get rid of unused wav structs from the mixer.rodri2023-10-021-18/+0
|
* add more sfx and do some of their orchestration.rodri2023-10-025-11/+54
|
* replaced the custom wav decoder for the general Pcm one using the audio(1) ones.rodri2023-10-022-278/+90
|
* get the condition right.rodri2023-10-011-1/+1
|
* fixed a Menulist.update bug where it would return 0 when there were no entries.rodri2023-10-011-1/+7
|
* add a credits file, acknowledging people. add another sfx.rodri2023-10-013-1/+16
|
* add a mixer and some background sfx.rodri2023-10-019-10/+945
| | | | | | | | also postponed the connection establishment until the subsystem initialization is complete. there's no point in taking a seat you're going to leave milliseconds after a local resource failure.
* send the matches list upon first connection. changed the syntax a bit.rodri2023-09-292-20/+34
|
* paint the none entry in the middle of the row too.rodri2023-09-291-1/+2
|
* added a border to the boards and corrected a bug when placing a ship.rodri2023-09-284-16/+23
| | | | | | | | | the bug allowed the player to move the ship when the cursor was outside the board in the negative side of its rframe. by using floor(2) instead of a cast to int the problem is over.
* got rid of static Image pointers in favor of a global color palette.rodri2023-09-281-59/+59
|
* updated How to play.rodri2023-09-271-8/+13
|
* give more feedback about the current state of play to the spectator.rodri2023-09-271-3/+8
|
* implemented spectator mode.rodri2023-09-275-28/+135
|
* initial work towards spectator mode.rodri2023-09-265-5/+92
|
* add parsecmd to the client. finish the menulist of matches.rodri2023-09-222-60/+144
| | | | | the menulist now supports scrolling. also changed some cursors and got to tidy up /^lmb\(.
* add parsecmd to the server.rodri2023-09-216-22/+182
| | | | | | | modified it to allow for commands with the same name but different nargs. now each match list entry is preceded by an 'm', to simplify its processing. note that this breaks the client. the next commit will fix that.
* more work on the menulist of matches.rodri2023-09-207-92/+169
|
* initial work on a menu of matches.rodri2023-09-173-34/+134
| | | | | also made some corrections and changed the tokenize(2) fields identifiers from cmd[] to f[].
* update readme file.rodri2023-09-171-2/+2
|
* renamed cmd to f(ields) to better reflect their nature.rodri2023-09-161-29/+29
|
* remove leftover msgq channel.rodri2023-09-161-2/+0
|
* don't send shots when the game is over. and freeze the cursor.rodri2023-09-151-2/+2
|
* fix mouse button handling.rodri2023-09-151-11/+11
|
* really allow any key to be pressed to continue.rodri2023-09-151-5/+7
|
* draw the game's title.rodri2023-09-1515-0/+29
|
* got rid of unnecessary operator process.rodri2023-09-151-60/+52
|
* fit client to the new architecture. clean things up, make them more consistent.rodri2023-09-153-60/+103
|
* new server architecture.rodri2023-09-155-174/+569
|
* fixed game-breaking typo.rodri2023-09-101-1/+1
|
* don't rotate the ship when moving the mouse while pressing mmb.rodri2023-09-091-2/+6
|
* made playerq a Channel, turned polling into send/recv points and got rid of ↵rodri2023-09-092-90/+37
| | | | the reaper.
* wrote a manual.rodri2023-09-082-4/+68
|
* got rid of unused locking popplayer. use an fd for the threadgrp.rodri2023-09-081-21/+4
|
* inline spawned threads to threadmain.Amavect2023-09-073-73/+46
| | | | | | | | Pointers to automatic variables become invalid when threadmain exits. Solution is to reuse threadmain. Use nbsend to avoid deadlock to the draw channel. Input struct is no longer needed, inline it.
* obtain each player's username and show it during battle.rodri2023-09-013-9/+35
|
* make playerq a fifo instead of a lifo.rodri2023-09-011-4/+10
|
* change mmb to rotate the ship without presenting a menu.rodri2023-09-012-50/+40
|
* correct patrolcursor not showing up after finishing a battle.rodri2023-08-311-3/+5
|
* show the board labels.rodri2023-08-311-0/+21
|
* improved playerq locking.rodri2023-08-313-20/+59
| | | | wrote a little how to play guide.
* forbid placing ships after being done with the layout.rodri2023-08-304-29/+66
| | | | | show the current ship and its length during placement. also made changes to some of the info banners.
* added new cursors and their switching.rodri2023-08-301-28/+71
|
* change the cursor based on game state (waiting and playing).rodri2023-08-301-9/+52
|
* implemented match conclusion logic and notification.rodri2023-08-294-8/+79
| | | | made the window un-resizable.
* reset the boards after each game.rodri2023-08-294-14/+68
| | | | | | only change turns if the shot was valid. show the opponent's hits on localboard. keep the orientation for consecutive ships while outlaying.
* removed unnecessary pointer.rodri2023-08-292-12/+8
|
* major development stride:rodri2023-08-295-103/+254
| | | | | | - implemented per-line msg framing - wrote most of the game logic - fixed an issue where the ship would go off-board when rotated
* show the current state and keep ships from overlapping.rodri2023-08-261-9/+38
|