--- deliantra/server/ChangeLog 2006/02/03 07:11:13 1.1.1.1 +++ deliantra/server/ChangeLog 2006/03/15 14:04:30 1.1.1.3 @@ -17,6 +17,331 @@ ------------------------------------------------------------------------------ Changes for CVS: +common/utils.c: apply patch #1445892 (transmute_materialname crash) courtesy + the cf.schmorp.de development team. +include/spellist.h: disable big unused arrays, legacy of spell code. +server/c_object.c: merge find_best_apply_object_match and find_best_object_match + which are really the same. +server/init.c: fix memory leak. +server/monster.c: fix a monster/scroll related crash, based on patch #1447242 by + the cf.schmorp.de development team. +server/player.c: fix monitor_spells not initalized (before InitConnection()). +server/skills.c: fix merging bug with inscription. +socket/init.c: fix monitor_spells not being initialized. +Ryo 2006-03-14 + +Fix bug/exploit in setup command. We were strcat'ing back data provided +by the client. +--- +socket/request.c: Modify SetUp() to use safe_strcat() - eliminates buffer + overflow issues. Add some char* casts to spell/skill requestinfo + to eliminate compiler warnings. Add IP address to log for incoming + connections. +MSW 2006-03-13 + +Fix possible exploit with shadow alchemy. Also improve the alchemy spell to +yield more nuggets. +--- +server/shop.c: In query_cost() apply the hack (to multiply non-GEM/non-MONEY + values by four) also if no player object is present. +Andreas Kirschbaum 2006-03-07 + +Add settings permanent_experience_percentage, death_penalty_percentage and +death_penalty_levels to the settings file. +--- +common/living.c: don't hardcode exp calculations +common/init.c, include/config.h, lib/settings: set defaults for new values +doc/settings: document new values +include/global.h: change settings struct to hold the new values +server/init.c: parse new values in the settings file. +server/skill_util.c: reference new value +Brendan Lally 2006-03-07 + +Apply modified parts of patch #1439490 (Fix in random map generation) by CF +Development Team Schmorp.de . +--- +random_maps/exit.c: In place_exits() check for a valid exit path before + dereferencing it. +random_maps/treasure.c: In find_closest_monster() include monsters at map + border. In find_enclosed_spot() prevent access to out of map tiles. +Andreas Kirschbaum 2006-03-04 + +Apply patch #1436833 (Patch for forked lightning crash at map borders) by CF +Development Team Schmorp.de . +--- +server/spell_attack.c: In forklightning() prevent access to out of map tiles. +Andreas Kirschbaum 2006-03-04 + +common/loader.l: Prevent excess whitespace while saving objects. +common/loader.c: Rebuilt. +Andreas Kirschbaum 2006-02-27 + +Apply patch by Marc Alexander Lehmann to improve server performance. +--- +include/map.h: Move path field to end of struct. Since this field was huge it + pushed all other fields to large offsets in the struct. Moving it to the + end of the struct mapdef should not break anything but will improve + performance and reduce the server code by >3500 bytes. +Andreas Kirschbaum 2006-02-27 + +------------------------------------------------------------------------------ +Changes for 1.9.0: + +lib/collect.pl.in: Again fix generation of 'editor_folder' field to make + sub-folder selection work again. +lib/archetypes: Rebuilt. +Andreas Kirschbaum 2006-02-26 + +*/Makefile{in.am}: Fix plugin makefiles so that 'make distcheck' works. Using + relative path names for files to include in distribution does not work - + need to have a makefile in each directory. +configure{.ac}: Updated as result of new Makefiles. +MSW 2006-02-24 + +Apply patch #1428057 courtesy Pippijn van Steenhoven: fix to a crashing bug in plugins +(incoherent order of parameters). +Also use plugin_common.h in CFAnim instead of having separate definitions. +Modified files: + plugins/cfanim/cfanim.c + plugins/cfanim/include/cfanim.h + plugins/cfanim/include/cfanim_proto.h + plugins/common/plugin_common.c + plugins/common/include/plugin_common.h +Ryo 2006-02-23 + +Remove object type CONFUSION since it was not used anymore. +--- +common/item.c: Remove CONFUSION entry from item_types[] array. +include/define.h: Uncomment #define CONFUSION. +Andreas Kirschbaum 2006-02-22 + +lib/collect.pl.in: Fix generation of 'editor_folder' field. It did not work + too well for .arc files in deep subdirs. +lib/{archetypes,bmaps.paths,crossfire.0}: Rebuilt. +Andreas Kirschbaum 2006-02-21 + +random_maps/random_map.c: Cause the random map generator to skip certain + elements if the style is set to "none". +doc/Developers/random-maps: Document above change +Alex Schultz 2006-02-20 + +socket/request.c: Don't crash on trying to send a spell which doesn't have an + associated skill +Brendan Lally 2006-02-20 + +Do not allow to dimension door into monsters or earthwalls. +--- +server/spell_effect.c: In dimension_door() do not allow destinations that are + P_IS_ALIVE. +Andreas Kirschbaum 2006-02-19 + +random_maps/style.c: In find_style() fix access to uninitialized variable. +Andreas Kirschbaum 2006-02-19 + +Prevent crossedit from stripping out 'maplore' map header field. +--- +common/map.c: Add code to load/save/dump maplore information. +include/map.h: Add new maplore field to map struct. +Andreas Kirschbaum 2006-02-19 + +Apply patch #1433271 (code-cleanup) by Stefan Huehner: Add const and static. +--- +Affected files: common/{loader.l,los.c,map.c}, include/{libproto.h,sproto.h}, +plugins/cfanim/{cfanim.c,include/cfanim.h}, server/{apply.c,skill_util.c} +common/loader.c: Rebuilt. +Andreas Kirschbaum 2006-02-17 + +common/map.c: Modify ob_blocked() to properly handly objects with a 0 + ob->move_type. Fixes infinite loop from random map code when trying + to place exits. +MSW 2006-02-16 + +Commit forgotten file for yesterday, which have the CFAPI_INT16 define... + include/plugin.h + server/plugins.c +Ryo 2006-02-15 + +Minor bugfixes: +server/apply.c: Fix apply_transport ->contr checks to actually + check against correct values. +server/plugins.c: Replace CFAPI_INT16 with CFAPI_INT - there is no + declaration anyplace for CFAPI_INT16 so compiles fails. +server/swamp.c: Fix swamp code so that only objects that can be + picked up disappear - this way, transports don't disappear into + oblivion. +MSW 2006-02-15 + +Swamps don't affect DMs anymore. Also, swamps don't remove items with +FLAG_IS_FLOOR or FLAG_IS_OVERLAY_FLOOR. + server/swamp.c +---- +Fixes to plugin system. Added "SINT16" as return type. + server/plugins.c: resistances are sint16, not int. + plugins/cfanim/include/cfanim_proto.h: fix cf_object_get_resistance declaration. + plugins/cfpython/cfpython_archetype.c: fix comparison function, which should return 0 or +-1. + plugins/cfpython/cfpython_map.c: fix comparison function. + plugins/cfpython/cfpython_object.c: fix broken GetResist, fix comparison function. + plugins/cfpython/cfpython_party.c: fix comparison function. + plugins/cfpython/cfpython_region.c: fix comparison function. + plugins/common/plugin_common.c: object resistances are sint16. + plugins/common/include/plugin_common.h: object resistances are sint16. +Ryo 2006-02-14 + +Apply modified patch #1428048 (make the log line buffered) by Marc Lehmann. +--- +common/init.c: In init_globals() switch the log file to line buffer mode. +Andreas Kirschbaum 2006-02-11 + +server/apply.c: In apply_scroll() do not identify the scroll if the player + lacks the literacy skill. +Andreas Kirschbaum 2006-02-10 + +Apply slightly modified patch #1428309 (code-cleanup: const, static) by +Stefan Huehner: add const/static to functions/variables. Remove some type +casts. +--- +Affected files: common/{arch.c,glue.c,image.c,init.c,readable.c,time.c}, +crossedit/stubs.c +include/{attack.h,libproto.h,object.h,sockproto.h,spells.h,sproto.h}, +random_maps/{door.c,rproto.h,standalone.c,style.c}, +server/{alchemy.c,apply.c,c_chat.c,c_misc.c,init.c,player.c,shop.c,spell_effect.c}, +socket/{info.c,loop.c,request.c} +Andreas Kirschbaum 2006-02-10 + +server/c_wiz.c: make dm stats command print Int and damage. Rearrange output + to match the stat ordering. +lib/wizhelp/stats: document the stats command +lib/Makefile.am lib/Makefile.in: install the new help file +Brendan Lally 2006-02-10 + +Apply modified patch by Marc Alexander Lehmann to fix get_rangevector +functions on tiled maps. +--- +server/map.c: Add helper function adjacent_map() to check if two maps are + adjacent. Modify get_rangevector(), get_rangevector_from_mapcoord(), and + on_same_map() to use this function. +Andreas Kirschbaum 2006-02-09 + +server/player.c: make a player's starting items be locked, so that they +can't accidentally drop and lose them without unlocking them first. +Brendan Lally 2006-02-09 + +Apply patch #1427979 (code-cleanup: add const, fix warnings) by Stefan +Huehner. +--- +common/{anim.c,button.c,exp.c,friend.c,image.c,item.c,living.c,los.c,map.c, +object.c,player.c,quest.c,readable.c,recipe.c,region.c,treasure.c,utils.c}, +include/libproto.h: Add "const" to pointer function parameters. +Andreas Kirschbaum 2006-02-09 + +Make create food spell work for all FOOD/DRINK objects. It used to fail for +objects where another object with the same name but type POISON does exist. +--- +common/arch.c: Add new function find_archetype_by_object_type_name() to find + an archetype by item type and item name. +include/libproto.h: Add new prototype. +server/spell_effect.c: In cast_create_food() only search for objects of type + FOOD or DRINK. +Andreas Kirschbaum 2006-02-09 + +Added a "insert_into" command for DMs, to easily put items in other items. +Modified filse: + include/sproto.h + server/c_wiz.c + server/commands.c +Ryo 2006-02-08 + +server/main.c: Modify enter_exit() to see if player is in a transport, + and if so, remove him. Can happen if player uses word of recall + while in a transport. +MSW 2006-02-07 + +Regional jails. +--- +common/region.c, include/libproto.h, map.h: parse jail entries, new function + get_jail_exit to return the exit to the local jail. +doc/Developers/regions: update +server/c_wiz.c, commands.c, include/sproto.h: add dm command, command_arrest + to jail players in the correct location. +lib/regions: add scorn and navar jails. +Brendan Lally 2006/02/08 + +Code that adds transports. Transports are described more in detail in +docs/Developers/objects. +--- +loader.l: Add new move type ('boat'). Update move_name field to be aware of + this type. +common/object.c: Unrelated to transport, but more apparant with transports - + fix bug with insert_ob_in_map() and multipart objects - we now only + try to fix up map and coordinates if the provided coordinates are + out of the map. Before, function would always use the passed + map for multipart objects, which is incorrect if we have already + set valid coordinates. +doc/Developers/objects: Update notes for TRANSPORTS. Update move + information to include MOVE_BOAT. +include/define.h: Add type TRANSPORT. Add MOVE_BOAT. +include/player.h: Add transport field to player structure. +include/sproto.h: rebuilt. +server/apply.c: Add code to handle applying of transports. Update + apply_below to apply transport if player is on one. +server/attack.c: Update hit_map() to look for transports, and hit any + players with the damage. +server/c_object.c: Update put_object_in_sack() to also handle TRANSPORTS + so that code can be re-used. +server/move.c: Fix handling of multipart objects in move_object() - + old code didn't work right with multipart objects moving along seams + of tiled maps. Add code to move_ob() to update player map position + for all players in a moving transport. +server/player.c: Update move_player_attack() too check of player is + in tranport, and use that for map and location information. Update + move_player() to handle speed related issues with transports. +server/time.c: Add code to credit time back to TRANSPORT objects since + we remove time in move_player() for TRANSPORTS. +socket/item.c: Add add_object_to_socklist() so that same code isn't + reproduced in 3 different places in the file. Update draw_look() + to handle transports - send transport object itself, then objects + in transport. Update esrv_send_inventory() and esrv_send_item() + to use add_object_to_socklist(). Update esrv_get_ob_from_count() to look + for objects in transport if player is in transport. +socket/loop.c: Remove checking of pl->map status, since draw_client_map() + does that, and we need to handle if the player is in a transport. +socket/request.c: Handle map drawing if player is in a transport. +MSW 2006-02-06 + +movement type changes. Add move_allow field to explicitly allow certain +movement types on spaces. Add suppport for using string names instead +of numeric values to specify the MOVE_ values. Add code so when saving +data out, use string names instead of numeric value. +--- +common/loader.l: Remove save_double(), as it isn't used by any code. + Add set_move() to set movement types from strings. + Add get_string_move_type, which takes integer movement type and + returns a string. Update load and save code to use these functions + respectively. +common/map.c: Change blocked_link() so that we only examine all the objects + on a space if there is something alive on the space or space is otherwise + blocked. There is no reason to examine all the objects on the space if + the object in question can move onto it. + Modify update_position() to use the move_allow field to clear bits + in the move_block field. +common/object.c: Add check in CAN_MERGE for move_allow. Add check for + move_allow in update_object to see if we should update the space or + not. +doc/Developers/objects: Update Movement code section to note use of using + strings to set movement types. Add note about move_allow. Section + about Transports added, but code isn't there yet. +include/object.h: Add move_allow to object structure. +MSW 2006-02-04 + +Fix attack messages containing random characters. +-- +server/attack.c: In attack_message() always initialize variables. +Andreas Kirschbaum 2006-02-03 + +server/c_misc.c: fix bug 1413239 Server crash with "who" command output +using null map names +Brendan Lally 2006-02-03 + include/newserver.h, server/login.c, socket/init.c, socket/loop.c: drop any connection that fails to login successfully after MAX_PASSWORD_FAILURES attempts (defaults to 5)