GreedMud Release 0.99.7 Wednesday, 7th February 2001 Zen <greedmud@egroups.com> === The src directory This file gives a brief description of the files in the src directory. READMEs Makefiles source files startup scripts executable file What is new, what is old in the source === The READMEs README - Is this file. README.WIN - Is the README/compilation instructions for Win 95/NT port. README.SSM - Is the README info on Fusion's SSM 2.2.1 === The Makefiles Makefile - Is the top level Makefile to build multiple platforms. Makefile.aix - Is the Makefile specifically designed for AIX Machines Makefile.ami - Is the Makefile specifically designed for Amiga Machines Makefile.hp - Is the Makefile specifically designed for HPUX Machines Makefile.irx - Is the Makefile specifically designed for IRIX Machines Makefile.lnx - Is the Makefile specifically designed for Linux 2.+ Machines Makefile.mip - Is the Makefile specifically designed for MIPS Machines Makefile.nex - Is the Makefile specifically designed for the NeXT Makefile.osf - Is the Makefile specifically designed for the DEC OSF Alpha Makefile.sol - Is the Makefile specifically designed for Solaris 2.4 Makefile.std - Is the generic Makefile for machines with gcc Makefile.sys - Is the Makefile specifically designed for the Sequent SysV Makefile.tek - Is the Makefile specifically designed for utek Machines To compile the executable file 'envy', type 'make' and view the available platforms. Then type 'make <system> >&! a.out &' where <system> is they supported system. If your system does not appear, try 'make standard >&! a.out &' first. For Windows 9x/NT platforms, please read README.WIN. If you have problems with crypt, add to the NOCRYPT line in your Makefile -DNOCRYPT. We suggest 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 each Makefile will work for your system as each system administrator will modify to his/her liking. The Makefile are only to be used as a close guideline for your system. We 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 === The source files act_clan.c - Contains procedures for clans 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_lang.c - Contains procedures for languages act_move.c - Contains procedures for pc/mobile movement around the mud act_obj.c - Contains procedures for object manipulation act_olc.c - Contains procedures for OLC act_wiz.c - Contains procedures for immortal commands bit.c - Contains tables used within OLC 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 db2.c - Contains procedures for OLC area file write fight.c - Contains procedures for pc/mob combat gamble.c - Contains procedures for player gambling. handler.c - Contains procedures for data element handling hunt.c - Contains procedures for hunt/track interp.c - Contains procedures and tables for game user commands magic.c - Contains procedures for spells mem.c - Contains procedures for OLC mem operations merc.h - Contains data types/prototypes/macros used within the game mob_comm.c - Contains procedures for mob commands (used by MobPrograms) mob_prog.c - Contains procedures for MobPrograms save.c - Contains procedures for player/mob file read and write spec_mob.c - Contains procedures for mobile special abilities spec_obj.c - Contains procedures for object special abilities spec_rom.c - Contains procedures for room special abilities ssm.c - Contains procedures for string management string.c - Contains procedures for OLC's string editor tables.c - Contains tables/procs used for class/social loading/saving update.c - Contains procedures for game operation wiznet.c - Contains procedures for wiznet === The startup scripts start - Is the start script for the startup script. System errors are saved in a file called errors.out in the log directory. startup - Is the startup script for EnvyMud using CSH startupSH - Is the startup script for EnvyMud using SH startup-AmiTCP - Is the startup script for EnvyMud on Amigas startupW95.bat - Is the startup script for EnvyMud on Windows 95 startupWNT.cmd - Is the startup script for EnvyMud on Windows NT On most systems, typing 'startup &' in the src directory is adequate for you. If you wish a more indepth logging feature, 'start' will give you that. The startup script will create a number log file starting from 1000.log in the log directory. Should your game crash, and you have enabled core dumps by setting your 'LIMIT coredumpsize unlimited' (see your system manual for information on the command LIMIT), you will have a core file with a name matching the appropriate log file in your src directory. The startup script will run the executable named 'envy2'. NOTE: Make will create a file named 'envy'. This allows you to compile and test your code without worrying about touching the running mud. When you are done testing your testmud, rename it as envy.new in the src directory and reboot your "real" mud. The startup script will automatically update your running executable and backup your old one by renaming it 'envy.old'. --- 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 envy core'. The output is the line of code where the game has crashed. To gain more information, you must obtain a stack trace. (See the system manual for information on your resident debugger) === The executable file The executable file is created after typing 'make'. You must first choose a Makefile best suited for your machine. See 'port.txt' for more information. After making, the executable file is named 'envy'. After renaming it to 'envy2', you may then boot the game by executing the startup script 'startup' or 'startupSH' by typing 'startup &' or 'startupSH &'. To enter the game, type 'telnet localhost 5005' from your mud account. === 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. I've been developing the code for the past 3 months with extensive playing. Unfortunately, there might be bugs i have missed. If you encounter errors or bugs, first check your code additions then forward questions to the list at greedmud@egroups.com, please check with your local Unix/GCC guru first. All in all, Envy will "feel" like any other MERC mud out there. Envy is designed to go beyond the MERC releases and make into reality many improvements that went undone in the MERC releases. Envy does not support traditional C compilers. Envy no longer runs on MSDOS machines. The alternative provided are the Windows 9x/NT ports. Also, you may load Linux or BSD on your PC to compile or modify Envy (this is the recommended solution). See 'new.txt' to see a more accurate list of changes done to the code. See 'next.txt' to see what might be included in the next release.