============================================================================ ============================================================================ == DAWN 1.69q RELEASED 1Jun02 ============================================================================ 11:56 a.m. 9/06/2002 - Kal - fixed a bug in mixedit, where it sets the type of the dummy object to 0. (this in turn would crash the mud when trying to save the dummy object). 8:19 p.m. 9/06/2002 - Kal - added 'colour in short descriptions' matching support to the get_char_...() style functions. - added GAMESET4_NO_KARN_IN_SCORE, so the karn display can be disabled in score. - letgain status is no longer shown in score if letgaining is disabled. - added grantgroup_flags[]. - added GAMESET4_LEVELSORT_IMMORTALS_ON_WHO, GAMESET4_LEVELSORT_MORTALS_ON_WHO and GAMESET4_USE_GRANTGROUPS_FOR_IMM 10:23 p.m. 9/06/2002 - Kal - ch->wrap() and ch->wrapf() no longer adds a newline at the end of the wrapped text - even if the original had a newline at the end. - put in code which gives xp and rps bonuses to letgained players for when the letgain system is disabled to 'nonletgained' players. - renamed the use of existing wrap() and wrapf() functions within the code to use the ln versions as relevant. - added newbie hint to sleep regarding dropping bedrolls. 22:47 30/06/2002 - Kal - fixed a bug where a mob copied with mcopy would loose its shop data after a hotreboot. - added GRANTGROUP_OBSCUREIMMORTAL, for more obscure commands. - removed do_sdrop, do_sload, and do_sgive - just prefix the normal commands with the more generic silent command. 20:16 03/07/2002 - Kal - removed DYN_NOMAPEXITS, and put in CONFIG2_NOMAPEXITS in its place (thereby enabling the saving of this setting for players) 21:58 04/07/2002 - Kal - disabled the colour convertion code - no longer needed... if someone wants to upgrade to a later version, they can go via version 1.69q. - added irc_connection to descriptor_data, now set to true if a player connects via the irc port. - changed IS_IRCCON() and IS_IRC() macros to use descriptor_datas irc_connection status. - added CT_AUTODETECT, which is now the default colour type, if someone connects via the irc port they automatically get irc colouring, if connecting via the telnet port they get ansi colour by default. 21:49 07/07/2002 - Kal - wrote do_nforce for newbie force, and do_mforce for mob force. Removed level based checks from do_force() relating to which force features can be used. This is to become in line with the grant system. - wrote GAMESET4_SHOW_IMMROLE_IN_SCORE_INSTEAD_OF_LEVEL, added immrole field to pcdata. Added set char immrole . - wrote GAMESET4_3TIER_IMMRANKS_IN_WHO - support only added to the dawn who format at this stage. When on an imm is either [IMP], [ADM] or [IMM] on the wholist. 22:12 17/07/2002 - Kal - becomeactive now works if you are on a non letgaining mud regardless of letgain status. 18:14 08/08/2002 - Kal - added fix from Daos for training hp which allowed you to train while your hp is maxed. 18:11 09/08/2002 - Kal - medit_race() now clears all existing flags before setting the racial defaults (with the exception of the act flags). - ACT_SENTINEL is now known as ACT_DONT_WANDER, code will automatically read in the old flag and convert it. 21:11 14/08/2002 - Kal - fixed a stupid crash bug in mcopy relating to shop keepers. 16:52 17/08/2002 - Kal - spinfo type commands display your percentage of ability in realms etc. 22:55 25/08/2002 - Kal - enhanced brlist to indicate which rooms don't have a description. - added support for a chat channel/command being separate than ooc. 11:39 26/08/2002 - Kal - Fixed up potential security loophole with the use of hard coded names in the ban and banedit commands - reported by Nephwrack of Bloodletting. 12:50 26/08/2002 - Kal - chat channel automatically turns back on during login. - changed mxp definition of tl-nm_rt_tlnm to use > instead of > within the double quotes. - wrote mobprog xpreward mob command. - cleaned up some of the herbalism and do_cook() code. 15:10 26/08/2002 - Kal - rewrote bits of the mix editor... removed mixedit_ingredientsnum(), system slightly more user friendly. - changed creation so you can't get beyond 150 creation points by adding a group when at 149 etc. - wrote undeny - quick hack using pload. 11:45 07/09/2002 - Kal - enhanced get_extra_descr(), so it first performs exact matching, then subtext matching. (Objects with an ed of page1 and page11 would somes show page11 when page1 was requested). 11:47 07/09/2002 - Kal - fixed newbielock enable. 00:10 08/09/2002 - Kal - fixed a room counting bug, where rooms were being counted twice when loaded. This bug affected the room count in mudstats unfortunately :( 21:17 08/09/2002 - Kal - Added support to filter the area list for olc areas - based on an idea by Daos. - Added lava sector type based on patch submitted by Daos. 19:47 10/09/2002 - Kal - added the following item types: flask, ore and oven. - implemented flask as a type of container like cauldron and mortar. - wrote do_shake() based off do_herbalism(), used for mixing stuff in a flask 23:07 10/09/2002 - Kal - wrote void println_delayed_to_room(int seconds, room_index_data *room, char_data *all_but_this_person, const char *text); 20:02 12/09/2002 - Kal - fixed "I see no door west here to lock.", type messages in find_door() from typing commands like "open west". - revamped do_give_new() so it is a lot more newbie friendly. 22:54 12/09/2002 - Kal - tweaked around with the irc colours a little - wrote a generic olc flag toggler - olc_generic_flag_toggle() - a lot nicer and informative than what we had previously. - converted most of the medit functions to take advantage of it. 20:57 13/09/2002 - Kal - added pretrain and preprac triggers to the existing mobprog system. - added 'mob preventtrain' and 'mob preventprac' commands, to operate with the pretrain and preprac triggers. - wrote get_morguevnum() in a similar style to get_recallvnum() - added morgue fields to the class and race tables. - wrote morgue olc editors for classedit and raceedit - added no_prac to the supported flags in sedit - with this flag set on a skill/spell, it can't be praced. - extended 'mob setskill', to support the flexivalue system used in the autobalance command. 01:06 14/09/2002 - Kal - wrote nomapblanks - basically gives people the ability to use the automap without all the excess whitespace above and below. - added newbie_map_vnum into the race table, players are now given a world map and their races specified newbie map on creation. Currently the OBJ_VNUM_NEWBIE_GUIDE value is ignored. 12:36 14/09/2002 - Kal - area files trying to put a special on a missing mob will no longer crash. 16:53 14/09/2002 - Kal - changed redit so n makes you go north, and s makes you go south. 00:07 22/09/2002 - Kal - extended oedit_addspell so you could set the OBJSPELL_IGNORE_LEVEL bitvector, the implementation of this flag needs testing though. 20:04 24/09/2002 - Kal - applied fix to do_donate() by Balo. 23:06 24/09/2002 - Kal - renamed shake to mixflask. 20:19 08/11/2002 - Kal - Added newbie hints to do_buy() and do_sleep(). - Added aliases for the worth command of gold, silver and money. - Added alias to the vis command of unhide. - show affects is now on by default 23:24 16/12/2002 - Kal - added code to bottom of extract_char() to recount the number of people that are in a room after extracting the character... the point of doing this is because there are times when they count can get decremented multiple times... e.g. someone logs in, logs half in a second time, then types quit on the first login. 22:57 08/01/2003 - Kal - imms can now steal from players on a peaceful mud - do_rpsheet() now shows syntax as the default instead of rpsheet view. 23:06 30/01/2003 - Kal - fixed create_class() so it wont go over the max number of classes in the game. - started work on IPv6 support, additionally winsock2 support. 20:22 24/02/2003 - Kal - fixed incorrect spelling of official in the webserver code. - disabled the setting of GAMESET_READ_PASSWORDS_AS_CLEARTEXT. 14:29 15/03/2003 - Kal - added AREAIMPORTFLAG_READ_TO_EOL_ON_ACT_AFF_LINE flag, used for area importing of foreign formats. - added dawn_socket, typedef'd to be SOCKET on win32, int otherwise, this removes compile warnings with winsock2. - changed all open references to PLR_CAN_ADVANCE to use IS_LETGAINED macro - wrote GAMESETTING_LETGAINING_IS_REQUIRED macro 18:08 15/03/2003 - Kal, code import work from storm bringer - added the following flags to replace functionality implemented into storm: note: some of the code is taken directly from storm, some is reimplemented GAMESET4_NO_STEALING_OUTSIDE_10_LEVELS - prevents stealing from someone more than 10 levels outside your range GAMESET4_NO_STEALING_FROM_NON_LETGAINED - if on, you can't steal from a nonletgained player (assuming letgaining is required on the mud) GAMESET4_MUST_BE_LETGAINED_TO_STEAL_FROM_PLAYERS - no comment required GAMESET4_MUST_BE_IN_CLAN_TO_STEAL_FROM_PLAYERS - no comment required GAMESET4_NO_STEALING_FROM_NON_CLANNED - no comment required - Added spear weapontype code by Meerclar - renamed TEND_* to TENDFLAG_* where appropriate - the second skill is now called "dual wield", muds will need to update their skills table on read in. - typing now "wor" executes the worth command instead of worship. - added missing TAR_MOB_OFFENSIVE spell target type to obj_cast_spell, found by Meerclar - added the stormbringer variants of the following spells... spell_sb_magic_missile, spell_sb_strength_of_the_land, spell_sb_word_of_recall, spell_sb_protection_good, spell_sb_protection_evil, spell_sb_holy_word spell_sb_cure_light, spell_sb_cure_serious, spell_sb_cure_critical, spell_sb_calm, spell_sb_blindness, spell_sb_illusions_grandeur and spell_sb_poison_rain 19:12 15/03/2003 - Kal - added code to skill_lookup() to swap the word second for "dual wield", this should enable the autoconversion of pfiles etc 18:34 16/03/2003 - Kal - extended do_affects() so more information is given to those below level 20 22:00 23/03/2003 - Kal - rewrote the entire language system, so languages are no longer hard coded and lookups of words use a much more efficient searching algorithm. - added language_flags[] - include.h now includes gameset.h, tables.h, lookup.h, gio.h and recycle.h removed all direct references in others files. 23:23 28/03/2003 - Kal - do_laston_level_one_pwipe() no longer attempts to delete pfiles that are already deleted, nor live pfiles that have a deleted entry in laston. - extended the typedef of GIO_CUSTOM_FUNCTION to return int instead of void. - extended GIO to support a custom function which can determine by returning true that a particular record shouldn't be saved. CUSTOM_DONT_SAVE_RECORD is the enum value for the type in the gio table. GIO_CUSTOM_DONT_SAVE_RECORD() is the compiler macro to form the table. The function itself needs to "true" to make saveRecord not save the structure. - extended saveRecord() to take an int* status variable, so the function can indicate if the record was saved or not. - do_page() now uses get_whovis_player_world() instead of get_char_world(), and works correctly while switched. - do_switch() now tells people about using return to get out of it. 19:35 29/03/2003 - Kal - rewrote do_whisper(). - added unique_id field to language implementation, this field is used by parchments in V3 to store the language of the parchment. - wrote language_lookup_by_id() and language_safe_lookup_by_id(), the safe version always will return a language - the "unknown" language if it has to in order to not return NULL. - fwrite_obj() now saves ParchmentLanguage on parchments. - fread_obj() supports loading of objects parchment value, and sets v3 to the unique id of the unknown language, so in situations where the pfile didn't have the ParchmentLanguage set, the results are predicatable. - wrote language_safe_lookup() works like the safe lang lookup by id. - implemented language_save(), only saves the language index so far. - create language_data_gio_dontsavetester gio function and completed related gio supporting implementation. 16:05 06/04/2003 - Kal - MXP enabled socedit_show(), socedit_socialflags() and socedit_positionflags() - started langedit. - wrote a second version of olc_generic_flag_toggle() which supports "int *" - modified the following functions to use the all new singing and dancing olc_generic_flag_toggle() function: redit_room, oedit_wear, oedit_extra, oedit_extra2. - added saving with autosave for languages - wrote mxp_display_olc_flags_ex() which accepts 3 additional parameters over mxp_display_olc_flags()... these are max_width, first_indent, and indent. This function can be used to get more flexiblity in displaying a list of flags. 19:00 11/04/2003 - Kal - wrote language_exact_lookup(), normal language_lookup() now first does an exact lookup, then a prefix lookup. - wrote langedit_words() - enhanced makef_titlebar(), making it more inline with the existing - wrote langedit_addword() - wrote language_data::reinitialise() - wrote langedit_delword() - modified the langedit_show() code so the changed flag was displayed as a * in the titlebar, instead of as a textual flag. 11:50 12/04/2003 - Kal - made it so the corpses file isn't resaved everytime a mob dies. 10:15 13/04/2003 - Kal - output of the vnum command is now sorted by vnum, and has room for 6 digits - changed language_init_gsn_and_unique_id() to use skill_exact_lookup(). - wrote langedit_skillname() - sets the skillname - wrote language_dynamic_command(), and hooked into interpret - this replaces each manual command function - e.g. do_human() etc. - added commandname field to language_data, which language_dynamic_command() uses for lookups. If commandname is blank, the language can't be accessed directly as a command. - wrote langedit_commandname(). - added "langedit list" option. 14:54 13/04/2003 - Kal - added dynamic creation of languages when reading in a race that can't find its language. - speaking no longer shows "you say in unknown '...'" - language not being 'unknown' is no longer a status of if a race is creation selectable. - added a gsn_native skill - for languages 15:12 13/04/2003 - Kal - Laston now records the IP address a player connects from also - Extended the -h laston search syntax to include ip address - removed oldlanguage.cpp from code. 21:49 13/04/2003 - Kal - the skills command now show granted skills to players, and immortals all skills for the player even ones above LEVEL_HERO. - the class command now shows the level rating for a skill that is unattainable. 14:03 14/04/2003 - Kal - various fixes to the language code - language code now displays the wizi your says are - wrote do_autowizilogin() and do_autowhovislogin(). - removed GAMESET2_ADMIN_DEFAULT_WHOINVIS - added GAMESET2_AUTOOUTFIT_ON_NEWBIE_LOGIN - renamed CONFIG_AUTOLANDONRESET to CONFIG_AUTOLANDONREST - added GAMESET4_LOGINWHO_SHOWS_IMMS_FOR_ALL, when set morts see whovisible imms on the wholist when logging in. - added the following: GIO_INT_WITH_DEFAULT(obj_vnum_outfit_sleeves, 412) GIO_INT_WITH_DEFAULT(obj_vnum_outfit_cap, 413) GIO_INT_WITH_DEFAULT(obj_vnum_outfit_gloves, 414) GIO_INT_WITH_DEFAULT(obj_vnum_outfit_leggings,415) GIO_INT_WITH_DEFAULT(obj_vnum_outfit_boots, 416) GIO_INT_WITH_DEFAULT(obj_vnum_outfit_belt, 417) - added GAMESET4_REPORT_MISSING_OUTFIT_ITEMS_TO_PLAYERS - when set, the player is notified of any items which are specified in the outfit system but the object doesn't exist. 16:51 14/04/2003 - Kal - group_add() now uses skill_exact_lookup() instead of skill_lookup() and supports a percentage as a parameter. - extended skill groups system to support setting a skill percentage on any skill in the group. - wrote skillgroup_skillvalue() and updated olc editor. 20:34 14/04/2003 - Kal - started dawnlib.cpp, will include functions which help in portablity. - wrote the following redirector functions: is_alnum(), is_alpha(), is_digit(), is_lower(), is_print(), is_space(), is_upper() 22:09 14/04/2003 - Kal - you can now eat food that has v0=0 and v1=0 even when full. - added code to do_train() to make it more newbie friendly and support full words for training. - saymote now lets you know that you are speaking in a reversing language while in ooc - since reverse still works in ooc. 12:19 15/04/2003 - Kal - Cygwin hotreboot now looks for .exe on the end of the filename if it can't immediately find a file to hotreboot to. 17:42 15/04/2003 - Kal - developed workaround for problem with cygwin where if you logged out after a hotreboot, it wouldn't disconnect the connection. - added bool mp_would_run_give_trigger( mob, ch, obj ), which is just a # hack of mp_give_trigger(), only it returns true, if mp_give_trigger() would trigger on the object, and returns false if it wouldn't. - updated do_give_new() so that shopkeepers can be given an item if the action of giving them the item will trigger a mobprog to be run. 18:33 15/04/2003 - Kal - The string command can no longer be used to set the short description of a player or mob. 22:10 16/04/2003 - Kal - added the missing $o parameter to ifhelps details about objval0 etc 22:55 18/04/2003 - Kal - extended mxp support for objects so it can look at extended descriptions on mobs - it uses the following algorithm to match an extended description over the objects actual description... it takes the first word in the objects name... if this is longer than 2 characters and an extended description exists with this as a keyword, it displays this... otherwise it shows the objects description. 00:13 19/04/2003 - Kal - wrote system to allow players to personalise if they want to see colour in socials - stored in preference_strip_colour_in_socials. - added GAMESET4_GAMEDEFAULT_COLOUR_IN_SOCIALS_ON, which determines if players by default will see colour in their socials. - wrote custom_colour_socials_colour() - a subcommand of the colour command, this allows players to adjust their preference. 11:20 19/04/2003 - Kal - added more help to ifhelp for the "name" command to include objects. 13:10 19/04/2003 - Kal - when someone logs in, the message now shows more information. - improved the colour in socials support, now known as preference_colour_in_socials and more user friendly for setting etc. 15:54 19/04/2003 - Kal - started rewrite of all the macros in GIO. - removed GIO_CHARSTR type - unused anywhere in the code 23:43 19/04/2003 - Kal - finished GIO rewrite - a lot cleaner now - did a lot of work on making dawn compile out of the box with no warnings on a clean visual studio .net project. 12:46 20/04/2003 - Kal - wrote str_len(), which is now used as the primary function to determine a strings length. This function calls strlen(), typecasts the result into an int, then asserts that the result isn't negative before returning the result as an int. - completed work to making dawn compile out of the box with no warnings on Visual Studio .NET. - wrote a perl script to convert a number of printlnf() calls where println() was more appropriate. - improved diagnostic logging in do_mptransfer(). 17:27 20/04/2003 - Kal - rewrote the buffer management of do_skills() so it dynamically allocates memory on an as needed basis instead of using over 800KB of memory on the stack. - added LANGFLAG_SCRAMBLE_IN_OOC, by default languages aren't scrambled in ooc. 18:12 20/04/2003 - Kal - Minor code tweaks to macros in gio.h to make source compile cleanly with g++ after rewrite done to make gio more portable. 18:29 20/04/2003 - Kal - changed default mud name to "Dawn v1.69 based mud". 14:48 21/04/2003 - Kal - wrote code to record says, whispers, emotes and socials in a per player rotating buffer so players can replay room events. - wrote do_replayroom() to display the replay of what they saw in the room. 11:13 19/08/2003 - Kal - do_mpsetskill() now supports setting a negative amount of trains and pracs. - updated details shown in mobhelp relating to the setskill command. 12:34 21/08/2003 - Kal - tweaked formatting of do_rinfo() to allow for race names up to 18 characters (instead of 14) and display a reference to the rcompare command. - raceedit_create() now displays a warning if you create a race with a name longer than 18 characters. - renamed do_rcompare to do_raceinfo() and reduced its default level to make it player accessible. - changed do_raceinfo() so it doesn't show non creation selectable races to players. - changed raceinfo() to support displaying race names up to 18 characters long. 09:25 22/08/2003 - Kal - The permanance spell now returns ALL_MANA in some situations where it was possible for a player to go into negative mana. 11:28 22/08/2003 - Kal - a number of code tweaks to make the code compile cleanly on gcc v3.3.1. 10:47 23/08/2003 - Kal - removed duplicated code relating to autodamage just by a slight tweak in the ordering of the relevant code - changed damage() and damage_spell() so they return the number of hitpoints removed from a victim (previously it returned true/false). - cleaned up the logic of being knocked off a mount in damage(). - added autodamage support to bash, also enhanced bash so it doesn't display the word 'powerfully' if no damage was actually inflicted. 13:17 23/08/2003 - Kal - changed "prompt all5" and "prompt all5c", so they don't include the old style group codes. Additionally added max movements to them. - wrote char *autodamtext(char_data *ch, int damage_amount); function which returns either an empty string or the damage amount in brackets based on if autodamage is enabled mudwide and per player. - converted the ACT to types into: enum ACTTO_TYPE {TO_ROOM, TO_NOTVICT, TO_VICT, TO_CHAR, TO_ALL, TO_WORLD}; - potentially a major change to damage(), needs to be balance tested... swapped the order of: dam = dam / (victim->level*2/5+1); if(ch->level*15/10>victim->level){ dam=dam * (ch->level*15/10-victim->level+5)/5; } to if(ch->level*15/10>victim->level){ dam=dam * (ch->level*15/10-victim->level+5)/5; } dam = dam / (victim->level*2/5+1); in every case within the select statement... the old way, damage was being rounded down to 0 at times before the attacking characters level could be taken into consideration. - implemented autodamage messages for vampiric, flaming, frost, and shocking weapon effects. - do_mset() now displays details about changing a characters sex - do_introduce() now displays 'himself', 'herself', or 'itself' in place of themself in the text "... introduces themself to you as ..." - improved "gain points" so you are credited for any xp you earn't towards the next level after reducing the amount to level (instead of losing it as you have up until this point) - fixed GAMESET3_LANGUAGE_NOT_SCRAMBLED, the check for it is now placed in translate_language() instead of saymote()... this way the setting effects whispering and yelling. 17:10 23/08/2003 - Kal - raceinfo shows remort if remort is enabled in gameedit. - added RACEFLAG_ALWAYS_HIDDEN_FROM_MORTAL_RACEINFO, which when set on a race prevents it from ever being seen on the raceinfo list. - added RACEFLAG_HIDDEN_FROM_MORTAL_RACEINFO_WHEN_ABOVE_THEIR_REMORT, which prevents logged in players from seeing a flagged race above their current remort level. - added support for a fifth set of gameedit flags. - wrote gameedit_flags5() using olc_generic_flag_toggle(). - upgrade gameedit_flags*() to use olc_generic_flag_toggle(). - added GAMESET5_RACEINFO_DISABLED_IN_CREATION. 17:44 23/08/2003 - Kal - added GAMESET5_RESTRICTED_CREATIONS_PER_HOUR, when this flag is set, a single ip address can only go thru the rerolling process five times per hour. This used to be hard coded on, now you must manually enable it. Even if this setting is not set, the code will prevent an IP from going thru the creation process more than 40 times in an hour to reduce the effectiveness of automatic rerolling tools. 13:48 26/08/2003 - Kal - moved some bit macros (IS_SET() etc) into bitflags.h - changed some of the code relating to binding the web listening port... it now returns INVALID_SOCKET instead of -1. Previously it was creating problems when dawn_sock was defined as SOCKET (effectively unsigned char) - added /raceinfo into the webserver, can be disabled by setting GAMESET5_RACEINFO_DISABLED_IN_WEBSERVER. 19:21 26/08/2003 - Kal - wrote do_setichour(), used to jump the IC time to a given hour... used for developing time related code. 19:46 29/08/2003 - Kal - improved the ordering of gamesettings and made it show if languages are scrambled or not on the given mud. 18:54 30/08/2003 - Kal - outfit no longer gives you a shield if you have a second weapon. 17:19 31/08/2003 - Kal - wrote battlelag prompt system... when you are in combat and lagged, a 'BattleLag' text is displayed at the front of your prompt. - Made it so you can customize the text. - Added code so you can change the mudwide default battlelag text - Added code so you can turn off the battlelag if you don't want it. 17:25 31/08/2003 - Kal - Added GAMESET5_AUTODAMAGE_DEFAULTS_OFF, when unset, new players automatically have autodam on. - sorted autolist output alphabetically, added battlelag status 17:53 31/08/2003 - Kal - automatic_offlineletgain_after_x_days now defaults to 3 (instead of 5) - score now shows your surname if you have one set 19:48 31/08/2003 - Kal - changed code to by default only support up to level MAX_LEVEL, instead of MAX_LEVEL+1, can be manually reenabled by uncommenting "//#define FOUNDER_LEVEL_ENABLED" in params.h 20:28 31/08/2003 - Kal - added playerlocked message for imms during login 20:34 31/08/2003 - Kal - added raceflag RACEFLAG_LOWCOST_LAUNCH (designed for faeries), when set, it only cost the 2 movements instead of 10 to launch into flying. 14:38 08/09/2003 - Kal - improved channel_generic_handler() so it constructs a buffer, which is then sent to the player (instead of sending parts of a line worth of text to the player at a time) - this modification makes it a lot easier to make per user logging. - defined DEFAULT_CHANNEL_MEMORY_LOG_LINES to 30, and modified the table allocating the channels to use the defined value where appropriate. - fixed a memory leak in free_pcdata() relating to the replayroom buffers 15:30 08/09/2003 - Kal - wrote a 'replaychannels' system... anything a player hears on a channel is recorded in their personal buffer (defaults to 20 lines)... which they can review at any stage. 15:40 08/09/2003 - Kal - do_peace() is a little bit more verbose about what it is actually doing. 15:49 08/09/2003 - Kal - oedit now shows weights in lbs and has more descritive text around this. - All references to the main container type objects now appear in the following alphabetical order: ITEM_CAULDRON, ITEM_CONTAINER, ITEM_FLASK and ITEM_MORTAR. - cleaned up weight information show to players with identify and lore. 17:27 08/09/2003 - Kal - wrote "object wearing preference system"... which works as follows: if 'ch' is wearing 2 items in a particular wear location (e.g. WEAR_FINGER_L, WEAR_FINGER_R), and try to wear an object into that wear location, the code will favour replacing the item which doesn't have the same vnum as the object about to be put on. The effect of this, is you can type 'wear golden', 'wear golden'... and you would replace both of your rings with golden rings... instead of the second 'wear golden' replacing what you just wore using the first 'wear golden'. 21:55 09/09/2003 - Kal - Renamed GAMESET2_AUTOOUTFIT_ON_NEWBIE_LOGIN to GAMESET2_DONT_AUTOOUTFIT_ON_NEWBIE_LOGIN so by default all muds have outfit. 22:03 09/09/2003 - Kal - tweaked the channel logging system, so it logs channels to players replay buffers even if they have the channel off. The time shows using silver for things the player didn't hear. 22:11 09/09/2003 - Kal - notes/hints about the various mortal replay commands are now only shown to newbie morts. 22:22 09/09/2003 - Kal - rearranged the %d prompt code, so it puts a prefixing space - added %d into a number of the prompt templates 22:41 09/09/2003 - Kal - implemented GAMESET3_MORTLASTON_REDUCED_TO2HOURS_ON_MORTS, and GAMESET3_MORTLASTON_REDUCED_LASTDAY_ON_IMMS... turn these on to get the previous laston behaviour of masking if a player has been on in the last 2 hours, and masking if imms have been on. The muds defaults to these off to be more newbie friendly on a newly started mud. - added two new config2 flags, CONFIG2_ACCURATE_LASTON_TIMES & CONFIG2_HIGHIMMORTAL_LASTON_ACCESS... these can be set by MAX_LEVEL-1 and higher on a player/other imms. e.g. "set char bob accurate_laston_times", when this is set, the player will be able to see full laston time details instead of 'has been on in the last 2 hours etc'. e.g2. "set char bob highimmortal_laston_access"... when set, the player/immortal will have full laston access - e.g. able to do host based searches etc. 23:12 09/09/2003 - Kal - changed DEFAULT_MUD_NAME to be "Dawn v1.69r based mud" - wrote GAMESET5_CREATION_ASK_IF_WANT_AUTOMAP_ON, pretty obvious what it does... with it off, creation no longer asks if a player wants automap... it just assumes they do. 23:29 09/09/2003 - Kal - wrote GAMESET5_CREATION_DISABLE_CUSTOMIZATION... when set, there is no customisation in creation. 23:31 09/09/2003 - Kal - increased MAX_REPLAYCHANNELS to 30, since it now records channels you have off. 23:35 09/09/2003 - Kal - wrote CLASSFLAG_NO_CUSTOMIZATION code... so you can make it so an individual class can't customise. - do_sedit() now displays help about the createspell command. 15:10 19/09/2003 - Kal - renamed GAMESET4_LOGINWHO_SHOWS_IMMS_FOR_ALL to GAMESET4_LOGINWHO_HIDES_IMMS_FROM_MORTS. - tweaked the month calculations in timediff() and short_timediff() making them more accurate. 09:52 03/10/2003 - Kal - fixed up spell_fling() so you can't fling tokens, stuff you can't see or undropable items. 19:43 17/10/2003 - Kal - various tweaks to some of the network related code. - wrote gameedit_set()... to advise players about various set commands while in the editor and prevent them accessing the wrong command. - added code to detect MacOSX - #if defined(__APPLE__) && defined(__MACH__) 17:35 20/10/2003 - Kal - fixed calls to do_note_notify() so they use the full immortal range. 16:09 21/10/2003 - Kal - installed patch from daos to allow gameedit configuration of how many trains, pracs, gold and silver a player gets when they create. - wrote global_xp_scale_value gamesetting. - added code make minimum_note_notify_level a game setting. - added daos's fixes to make redit_rdelete, medit_mdelete, oedit_odelete to decrement the top_room, top_mob_index and top_obj_index values. 17:14 21/10/2003 - Kal - tested compiling on 4 platforms... two portability tweaks for pow() calls # versioned as 1.69r-pre5 17:39 21/10/2003 - Kal - merged in netio.cpp from standalone development project... netio.cpp will form the replacement code to handle socket binding and ipv6 etc. - cleaned up main() so there is no longer separate WIN32 and unix sections 21:01 21/10/2003 - Kal - extended append_string_to_file() to have an additional argument newline (type bool) if newline is set true, then a newline is appended to the text (which was the default behaviour). - changed append_datetimestring_to_file() and append_timestring_to_file() so they no longer use a local buffer to hold the string to log to file... this removes the potential for a buffer overflow. - cleaned up log_string() so there is no longer separate WIN32 and unix code 21:58 21/10/2003 - Kal - removed old single user support for macintosh and MSDOS... MacOSX and ppc's running Linux is very much supported, The code hasn't been tested on MSDOS for about 3 years now and everyone who needs home functionality pretty much supports win32 - i.e. windows 95 is now the minimum Microsoft based OS to run the code. - removed game_loop_mac_msdos(), init_console(). - check_parse_name() now supports player names up to 12 characters long (it was 8 previously due to dos filename limitations). - wrote log_string_core() and log_string_flush() which log_string() and fulltime_log_string() now use instead of writing directly to stdout. - changed fulltime_log_string() so it doesn't use a local buffer - changed fix_string() so there was no platform specific code. 21:49 22/10/2003 - Kal - wrote manage_dynamic_buffer()... it is a buffer management system to avoid having functions with large buffers on the stack. look at fix_string() or strip_colour() for an example of its use. 21:19 24/10/2003 - Kal - started a rename in the code of the term "descriptor" to "connection". Performed the following search and replaces. descriptor_data -> connection_data descriptor_list -> connection_list new_descriptor -> connection_allocate descript.cpp -> connect.cpp descript.h -> connect.h DESCFLAG_ -> CONNECTFLAG_ "->descriptor" -> "->oldsocket" free_descriptor -> connection_deallocate descriptor_free -> connection_free close_descriptor -> connection_close Additionally changed some function naming. connection_data::dclose() -> connection_data::close_socket() - Removed the following from connection_data #ifdef __CYGWIN_DUP_HANDLE_WORKAROUND__ long descriptor_osfhandle; // operating system handle #endif I believe it was related to test code I never finished. - renamed connected to connected_state in the connection_data class - removed duplicated_descriptor in connection_data class 22:04 25/10/2003 - Kal - removed read_from_descriptor2(). - renamed read_from_descriptor() to read_from_connection(). 11:06 27/10/2003 - Kal - installed daos's socedit_sdelete() command - added check to run_olc_editor_for_descriptor() to assert that ch->desc=d just after assigning ch to d->character. 12:39 27/10/2003 - Kal - added code to medit_mdelete(), oedit_odelete(), socedit_sdelete() to prevent deleting something that someone else is currently editing. 20:24 31/10/2003 - Kal - did some cleanup work in fwrite_char() to prevent pfile corruption. - changed multilogging detection to use a char* value of remote_ip instead of the long previously used. - removed support for a "none" password when logging in from localhost - removed init_socket() and init_descriptor() 23:39 31/10/2003 - Kal - boot_db() no longer has a call to save_races() at the bottom of it. 20:53 09/11/2003 - Kal - say now supports exclaiming with ! - rewrote large sections of the code handling the dns resolver for win32. 14:20 13/11/2003 - Kal - major work on the resolver to support ipv6 stuff. - changed hotreboot to support transfering of the listen_on list... the new linked list to hold all the bound socket information. - redesigned sections of autoconf and makefile to remove the dependancy on GNU make when using the code on BSD based systems. 15:40 14/11/2003 - Kal - removed alloc_mem_old(), and free_mem_old()... haven't been used for a long time. - do_newcast() now accepts self as a parameter for spells that target yourself. - wrote trim_trailing_carriage_return_line_feed()... function does what it says. - changed the design of mobs long descriptions, so they no longer have the \r\n saved with the mob long descript... instead it is put on the code using printlnf(). - fixed the displaying of mobs in a room so \r\n was appended instead of just \n. 16:06 14/11/2003 - Kal - more tweaks to hotreboot related code in terms of connection types enabled. - the code will no longer load pets if the base vnum can't be found. 16:41 14/11/2003 - Kal - fixed a typo in hotreboot Ganieda reported... the typo has been in the code since dawn 1.1. 20:16 15/11/2003 - Kal - wrote inline help for do_overwritepassword() - fixed a memory leak in check_descriptor_ban() - removed password bypass code on the pkill port 21:13 15/11/2003 - Kal - removed and migrated a large number of old network code references. - renamed check_descriptor_ban() to check_connection_ban() - changed the hotreboot_field_table[] so win32 compiles it, even though it doesn't use it... this makes it easier to develop the code for unix based platforms on win32. - renamed some references to descriptors to connection in the hotreboot code. - split EXECUTING_SOCIAL into EXECUTING_SOCIAL_IN_COLOUR and EXECUTING_SOCIAL_WITHOUT_COLOUR... - strip_colour() prototype now takes const char* instead of straight char*. - wrote code to process socials twice, the first time accepting all colour codes, but only sending the results in act() to those configured for colour socials... the second time stripping the colour at the top of act() and displaying it to mobs and those configured to have colour stripped from socials. - added GAMESET5_DEDICATED_PKILL_STYLE_MUD setting. - wrote macro IS_DEDICATED_PKILL_STYLE_MUD to process setting. - renamed GAMESET2_NO_TELL_RESTRICTIONS to GAMESET2_TELL_RESTRICTIONS. - added GAMESET5_DEDICATED_OLC_BUILDING_MUD setting. - removed all references to 'port'. - removed control, web_control, process_web(), irc_control, init_controls(). - removed PORT_OLC define, PORT_PKILL define, and corresponding values in the gamesettings structure. Removed related gameedit related olc commands and GIO entries. - removed port_web_offset, port_mudftp_offset, and port_irc_offset from the gamesettings structure + GIO saving code. 23:12 15/11/2003 - Kal - implemented fix which removes thief status on death. Problem reported by Ixliam. 15:43 16/11/2003 - Kal - implemented some improvements to do_string() making it provide confirmation for some of the changes it was being used to perform. - tweak to petshops, so you can't haggle pets down to 0. 20:14 16/11/2003 - Kal - changed do_short() so you can use an uppercase first letter if the short description is the players actual name. 11:34 17/11/2003 - Kal - tweaked memory allocation in the dynamic memory allocation system to avoid problems from misuse. - fixed issues with autoafkafter value not saving. 09:33 19/11/2003 - Kal - fixed a bug in new_obj(), where lastdrop_remote_ip was being initialised to str_dup(""); too soon. - changed new_obj() so it str_dup("");'s some other variables which are then free_string()'d in free_obj() - updated create_object() to use replace_string() instead of str_dup() where appropriate. - renamed run_olc_editor_for_descriptor() to run_olc_editor_for_connection() 11:16 19/11/2003 - Kal - removed defines for TRUE and FALSE... since we use the lowercase versions built into the compiler. - lockers now report their weight details in lbs. 10:17 21/11/2003 - Kal - renamed init_resolver*() to resolver_init*(). - renamed query_resolver() to resolver_query() - renamed apply_resolver_results() to resolver_apply_results() - renamed resolver_get_data() to resolver_get_response() - renamed resolver_process_data() to resolver_process_response() 11:07 21/11/2003 - Kal - implemented support for an alpha release of the dns resolver v1.5 # Packaged as 1.69r-pre7 11:50 24/11/2003 - Kal - implemented code in read_from_buffer() to convert ~ into `-... along with GAMESET5_DISABLE_TILDE_CONVERSION. - ostat_show_to_char() now correctly identifies weights as lbs (was kg's). 17:17 24/11/2003 - Kal - added note around DEFAULT_MUD_NAME not to change it... since you should use gameedit to set the mud name. 22:36 24/11/2003 - Kal - tweaked code added to medit_mdelete(), oedit_odelete() and socedit_sdelete() on 27/10/2003, so they don't count the user of the command in the list of people using the object. 11:52 25/11/2003 - Kal - fixed a bug with level a sorted wholist. - added remote_ip_copy into what is transferred for hotreboots. 12:53 25/11/2003 - Kal - added debugging code into dam_message() to report variables if you get a NULL attack value. 15:16 25/11/2003 - Kal - in shocking effect at the bottom of one_hit(), changed the true to false in the call to damage. - fixed an issue with socials, where you would get double ups of failure messages... the modifications mean that process_social_execution() now returns true if the social was processed and false if an error message was displayed (e.g. couldn't find the person to direct the social at) - made it so mob social responses only trigger process_social_execution() occur when EXECUTING_SOCIAL_WITHOUT_COLOUR is true. - tweaked battle lag, so the prompt isn't displayed if the lag will wear off atleast 2 pulses before the next round of combat. 10:47 26/11/2003 - Kal - removed "#define MAX_DAMAGE_TYPE 20" from dawn.h since it isn't being used anywhere at all. 23:04 26/11/2003 - Kal - reverted back some wiznet logging code to what was in 1.69q in nanny_get_new_class(). 23:48 28/11/2003 - Kal - immortal laston now defaults to a more condensed format... ip address isn't shown by default... must use the new -p option to see the ip. The -w option can show the previous wide format. 20:16 30/11/2003 - Kal - added GAMESET5_VERBOSE_INTRODUCTION_LOGGING, option isn't displayed by default in gameedit but can be manually set in the gameset.txt file. 20:30 03/12/2003 - Kal - added fix to checking furniture type in act_move.cpp from WOTL. 10:02 04/12/2003 - Kal - added modified version of dig autovnum snippet from ixliam 15:45 06/12/2003 - Kal - fixed an assert failure relating to a split EXECUTING_SOCIAL_IN_COLOUR and EXECUTING_SOCIAL_WITHOUT_COLOUR, have merged them back together, rewrote all related code and solved the problem a different way. - players on remort 1 or higher are automatically letgained 22:08 26/12/2003 - Kal - added support for EISCONN to dawnstat.cpp 16:42 04/01/2004 - Kal - major changes to dns resolver functionality to properly support ipv6 and ipv4. - save_area_list() now uses a .write file for output, then renames - all references to perror have been changed to strerror and use bugf - converted all printf() calls, which are bypassing log_string_core() - converted all fprintf() which send directly to stdout and stderr - all logging now goes thru log_string_core() which makes it very easy to log directly to files if so desired 07:51 05/01/2004 - Kal - defined LONGCRYPT in ey_crypt... with this enabled, passwords longer than 8 characters are supported. Needs testing to see if it is compatiable with no problems. 23:13 06/01/2004 - Kal - added resolve stderr ipc and logging for the unix build. - implemented code to support local dns lookups for the resolve command. 23:10 08/01/2004 - Kal - changed the alarm system, and added alarm_running_dns_abort_threshold to the game settings so a local dns lookup which takes to long doesn't cause the mud to be terminated. 22:28 09/01/2004 - Kal - tweaked laston, so -ip is used instead of -p to display ip addresses. - implemented built in ipv4/ipv6 resolveip support into the dawn binary in addition to the separate dns process. - renamed GAMESET_WIN32_PERFORM_LOCAL_DNS_LOOKUPS to GAMESET_PERFORM_LOCAL_DNS_LOOKUPS. - removed resolve_ip_locally() and resolve_host_locally() since they weren't used in the end. 00:48 11/01/2004 - Kal - Implemented a dns queue system for local dns resolution - Implemented code changes to support passwords longer than 8 characters since LONGCRYPT has been defined. - Implemented a fix to work around passwords longer than 24 characters crashing the crypt function if LONGCRYPT is defined. Basically only the first 24 characters in a password are considered significant (prior to setting LONGCRYPT, only the first 8 were significant). 14:53 11/01/2004 - Kal - rewrote the webpassword code, so the password is now stored encrypted instead of in clear text. - removed GAMESET_READ_PASSWORDS_AS_CLEARTEXT, this was originally used a LONG time ago to import win32 accounts. 17:10 11/01/2004 - Kal - changed the salt code in dot_crypt() to give consistant results with ey_crypt(). 17:13 11/01/2004 - Kal - fixed a logic flaw in the dns queuing found during testing of queuing a large number of commands. - added CONNECTFLAG_ANSWERED_TELOPT_TERM_TYPE, so login is quicker. 18:01 11/01/2004 - Kal - "setskill languages" now just loops through the languages list, setting the gsn's on the non system languages. - added hotreboot support for the new resolver stderr... means to upgrade to pre8 from pre7 a full reboot is required. - removed MDB_DEBUG related code, was used for debugging the manage_dynamic_buffer() function, which has been working trouble free for a long time. - added ISSHEATHED check based, on code by Ixliam 21:07 11/01/2004 - Kal - implemented double forking in resolver_init_unix() to avoid zombie resolver processes. - wrote netio_close_all_binded_sockets()... function is called by nasty_signal_handler() to cleanup during a crash. - added GIO_READ_TO_END_OF_STRING() macro to GIO. - bind_ip_address has been removed from the game settings, implementers will need to manually set listen_on in the game settings if they require the replacement functionality. The existing bind_ip_address entry in the game settings is absorbed using GIO_READ_TO_END_OF_STRING() 22:00 11/01/2004 - Kal - wrote CONFIG2_AUTOKEEPALIVE and related code (do_autokeepalive) etc, use the keepalive command to read what it does... note: this was always on prior to it being configurable. - changed .f so it is like .n in the description editor. The old .f behaviour can be achieved using .w (wordwrap with extra spaces). 22:32 11/01/2004 - Kal - The following changes are based on fixes/ideas implemented by Ixliam for Whispers of Times Lost. - Implemented GAMESET5_NO_STEALING_FROM_FIGHTING_CHARACTERS - Implemented GAMESET5_MUST_BE_ACTIVE_TO_BE_INVOLVED_IN_STEALING - if you have the no pkill flag, you can no longer steal or be stolen from. - bleeding is now shown in do_charinfo() - a fix to do_return() relating to displaying "huh?" to players. - do_mset() can now set bleeding on players - GAMESET5_HEROS_DONT_LOSE_XP_FOR_DYING - GAMESET5_ADDICT_XP_BONUS - very nice feature, the dawn version is based on the player_list as compared to the connection_list... this means if someone is disconnected and can relog before they get kicked off they retain the addict bonus. - CONFIG2_NOPKILL now prevents players becoming active - can_see() tweaked to make infrared have more effect. - can no longer use blink to get into a clan room. - darkvision can now work with the mapper - isconcealed mobprog if check 19:12 13/01/2004 - Kal - can't be named after a race or class now. - save_object_values, now saves v3 for fountains (the poison flag). - Wrote a system supporting notes to race and class names... added gamesetting flags GAMESET5_NOTES_TO_RACE_NAMES_SUPPORTED, and GAMESET5_NOTES_TO_CLASS_NAMES_SUPPORTED... idea based on WOTL addition. - oedit now supports making a poisonous fountain (v3), just like a drink container - WOTL addition. 19:27 16/01/2004 - Kal - implemented IMM_HUNGER and IMM_THIRST based on WOTL additions - patched in IMM_FEAR from WOTL additions - installed the wotl who format - added history field for players based on WOTL addition, including the hlook and history commands. The dawn implementation stores the info in pcdata - wrote do_charhistory() - based on do_chardescript() - can now take damage from hunger and thirst (based on WOTL addition) - gameset now tells players if addict xp is enabled and if you can take damage from hunger and thirst. 21:46 16/01/2004 - Kal - changed save_obj_values() so it saves light object as -1 for infinite instead of 999 (where they run out). 15:10 17 January 2004 - Kal - wrote do_classinfo() - added game_settings->webserver_default_remort which now defaults to 0. - added interface into creation for class info - moved backend of mxp_create_tag() into mxp_create_tag_core() - do_classinfo() now uses mxp_create_tag_core() to create html tags 16:51 17/01/2004 - Kal - added mxp tag detection support to note_format_string_width(), which enables the ch->wrap*() functions to wrap correctly when embeeded mxp tags exist in the text. - implemented above changes into format_string() also - removed wordwrapf_to_char(), should most likely be using ch->wrapln or ch->wraplnf()... converted code which still used this historical function. - changed some of the olc done messages to include mxp send tags. 18:14 17/01/2004 - Kal - changed the webserver so it tells webbrowsers to not cache the content. - added note into classedit, regarding if a race has less than 1000 as its base xp it wont be selectable in creation. - enhanced do_open() so it tells you what you are trying to open in terms of portals and objects. - implemented similar changes to do_close(), do_lock() and do_unlock() - fixed find_door() how it would give responses like "I see no 2.up here to lock." in response to "open 2.up"... you still can't use 2.up, but at least the text matches now. - find_door() now reports messages like "You can't open the east exit.", when you type "open east", and there isn't actually a door there... this is instead of "You can't do that." 19:02 17/01/2004 - Kal - extended do_classinfo() so it tells imms if a class is not selectable for a particular race. - added access to the help commands while roling stats 21:56 17/01/2004 - Kal - added stockade and stone gargoyle framework into the interp system for WOTL, framework greatly simplifies their implementation... actual WOTL implementation not included in the dawn codebase however. 8:24 18/01/2004 - Kal - added support for the mud booting to a background process in unix 22:04 18/01/2004 - Kal - added suggested text changes to nanny.cpp by Caharin 22:41 18/01/2004 - Kal - changed get_obj_carry() so it can return items you are holding, such as a waterskin you try to fill with the fill command. 19:09 19/01/2004 - Kal - added flags field to the gio table structure - gio_type - introduced 'GIOflags' macro and GIOFLAGS_ALWAYS_WRITE define - extended a number of the GIO macros so support putting _FLAGS as a suffix, and then using GIO table entries in the format: GIO_INT_WITH_DEFAULT_FLAGS(fieldname, 0, GIOFLAG_ALWAYS_WRITE) 22:31 19/01/2004 - Kal - shutdown and reboot now require a confirm parameter (like hotreboot) - code now writes brief startup information to dawnlogs.txt - added -nb and --nobackground startup commandline options, these options make the server stay as a foreground process on non win32 platforms. - added -nl and --nologfile command line options - added -lc and --logconsole command line options - made it so you can't use -q and -lc together - made hotreboot use either -q or -lc depending on how the original mud was started. - added -f, --foreground command line option which just sets the --nobackground and --logconsole options in a single switch 18:58 20/01/2004 - Kal - added -nolc --nologconsole option, which stops logging to the console after a logging file has been established - win32 now defaults to effectively --foreground - unix defaults to --nolc, and background - changed the atexit handler so it is installed sooner in the bootup process - changed write_last_command() to recommend booting the mud with -f or looking at the logs if there is a problem during the bootup process on a mud which has turned off the console. 22:16 21/01/2004 - Kal - fixed a win32 crash bug, where if you port scanned the webserver port, it would close the socket due to an invalid read, then the netio code would attempt to continue using the connection. - performed various changes to make it compile error and warning free with visual c++ v6.0, vs c++ .net, vs c++ .net 2003, g++ on linux and freebsd. will test cygwin and a range of g++ versions before rc1. # Packaged as 1.69r-pre8 23:46 23/01/2004 - Kal - fixed a bug in the xp bonus system, in addition it ignores idle and ooc players. - enhanced do_immget() so it unequips the first time it is used, then removes the second time. This also fixes a bug where perm affects are never stripped from the player. - increased MAX_REPLAYTELL, MAX_REPLAYROOM and MAX_REPLAYCHANNELS 15:11 24/01/2004 - Kal - wrote source code documentation at the top of do_who(), and moved the mortal/immortal/pkill port headers into their own defines at the top of the function. - fixed a bug in do_sit() where when you are standing and you sit in something with the sit_in flag, it would say you "sit on" it. - the logging in do_pkill() and do_pbackstab() now use PERS() instead of just straight ch->name and victim->name. 17:24 24/01/2004 - Kal - wrote significant documentation within the source at the top of winipcfg.h about how to get mccp working including building your own zlib library. - removed #define ZLIB_DLL for win32 build, since zlib is statically linked, and the define was creating problems when linking zlib 1.2.1 18:22 24/01/2004 - Kal - added source code comments at the bottom of attack_type[] regarding increasing MAX_DAMAGE_MESSAGE at the top of fight.cpp - removed unimplemented 'asave olc' references from do_asave(). There isn't really any need for the command. - comedit now lists the level along with the name when you don't match a command... also when you specifiy a single character which matches it still lists all the commands with longer names. - save_clans is now called saveclans in the command table. - clanedit done now shows a message about saveclans. - added GAMESET5_MXP_EDIT_AT_BOTTOM_OF_HELPS 23:06 24/01/2004 - Kal - rewrote the mccp handling over hotreboot... hotreboots no longer stop the zlib stream - so no more disconnects for users of some mud clients which crashed or displayed the raw compression stream onto the screen when the zlib stream stop and started in a very short period of time. - hotreboots now logged in dawnlogs.txt - fixed a file descriptor leak in hotreboot with current_logfile_descriptor - hotreboot now disconnects players who aren't fully connected at the start of the hotreboot and just before the parent mud is shutting down... this is so we don't leak their file descriptors. 23:59 24/01/2004 - Kal - do_trust() no longer lets you set the trust of a player to the same as their level, as a trust of 0 represents this. - do_gameset() now displays the binding information unless disabled with the new GAMESET5_HIDE_SOCKET_BINDINGS_FROM_GAMESET flag. 18:31 25/01/2004 - Kal - fixed a logic flaw in interpret which was giving access to commands one level higher than your own. - added call to setsid() when becoming a background process - fixed a hanging issue with init_resolver_unix() - fixed a bug relating to walking on lava sectors with holywalk on 20:30 26/01/2004 - Kal - removed generate_limbo()... the code now refuses to boot if you don't have an area with the limbo room in it. This is to avoid people removing dawn.are, and not correctly replaced all the objects within and then wondering why their mud is crashing. 22:45 27/01/2004 - Kal - Added Draconian skill (for the language). - changed sedit_show() so it is more mxp based. - upgraded sedit_category(), and sedit_flags() so they are mxp based. - LOGALLWEB is now defined to false by default in websrv.cpp, so it doesn't display the base64 encoded passwords. - removed do_category_list() - not used anymore - fixed a bug in do_sset() where "set skill languages" didn't work correctly - added code to resolver_process_response() to squash any potentially dangerous characters in a dns response 19:32 28/01/2004 - Kal - changed a wrap() to a wrapln() in do_visualdebug() - gameedit_showvalues is now infix searchable 21:02 29/01/2004 - Kal - fixed a bug in do_fill() where you could empty an infinite fountain - changed the width of the area list by modifying get_areaname() 19:53 30/01/2004 - Kal - added missing "prompt all6" template (had all6c). - removed do_mccptest() - updated gameedit_mspurl() so it advises about msp_check_fileexist. - introduced global_scale_hitpoints_regen_rate, global_scale_mana_regen_rate and global_scale_movement_regen_rate... so it is now possible to tweak how fast players regen on a global basis. 20:41 30/01/2004 - Kal - added the ability to set the default prompt in gameedit. - added "prompt default" command to do_prompt(). - updated spell_blink() so you can't get into or go thru rooms which gate doesn't work with. - tweaked formating of classinfo list. - improved do_hlook() so morts can't view each others, but imms can view anyones. 22:59 30/01/2004 - Kal - fixed a bug in do_train() where "train hitpoints" would display "your (null) increases", same with "train mv". - do_mxp() is clearer of when mxp is detected for a connection. - updated IS_OUTSIDE() macro to not include caves as true - do_oshow() no longer complains if you put an extra space after the vnum 15:00 31/01/2004 - Kal - changed parse_commandline_options() so it now sets parsed_mainport instead of mainport directly. - moved check_directories() in main() to just after the call to parse_commandline_options(), and just before mainport is assigned the parsed_mainport value. Previously, on a mud with no directories, the logging was trying to write to a non existant log directories and crashing. 15:43 31/01/2004 - Kal - wrote clean_exit() - changed write_last_command() to return immediately if clean_exit() is being run. - changed the use of exit in some places in the code, this and the above changes prevented becoming a background process as being reported as a startup failure by write_last_command(). 15:52 31/01/2004 - Kal - added additional debugging code to the forking calls in dawnlog.cpp 17:44 31/01/2004 - Kal - renamed GAMESET2_NO_ATTACK_SHOPKEEPERS to GAMESET2_CAN_ATTACK_SHOPKEEPERS (so now by default, shopkeepers will be free from being attacked). 20:59 31/01/2004 - Kal - moved the atexit() setup back to its original position... the exit handler was being disabled by a forked process exiting... so a new approach to get messages when the mud doesn't complete its bootup is required. - wrote exit_clean() and exit_error(). Changed all use of the exit() function within the code to call one of these functions. These functions display a message if the mud fails to start up as appropriate. 22:27 31/01/2004 - Kal - Changed the order of the main GIO struct 'gio_type', so the union comes last... this was to hopefully fix a compile error on the stock compiler which comes with redhat 6.2 (egcs-2.91.66), it turns out the error is a bug in the compiler. The reason for testing against a compiler this old, was to see if I could find a platform without IPv6 headers (so I would have something to write a configure script against)... it turned out the headers were already there, but due to the bug in the compiler, the code is unable to run. At this stage, I am not going to invest time into to making the configure script determine IPv6 support, based on the RedHat 6.2 testing, pretty much everyone should be able to compile the code... if not, they can manually comment out IPV6_SUPPORT_ENABLED at the bottom of config.h 22:53 31/01/2004 - Kal - changed the use of vfork() to fork() in resolve.cpp, as vfork() was creating problems with the resolver and file I/O on OS X. 22:59 31/01/2004 - Kal - updated do_sockets() to show square brackets around ipv6 addresses and hosts 23:19 31/01/2004 - Kal - hotreboot now longer puts the child process into the background, since it is already - hotreboot waits one second before calling hotreboot_init_receive() to ensure the parent has fully sent everything it is going to in the initial kickoff sequence. 23:39 31/01/2004 - Kal - hotreboot is not supported on OS X at this stage (otherwise it would delay the r release) 23:58 31/01/2004 - Kal - disabled the login banner - strlen()'s -> str_len()... one had snuck into dawnlog.cpp... str_len() needs to be used to avoid compiler warnings with MS Visual C++ .NET - do_commands() now lists only 5 per column instead of 6, since some commands are too wide for a 6 column display 00:44 01/02/2004 - Kal - packaged as 1.69r-rc4 20:05 01/02/2004 - Kal - updated do_read_classes(), changing the message to advise users to download the dawn support files if classes.txt is missing. 20:50 01/02/2004 - Kal - packaged as 1.69r - finally! - tested okay :) ============================================================================ ============================================================================ == DAWN 1.69r RELEASED 1Feb04 ============================================================================