Crossfire 1.5.0 Announcement
Crossfire 1.5.0 has been released. There are quite a few changes - many bugfixes, expanded material types, lots a fixes related to map tiling, new bow firing modes, better ability to control pet actions, new alchemy/item creation code. This distribution includes the 'bigworld' maps - see notes below on this file. There is no crossfire-sounds distribution - the sounds are unchanged from version 1.4.0 Files released for this version: sums (bsd) filename 26142 1542 crossfire-1.5.0.arch.tar.bz2 45676 1645 crossfire-1.5.0.arch.tar.gz 54348 886 crossfire-1.5.0.doc.tar.gz 27311 14293 crossfire-1.5.0.maps-big.tar.bz2 11270 19403 crossfire-1.5.0.maps-big.tar.gz 06064 2907 crossfire-1.5.0.maps-small.tar.bz2 14521 4242 crossfire-1.5.0.maps-small.tar.gz 28299 3688 crossfire-1.5.0.tar.gz 29708 396 crossfire-client-1.5.0.tar.gz 11656 1470 crossfire-client-images-1.5.0.tar.gz Sums (md5) 9fb1bafc6da21e04e190a2cdca274a3e crossfire-1.5.0.arch.tar.bz2 9b8d149de802f87e9969124c9a349688 crossfire-1.5.0.arch.tar.gz 004e5f02f8c676d6ed5a731ce5f87a17 crossfire-1.5.0.doc.tar.gz 02767e95abd4d0b8e4d93a730554d301 crossfire-1.5.0.maps-big.tar.bz2 b54d2b1e3aa446ddda3e87185f2cb6ef crossfire-1.5.0.maps-big.tar.gz dc678f35eaa30f30bfb6ae81e314382e crossfire-1.5.0.maps-small.tar.bz2 85fc76d8d0b67c1af40b5f08dca68969 crossfire-1.5.0.maps-small.tar.gz b22556499a1aa99a19e6c5c7b33d501f crossfire-1.5.0.tar.gz 8f7e09f18cdbfbf45aea2fc06a6472cb crossfire-client-1.5.0.tar.gz 63cbfb00ff8000f2567880b72c8162bd crossfire-client-images-1.5.0.tar.gz crossfire-client-1.5.0 is the client (X11) distribution - standard X11 and gtk interfaces are provided. Various refinements - use more general keybinding method in the gtk client to make porting it easier, different options for displaying resistances, other bugfixes. crossfire-client-images.1.5.0.tar.gz is a prebuilt image file for the client - downloading this file will reduce the amount of download that needs to happen during play if the -cache option is used. This file should be untarred in the ${prefix}/share/crossfire-client directory, where ${prefix} is the --prefix option given when configure is run. The default path is /usr/local/share/crossfire-client/. crossfire-1.5.0.tar.gz contains the server code with prebuilt archetype and image files. crossfire-1.5.0.arch.tar.gz contains the unpacked archetype changes. This is not needed if you only want to compile the server and play the game. Many new archetypes/images. crossfire-1.5.0.doc.tar.gz includes prebuilt spoiler (postscript and html) documentation, as well as other documentation. If you are playing on a remote server, the doc file may be useful. crossfire-1.5.0-maps-small.tar.gz contains the maps. This distribution correponds to the previous map distributions. crossfire-1.5.0.maps-big.tar.gz contain the new map distribution - this has a much larger outdoor world - eventually these will be the default mapset. Note that if your server was previously using the smaller map set, you will need to use various scripts include in Info/ to update unique maps and other exits. So the Info/README file. FOR FIRST TIME USERS: You will only need the appropriate server, one of the map files and client file. You do not need the arch file. You may wish to get a copy of the doc file. If you just want to play the game at some remote server, you need the client and perhaps the image archive file. Crossfire is avaible on the following ftp sites Primary: ftp://ftp.sourceforge.net/pub/sourceforge/crossfire Secondary: ftp://ftp.real-time.com/pub/games/crossfire ftp://ftp.cs.city.ac.uk/pub/games/crossfire/ ftp://ftp.cs.titech.ac.jp/pub/games/crossfire ftp://mirror.aarnet.edu.au/games/roguelike/crossfire/ ftp://crossfire.futt.org//pub/crossfire The initial upload of this release is only made to sourceforge - it should show up on the mirrors shortly. Mark Wedel mwedel@sonic.net Feb 25, 2003 Complete changelog: server: */Makefile.in, related files: Updated for 1.5.0 server/attack.c: Don't change weak wall image if no damage was actually done. server/c_object.c: Include math.h - needed for pow() server/spell_effect.c: fix infinite loop in town_portal MSW 2003-02-24 common/anim.c: Fix for 8 way facing animations. lib/treasures: Add sheep treasures lib/* (rest) - rebuilt server/spell_effect.c: Fix up counterspell - mainly fix a bug in that if counterspell hit a multipart magic that used magic as an attacktype, it would also crash. However, code also woudln't work properly on tiled maps, and I'm dubious if it would work properly if there was more than one effect on a space. MSW 2003-02-23 server/skills.c: Fix jump so that it updates the clients map properly. server/spell_effect.c: insert town portals below the player so it works better with apply. MSW 2003-02-20 server/move.c: Fix transfer_ob so that it sends newmap command to client if we're moving a playing - otherwise fog of war displays bad information on the client. MSW 2003-02-19 More bugfixes: server/c_wiz.c: Fix reset command - while it deleted the maps, it made things so that it never got removed from the map listing - instead, just let flush_old_maps do most of the work. server/main.c: If player tries to enter a random map that has been reset and that we have no informatino about (eg, going up in a dungeon), just say the exit is closed instead of making a completely random map that usually isn't in keeping with the dungeon (and still won't lead outdoors) server/move.c: In move_teleporter(), change it so that if a player uses a shop map yet there is no place to put the player, just drop him on top of a monster - this fixes problem of players getting trapped inside of shops in random dungeons. MSW 2003-02-16 random_map/random_map.c: Include parameters used to make map in msg of map - this can hopefully be used to debug what is really happening when bad maps are made. server/rune.c: Modify dispel_rune function (called from disarm spell) to erase marking runes. While at it, fix it so that it does the right thing with respect to tiled maps. MSW 2003-02-15 include/sproto.h, server/move.c: Modify try_fit() to take mapstruct parameter for which map we are trying to fit this on - fixes problems with rolling boulders accross map (only function that currently uses this). MSW 2003-02-14 common/item.c: make item_power stop showing up in ring short descriptions. fix some of the items that were double-displaying materialnames, like mithril mithril chainmail. common/loader.l: add tooltype common/utils.c: Unless the object is armour or weapons, pick the first materialname we find. Now, newly generated diamonds will stack. Fix name_to_material to return NULL if it finds nothing, fixes navar_city/museum crash. Change set_materialname to take a materialtype_t argument, allowing functions to manually set the materialname, rather than let the randomizer pick for them. include/define.h: Add TOOL and BUILDFAC for item building. include/object.h: add tooltype for item building. include/materials.h: add M_SPECIAL. Set this in an object, to prevent things like mithril mithril chainmail. This is primarily only needed in artifacts, because they change the base material of the arch. Also useful in things like the demonspawn shield, and on maps. lib/artifacts: sprinkle M_SPECIAL around. server/player.c: remove auto_heal. This never should have been committed, and was never referenced by any code. server/c_object.c: add item building, but add it disabled. Too many bugfixes were tied in with this code to cleanly add them. When enabled, this code will add player item building, similar to create to take place. Requires a host of graphics and arches to be useable. garbled 2003-02-13 random_maps/special.c: Fix possible bug with placement of special maps. Add lore/endlore to object structure to hold general information about objects: common/loader.c, common/loader.l: Add loading and saving of lore field. common/object.c: handle lore field for copy/free/other object operations. Also, update CAN_MERGE to look at materialname also. doc/Developers/objects: Add notes about lore. include/object.h: add lore field to object. server/apply.c: Fix bug in that cursed weapons were not equipped/ unequipped. MSW 2003-02-11 doc/Developers/objects: Add nodes about shared strings in objects. server/c_misc.c: Remove check for name length - check_name takes care of that for us. server/monster.c: store return value from get_map_flags - seen some crashes traced back to this area, want to see what it returned. Allow objects with no msg to still use scripts that listen. server/player.c: Fix potentional issue of freeing/adding players name when they enter play again - seen some crashes attributed to odd names. MSW 2003-02-08 More bugfixes: server/player.c: Fix permadeath without resurrection - wasn't deleting player save files as it was supposed to. If permadeath + resurrection was in use, I believe it all worked as expected. include/shop.h: remove _SHOP_H after endif, causing compiler warnings. include/skills.h: Add check to USING_SKILL to make sure chosen_skill is not null. server/c_chat.c: Add some missing return values, resulting in compiler warnings. server/skill_util.c: Remove unused variable. compiler warnings again. server/spell_effect.c: Change dimension door so that you can't go through spaces that block passsage and also block view (eg walls). This goes back to the more traditional behaviour. Remove some unused variables. server/spell_util.c: Add missing P_OUT_OF_MAP to move_missile, resulting in crashes. server/time.c: if generator is not on a map, don't have it generates. Fixes crashes. MSW 2003-02-02 New materialtype system for crossfire. Based in concept on my original design, but rewritten from scratch to make it easily extensible. In a nutshell: Each of the old materialtypes (metal, glass, stone, wood) are now a class of materials. When an item in the game is created, if it does not have a specific materialname of it's own, a materialname is generated randomly from the matching entries in the "lib/materials" file. This file contains all of the saving throws, and other material specific modifications for each of the expanded materials. Materials can be manually specified in the arch with the "materialname" directive. Such as the gold coins, which are specified to be made of, you guessed it, gold. Saving throws have been slightly rewritten to use the new materialtypes, and a few other minor details associated with materialtypes have been patched up. Adding a new type of stone or wood, is as simple as adding a new entry in the lib/materials file. The game will automatically start distributing them around randomly. garbled 2003-01-29 Various bug fixes: common/item.c: If nrof of an item is 0, have it print singular name and not plural name. server/c_object.c: Fix typo when printing value of optoins - had an extra 'the' in place. Also, don't print value of objects with no pick flag set. server/login.c: Enforce maximum name length for new characters. server/monster.c: Change parsing code for messages/@match code - new code is simpler, and should also be simpler and less bug ridden, but otherwise functionally equivalant. Also fix up communicate to work properly on tiled maps. server/spell_effect.c: fix up move_aura to not crash hopefully. MSW 2003-01-26 More bug fixes: common/item.c: Add missing braces - was resulting in some items getting display like 'gauntlets of strength (Str+1)(Str+1). include/map.h: Add MAGIC_MAP definitions to the file. server/shop.c: Put back in code that uses magic_mapping_mark to determine what items to display in inventory. Update for new one magic mapping code stores information away. server/spell_util.c: Add missing P_OUT_OF_FLAG check, which resulted in crashes. socket/info.c: Move MAGIC_MAP definations to map.h. Add check for P_OUT_OF_MAP. Remove code that stops on P_NO_MAGIC - with that it wouldn't search the shops. MSW 2003-01-16 server/move.c: fix try_to_fit and roll_ob to work properly on tiled maps. Also some performance improvements to those functions. MSW 2003-01-12 Bulk of this commit is to improve code for tiled maps - replace wall/blocks_magic/blocks_cleric, etc with get_map_flags which also does map tiling translation as needed. This should fix a lot of the bugs related to map tiling (there are sure to be more out there - all the get_map_ob still need to be checked). Other changes - many spells stopped progressing on spaces that blocked view - that is now removed - didn't make a lot of sense. Other fixes - some cleric spells (eg, word of recall) checked to see if magic was prohibited, didn't check to see if cleric was prohibited. Clean up some bugs in the lighting code that would cause erroneous results. Also, allow players to see immediately around them on outdoor maps no matter how dark the map really is - behaviour on indoor maps is the same. Lots of code reformatted, and lots of obsoleted/dead code removed. Add max range to dimension door. Fix magic map - got broken when the layer stuff was redone - was not showing proper colors. IT also works sensibly on tiled maps now - rather than display based on the map, it gives the player a 50x50 area centered on where the player is. Change fire_bow - move special player fire modes into own function - makes code much cleaner. Hopefully this fixes more bugs than it introduces. common/los.c, common/map.c, common/object.c, crossedit/Edit.c, include/libproto.h, include/sockproto.h, include/map.h, include/spellist.h, include/sproto.h, random_maps/treasure.c, random_maps/wall.c, server/attack.c, server/c_misc.c, server/c_wiz.c, server/disease.c, server/main.c, server/monster.c, server/pets.c, server/player.c, server/rune.c, server/shop.c, server/skill_util.c, server/skills.c, server/spell_effect.c, server/spell_util.c, server/time.c, socket/info.c: See note above server/apply.c: Limit number of times weapon can be enchanted so that it won't overflow item_power. Modify enchant armor to enchant as normal armor is enchanted, also only allows one item to be enchanted. MSW 2002-01-07 common/item.c: Add 'unidentified' to display of examined items if the item has not been identified. Only display spell regen penalty for armour if there is in fact a penalty. lib/archetypes: rebuilt for updated demon speed, pick up other new archs. lib/animations, lib/bmaps lib/bmaps.paths lib/crossfire.0 lib/crossfire.1 lib/faces: rebuilt server/main.c: Name random maps based on final map component (if available) or map they are spawned from - this gives so clue in 'who' command where the players really are. server/monster.c: Fix code that would cause monsters to ignore golems/ avatars. server/pets.c: Clean up a few warnings, fix bug in pet_move that caused crashes - owner of a pet isn't always a player. server/player.c: Remove on_same_map check - can_detect_monster also performed check, so no need to have extra call. server/spell_effect.c: modify alchemy to properly deal with tiled maps, change behavior for spells that block view - they no longer block alchemy, but spaces that block magic will. MSW 2002-01-05 TODO - add notes about item damage - clear it out of my mailbox. common/loader.l, loader.c: Add check at load time to see if monsters hp is higher than its maxhp and print a debug message if so. devel/Makefile: Remove - makefiles shouldn't be in CVS, only .in versions. server/attack.c: Fix calculation of max_damage in kill_object - this was being done incorrectly, resulting in fired spell objects causing incorrect amounts of damage, resulint in some monsters ending up with a lot of hp. Fix call to kill_object to pass in correct damage value. server/monster.c: Put in check so that monster won't regen to more hp than they should have. server/spell_util.c: Removed unused variable from move_missile. server/weather.c: fix bug that causes crash if empty space is encountered on map. MSW 2003-01-03 socket/request.c: Fix buffer (malloc) overrun in esrv_send_stats - more stuff has gotten to be added, without ever increasing the size of the buffer to hold it. MSW 2003-01-01 server/time.c: Fix bad code in stop_arrow that caused crashes/improper freeing of data. MSW 2002-12-30 common/treasure.c: Fix initialization of treasure structs to use calloc. server/player.c: Fix infinite loop. socket/loop.c: Make sure we put in null terminator for socket data. MSW 2002-12-26 New Arrow and Pet Code: Add bowmode and petmode commands. Allowing the player to change the firing style for bows to one of either threewide, or spreadshot. Allow players to change the operating modes of his pet with petmode. Can be either seek and destroy, defend, or normal historical behavior. Change bows to impart speed to arrows based on damage and other magical plusses. Damage decays over distance, to stop arrows from flying forever. Very fast moving arrows will pierce multiple targets. An arrow moving at a speed greater than 10.0 will go straight through a target, losing 1.0 of speed in the process. Change magic missile to use spell_find_dir instead of find_dir to stop it from flying in a circle and hitting the caster, and to make it stop flying into walls to hit creatures behind the walls. Various bug fixes: common/living.c: Reset glow_radius for players, so they stop glowing after they snuff out their torch or whatever. server/apply.c: Fix message about improving armour so that it is now accurate. server/monster.c: Add some debug lines that may show cause of excess monster hp. server/spell_effect.c: fix compile warning in summon_pet(). Clean up indentation of alchemy functions, but functional changes is to insert gold nuggets below player (so more of the actions work), as well as to reset the view position, so that it won't have the 'previous 50' object selection. Add suggested parens in cast_detection. server/weather.c: Fix crash in weather code if snow was only object on space. MSW 2002-12-20 +++ server/weather.c: More weather routines: Now the game will attempt to completely reformat the world, and modify it with the weather and elevation. When dynamiclevel is set to 5 or above, the game looks at each tile, and the weather conditions present in that tile. It then consults a table of different terrain types, and what conditions they prefer to grow under. If the conditions match the spot, and there is nothing special about the spot (like a house, or a road), then we drop the new tile type on the overlay map on that location. Tuning of this can be done at the top of weather.c, by changing the weather_tile array. Also.. add a feather_map() routine which tries to break up the blockiness of some of the weather effects by spreading the tiles around. This code works.. but needs tuning, and probably a little more testing. Some of the conditions for the various tiles really need to be looked at, and fiddled with. garbled 2002-12-08 +++ common/exp.c: Fix bug were drain attacks added exp. MSW 2002-12-05 server/player.c: Change move_player_attack() so that we look for monsters to attack even after finding a rollable object - there can be non blocking rollable objects with monsters on top - we want to attack the monster, not roll the object. MSW 2002-12-03 TODO: Move more items from my mailbox to the TODO list. common/living.c: Init item_power in player to zero in fix_player() - bogus results were getting generated as it just kept getting incremented. common/porting.c: fix remove_directory so it works properly - checking for . and .. entries too late, calling unlink instead of rmdir. include/sproto.h: rebuilt lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.0, lib/crossfire.1, lib/faces: Rebuilt - new archs added, catch is_thrown addition to thrown rock/boulder archs. server/c_move.c, server/c_range.c: Add another parameter to do_skill() - part, w hich is closest part of creature to target object - current only used for the throw code. Update calls to this function to add additional parameter. server/c_object.c: Remove the NDI_UNIQUE from the 'item is too heavy to pick up' so that it won't flood the client with them if players goes onto space with lots of objects. server/main.c: Minor cleanup to fix compiler warning about ambigous if/else. server/monster.c: Pass closest part of monster when having it use a skill so that it doesn't throw rocks into itself. Update calls to do_skill as described above. server/player.c: Cal delete_player() when player quits - this properly cleans up any per player unique maps they have. Also, check for any such maps currently in memory, and delete those so that unique maps don't get 'gifted' to the next character of the same name. Update calls to do_skill as described above. server/shop.c: Combine items of the same name together in the output of the shop listings. Include the number of items, remove special casing of some objects so that query_base_name is used for all item types. server/skill_util.c: Modify do_skill() to take additional param as described above. Also, have do_skill return 1 on success, 0 on failur to use skill, and not return exp - otherwise, monster code has no idea if skill was successfully used, as throw doesn't grant exp, and this caused monsters to move into the object they just threw. Update calls to do_skill as described above. server/skills.c: Clean up skill_throw function to return meaningfull value. Also, pass along extra part of closest monster part to target. Modify do_throw to return value, use closest part of body as origin point for thwon object. server/spell_effect.c: Use isqrt function instead of definining ISQRT that used float version. Cleans up compile warning - most likely not seen before as spell was #ifdef SPELL_ENCUMBERANCE out. server/time.c: Put sanity checking for players speed_left in move_player_mover() - got some reports of infinite negative speed on metalforge, and this is the only place in the code where I could see that happening given the description of the events. utils/arch2xml.py, utils/cfarches.xsl: New script (and template) by Todd Mitchell. Script can convert archs to xml, and the template is usuable with mozilla to look at the output. MSW 2002-12-02 common/object.c, include/object.h: Add INS_BELOW_ORIGINATOR flag to insert_ob_in_map - this is used for treasure chests so the treasure is put below the player. Also fix insertiong of items on spaces that block view - put them in proper order, and not just directly above the floor server/apply.c: Tell player what level they need to be if they are not of sufficient level to improve armor. Modify apply_treasure to use INS_BELOW_ORIGINATOR flag, clean up some of the other logic in apply_treasure. server/c_object.c: Modify command_take to use the container inventory when doing a pickup, and not the container itself. MSW 2002-11-30 TODO: Updated with dm 'follow' command. common/loader.l: Rebuilt. common/map.c: Fix up some formatting - no code change. include/player.h, server/apply.c, server/player.c, socket/info.c: Remove chosen_item_spell field - isn't needed anymore as that information is determined each time player fires wand/rod/horn. This fixes those items firing magic bullets if they were equipped when player saved and rejoined. Some additional cleanup done in rangetostring() - mostly formatting changes, but minor code changes. MSW 2002-11-29 include/shstr.h: Update REFCOUNT_TYPE to be an int - seems to at least fix the bug of server crashing when running around the bigworld - given the size of the maps, quite possible that enough objects of the same name would be in memory to overflow the size size of a short. MSW 2002-11-19 Changed a ton of #ifdefs into settings: convert #ifdef NOT_PERMADETH into settings.not_permadeth. SET_TITLE and RESURRECTION are now settings. #ifdef SEARCH_ITEMS -> settings.search_items #ifdef SPELL_ENCUMBRANCE -> settings.spell_encumbrance #ifdef SPELL_FAILURE_EFFECTS -> settings.spell_failure_effects #ifdef CASTING_TIME -> settings.casting_time #ifdef REAL_WIZ -> settings.real_wiz #ifdef RECYCLE_TMP_MAPS -> settings.recycle_tmp_maps #ifdef SPELLPOINT_LEVEL_DEPEND -> settings.spellpoint_level_depend #ifdef EXPLORE_MODE -> settings.explore_mode make explore mode actually *work*. #define MOTD -> settings.motd #define DM_MAIL -> settings.dm_mail garbled 2002-11-12 New alchemy code, as discussed on the developer list. Now recipies include two new tags: skill and cauldron. With skill, you can set which skill activates this recipie, and the cauldron, corresponds to the arch name of the facility you will use when creating the item. In this way, item creation is now more generalized than just alchemy, and specific formulae can be written to utilize different skills, or perhaps special formulae would require a hard-to-find cauldron. Functionally, the alchemy, or alchemy-like-skills are now activated by the use_skill command. The secondary use of the alchemy spell has been withdrawn, so now it functions in the way it was originally intended again. garbled 2002-11-11 socket/loop.c: add a setting fastclock. This makes the server's clock run *really* fast. For now, it's good for debugging purposes, but in the future it will allow a dm to ravage a world with weather quickly. include/define.h: add FLAG_IS_WATER include/global.h: add fastclock to settings include/map.h: add water to weathermap structure include/sproto.h: add tons of new functions in weather.c common/init.c: update for FLAG_IS_WATER common/loader.l: update for FLAG_IS_WATER server/init.c: add code to read fastclock setting server/weather.c: Complete update, largely rewritten. Now the world is cut into a 100x100 matrix of weathermaps. Each one of these maps is computed at initial boot, and written to disk, following which, they are simply read from disk at boot. For each of the main weather types (pressure, humitidy, base temperature, wind direction, wind speed) the game recomputes the entire weathermap, applying smoothing algorithims, or derriving each map from it's predecessor. Weathermaps are only used if you have set your dynamiclevel to 1 or greater, and, are using the bigmap set. At this time, there is still no functional change to the game, bigmap, or not. utils/maps.c: This program will generate ppm files from each of the weathermaps. Mostly for debugging, but curious DM's might find it useful to see the weather. garbled 2002-10-27 server/c_chat.c: Fix some buffer overflow issues - use snprintf or use new_draw_info_format instead. lib/artifacts: Update some cloaks not to require a minimum magic level, since that will never be met. MSW 2002-10-16 Minor bugfixes: common/living.c: Fix it so that if you die, you won't _gain_ exp in any skills - could happen if new table is harder - 3 level loss could still mean having higher exp total. common/map.c: Fix on_same_map so check to see if either object has null map value - prevents crashes. MSW 2002-10-13 Experience cleanup - the main functional change is that no upper limit of exp in an individual skill, save for the limit that there is an upper limit of total exp a player can have. Thus, if a player concentrates complete in one skill, he could get to level 110 in it. A lot of code cleanup was done - so much had gotten added to the exp code that it was a real mess. common/living.c: re-arrange some of the code, so all the exp related functions are together. remove adjust_exp(), change check_dm_add_exp_to_obj( ) to check_exp_adjust. Add new functions add_player_exp(), check_exp_loss(), check_exp_add(), subtract_player_exp(). include/libproto.h: rebuilt. server/c_wiz.c: Update command_addexp() to use new exp functions. server/gods.c: Update lose_priest_exp() to use new exp functions. MSW 2002-10-11 configure, configure.ac: Remove --enable-old-layout option - that is more than 3+ years old now. Add --enable-dmalloc option so code can be compiled with dmalloc debugging without needing to change/rebuild the configure files. common/porting.c: Add stdarg.h to list of included files. include/autoconf.h.in: rebuilt, HAVE_LIBDMALLOC undef added. random_maps/square_spiral.c: fix bound checking value. MSW 2002-10-07 common/item.c: Fix bug with identified potions not getting set to proper name. MSW 2002-10-03 Bugfixes: Add golem_count element to player structure so we can properly detect when golem is destroyed. This fixes a crash in some places as the code tried to remove this already removed golem. Fix crash when null player maps. include/player.h: Add golem_count element to player structure. server/player.c: Add code in handle_newscs_player() that checks status of golem, clears op->contr->golem is value is bogus server/spell_effect.c, server/spell_util.c: Initialize golem_count value when golem is created. socket/request.c: Check for null map value. MSW 2002-10-02 Mostly bugfixes, but the addition of a wiz 'hide' command which makes the wiz out of sight so to speak. -- common/loader.l, common/loader.c: Fix bug where flag values were being saved with actual value of the flag (eg, 32768, 16, etc) instead of 1/0 value - Code effectively worked the same, just was a bit odd looking at save files. include/player.h: Add hidden element to player structure. include/sproto.h: Add command_hide(), update proto for players_on_map() lib/Makefile.am, lib/Makefile.in: add wizhelp/hide file. server/apply.c: Add error checking to converts so it doesn't crash if the converter doesn't have a proper other_arch. Modify shopmats so that they don't transport spell effects, like fireballs an burning hands. server/attack.c: Modify code so players can drain other players exp. server/c_misc.c: Modify various functions to not show info on hidden DM. server/c_wiz.c: Add command_hide(), clean up command_invisible() a bit. server/commands.c: Add hide command to dispatch table. server/main.c: Add code to not update players on map for hidden dm. server/player.c: Give hidden dm perpetual invisiblity. server/skills.c: Only get exp if you actually stole an item - fixes abuse whereby players who couldn't carry item could continually 'steal' it from monster and just gain exp. server/swap.c: modify players_on_map() to take addition arg to determine if real players on map should be shown, or if we shouldn't count hidden dms. socket/info.c: Modify code so that oldsockets don't get reports on high verbose messages. socket/metaserver.c: Modify metaserver update to not include hidden dms. utils/Makefile.in: update datestmp. MSW 2002-09-27 server/pet.c: Add check to pet_move() to make sure the space we are checking is within the map, and handle map tiling. MSW 2002-09-23 Various updates: NOTE - You need to install the updated archetypes (included below) if you run this code without the updated archs, you will likely find many things do not work. acinclude.m4 aclocal.m4 configure: more refinements for libpython detection. common/button.c: Two push_button() changes - have it check for ACTIVATE_ON_ PUSH/RELEASE to determine if the object should get activated. Also, change behaviour of TIMED_GATE so that multipart timed gates work. common/loader.l, loader.c: Update with acttivate_on_push/release doc/Developers/objects: Add notes about how to add flags to objects. include/define.h: add new FLAG_ values include/win32.h: update by pstolarc so it compiles on Win32. lib/archetypes: rebuilt MSW 2002-09-17 common/map.c: Fix problem with ordering in check_linked() - checking for NO_PASS was before checks for inventory checkers, resulting in inventory checkers that require the player to have an item not working. MSW 2002-09-15 client: gtk/png.c, x11/png.c: Fix bug in rescale_rgba_data() that was potentially causing a 1 byte overrun of malloc'd data, that could result in crashes or other odd problems. MSW 2003-02-19 common/init.c: Make sure we initalize all the config values. gtk/gx11.c: fix foodbeep - now only beep when food is low, and continue to beep when food reaches 0. sound-src/Makefile.in: Remove gx11.c in depend statement. MSW 2003-02-04 gtk/config.c, gtk/gx11.c: remove including some files which we don't need includ ed. gtk/keys.c: Modify to not use X11 for keybinding - instead, uses gdk functionality - this should make it more portable. MSW 2003-01-22 Patch by scachi@gmx.de to add different display options for the players resistances. common/client.h: increase CONFIG_NUMS and add CONFIG_RESISTS common/init.c: extend resists_table, initialize resist value to proper value. gtk/config.c: Add config option for selecting different options for resistance displays. Add comment about radio button usage. Increase size of config window. gtk/gtkproto.h: rebuilt. gtk/gx11.c: Update get_message_display to support different resistance display options. Add resisze_resistance_table function. Disable code the causes the message window to get relocated next to the stats display on wide displays. MSW 2003-01-12 x11/x11.c: Patch by Jochen Suckfuell that fixes problem of lines printed out while entering extended commands causes the extended command line to get overwritten - the extended command line is now copied to the next line. common/client.c: Add handling of client if it loses its connection to server during setup phase. common/newsocket.c: Have SockList_ReadPacket return -1 if it gets a real error on read - in this way, callers can tell if error is terminal or retryable (return code 0) MSW 2003-01-03 common/player.c: Break out some of the extended commands into there own function to make the extended_command function more readable. Alphabetize strcmps in extended_command. Add special processing for the 'take' command so that it handles open containers properly. gtk/gx11.c: Add version information to the About dialogue box. gtk/key.c: Fix bug in that extended commands (') didn't work right and would crash the client if not entered in info window. Entering these now works properly, and crashes are removed. Clean up formatting of affected function keyfunc(). help/about.h: Add extra newline to text to make it look better with the version string above. MSW 2002-11-30 gtk/gx11.c: Add patch by jshelley@ictransnet.com that fixes save window positions. MSW 2002-10-03