Commit Graph

108 Commits

Author SHA1 Message Date
Barra Ó Catháin 8044dd36be Version 0.0.1 of the rewritten client and server.
- Server is capable of accepting an arbitrary number of TLS encrypted client connections.
- Server relays messages from one client to the others.
- Server spawns a Scheme REPL available over a Unix socket.
- Client is a two-pane ncurses-based client, with an input area, chat log, and game status log.
- Temporary NAME command exists to change names of players.

Squashed commit of the following:

commit 442a9319e8
Author: Barry Kane <barra@ocathain.ie>
Date:   Mon Oct 30 16:57:15 2023 +0000

    Removed unneeded check, added temporary name command

commit a66a07c897
Author: Barry Kane <barra@ocathain.ie>
Date:   Sun Oct 29 20:15:41 2023 +0000

    Properly remove disconnected players

commit 81fc72a1d7
Author: Barry Kane <barra@ocathain.ie>
Date:   Sun Oct 29 17:20:14 2023 +0000

    Added system messages to client and added welcome message from server.

commit a1b1b80449
Author: Barra Ó Catháin <barra@ocathain.ie>
Date:   Tue Sep 12 23:25:44 2023 +0100

    Removed now unneeded placeholders, added stubs for "rulebooks" in documentation.

commit 54b613befe
Author: Barra Ó Catháin <barra@ocathain.ie>
Date:   Tue Sep 12 22:32:19 2023 +0100

    Basic implementation of player lists and tying connections to players

commit 5a53e9f197
Author: Barra Ó Catháin <barra@ocathain.ie>
Date:   Sun Sep 10 17:24:46 2023 +0100

    Added basic player type containing a name, and made the server echo messages with player name.

commit 3fc75ef30f
Author: Barry Kane <barra@ocathain.ie>
Date:   Thu Aug 31 01:44:17 2023 +0100

    Basic message receiver, server now echoes messages to all clients.

commit b292966588
Author: Barry Kane <barra@ocathain.ie>
Date:   Mon Aug 28 02:53:31 2023 +0100

    Fixed window height calculations.

commit 50dcddfc56
Author: Barry Kane <barra@ocathain.ie>
Date:   Mon Aug 28 02:29:21 2023 +0100

    Initial ncurses setup, and layout of client.

commit c043da64a2
Author: Barry Kane <barra@ocathain.ie>
Date:   Sat Aug 26 00:48:28 2023 +0100

    Modify server and client to begin using ClientToServer messages.

commit 0104a11a7e
Author: Barry Kane <barra@ocathain.ie>
Date:   Fri Aug 25 00:34:05 2023 +0100

    Added basic client capable of connecting to the server.

commit 080e46fe99
Author: Barry Kane <barra@ocathain.ie>
Date:   Thu Aug 24 00:12:27 2023 +0100

    Set up GNU Autotools as build system.

commit 0814e437cd
Author: Barry Kane <barra@ocathain.ie>
Date:   Tue Aug 22 02:02:29 2023 +0100

    Basic connection handling (using previous version of client)

commit 9801be3622
Author: Barry Kane <barra@ocathain.ie>
Date:   Sat Aug 19 16:00:57 2023 +0100

    Renamed src back to source, because I liked it better

commit e2ef744e87
Author: Barry Kane <barra@ocathain.ie>
Date:   Sat Aug 19 00:18:03 2023 +0100

    Moved scheme initialization to main thread, added basic networking

    The server can now listen on a port and send data to a client.

commit 8b0920c35d
Author: Barry Kane <barra@ocathain.ie>
Date:   Fri Aug 18 00:45:24 2023 +0100

    Added basic implemantation of message structures.

commit 6ed532c368
Author: Barry Kane <barra@ocathain.ie>
Date:   Thu Aug 17 00:21:20 2023 +0100

    Added structure section.

commit 48f0858735
Author: Barry Kane <barra@ocathain.ie>
Date:   Thu Aug 17 00:14:40 2023 +0100

    Began implementation planning document.

commit 32503cdbca
Author: Barry Kane <barra@ocathain.ie>
Date:   Mon Aug 14 03:15:37 2023 +0100

    Rename source/ to src/ for Autotools.

commit 2b488477f5
Author: Barry Kane <barra@ocathain.ie>
Date:   Mon Aug 14 02:46:43 2023 +0100

    Added initial stubs for server.

    - Server now launches a thread to initialize Scheme, and drops into a REPL.
2023-11-05 15:14:44 +00:00
Barra Ó Catháin 3189312340 Create placeholder files in client and server source. 2023-08-14 01:59:45 +01:00
Barra Ó Catháin 168740ec34 Finished initial design document. 2023-08-14 01:39:05 +01:00
Barra Ó Catháin aaf1221304 Added initial details on abilities. 2023-08-13 03:20:09 +01:00
Barra Ó Catháin e6b6b86abf Basic groundwork on objects 2023-08-11 01:33:32 +01:00
Barra Ó Catháin 82f3d7164d Added design document, and began designing areas and dungeons. 2023-08-10 01:10:01 +01:00
Barra Ó Catháin 22e74ebfc1 Initial directory structure of rewrite.
Set up the initial directory structure for the rewrite of SilverMUD.
	- data/ - Stores any multi-media or binary assets.
	- documentation/ - Contains user-facing documentation for any programs in the repository.
	- lisp/ - Contains Scheme source files.
	- notes/ - Contains developer-facing documentation and design documents.
	- source/ - Contains C source files.
	- tests/ - Contains any tests for any programs in the repository.
2023-07-30 23:08:06 +01:00
Barra Ó Catháin facee564b5 Starting over, see old branch for old codebase 2023-07-30 22:23:25 +01:00
Barra Ó Catháin b83dfb7782 Merge branch 'dev' 2023-07-30 22:20:32 +01:00
Barra Ó Catháin 2059aa0b21 Starting again, see old branch for old codebase. 2023-07-30 22:18:23 +01:00
Barra Ó Catháin fe444ac8c8 Added a docstring explaining what shout does. 2023-04-15 23:46:56 +01:00
Barra Ó Catháin f488a4ac7c Add a comment explaining what shout does. 2023-04-15 23:46:06 +01:00
Barra Ó Catháin 191cf8fcdb Improved connection tutorial 2023-04-14 21:53:29 +01:00
Barra Ó Catháin fde867d25b Noted that GNU Guile is now required to build SilverMUD. 2023-04-14 21:35:38 +01:00
Barra Ó Catháin adfba9afe4 Documented /shout in Player's Guide 2023-04-14 21:34:27 +01:00
Barra Ó Catháin db00fc94a8 Why not both a REPL and a REPL server? 2023-04-13 03:00:28 +01:00
Barra Ó Catháin 70bdb879bf Remove debugging message. 2023-04-13 02:51:06 +01:00
Barra Ó Catháin a9c600219f Replaced the Guile REPL with a Guile REPL server for Emacs glory. 2023-04-13 02:42:22 +01:00
Barra Ó Catháin 7118d8e3d7 Add "shout" as an example of a scheme procedure. 2023-04-13 02:26:36 +01:00
Barra Ó Catháin f1673754bf Fix a typo in the makefile. 2023-04-13 02:26:12 +01:00
Barra Ó Catháin c032aa7dad Fix a segfault that happens when a client fails a handshake. 2023-04-13 02:25:43 +01:00
Barra Ó Catháin b3ef4c1bb9 Added a basic-functions scheme file.
I'll need a consistent way to load these files.
Perhaps I actually need a proper build system now.
Autotools, here we come?
2023-04-12 23:29:57 +01:00
Barra Ó Catháin 35b3e939f1 Fixed typo that causes the compile to fail. 2023-04-12 22:24:38 +01:00
Barra Ó Catháin 7b266bfc51 Enable readline for Guile and enable Guile for the game logic thread 2023-04-11 23:41:28 +01:00
Barra Ó Catháin 701335c236 Squashed version of:
Altered some header files to prevent cycles confusing LSP

Switched to correct ncurses function for just printing a string.

Make cleaning manual in the makefile. It's getting bigger.

Squash the warning about strncpy.

Added LSP shtuff to the gitignore
2023-04-11 15:22:40 +01:00
Barra Ó Catháin 3419ef1804 Added scheme_create_area and scheme_create_path. 2023-04-11 13:27:54 +01:00
Barra Ó Catháin c9e19364d7 Switched from _exit to exit in the sigintHandler.
Not sure why I ended up with _exit. Perhaps an unlucky keypress, but it's the incorrect function to use in this case.
2023-04-11 11:56:57 +01:00
Barra Ó Catháin b5f2f44fcc Improved makefile.
- Makefile now doesn't hardcode gcc. (Whether SilverMUD is compiler agnostic remains to be seen.)
- The first target is now all, which compiles a "release" build.
- General cleanup, removal of duplicate variables, and commenting.
2023-04-11 11:33:36 +01:00
Barra Ó Catháin 7e1a94820d Added gitignore - took a while! 2023-04-11 11:16:29 +01:00
Barra Ó Catháin 6fd7f65326 Made SCM values use snake_case 2023-04-09 23:52:14 +01:00
Barra Ó Catháin ce74a78576 Added /talk to the manual, and added some rules about casing. 2023-04-08 23:23:24 +01:00
Barra Ó Catháin ce54fb8033 Added change-area-name to Scheme, and ensured strings are terminated 2023-04-07 22:49:15 +01:00
Barra Ó Catháin 8d4758bea1 Forgot to add to previous commit. 2023-04-07 22:13:45 +01:00
Barra Ó Catháin fd846c7744 Added change-area-description to the Scheme functions. 2023-04-07 22:13:26 +01:00
Barra Ó Catháin 4696a1ec32 Adedd some comments to schemeintegration.c 2023-04-06 23:09:20 +01:00
Barra Ó Catháin 6b01917c11 Added a message-everyone scheme function. 2023-04-05 21:34:57 +01:00
Barra Ó Catháin adc036a1ae Added create-skill to the Scheme intepreter. 2023-03-25 23:56:25 +00:00
Barra Ó Catháin 8dab8bfd06 Begin adding Scheme intepreretation.
We now have a scheme thread and a interpreter.
2023-03-25 21:38:00 +00:00
Barra Ó Catháin 995a177c37 Increased prompt reprint delay.
- The client's prompt now delays for twice as long to ensure that an updated prompt is displayed next.
2023-03-01 23:14:37 +00:00
Barra Ó Catháin 8f08265c52 Talking messages now appear in the chat log correctly.
- Added logic to properly add the relevant users in the correct order to ensure message delivery.
2023-02-27 20:00:50 +00:00
Barra Ó Catháin 84c20dfdbf Actually fixed it this time, and squashed some warnings. 2023-02-27 17:12:03 +00:00
Barra Ó Catháin f83c03aadf Fixed the name being sent to the wrong user's prompt while talking.
- The talking prompt was being sent to the receiving user, not the sending user.
2023-02-27 17:07:03 +00:00
Barra Ó Catháin 50f4e6c38a Forgot to pull.
Merge branch 'dev' of ssh://dunseverick.ocathain.ie:2222/barra/SilverMUD into dev
2023-02-27 16:39:05 +00:00
Barra Ó Catháin a99296e31e Added a list of players in the area to /look.
- /look now lists the current players in the area.
2023-02-27 16:35:32 +00:00
Barra Ó Catháin 408033d48a Talking now changes the prompt.
- The server will now change the prompt for a user who begins a conversation with another player to that player's name.
2023-02-26 00:16:07 +00:00
Barra Ó Catháin 8814a45c52 ALlowed for the server to change client prompt.
- The server can now send some data in the normally unused "senderName" field for a server mesasge.
- This will be set as the prompt for the client.
2023-02-25 23:04:35 +00:00
Barra Ó Catháin 0add957224 Changed from bzero to memset
- All instances of bzero have been replaced in an effort to make SilverMUD slightly easier to port.
2023-02-25 19:51:47 +00:00
Barra Ó Catháin 26a5496594 Added shouting.
- Players can now use /shout to send a message to the current room while talking.
- No longer adding unnecessary newlines to /talk.
2023-02-20 23:30:41 +00:00
Barra Ó Catháin b3a0345b19 Added initial support for talking.
- /talk now allows you to begin a conversation, given a player name, or end one, given no arguments.
- The client now properly clears previous messages when sending to the server.
- Added talkingWith to playerInfo.
2023-02-19 22:13:06 +00:00
Barry Kane 6d209c5a40 Merging Alpha 0.5 to add the license as the repo is going public. 2023-02-19 11:32:57 +00:00