- Implemented skillCheck.
- Allowed for the in-game testing of skillCheck via /try.
- Slightly reorganized the Makefile.
- Tweaked the logoString to display correctly.
- Edited the client and server to generate gprof data when in debug builds.
- Adjusted the Makefile to create gprof data in the server (currently inactive as the server never terminates.)
- Fixed warnings in areadata.c and gamelogic.c.
- Added bruteforcePrint for completeness.
- Added text wrapping in client.
- Implemented functions for managing skill data.
- Rewrote some existing functionality to allow for variable length game messages over multiple userMessages.
- Reorganized the code yet again.
- Introduced enums for coreStats and outcomes.
- Implemented core stat checks.
- Added more example skills.
- Rewrote test areas to have longer descriptions.
- Cleaned up the client codebase.
- Throughly commented SilverMUDClient.c.
- Added a boolean for bolding slowPrintNcurses.
- Added a user-configurable delay for text printing.
- Other small improvements.
- Added inputoutput.c
- Added inputoutput.h
- inputoutput contains wrapper and helper functions for transmitting messages over GnuTLS.
- Moved the userMessage struct definition to inputoutput.
- Reworked client and server to use GnuTLS.
- Removed all commands from server in preperation for upcoming command and message queues.
- Names and areas are no longer considered for messaging.
- Changed Makefile to link GnuTLS.
- Added basic logging support to the client.
- Added basic command-line options to the client:
-g: Enables a game-log, must have a file-path.
-c: Enables a chat-log, must have a file-path.
-i: Sets the IP address to connect to.
- Removed the C-c handler, appeared to be broken anyways. Consider
reimplementation at some point.
- Added /EXIT command to allow for leaving the game.
- The client now exits gracefully if the server dies.
- Added lists.c
- Added lists.h
- Changed initialisation of rooms to add a third room and to add the rooms to a
list.
- Added datastructures for area and path nodes for doubly-linked lists.
- Added missing header guards.
- Increased the size of message contents to 2048.
- Added area and path initialization functions.
- movePlayerToArea no longer segfaults.
- /LOOK added to allow players to find exits.
- Amount of paths allowed out of an area has been decreased to 16.
- Debug builds are now available from the Makefile.
- Removed unused variables.
- Input sanatization has been moved to the server-side, phew.
- Server messages are now displayed differently to player messages.
- New area initialization has been added until I can integrate Guile.
- Server's sendBuffer has been renamed messageBuffer.
- Areas now have descriptions.
- Descriptions are sent to the player upon joining an area and /LOOK-ing.
Features Added:
- Basic naming system.
- playerdata.h, containing datastructures related to storing player information.
- Ability to change name via '/NAME'.
Features Changed:
- Client now shows message sender's name.
Features Removed:
- None.
Squashed commit of the following:
commit 0ef71dbfce09c65dd988489557d0acdb3e20114e
Author: Barry Kane <bazzakane@gmail.com>
Date: Wed Sep 15 00:12:05 2021 +0100
Incremented Version Number.
- Incremented version number in preperation for merge.
commit 18a4f416f6
Author: Barry Kane <bazzakane@gmail.com>
Date: Wed Sep 15 00:07:13 2021 +0100
Added basic name system
- Added basic name system.
- Added playerdata.h.
- Added basic /NAME command. TODO: Create proper command system.
- Added datastructures for user messages and user names.
commit 9411803942
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 10 15:07:42 2021 +0100
Increment version message for merge.
Incremented the version number by 0.1 for the server.
Added version splash to the client.
commit 7047d0ee08
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 10 15:03:02 2021 +0100
Added two-window messaging to the client.
Client now has two seperate Ncurses windows for sending and receiving.
Added SIGINT handler which sets a global boolean to gracefully exit and free memory.
Sending and Receiving are now on their own threads.
A pointer-to-struct is now passed to the threads.
The main thread will now wait to cancel the threads upon receiving SIGINT.
slowPrintNcurses now takes a window argument.
The server now doesn't check that a client receives the message that they sent, allowing for full chat history.
commit 33bc9bcda0
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 3 18:47:11 2021 +0100
Adapted client to use Ncurses instead of raw terminal output:
Created "slowPrintNcurses", which is a version of "slowPrint" compatible with Ncurses screens.
Ncurses is now used in place of raw-terminal output.
The screen clears after inital start-up messages.
C-d no longer exits, and still doesn't spam.
Added Ncurses to the ld options of client in the Makefile.
Created ld options for server in the Makefile.
commit 849a80bd37
Author: Barry Kane <barry@omnimenu.ie>
Date: Thu Aug 19 23:07:58 2021 +0100
Basic input sanatization:
Created new library to deal with user input.
Implemented check in client to prevent C-d spamming the server.
C-d now exits.
Implemented check in client to prevent clients sending messages containing only newlines
to the server.
commit 2c093903a4
Author: Barry Kane <barry@omnimenu.ie>
Date: Tue Aug 17 18:57:56 2021 +0100
Git Sanity Check
Features Added:
- Two window messaging in the client.
- Input sanitization to prevent server spam.
- Slow print text effect ported to Ncurses.
- Graceful handling of C-c.
Features Changed:
- Ncurses is now used in place of raw-terminal output.
- Sending and Receiving are now on their own threads.
- Makefile updated to add server linking variable.
- Control characters no longer cause server spam.
- Splash texts' version incremented.
- Makefile updated to link Ncurses.
Features Removed:
- None.
Squashed commit of the following:
commit 9411803942
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 10 15:07:42 2021 +0100
Increment version message for merge.
Incremented the version number by 0.1 for the server.
Added version splash to the client.
commit 7047d0ee08
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 10 15:03:02 2021 +0100
Added two-window messaging to the client.
Client now has two seperate Ncurses windows for sending and receiving.
Added SIGINT handler which sets a global boolean to gracefully exit and free memory.
Sending and Receiving are now on their own threads.
A pointer-to-struct is now passed to the threads.
The main thread will now wait to cancel the threads upon receiving SIGINT.
slowPrintNcurses now takes a window argument.
The server now doesn't check that a client receives the message that they sent, allowing for full chat history.
commit 33bc9bcda0
Author: Barry Kane <bazzakane@gmail.com>
Date: Fri Sep 3 18:47:11 2021 +0100
Adapted client to use Ncurses instead of raw terminal output:
Created "slowPrintNcurses", which is a version of "slowPrint" compatible with Ncurses screens.
Ncurses is now used in place of raw-terminal output.
The screen clears after inital start-up messages.
C-d no longer exits, and still doesn't spam.
Added Ncurses to the ld options of client in the Makefile.
Created ld options for server in the Makefile.
commit 849a80bd37
Author: Barry Kane <barry@omnimenu.ie>
Date: Thu Aug 19 23:07:58 2021 +0100
Basic input sanatization:
Created new library to deal with user input.
Implemented check in client to prevent C-d spamming the server.
C-d now exits.
Implemented check in client to prevent clients sending messages containing only newlines
to the server.
commit 2c093903a4
Author: Barry Kane <barry@omnimenu.ie>
Date: Tue Aug 17 18:57:56 2021 +0100
Git Sanity Check
Client now has two seperate Ncurses windows for sending and receiving.
Added SIGINT handler which sets a global boolean to gracefully exit and free memory.
Sending and Receiving are now on their own threads.
A pointer-to-struct is now passed to the threads.
The main thread will now wait to cancel the threads upon receiving SIGINT.
slowPrintNcurses now takes a window argument.
The server now doesn't check that a client receives the message that they sent, allowing for full chat history.
Created "slowPrintNcurses", which is a version of "slowPrint" compatible with Ncurses screens.
Ncurses is now used in place of raw-terminal output.
The screen clears after inital start-up messages.
C-d no longer exits, and still doesn't spam.
Added Ncurses to the ld options of client in the Makefile.
Created ld options for server in the Makefile.
Created new library to deal with user input.
Implemented check in client to prevent C-d spamming the server.
C-d now exits.
Implemented check in client to prevent clients sending messages containing only newlines
to the server.
Features Added:
- Server capable of receiving and sending messages to up to 64 clients.
- Client capable of sending and receiving messages from the server, multi-threaded.
- Text effect library with one effect.
Features Changed:
- None, initial release.
Features Removed:
- None, initial release.