Gurbalib 0.42-beta 2 (svn revision 178) Documentation - More afuns have been documented, also there is some misc documentation about objects, atomic functions and some other topics. Bugfixes - Replaced find_object() in the container class with present(), masking find_object() wasn't a very good idea there... It is forbidden now. (Aidil) - All 'silly' filenames have been changed to be more compatible with Windows (note that Windows is not supported) (Cerihan) - Fixed handling of inventory on destruct (Aidil) - Fixed a number of verbs (Aidil) - Fixed 'order fixing' in the parser daemon (Aidil) Enhancements - New color system, see the color and coloradm commands (Quixadhal) - Larger example area (still a work in progress) (Cerihan) - Many commands have been enhanced (Mordain, Frutsel, Aidil, Cerihan) - New 'rethrow()' functionality, see man rethrow (Aidil) And much much more... Gurbalib 0.42-beta 1 (svn revision 90) -------------------------------------- Documentation - Added an FAQ with common compilation errors and solutions (Aidil) - Significant documentation updates and additions, started documenting all afuns (auto object functions). (Aidil) - There is now an in-game 'man' command for reading the lib documentation - Updated Copyright.Gurba file (Cerihan) Bugfixes - Fixed syntax errors in std/coin.c (Aidil) - parse_d: fix handling for non-object arguments to verbs. This fixes looking at fake room objects among other things. (Cerihan) - Only set last_exit for players in rooms (Cerihan) - Fixed some room desc typos, removed exits to missing rooms. (Cerihan) - Allow uppercase letters in 'words' in the parse daemon (Aidil) - Fixed argument checking in a number of commands (Aidil) Kernel - Auto object has been split up into multiple files, 1 file per function (Aidil) - New port object (Aidil) - Storage and access functions for linked lists added to the auto object. (Aidil) - create function in the config file changed to _F_create, this auto object function will handle setup of variables in the auto object and then call create() if it i exists. (Aidil) - Objects now have a function 'destructing' called on them when they are destructed (LWOs excluded) (Aidil). - Clones are now tracked (Aidil) - Significantly improved and descriptive runtime and compilation error reporting, both on the console and to the user. (Aidil) - TLS support functions added to driver object (Aidil) - TLS support implemented for auto, connection and port objects (Aidil) - Protection against infinite recursion and excessive cpu use (rlimits) (Aidil) - random_element afun to select random element from array (Cerihan) - console_msg afun for printing messages to the driver console (Aidil) - caught_error() afun added, It allows retrieving the error or error trace from the last caught runtime error (Aidil) Gamelib - Wandering monster module implemented (std/modules/m_wander.c) - example can be found in /domains/gurba/monsters/traveller.c (Cerihan) - Configurable terminal width (try "set width "). (Mordain) - Room commands - added add_room_command and query_room_command to rooms. See the town square's bell for an example. (Cerihan) - Event daemon is now more fault tolerant and tries to isolate runtime errors. (Cerihan) - 'more' command significantly rewritten to handle large files and other improvements (Quixadhal) - Improved 'who' command (Cerihan) - Add query_exit_room() to rooms (Cerihan) - Rooms can now be in multiple areas; set_area() replaced by add_area() and query_in_area() (Cerihan) - Report Intermud errors to the user that caused them, if any. (Aidil) - Intermud daemon saves password to allow it to keep using the same name after IP address changes (Aidil) Gurbalib 0.41 (svn revision 38) : First public release. - Added installation instructions and script (Aidil) - Many bugfixes on the DGD 1.2 experimental conversion (Aidil) DGD 1.2 experimental conversion by Nullinfinite (pre svn) Lib changes: - All files - I changed typesetting to 2. A lot of 0's were turned to 'nil', and some changes made to comparative operations. Some new checks were added, mostly along the lines of if(x) or if(!x). There were also cases when i would assign the value of an operation to a mixed variable, and than do checks on that variable. - All files - str[i] = 0 is an illegal operation. It is an attempt to delete a i character from a string. The new operation is: str = str[0..(i-1)] - All files: The syntax for varargs is different since 1.1. Varargs is now a part of the argument to a function, rather than a part of the functions type. - /cmds/player/help.c, line 62 - I removed 2nd arg from call to this_player()->more(lines, 0) A 2nd argument is not defined in /std/player->more. - /daemons/event_d.c, line 35 - added a check for arg - now will not call optional argument if non exists. - All cmds now have a string argument in main(), even if the string is not used. Calling main(str) to main(void) creates an error. Gurba calls cmd->main(str), but many commands had main(void). - /daemons/parse_d.c, added fix_order function and new production rule for 'from' token. This all allows proper get x from y support with current dgd. - /std/body/stats.c, line 81 - I removed 2 call_others which would try calling an undefined function. - /kernel/include/std.h, removed LOGIN_PORT, FTP_PORT, etc. New define made in /kernel/include/ : ports.h. This file contains new definitions for the PORT defines. Driver changes: - Changed Gurba's driver object to use same interface as described in /dgd/doc/Introduction of DGD 1.2.157. - Added atomic_error function from Kernel lib's driver to Gurba's - Added object_type function from Kernel lib's driver to Gurba's - Changed compile_rlimits and runtime_rlimits functions from the gurba driver with the ones from the kernel driver. - runtime_error shows error message now, instead of just the call trace. Network changes: - The following changes made for network package support: * Definitions added in /kernel/include/std.h which automatically configure driver object for network package support if the patch has been installed on the dgd driver. * Added new files: /kernel/obj/net/connection.c, /daemons/telnet_d.c, /std/modules/m_connection.c These were provided by Aidil@Way of the Force * Updated imud_d.c with revised code provided by Aidil@Way of the Force * changed driver->initialize() so that telnet_d, imud_d, and ftp_d are all dependent on #ifdef SYS_NETWORKING. * Added a telnet_connect function to driver. This is enabled when SYS_NETWORKING is not defined. It handles connections in absence of the need for a port daemon. Changes by Aidil - Updated driver source to dgd-1.2.157 (with version 05 of the network package) - Updated all files in doc/ to match dgd 1.2.157 (with network package) - Added patch to revert to dgd-1.2.157 (without network package) - Updated the Copyright and README files in the root directory - Fixed a bug in the restore_variable() grammar - Fixed reconnection after connection loss in the intermud daemon - Added a small installation script