Daleken 1.12 Release ==================== === The src directory This file gives a brief description of the files in the src directory. === The source files, as per Envy. act_comm.c - Contains procedures for pc to pc or pc to mud communication act_info.c - Contains procedures for information reports for the pc act_move.c - Contains procedures for pc/mobile movement around the mud act_obj.c - Contains procedures for object manipulation act_wiz.c - Contains procedures for immortal commands comm.c - Contains procedures for game TCP/IP communications const.c - Contains tables used within the game db.c - Contains procedures for data file loading fight.c - Contains procedures for pc/mob combat handler.c - Contains procedures for data element handling interp.c - Contains procedures and tables for game user commands save.c - Contains procedures for player/mob file read and write ssm.c - Contains procedures for string management special.c - Contains procedures for mobile special abilities update.c - Contains procedures for game operation Additional files and changes in Daleken: act_fight.c: Functions for fighting skills like backstab and kick. magic_misc.c magic_def.c magic_off.c: All magic code and spells: magic_misc.c - miscellaneous spells and core functionality magic_def.c - defensive spells magic_off.c - offensive spells mob_commands.c mud_prog.c: These files are the MOB/OBJ/ROOM program files: mob_commands.c - commands used by mobiles in the functions mud_prog.c - mob program parsing and triggers + lots extra note.c: Contains all note writing and notice board functions. olc.h olc.c olc_act.c olc_save.c bit.c mem.c string.c: These files are the OLC files and contain all the OLC code as well as a whole lot of code Daleken has come to rely on such as the lookup tables needed for the area files. olc.h - header and OLC macros olc.c - OLC interface functions olc_act.c - OLC functions olc_misc.c - extra OLC functions olc_save.c - for saving areas bit.c - lookup tables and functions for these mem.c - extra memory management plus some from db.c string.c - string editor and manipulation religion.c: All religion and clan related functions, including the OLC functions. string.c: Contains a string editor, also contains the colour parsing code and includes functions which manipulate coloured strings. event.c: Contains core code for the Daleken event system, allowing management and creation of events. callback.c: Contains the functions that are called by an event after it's time is up. This includes a large proportion of the old update.c code. db_io.c: The Daleken 1.12 database loading and saving code. regexp.c: Regular expression code, note that this file is not an actual part of Daleken, it is included as a replacement for the non-standard regex libraries - see the comment at the head of the file. crypt.c: Encryption for passwords. This file is also not a part of the core Daleken release and is included so systems that lack encryption libraries can have properly protected passwords - see the comment at the top of the file. The header files have also been split in an attempt to make some sense of the mess as well as to reduce the bloated size. Effectively the old merc.h still exists but it has been broken down into logical (questionable, --Sym) compartments. mud.h - everything, an easy to include file with standard headers and all the other headers included. const.h - #defines for everything, naming bitvectors etc... function.h - global functions, do_fun's and spell functions. global.h - global data declarations. olc.h - olc header, as before. types.h - standard structs and data types. event.h - definitions for the event system. regexp.h - regular expression header (see regexp.c above). db.h - data structures and so on for database loading/saving. -- Other Files The file scriptsave.c isn't actually used by the server. Read the comment in this file to determine if you need it at all. This file is more a proof of the concept that the OLC format could be used to create an entire area. === The READMEs README - This file. README.SSM - Is the README info on Fusion's SSM 2.2.1. README.BUFFER - Is a README for Erwin A's expanding buffers. === The Makefiles Makefile - Is a standard makefile for most machines. GNUmakefile - makefile for GNU make, tidier and neater. This assumes the use of gcc and GNU make, you may have to make minor adjustments for systems other than Linux 2.xx.xx. To compile the executable file 'daleken' (which resides in the Daleken/bin/ directory), type 'make -k >&! make.out &'. If you have problems with crypt, add to the crypt.c file to your makefile. Envy suggests you modify the Makefile to compile with DEBUG = -ggdb if you have gdb on your system. This turns on specific debugging for use with gdb. We do not guarantee that this Makefile will work for your system as each system administrator will modify to his/her liking. The Makefile is only to be used as a close guideline for your system. There are also examples of Makefiles in the Makefiles/ directory, some of these may suit your system. These however are almost certainly out of date, you will have to compare the list of object files in these and match them to the more up to date Makefile and GNUmakefile. Envy extend a hearty thanks to all who have tested Envy source on these ports: cbjones1@unity.ncsu.edu blitter@planetx.lanz.com msmith@quix.robins.af.mil ajohnson@spock2.tacom.army.mil rks@ipdinc.com stoked@iastate.edu hub@hub.eden.com erwin@pip.dknet.dk -- Debugging Get to know the debugger setup in your computer system. The most well known are dbx, adb, and gdb. My favorite is gdb. All can be accessed by issuing this command at your computer prompt, 'gdb daleken 1000.core'. The output is the line of code where the game has crashed. To gain more information, you must obtain a stack trace (bt). (See the system manual for information on your resident debugger) === The executable file The executable file is created after typing 'make'. After making, the executable file is named 'daleken.new'. You may then boot the game by executing the startup script 'startup' or 'startupSH' by typing './startup &'. I prefer to use './start' which runs a more advanced logging system. You can find these files in the bin/ directory with the daleken binary. To enter the game, type 'telnet localhost 12345' from your mud account. I would suggest getting TinyFugue (tf) which is a far better client. A copy of TinyFugue that supports the Mud Client Compression Protocol should be available at the same place that you found Daleken. === What is new, what is old This source is based on the Envy 2.2 release source code. Some internal workings have changed and some player visible improvements have been made. We've been developing the code for the past 14 months with extensive playing. Unfortunately, there might be bugs we have missed. If you encounter errors or bugs, first check your code additions then forward questions to the mailing list at merc-l@webnexus.com, however noone will know what you are talking about when you say Daleken, so try and make your post intelligent, saying what the errors were (include a log) and what system you were using etc... All in all, Daleken will "feel" like any other MERC mud out there. Daleken is designed to go beyond the MERC releases and make into reality many improvements that went undone in the Envy/MERC releases, it incorporates ideas from across the internet and ideas that have been coded for other MUDs. Daleken/Envy does not support traditional C compilers. Daleken has not been tested to run on any other than Linux systems, while this may be restrictive we believe that it may work on the systems it was ported to in the Envy 2.2 release but minor changes may have to be made. Please note that changes have been made so that macintosh means Power Mac now and with modifications to some of the methods of initialising tables the code should work for a Power Mac (crosses fingers).